The distributors finally got in some of the new ST Micro STM32F2 series uControllers and I grabbed a few. I was able to "shoehorn" one into a ver5 board as the pinout is close to compatible with the performance STM32F1 series. Spent a few days rewriting the device drivers and am very impressed with this controller's performance.
I was able to bump up the sample rate to around 276.8KHz for all 12 sensors for a total of ~3.32 million samples per second. Despite this more than doubling of work load, I ended up with around 70% idle time, up from 60% of the STM32F1. Keep in mind that at a 120MHz clock rate, this 70% free cycles represents more than twice as much free number crunching capability than the STM32F1 at 60% idle. I also found that the DMA to be much better with full FIFO available on each DMA channel and an easier to use triple ADC.
The result is a much cleaner interpretation of the sensor data which translates to a smoother and more stable platform.
Comments
Got an e-mail from ARM, asking me to check the following sites for manufacturers of the cortex R7
http://www.keil.com/dd/
http://www.arm.com/community/partners/search.php
It does see, to be hard to locate a vendor, but the lists are quite big and i haven't given up hope.
Bill,
I was just looking up the cortex R7 on this link
http://www.arm.com/products/processors/cortex-r/cortex-r7.php
Texas instruments seems to sell the R4
http://www.ti.com/ww/en/embedded/arm/index.html?DCMP=TIHomeTracking...
I can't seem to find any info on purchasing it on ARM's website, so i sent them a mail...
If you use analog sensors, aren't you just shifting the latency problem from an internal ADC to an external ADC?
I am also curious as to how you do the temperature compensation for scale factor and bias. I assume you do a polynomial fit, but where do you get the polynomial coefficients? I looked in the datasheets, but it doesn't seem to be readily available.
The possibility of having a daughter board is nice, because one could potentially move "higher level" functions like tracking, communicating over a 3G network.. etc onto the daughter board
Srinath: Do you know of anyone producing silicon with an R7 core? For the short term, AQv6 will have daughter board connectors which will allow the attachment of a SoM (system on module.) The first one supported will be the Gumstix Overo which runs a Cortex A8 at 720Mhz and 500MB RAM with a vector floating point unit and integrated DSP.
I much prefer using analog sensors which I can sample at high rates and low latency.
Hi Bill
I am curious as to why you chose the Cortex M3 processor, why not the R7, it seems to have more punch and shouldn't represent a bottleneck if you want to do some vision based guidance.
Also any reason, why you are going with invensense analog gyros and accelerometers and not digital ones from analog devices?
Wim: Turnigy hardware, modified firmware
Patrick: I'll detail the V6 change in a new post once they are finalized
srinath: I try to avoid Matlab as it is slow. All of my testing and filter code is done in straight C using libraries that I have developed over time. If find that for maximum performance, a UKF needs to be properly tuned which can sometimes be difficult. PM me for more info.
Ludovico: Flight tests are conducted at a top secret testing facility somewhere in the eastern US :) Actually it is an ideal place as it is slightly GPS deprived due to surrounding mountains and the wind is generally unpredictable - keeps you on your toes.
-
1
-
2
-
3
-
4
of 4 Next