Tuesday, July 3, 2018

Bit-Bang FTDI USB-To-Serial Converters To Drive SPI Devices

Great detective work by Scott Harden on his blog.

The FT232 USB-to-serial converter is one of the most commonly-used methods of adding USB functionality to small projects, but recently I found that these chips are capable of sending more than just serial signals. With some creative programming, individual output pins can be big-banged to emulate a clock, data, and chip select line to control SPI devices.

Scott also found an interesting bug on some FTDI chips

There is a serious problem with the FT-232R that affects its bit-bang functionality, and it isn’t mentioned in the datasheet.  Bit-banging two pins like this { 0, 1, 2, 1, 2, 0 } one would expect the output to look like two square waves at 50% duty with opposite phase. This just… isn’t what we see on the FT-232R. The shifts are technically correct, but the timing is all over the place. The identical code, when run on a FT-232H, presents no timing problems.

Adafruit sells the FT232H breakout board which does not have the 232R issues!

FT232H

Want to learn more, go over to Scott’s blog for the information.

Do you like to push chips to their limits? Let us know in the comments!

 

 

No comments:

Post a Comment