Having made a mistake in my board design, I'd like to figure out whether I can (reasonably easily) get around it and make it work.
As indicated in the subject, I'm using the ADAU1701 with an external EEPROM for self-boot. The circuit is similar to the ADAU1701 mini evaluation board, so I will program the ADAU with a USBi from SigmaStudio.
The mistake I made is that I placed a chip that is driving the RESET line (without jumper or switch to selectively disconnect it). The RESET line (the one that goes to the ADAU1701, labeled AUDIO_RESET in the schematic, shown below) is being held at logical 0. The one that comes from the USBi (labeled AVR_RESET in the schematic), at this point has absolutely no effect --- it is connected to the RESET pin of an AVR microcontroller, with a 10k pullup.
SigmaStudio cannot connect to the board to download the compiled model, or save latest compilation to EEPROM. In either case, it "freezes" and when interrupted it reports it could not connect.
I am supplying power to the board (separately --- a 12V input goes to a 3.3V DC/DC switching regulator). Those 3.3V go to the ADAU1701 and to the EEPROM.
Below are the relevant sections of the schematic --- the connections to the USBi and the related ADAU1701 pins.
Question #1: should it work, with the ADAU1701 RESET line being held to 0 (active) ??Question #2: any suggestions to get around the problem?
Sorry for the problems. There are a few other details to take care of.
The Write Protect is being puled up. This is not a problem during normal operation but it is a problem when you are…
Let me take these questions a step at a time.
Have a look at this schematic of the Evaluation board:
Note that all the switch does is ground the WP pin of the EEPROM. The WP pin of the…
The Write Protect is being puled up. This is not a problem during normal operation but it is a problem when you are trying to write to the EEPROM. So you need to pull down the WP pin to allow the EEPROM to be programmed. The connection to the ADAU1701 is there to allow the DSP to pull down the WP line when it writes-back the interface registers when triggered.
What I have done in designs is to place a transistor in the design to pull down the write protect. The base of the pre-biased transistor is connected to the USBi-5V Power pin. So when you plug in the USBi it pulls down the WP pin. No jumper required.
So for right now if you can solder on a jumper to pull it down to ground while you are working on it then remove it when you are done.
Let me know if this works for you.
Just to double check that I understand correctly --- what you're suggesting is what the schematic below shows, right? Pin 4 of the USBi connector brings in the +5V, correct? (the transistor can have pretty much any β / hFE --- something as low as 1 still guarantees that the transistor saturates)
Thanks so much for your patience with this --- as usual, your replies are very helpful!
Yes, it worked --- I could (barely) solder the jumper, and after that I could download to E2PROM and the Compare option now reports that the E2PROM matches the latest compilation.
I'm still a bit fuzzy about the RESET --- I was convinced that the USBi needed to drive the ADAU's RESET line, but I think as my board is right now, the lines are disconnected, and it still worked. Could you confirm this detail?
Glad you are making progress.
You will need a pull-down resistor on the base of the transistor so that the device will be off when no USBi is connected. You are correct in that all you want to do is use the transistor as a switch. So any general purpose transistor will work.
You should read this old document about the USBi. Most of this is still relevant.
In here is describes in Figure 15 some of the hidden function of the USBi. If you right click on the USBi GUI you get several options. The "Device Power ON/OFF" is where you can shut off the 5V output of the USBi and turn it back on. Can be handy sometimes. It is a way to reset the board with a full powerdown.
Then the next selection, "Device Enable/Disable" is actually the reset line you are talking about. The USBi never uses this reset so that is why it made no difference for you. However, I do suggest connecting it in your design. This way you can remotely reset the DSP from SigmaStudio on your computer. I use it this a lot. I program the EEPROM then I reset the DSP and see if it loads correctly. I don't need to find the reset switch is there is one on the PCB.
Don't be confused with the Rest USB Device, this is the USBi itself and you should never have to do that.
The only thing I do not like about these settings is that you have no idea of the current state of the control. There are no checkmarks on the pull down menu. So the USBi might be holding the DSP in reset and you cannot tell. I think there was a limitation on the hardware.
Look at Figure 24 in the document. It is an example of using the 5V output to control something on a PCB.
Another thing with this APP Note, the schematic shows the pinout of the USBi connector as a 14 pin connector. That is what is on the PCB but we stuff it with a 10-way. So the pin numbers are not correct from the viewpoint of a 10-way connector. So keep that in mind.