Need a hand

sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Need a hand

Post by sebotron »

Hi guys! I'm not dead. I've been trying to get that prototype board working since before the Holidays but I haven't been lucky. Had a bunch of issues with hand soldering so every new attempt is like navigating an obstacle course cause I need to hand solder a 48-qfp mcu, a 32-qfn codec and the 64-qfp fxcore and im an idiot and didn't have a stencil made.

Right now I'm attempting to flash the fxcore on my board - it's got power at all the right places, but I get a slave address not acknowledged error using the ICP.

I was wondering if somebody could do me a solid and run a quick sanity check on my schematics? I'm pretty sure it's all good, would just like an outside "ya it looks good".

Thanks!
DisasterArea
Posts: 26
Joined: Sat Jul 25, 2020 7:07 pm

Re: Need a hand

Post by DisasterArea »

Do you have a scope? Make sure that your oscillator is outputting the right frequency (12.28Mhz most likely.). Board needs the clock to read data on the I2C bus.

Check the I2C address of your FXCore. I would recommend you set the dev board address to the same thing as your PCB and try programming it using the ISP. You can pull the jumpers on the dev board and wire them to the ISP, that eliminates any potential issues with the programmer.

Check the other stuff on the I2C bus - make sure that nothing else on the bus has the same address you've assigned to the FXCore. You may even want to remove those parts from the board whilst you're troubleshooting.

Heck, you might find that you have both the dev board and the ISP plugged in at the same time, which will definitely not work :)

FXCore will boot and run with or without a codec if it's configured as the master, you should be able to see the MCLK, BCLK, and LRCLK signals.
sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Re: Need a hand

Post by sebotron »

Hey man! Thanks for your reply! Also congrats on the new release!

EDIT: Jesus I'm hopeless.. while checking all you suggested I had a look at my mcu code and noticed I wasn't pulling up the RST pin on the FXC. I've fixed it and can now flash the FXC with the ISP. Thank you!!!!
stanleyfx
Posts: 42
Joined: Fri Jan 27, 2017 2:19 pm

Re: Need a hand

Post by stanleyfx »

sebotron wrote: Sun Mar 06, 2022 10:08 pm Hey man! Thanks for your reply! Also congrats on the new release!

EDIT: Jesus I'm hopeless.. while checking all you suggested I had a look at my mcu code and noticed I wasn't pulling up the RST pin on the FXC. I've fixed it and can now flash the FXC with the ISP. Thank you!!!!
Hi Sebotron, Glad you got it up and running, we also have our board running nicely now with the MCU control. I agree the QFN chips are hard to solder. I didn't use a stencil either but found the easiest way (for me ) was to tin the pads of the PCB for the QFN chips with a hand iron then plenty of flux, place the IC in place and use a hot air iron to flow the pads or a hot plate if you have one.
Mick (Blue Nebula Design team)
sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Re: Need a hand

Post by sebotron »

stanleyfx wrote: Mon Mar 07, 2022 12:38 pm
sebotron wrote: Sun Mar 06, 2022 10:08 pm Hey man! Thanks for your reply! Also congrats on the new release!

EDIT: Jesus I'm hopeless.. while checking all you suggested I had a look at my mcu code and noticed I wasn't pulling up the RST pin on the FXC. I've fixed it and can now flash the FXC with the ISP. Thank you!!!!
Hi Sebotron, Glad you got it up and running, we also have our board running nicely now with the MCU control. I agree the QFN chips are hard to solder. I didn't use a stencil either but found the easiest way (for me ) was to tin the pads of the PCB for the QFN chips with a hand iron then plenty of flux, place the IC in place and use a hot air iron to flow the pads or a hot plate if you have one.
I usually just heat up the pads, put on some paste on two corners, align the chip as best I can and use the hot air to melt the solder and fix the chip in place. Then, I add some flux around the solder and try to spread it across the pins with my iron and a smaller tip. It sorta works but my hands are naturally shaky + I can't see much, I'm using my phone camera zoomed in on a tripod, it's awful!

As of right now, I can flash the fxc but all of a sudden my regulator (200 mA, which should be fine) is heating up like I have a short somewhere but I don't think I have a short otherwise the mcu and fxc wouldn't boot up, which they do.
stanleyfx
Posts: 42
Joined: Fri Jan 27, 2017 2:19 pm

Re: Need a hand

