Today Gabriel started to work in the code to write in the SPI flash memory. Thalita and I continue working in OpenOCD to support writting in the NVM flash memory of SmartFusion.
We organized our presentation for tomorrow too.
Some diagrams to help understand the project :
Hardware diagram :
Flashing the FPGA Fabric diagram :
More updates tomorrow.
Great news : Ball-E is due to be born soon !
Until Wednesday, I worked on the PCB with Pierre-Hugues and it has been sent in order to be produced (We even have pictures of the PCB’s birth). Spot welding might be our next week’s work !
As we have already received our stepping motors and omniwheels, till today I have been working on the architecture of the robot and it will soon be done, just take a look at the base of the robot ! I made it so that it is possible to change the angle of the omniwheels relatively to the ball.
Scott is working on the simulation part, and Otilia is working hard to make the Kalman filter work before Easter vacation.
We changed a little bit the architecture we had previously chosen for our project. In fact, we will use 2 RAM of 2Mb. In one, the gumstix will write data and in the other one, the FPGA will read data. At the end of the cycle (there are 15 cycles per second because we want 15 fps), the 2 RAM will be exchanged and so the FPGA will be able to read new data and gumstix to write new data.
Therefore, to calculate faster, we will delete redundancy in our calculations. In fact, for each turn, we have to make the same operations. The idea is to store in a FRAM the pixel we have to chose on the real image. Indeed, in this case, for each positions we just have to read FRAM and then read image in RAM : an FRAM of 2 Mbits will be perfect (we hope using symmetry in the design to have less informations to store).
Personally I worked on the board which will control the motor. Now the choices are made, I can say that the board will contain : an ATMEL AT90USB162 and a device which allows us to command the brushless motor : http://www.digikey.fr/product-detail/fr/DRV8332DKDR/296-29572-1-ND/2754251 and the power : 12 V are converted in 5 V.
Today, I began designing the PCB. I hope having finished routing this PCB tomorrow.
The power is a big problem on our propeller because we have calculated that we need almost 10A on the propeller for the LED, gumstix, FPGA and all the memories.
In our last post, we did not know exactly the general architecture. We have now chosen and it all be explained in the following schematic:
All the components of the schematic are embedded on the propeller.
The gumstix will receive the video signal tanks to a wifi communication with a computer. A web server embedded on the gumstix will realised the communication with the computer. Then, the MPEG video will be convert into PNG files and store on the RAM. The FPGA will convert the PNG image on radius thanks to the Bresenham’s algorithm and then command the LED drivers.
The main components are the following:
FPGA , FPGA flash, RAM
After the communication chalenge of friday, we work about SaMoRa. Brice begin to work about soft. We would like to use a STM32F207VE (http://www.st.com/internet/mcu/product/245081.jsp) on the base station, because we know his architecture and it matchs our specifications and it is less expansive than STM32F207VC (http://www.st.com/internet/mcu/product/250188.jsp). This CPU should control CAN bus for sensors, two DCC bus for train (one to manage trains and one to recompute trains), wifi conexion and ethernet conexion and make sure railroad. We would like to make a chip to allow people to take control of trains with a remote. We need to chose the CPU but we would like use a very small CPU, this chip should convert remote protocol to CAN protocol. this chip sould be conected to Bus CAN and if an user plug remotes and send commands to the base station. This chip should be supply by CAN bus. And we would like to make a chip to send analogic video from the train to laptop over ethernet. This chip should have a RF receiver and an ethernet output.
After, we decide to use ChibiOS (http://www.chibios.org/dokuwiki/doku.php), it ‘s a real time OS and we begin to use it to control DCC and CAN. Actualy, we are in test step.
Actualy we are testing and managing trains with remote control just for fun