paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] High speed logger spi


From: Loic Drumettaz
Subject: [Paparazzi-devel] High speed logger spi
Date: Fri, 28 Feb 2014 18:13:16 +0100

Hi,

Is it possible to use the high-speed logger with stm32 F1 ?

Regards

Loïc


From: Christophe De Wagter
Subject: Re: [Paparazzi-devel] Logging
Date: Tue, 16 Jul 2013 17:42:51 +0200



Dear List, 

As I get many requests about this we finally released our latest logger.

We made a high-speed SD-card logger by connecting a micro-sd-card via 4bit SDIO interface to an stm32f4. With DMA-accelerated 24MHz 4-bit data transfer, I can not tell exactly how fast it is, but basically the sd-card is the bottleneck most of the time (depends on a lot of things like sd-card speed/blocksize/bad-blocks/retry-on-fail etc, but probably it is 200 to 500 times faster than for instance Openlog

To achieve this speed continuously we did not use a normal file-system but write raw block with a little bit of "simple-file-system" overhead. When you afterwards plug the sdcard in a PC it will not be recognized but with a simple tool you can still instantly see which files are on there, how big they are, and retrieve them etc. So in the end the only limitation is that you can not use explorer but need the special download tool (linux/windows) that is included. 

The hardware is a relatively small 2-layer only PCB with 0402 components. It is now 3.5 x 2.5cm but it could be made smaller as now it has 2 SPI ports, 1 normal UART and 1 LVDS uart for long ultra-highspeed serial cables, 1 USB connector and a reset button, a JTAG connector and an SWD connector, which might be a little overkill for some projects.

So far we used it to make the first full sensor-data logs of 512Hz paparazzi rotorcraft IMU (logging 16 x 32bit variable x 512Hz = 260kpbs) and full XSens of less than 230kbps data. Openlog could only handle roughly a quarter of this data in our tests. For the highspeedlogger however, this amount of data is peanuts and it sleeps almost all the time. We also logged 6Megabit audio data during testing, which did not seem to be a problem. During testing on a larger test board with bad long wires at reduced 7MHz SDIO clock speed we once measured:

Single block (512 Bytes): 7ms
Multiblock (51200 Bytes): 38ms  =  about 1,35MB/sec or 10Megabit/s. 

On the special highspeedlogger PCB with minimal length tracks, proper line impedance and ringing reduction the speed is increased to 24MHz, so one might expect to reach over 20Megabit/s. (video?)

The current code is using CMSIS and by default is compiled with [https://github.com/esden/summon-arm-toolchain] installed in your home/sat directory. It also compiles with paparazzi arm-multilib (compile with make CROSS=/opt/paparazzi/arm-multilib/bin/arm-none-eabi- or any other compiler flavor of your liking. 

Downloading SD-card files is done with the tools/bin where the downloader will... download, and the converter is now set to convert data that was logged with the highspeed_logger_spi_link.xml module in paparazzi. 

The project is fully functional for us as-is, but it might benefit from a lot of updates like USB-readout, smaller PCB, etc... Concerning board outline there are actually 3 versions: one with the hole positions of the lisa-m, one that fits on yapa holes and one with minimal size without any mounting holes.

All info I have is here: https://github.com/tudelft/highspeedlogger
Main file is probably: https://github.com/tudelft/highspeedlogger/blob/master/hw/HighSpeedLogger.pdf


PS: Be aware that others are working on integrating an SD directly to the autopilot (e.g. adding an OS)
PS: I might have one or 2 spare manually assembled boards left, but if several are interested then a small batch should be made.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]