Post by stanleyfx »

Are you feeding 9v into the 3.3v regulator ? At first this is how I had it set up and the 3.3v digital reg. was getting quite warm, I revised the circuit so that the 5v digital regulator fed the 3.3v digital regulator and also placed a larger copper area under the reg. for heat displacement so now it only slightly warm to touch. I also used a regulator rated at a higher current 1A if IIRC but I have quite a bit of digital circuitry that needs 3.3v.
Mick (Blue Nebula Design team)
sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Re: Need a hand

Post by sebotron »

stanleyfx wrote: Tue Mar 08, 2022 3:13 am Are you feeding 9v into the 3.3v regulator ? At first this is how I had it set up and the 3.3v digital reg. was getting quite warm, I revised the circuit so that the 5v digital regulator fed the 3.3v digital regulator and also placed a larger copper area under the reg. for heat displacement so now it only slightly warm to touch. I also used a regulator rated at a higher current 1A if IIRC but I have quite a bit of digital circuitry that needs 3.3v.
Ha! Right, maybe I'm a bit too close to my LDO's max output current.. I'll try and switch to 1A... I suppose more headroom means less strain. I'll also plan for copper heat dissipation as well. Thank you!
sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Re: Need a hand

Post by sebotron »

Hi guys! Need a hand part 2!

After fixing my heating woes and slapping on a 1A LDO to power my mcu, codec and fxc, things seem to be running smoothly for the most part

My mcu can talk to my ak4619 codec through i2c no problem.

All my fxcore clocks are running and at the right speed, too!

However, my datalines between my codec and the fxc are dead silent and I can't figure out why. AFAIK my codec power up sequence is as described in the datasheet so I'm a little bit stumped so I was wondering if maybe somebody had an idea?

EDIT2: I can read back my codec config registers through I2C and they have the right values. I can also see that the fxc is running because I can make the user0 pin blink. Still nothing on SDI and SDO. Halp!

Thank you!
Frank
Posts: 159
Joined: Sun May 03, 2015 2:43 pm

Re: Need a hand

Post by Frank »

Select the function generator program (assuming you have not written over it) program 10 and set all the POTs to mid. You should see data on SDO0 (pin 45) of the FXCore going to the SDI of the CODEC. If not something is wrong and I would make sure it is properly connected and if necessary cut the trace and check the FXCore pin again. Sometimes people accidentally swap SDI/SDO.

While I have not worked with the AK4619 I have soldered QFNs and they can be a pain so check all the pins are properly soldered using a magnifier.

Are you sure it is not in bypass? Pin 24 of FXCore should be high.

Did you connect the pad on the AK4619 to anything or is it floating? Did you put solder paste under it?

This is the main reason program 10 exists, it can help debug since it generates output with no input required.
sebotron
Posts: 44
Joined: Thu Jul 09, 2020 6:57 pm

Re: Need a hand

Post by sebotron »

Frank wrote: Wed Apr 27, 2022 7:53 am Select the function generator program (assuming you have not written over it) program 10 and set all the POTs to mid. You should see data on SDO0 (pin 45) of the FXCore going to the SDI of the CODEC. If not something is wrong and I would make sure it is properly connected and if necessary cut the trace and check the FXCore pin again. Sometimes people accidentally swap SDI/SDO.

While I have not worked with the AK4619 I have soldered QFNs and they can be a pain so check all the pins are properly soldered using a magnifier.

Are you sure it is not in bypass? Pin 24 of FXCore should be high.

Did you connect the pad on the AK4619 to anything or is it floating? Did you put solder paste under it?

This is the main reason program 10 exists, it can help debug since it generates output with no input required.
Hi Frank, thank you for all of this!

1) I set the fxc to PGM10 and I can see data on SDO0 so I assume the connection is okay. However, I see no analog output from the codec.

2) First time using QFN here and it *is* indeed a giant PITA and I must've wasted half a dozen chips already. I could also use recos on a good desktop microscope!

3) Although 4-20 was last week, pin 24 is very much high :D

4) The codec's pad is connected to GND but I did not use solder paste while hand soldering to avoid risking bridges as the datasheet says the pad can be left open: "The exposed pad on the bottom surface of the package must be open or connected to VSS1. It is recommended that the Exposed Pad be connected to VSS1."

All I can think of is something missing in my init code. :roll:
Post Reply