On the Aries MCV, the MMC pins of the HPS are already used to control the MMC flash. However, we need an SD card. So, we decided to add a µSD card on the SPI1 interface because SD cards can be controlled in SPI. So, I added the µSD card to the SPI1 interface like this:
Before testing on the MCV, we realize tests on the DE1-SoC. Something to notice, we already built the Linux kernel for the DE1-SoC and it booted correctly without the SD card on the SPI interface.… Read more
With Nathan, we work a lot on the creation of the Linux distribution. On my side, I am working on how to add an sd card on an SPI bus and Nathan is working on the driver for the USB WiFi Dongle.
An SD card can not be detected and set automatically like a USB device. We have to tell Linux there is a micro SD host on an SPI bus. We have to put a micro SD host on an SPI bus because the eMMC bus is already taken by the Flash. To tell Linux, there is a micro SD host on the SPI bus, the simplest method is to add it in the device tree blob.… Read more
We need to build the disk image for the MCV SoM. To do this we have two options given by Aries, the SoM manufacturer. We can use Buildroot or Yocto.
We decided to test Yocto first. Tarik Graba advised us to use it and a previous group who works with the same SoM used it too.
This project is a cross-compilation framework based on recipes. Every recipe contains a list of dependencies and a set of instructions (like a real recipe). The interesting point is the sources needed in a recipe can be directly downloaded online. So if some dependencies are missing, they will be automatically downloaded.… Read more
I realized a synthesizable top module to test the Sync module and Led Band Controller together. The goal of this top module is to simulate the ticks sent by the Hall effect and the optical fork sensors. But also to send data to the Leb Band Controller to simulate the DMA Controller. In the output, one can read SCLK, GCLK, LAT, SOUT, row_en[3:0] (multiplexing), turn_tick, n_rst.
With @nathan-claudel, we decided to synthesize and test it on the DE1-SOC. The output signals are exited on the GPIO1. Then I used a Saleae device to probe the signals.
Problems of the top module
First, we have to fix several issues due to the implementation of the top module.… Read more
I implemented the new version of the led band controller by following the new architecture explained in this post. This version is simpler than the previous one. With the new version, a huge part of the computing is inside the Synchronisation module.
Small problem with the angle
We split a turn into 128 parts. However, we have 20 PCBs and 20 doesn’t divide 128. 128/20 = 6.4. So we decided to take the nearest integer for the ANGLE_PCB parameter of the Led Band Controller. The worst case is a difference of 0.4. This represents a difference of 1.125° and that represents for the outermost PCB a gap of 1.8mm… Read more
In this post, I detailed a new version of the global architecture. In this one, I will detail the V1 of the led band controller architecture.
This version is fully implemented and FC Setter, Multiplexer and Memory submodules were successfully tested.
However, during a small meeting with Alexis, he explained there is a problem in our architecture. Indeed, every submodule is synchronized with SCLK even if it is not completely a clock (this “clock” can be switched off). However, the angle signal is not synchronized with it but with the FPGA clock. So we have two clock domains which can lead to issues.… Read more
Since the last episode, a lot of drastic changes occur in the FPGA architecture.
SCLK, LAT and GCLK
Those three signals are now generated by the SYNC module. This reduces the number of GCLK, LAT and GCLK sent outside the FPGA. They will be duplicated thanks to clock buffers on the “highway” PCB.
We decided to realize this change to reduce the number of pins used, this will make the main PCB easier to route. Moreover, to ensure proper functioning, the 20 Led band controllers had to send the same SCLK and GCLK and to send all the data for the following LEDs when the previous ones are displayed.… Read more