We have found two errors on the PCB Station, the first was just a shutdown sleep on the audio amplifier which wasn’t connected. We sussesfully patched it. The second, was on the ethernet transceiver but the patch was much more complicated and during the operation some pads were deceased. we could have made a new pcb but due to the cost and time we decided to use the old station instead.
The Two stations are linked with a serial cable and it works quite well.
Some other good news, the web server is working (Thanks to lwIP) and it communicates by http. We have begun a simple control interface.
There is some proof:
Some other good news, the buzzer works with the DMA transfer. However, it only works with raw audio files (8bits unsigned @8khz). We also made a map of the railroad. The only things missing for our railroad to work are the sensor cards.
We are trying to generate a position independent executable with a relative vector table adress in order to be able to flash the firmware at any adress. At this time, we have still lots of bugs and errors. But we can read/write/erase the flash. Seeing that the update over can is soon ready we have rewired all the table.
Here is a table of what we have to do (sort by priority)
|Port Station on STM32F207
|Bootloader / Recovery Firmware
|Redesign virtual nodes
|Traffic Lights and Sensors
With the huge help of Alexis we finished soldering pcbs. Tomorrow we are ready for some real tests and we will give you some news .
3 steps of the PCBs:
First PCB is the Station and the second is an adapter for remotes which use xpressnet protocol like the roco multimaus.
As you may have noticed we don’t have a wifi module. We think that the wifi is very optional and if someone need wifi you can always buy a wifi router and plug him (same price as a wifi module and more configuration).
Erratum : It’s JTAG and not JATG
Hi, just some news about our project :
The PCB of the station and remote control are almost ready.
In the same time, Guillaume is working on the bootloader. Brice implements a NMRANet communication thread between can, ethernet and dcc. As for me, i tested if the remote control can be supply by 5V and i’m working on the conversion between Xpressnet (Remote -> Board) and DCC nmranet packet (Board -> Station -> Train).
Since Monday, Brice work on the protocol CAN to be fully compatible with the NMRANet standard while Guillaume and me work on the can bootloader and how to update firmware of the boards over the CAN.
Two schemes about our work :
On this first, you can see that we have make a static repartition of the 128kB ROM. At the begin we have the Bootloader with a recovery firmware, then some flags and at the end we keep 2 firmwares and 2 configs.
With this procedure we are able to check after n steps if the last firmware fail, and then back on the previous. And if the previous fail after n steps we jump to the recovery firmware and are able to flash over the can.
In conclusion, we think that we have to be very bad programmers if we want to brick our cards.
Reply in next weeks .
We have finished the network design yesterday. We think this final architecture is the best choice for a lot of possibility with a low cost.
At this time, we have made a short break in order to complete the STM32 TP (PCB Design and the software development).
We will start programming at the begin of the next week.
Next important points are :
- an easy fimrware update via the computer to Station and Sensors/Effectors.
- quickly the possibility to control a train via DCC.
Brice, Guillaume and me finished to resume respectively NMRAnet, CAN and DCC standards.
We have though about the network and make a first draft (a complete drawing is coming soon).
This week we start to design PCBs and finish network speficiations.