We can finally control the leds one by one with the gumstix through the gpmc and the fpga and play a little bit with our system.
As usual, big thanks to Alexis for the help.
Now it’s time for the breakfast and the coffee in the students’ home !
Good news! We managed DirectC to program the Sysboot of SmartFusion and now it is working! xD. Now it goes automatically to fix a position in the memory at start-up where we can load the user program.
Tomorrow (actually today) we will complete the rest of the libraries, sensors and motors mainly.
As our FPGA must communicated with the gumstix using the GPMC bus, 2 clock must be used on the FPGA : GPMC clock for data transfert and, the internal FPGA clock for all the other operations.
To isolate the two clock, we use a dual clock fifo (a altera’s megafunction). Yesterday, Sylvain and I worked all day long trying to make work the fifo (and correcting some problem of simulation … ) in order to turn on LED indicated by the gumstix. It was not a success so, we will keep on working on this problem today.
We worked on the FPGA this last days.
While I was working on controlling the LED driver, Felix and Sylvain worked on the communication with the gumstix. The news are good :
- the communication between gumstix and FPGA is now working. But, the module for the communication must be modified because, in our real system there will be 2 clock : the FPGA clock and the gumstix clock (just for the data transmission). Felix and Sylvain have finished to implement this new architecture but, it must be tested.
- the control of the LED driver is perfect: we can now turn on all the LED on the propeller, choose the color and the intensity
The next steps are controlling the LED thank to the gumstix and, writing in the external RAM.
The FPGA is now able to do a write access with the GPMC (a read access is not possible for the moment). While Sylvain will work on the reading problem (there are some problems with nOE signal … ), I will test some final modules on the FPGA. All modules are written (with the new calculation flow) and, most of them (but not all for the moment) are tested on simulation. Today, I want to test on the FPGA some modules : ram controller and ram switch modules.
Today we succeed in sending a data in the gpmc bus that we have read with the fpga and sent to the ram. In the 16 bits, one was false, so we still have some signal issue but it’s already a good news !
It was tricky but now we can do it. We have now a program that downloads an image to write on the FPGA fabric.
Initially the approach was to write using the UART to download the image but it seemed that this could take more time to develop than intended initially so the approach was changed to another were we compress the image and store in the MSS RAM.
One problem with this approach is that the compressed image might be bigger than the amount of memory that the MSS RAM can hold, so this may require segmentation of the FPGA image (it is still not yet verified if the image can be bigger than that). Another problem is that the binary that programs the image in the FPGA has to be relinked to the image, which needs to be loaded to the MSS again. This problem can be overcame by downloading the image to the MSS RAM, without relinking it to the application that flashes it to the SPI flash, then writing the image to the SPI flash memory.
Another problem to deal with is that this was tested only on the SmartFusion eval board, and the eval board uses a flash memory that is different from that of the Tutobot. Since that SPI flash has a compatible instruction set, we expect that it will work with having to fix it.
Afeter correcting some hardware errors, we spend the two previous days working on programming the FPGA. Now, we are able to command the GPIO of the gumstix and, the program JAM STAPL uwhich we use for programming the FPGA is ported on our system. FPGA answer to the gumstix when programming program is started but, for a reason we don’t know for the moment, 0 device are detected on the JTAG chain.
Copyright © 2017 ROSE 2012 - All Rights Reserved
Powered by WordPress & Atahualpa