High-speed throughput for Netduino Go modules
#21
Posted 23 May 2012 - 03:19 PM
#22
Posted 23 May 2012 - 03:46 PM
I guess most cases will be covered by fixed size frames and for high speed data transfers it will go with DMA (?)
Yeah - I'm starting to think that fixed size frames and potentially a paging algorithm will be the simplest (and probably fastest) way to do this.
I don't ?think? the STM8 line has DMA.
My current approach is just starting to get klunky for a couple of modules where the packet size is variable and I might want to push KB's of data. Starting to think I might want to look at the STM32F0 line with the additional RAM and faster CPU/SPI.
_Really_ looking forwared to the standardized/native firmware, I just don't have enough patience though
Kevin...
Windows Phone Development MVP
President Software Logistics, LLC
Tampa, FL
#23
Posted 23 May 2012 - 04:28 PM
I recommend using fixed frame sizes and simply "exchanging packets". That would look something like this:Chris - can you elaborate what you mean by this?
Seems somewhat chatty
1. Module asserts IRQ
2. Mainboard sends empty (fixed-length) frame, receives data from device
3. Module deasserts IRQ
You could either deassert IRQ when the last packet of data started being sent from the device...or you could deassert it after the first bits were being transferred. [One method makes the IRQ an RTS-style "flow control" flag, the other makes it an attention flag.]
Chris
#24
Posted 23 May 2012 - 08:28 PM
I recommend using fixed frame sizes and simply "exchanging packets". That would look something like this:
Thanks Chris - I think I'm seeing a trend pointing to using a fixed size frame...it really does solve a lot of problems at the expense of a few clock cycles and will probably just go down that path.
Kevin...
Windows Phone Development MVP
President Software Logistics, LLC
Tampa, FL
#25
Posted 31 May 2012 - 08:33 AM
I ended up buying it so will answer my own question. I've only read about a third of it but so far it doesn't seem very good.This book - Arm Microcontroller Interfacing - looks interesting and has one glowing review on Amazon UK. Has anyone read it and can give an opinion?
It's very Atmel specific and the code examples don't seem to use CMSIS so they're not really portable. There are lots of diagrams of how to use a transistor to switch a LED, which is a little too basic to be useful.
#26
Posted 31 May 2012 - 12:49 PM
#27
Posted 03 June 2012 - 06:02 AM
Good point. ARM7 is ARMv4. Cortex-M3 is ARMv7. ARM7 != ARMv7. Confused yet?Since the book description says it uses an ARM7 I guess non CMSIS code should be expected .
Chris
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users