This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28069: FTDI connection with host computer

Part Number: TMS320F28069


I am attempting to boot a computer at the same time I am booting the micro/ftdi chip.

If I hold off initializing SCIA and the FIFO till the computer is fully running (about 22 seconds) it works fine.

This works but I am not satisfied with this and would like to better understand the interactions here.

Can you explain what is happening here?

I appreciate any insight.

thanks

  • Regis,

    From the C2000 perspective, the SCI should be operable as soon as it is configured. i.e. if you boot the MCU, set up Clocks, set up SCI, it will be ready to go. I am not sure the boot time for F2806x offhand but I should think that this will be much less than even 5ms, perhaps less than 1ms.

    I do not know the image you have programmed to the FTDI chip, but I would guess that it is also very short to initialize.

    I would guess that your boot time will be dominated by the host PC. Are you running a full operating system? embedded linux? something else? This would have to bring up it's entire operating system, initialize it's USB ports, enumerate connected USB devices (i.e. FTDI device), initiate host communication program, then begin initializing the slave device. My PC definitely takes more than a few seconds to boot. So i would guess this is the dominating factor.

    You should be able to test all of this very easily with an oscilloscope. Probe the MCU SCI pins, Probe the USB lines, etc. to see the boot times with respect to your power on. The host PC is massively more complex than the embedded devices. If you can optimize the boot of the host, you could probably reduce that time, but I cannot even guess by how much.

    Does the SCI fail to even operate if initialized before 22s? this would be a concern to me, but I suspect this is not the issue.

    -Mark
  • i think sci is OK, its just a race condition to getting it setup after the motherboard comes up. I am not exactly sure why holding off sci till the motherboard is up works. thanks
  • Regis,

    I am still not sure I understand what you are after here. I don't think a Race condition is the right term. If the SCI is physically hanging if it is enabled before the motherboard/OS, that would be a problem; but it sounds like that is not the case. If you do initialize the SCI immediately and then ping until there is a response, does it work? This shouldn't hang anything in MCU since its just a broadcast.

    Naturally a PC will just take longer to boot than an MCU. Tens of seconds doesn't seem all that out of the ordinary for a motherboard and a full PC operating system. If you can optimize your PC boot procedure like switching to a low overhead OS, maybe headless embedded linux install, that might help.

    I am not sure if there is anything that the C2000 can do here to accelerate your boot time. There is too much in the path that it does not touch or have any control over. If you do need to reduce the overhead, follow some of my suggestions above to help find the culprit. Like I said, I don't think that it is the C2000 SCI here that is the issue.

    Good luck!

    -Mark
  • OK, thanks. i will have to hold off initializing SCI till the motherboard has detected the FTDI chip.