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.
Hi Bill,
you said before you calculate some parameters with offline tools like the compass distortion compared to the motor level. Would it not be better to do this in flight?
If we find enough perople here who are interested we could produce your System.
Regards
Patrick
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?
On the aqv5 which Signal do you have in the inner layers?
Normally I would put GND and Supply Voltage 3.3V there. Have you done it like that or did you split it in several zones.