I finally got the correct capacitor part for the Level Shifter board I designed, and I was able to add it to the board I already partially reconstructed. Luckily, I was able to place the caps onto the correct pad and reflow the whole thing so I did not have to start from scratch. Here is an image of the finished board:
Fig. 1. Level Shifter circuit board. Click on the image or here for a larger version.
I hooked it up to the Jetson TK1 connector that I build earlier. It has two 50 pin, 2mm IDC headers that plug into the J3A1 and J3A2 plugs on the Jetson, and it breaks out almost all of the important signals from those headers to a 40 pin 0.1" IDC header for prototyping. I used standard jumper wires to connect pins between the two boards and hook up the touch screen SPI pins from the Jetson to the level shifter and then connected the shifter output to the SPI pins on an Arduino Due micro-controller. Here is a picture of the finished test rig:
Fig. 2. Full test rig with the Jetson TK1 on the right with the connector in the J3A1 and J3A2 plugs. This is connected to the level shifter board in the middle, and that is connected to the Arduino Due on the right. My Logic analyzer is at the top and is connected to the pins on the level shifter. Click on the image or here for a larger version.
I was able to transfer blocks of data at 25 MHz between the Arduino and the Jetson. This ended up being harder than it looked because I had to figure out how to get the Arduino Due to work as a slave, and then get it to use the DMA controller to be able to transfer more than a single word at a time. Using interrupts did not work. It was too slow to be able to do a stream of data. Also, notice that the data transmission was full-duplex, meaning that it did both a receive of data from the Arduino to the Jetson, and a transmit of data from the Jetson to the Arduino simultaneously. So it was really transmitting 50 Mbits/sec over the SPI line between the micro-controller and the Jetson. Here is some output from my logic analyzer showing the data transfer:
Fig. 3. SPI data transmitted from the Arduino to the Jetson TK1, and vice versa.
I am working on a series of blog posts that will layout all of the steps required to connect the touch screen SPI of the Jetson TK1 to an Arduino. It will include source code as well. If you are interested in this then please follow me on Twitter or Facebook to be notified when those posts happen.
As promised, here are links for the complete DesignSpark PCB designs for both the Level Shifter board and the Jetson TK1 connector. I use the free DesignSpark PCB system instead of Eagle because I need to be able to build larger boards and I did not want to have to pay through the nose on a yearly basis to be able to do that. The schematics and board layouts have Mouser or Digi-Key parts listed for all of the components, so if you have the skills you should be able to get the boards made and build them yourself. I used SeedStudio Fusion to produce my boards. I was happy with both their work and their prices. I also used Pololu to generate the solder paste stencil for building the level shifter circuit.
For those who are not skilled at building their own surface mount boards, I am currently working on combining these two boards into a single board. I am calling it the Jetson TK1 breakout board. It will fit directly into the J3A1 and J3A2 plugs on the Jetson TK1 and have all the major GPIO, I2C, UART, and SPI signals level shifted and available for easy access. This should make it much easier to do development work on the Jetson TK1. I will also be providing the full design for this, but in addition I will be selling fully assembled boards. I will not know the price point until I get it closer to finished. If you are interested in this then please follow me on Twitter or Facebook so you can keep up with what is going on, and let me know if this is something you want so I can start getting an idea of the demand this product will have.
Here are previous links related to this in case you missed them, and are interested
Submitted PCB for Jetduino to Jetson TK1 connector
Jetduino connector construction
Please subscribe to my Newsletter!
NeuroRobotic Technologies is dedicated to creating the next generation of intelligent, adaptive robotic systems by building autonomous controls systems that mimic the brains of real animals.