Level Translation Mods

A project log for Arduino-Compatible FPGA Shield

Spartan 6 FPGA Shield includes SPI Configuration Flash, Breakout Headers, SRAM, programmable from Arduino or SPI Programmer

technolomaniactechnolomaniac 10/01/2014 at 23:570 Comments

The first pass of this board was built with the Due in mind (3V3) and other development boards that I had sitting around, almost all of which *other* than Arduino were 3.3V.   In planning the evolution of this however, it quickly made sense to include support for other 5V devices such as the Uno and other Arduino boards.  So I have gone ahead and added a Level Translation circuit and respun the board now with some level translators that will convert the Arduino's 5V0 outputs to a nice, user-friendly 3V3 signal for the FPGA.  This'll ensure support for the Uno and other Arduino's not using 3V3 IO voltages.  Likewise, I made a few other small improvements and fixed a few snags that deserved some attention.  

Testing the level translator on a breadboard...

Schematic for the level translation circuit...

Above is the schematic (new files will be uploaded to github shortly) for the level translator and because the layout needed to change pretty substantially to accommodate these two new devices, the boards went back to fab and are going thru proper assembly at the moment.  

The part used for level translation is the SN74CBTD3384.  It's a 24-pin TSSOP and it's relatively small, cheap, and performs pretty well with very low series resistance.  Designed for performance up to about 10 MHz and provides  a nice interface to the arduino UNO and other 5V0 devices.