Newbe but Need Hardware Floating-Point

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm new to microcontrollers. I guess you use the term "newbe." I am a grad student who has developed a control system (C program) and wants to implement it on a microcontroller. The control routine needs to perform many floating-point operations fast. A hardware floating-point unit (FPU) is necessary.

I checked earlier posting and found "AVR32 Hardware - Builtin floating point processor." But this was before Atmel announced that they would be making AVRs with FPUs, and the person submitting the question was more concerned with cost than I am. Not that money is no object, but I'm more concerned with learning and getting up and running fast. It would be nice, however, if I could use the same platform for proof of concept and (hopefully) production.

Anyway, My brother suggested that sence:
"¢ Atmal will be making AVRs with FPUs soon.
"¢ AVRs are well documented.
"¢ AVRs are easy to use/get started on.
"¢ AVRs use portable code (from one AVR to another).
"¢ Development boards, like the STK600, accept adapter boards.
I could start implementing the control on a current 32-bit AVR and, when the FPU AVRs come out, switch the AVRs and port the code.

So, Is my brother correct on all these counts? If so, which AVR and development board would you suggest I start with?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Correct :-D
A new AVR UC3 series will come before the end of the year with hardware FPU.
http://www.youtube.com/watch?v=L...

The FPU is already supported by the IAR compiler (in the latest 3.30).

You can start with any UC3 board: I would recommend the EVK1105 (www.atmel.com/evk1105) then it'll be easy to move the new UC3 using the software framework (http://asf.atmel.no/) drivers.
Just start your code in C then switch to the right part number when available to use the FPU.

-sma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you need something *now*, the options are a lot smaller. I would seriously consider a floating-point DSP or a full-fledged ARM Cortex A8.

However, do you *really* need floating point? 90% of algorithms designed for control could easily be adapted to a fixed point version, plus they become much easier to verify. Remember, adding a "." to a number does not imply floating point :-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you, both, for your responses. This is very helpful. :D

I have read about the questionable need for floating point in other similar discussions. As stated above, I’m very new to (ignorant regarding) microcontrollers. If it would be useful to my application, I’d be willing to do the work to learn how to adapt to fixed point. Could you tell if adaptation or hardware is right for my application?

My control might better be described as scientific computing in real-time. It involves iterative numerical techniques and many row operations as in linear algebra. The routine would have to, at some point, multiply very large numbers with very small numbers and maintain accuracy. In fact, a question for further down the road will likely be about double precision.

-Dave_Larsen