Thanks for your interest in the Intel Edison Platform.
Before providing you any recommendations, could you please tell me: What image are you using?
Also could you try the suggestion given by mpapini.
I will be waiting for your reply, have a weekend!
The Image I am using is http://downloadmirror.intel.com/24910/eng/edison-src-ww18-15.tgz and I don't think it should be current limiting, I'm using +5V from an USB connection via a REG1117 3.3v LDO.
I've seen big current peaks during startup - can you throw a scope on Pin 8 or 10 (System 3.3 V output) and see if the voltage dips? The REG1117 3.3v LDO is rated for a max. 800mA output so I'm really inclined to agree with you that you're not current limiting but a scope on pin 8 or 10 will conclusively eliminate it as an issue. This page shows current draws at start with a 5 volt power supply and they are max'ing out at around 200mA on 5 volts so in theory you should be good, I just don't know what else you're powering off of the system 3.3v ...
So I have scoped the 3v3 signal, and also the 1.8v signal coming from Edison.
Neither are dropping out.
I'm really scratching my head on this one.
I have 3v3 on pins 2,4,6 and 14
I have GND on pins 1,5,9,11,13 and 15,
I use the 1v8 output from pin 12 and it powers a WM8731 Audio DAC and is also fed to the VCC_A input of a TXB0108PWR level shifter, VCC_B to that chip is 3v3.
and have confirmed all these pins to be connected using a microscope.
The level shifter is used to interface to a 3v3 FTDI Header for UART2, and a 3v3 Pin header for UART1 (currently with nothing attached to it.).
My entire schematic is here.
If I remove the edison and put it onto a Edison Breakout board then it boots normally.
I think I must be missing something obvious.
Can anyone see why this board won't boot? Or maybe point to a document which describes the boot process?
Looked over your schematic and found nothing evil - sorry. The only difference with any of my boards is that I tend to ground unused pins, but thats just habit on my part - try pulling the fw recovery pins low and see this link (only place I had found guidance on FW pins) - otherwise, my working boards and your non-booting board are functionally equivalent from a power point of view.
The boot sequence (never found a document myself either so take this with a grain of salt) is PSH (basically an Intel closed source microkernel) that then loads u-boot which loads some basic drivers, loads the kernel into memory and then launches the linux kernel. Your board seems to be in recovery mode as you said, so perhaps tying those pins low will help.
I've double checked the voltages, with the oscilloscope and can't see anything.
I've also put the Edison back on the breakout board and there it boots fine.
I will keep looking. I have four of these boards and they all do the same thing, so unlikely to be short or bad connection, but I'll check everything.
I will try your suggestion of taking those two lines low too.
1 of 1 people found this helpful
I don't have too much experience designing custom boards, but I have found this schematic that might be useful to you (Re: USB Host mode internally ). Comparing it with your design I see that the VSYS is being powered with 4.5 V, now with 3.3 V should be enough to boot the Edison, but you can try increasing the voltage to see if it fixes your issue. I also encourage you to ground your unused pins as mpapini suggested.
I hope you find this information useful, we hope you have a nice day!
OK So I managed to get this to boot.
I removed the TXB0108PWR and it immediately started working, so it must be something to do with signal being presented to UART1 or UART2 during boot.
The TXB0108PWR is a signal level translator that I'm using between the 1.8 V logic and the 3.3 V UART pins.
The TXB0108 is for use on push-pull signals rather then open-drain but I couldn't actually see any information about whether the Edison UART GPIO is push-pull or open drain.
I will now try adding some very weak pull-ups on the RX lines for both UART1 and UART2 and put the TXB0108 back in place. Failing that I might have to swap the chip for a TXS0108 - but Farnell in the UK are out of stock of them till january at least.
At least I can now see why it won't boot!
1 of 1 people found this helpful
Not sure myself what's going on with the level shifters in general and the Edison as a whole but you might want to take a look at the edison arduino board schematics and gather how they did it.
Best of luck - Mario
Right - I have this figured out now!
During the first part of the boot the drive strength on UART2 is enough to overcome the pull-up built into the FTDI Serial Cable I was using for debug.
After the "ready to receive application" message the drive strength on UART2_TX is less (weak), and the pull-up causes the TXB0108PWR to think that the direction has changed and it starts to drive from B to A, meaning that nothing is received at the serial cable. The chip is trying to do the level translation in the wrong direction. This lead me to believe that the device wasn't booting, because I could not get past the message.
I added a 10K resistor in-line with the FTDI_TX signal and that is enough to keep the TXB0108 translating in the right direction. I can now boot to the prompt!
The rest of the board works a treat including the other UART and the Audio DAC.
I think a good solution would be to use the TXS0108 instead of the TXB0108, or to use a different level translator entirely.
We live and learn!
Thanks to everyone who helped!!
I'm glad to hear that your Edison is booting now! Thanks for sharing all your results, since it may benefit other users interest in developing their own custom boards.
If you have any more questions regarding the Intel Edison Platform, please don't hesitate to contact us.
Have a nice day!