Creative Commons images are CC BY-NC-SA 3.0

Retired RETIRED

This product has been retired from our catalog and is no longer for sale.

This page is made available for those looking for datasheets and the simply curious. Please refer to the description to see if a replacement part is available.

Replacement: None. We are no longer carrying this uM-FPU in our catalog. This page is for reference only.

Description: The new uM-FPU v3.1 by Micromega has all the proven features of the v3 with some interesting new GPS NMEA string parsing features. The uM-FPU v3.1 chip interfaces to virtually any microcontroller using a SPI, I2C, or serial interface, making it ideal for applications requiring floating point math, including sensor readings, robotic control, GPS, data transformations and other embedded control applications. The uM-FPU v3.1 chip supports 32-bit IEEE 754 compatible floating point and 32-bit integer operations. The uM-FPU v3.1 is RoHS compliant, operates from a 2.7V, 3.3V or 5V supply, and is available in 18-pin DIP, SOIC-18 or QFN-44 packages.

Interface examples are available for BASIC Stamp, Javelin, PICAXE, 16F87x, ARMmite, and ARMexpress controllers.

Features:

  • 18-pin DIP
  • Supports both I2C, SPI, and serial interfaces
  • 256 byte instruction buffer
  • 128 general purpose 32-bit registers for storing floating point or long integer values
  • 8 temporary 32-bit registers to support parentheses in calculations
  • 2048 bytes Flash memory for user-defined functions
  • 1024 bytes EEPROM for data storage or user-defined functions
  • 10 to 20 times faster than uM-FPU V2 for all floating point operations
  • Up to 70 times faster for advanced instructions
  • Supports 2.7V, 3.3V and 5V supply voltage
  • I2C compatible interface up to 400 kHz
  • SPI compatible interface up to 15 MHz
  • Expanded instruction set, matrix operations, A/D conversion, string handling
  • Easy migration from uM-FPU V2
  • See What's New in V3 for more details on new features

Floating Point Operations:

  • Tons of new functions
  • Set, Add, Subtract, Multiply, Divide
  • Sqrt, Log, Log10, Exp, Exp10, Power, Root
  • Sin, Cos, Tan
  • Asin, Acos, Atan, Atan2
  • Floor, Ceil, Round, Min, Max, Fraction
  • Negate, Abs, Inverse
  • Convert Radians to Degrees
  • Convert Degrees to Radians
  • Compare, Status

Long Integer Operations:

  • Set, Add, Subtract, Multiply, Divide, Unsigned Divide
  • Negate, Abs
  • Compare, Unsigned Compare, Status

Conversion Functions:

  • Convert 8-bit and 16-bit integers to floating point
  • Convert 8-bit and 16-bit integers to long integer
  • Convert long integer to floating point
  • Convert floating point to long integer
  • Convert floating point to ASCII
  • Convert floating point to formatted ASCII
  • Convert long integer to ASCII
  • Convert long integer to formatted ASCII
  • Convert ASCII to floating point
  • Convert ASCII to long integer

Documents:

Comments 15 comments

  • This FPU is VERY cool. Micromega has an IDE on their website that lets you enter commands in very plain language, and then it converts them in to commands for the FPU. VERY handy, VERY cool!
    There is also a bunch of app notes to help out based on your microcontroller.
    IDE: http://www.micromegacorp.com/ide-v3.html
    App Notes: http://www.micromegacorp.com/appnotes.html#v3appnotes

  • It is worth noting that this processor has native supports fast fourier transforms and matrix operations. Could this be put in the description? I’ve tabled more than one project due to the difficulty of implementing FFT.

    • We have the matrix operations listed in the description already. In regards to FFT, we don’t want to scare off customers with those nasty computations! (Kidding, mostly. They are really useful, so we’ll see what we can do).

  • Maybe getting this to work with arduino migtht be nice. I want to see someone emulate AES256 on those MCU’s.

  • Maybe getting this to work with arduino migtht be nice. I want to see someone emulate AES256 on those MCU’s.

  • Works fine with the PICAXE and I2C. The Micromega PICAXE library makes for a very good ‘fast start’ , getting the chip up and running. Some of the symbols used in the examples duplicate real PICAXE commands to I just renamed the command adding 32 to the name, for example cos32. I’m using a 128X64 graphic LCD for display which worked fine as some of the program examples are outputting up to 6 lines of info. Its going to take a while to master this chip.
    There is a 64 bit version in the works, should be even more interesting.

  • I may be unimaginative, but what might possibly require this kind of precision? 32 bits is a ton for even one value, let alone 128 of them.

    • Intercontinental ballistic missiles…

    • Apparently you’ve never written IK adaptive terrain algorithms with real-time environment feedback to control your hexapod with an Atmega2560. ;)

    • Thanks for the links. Interesting.

    • This device implements IEEE 754 compatible single precision (32 bits). Double precision would have been nice to have (64 bits). If you study up on computer math a bit you will appreciate the need for such things. Being an OF, I still lean towards BCD, which sadly appears not to be supported by this device. Here are some things you might want to look at:
      https://secure.wikimedia.org/wikipedia/en/wiki/IEEE_754-1985
      http://grouper.ieee.org/groups/754/
      http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html
      http://avr.15.forumer.com/a/bcd-math-tutorial_post941.html
      http://www.edn.com/article/467772-Mind_boggling_math_BCD_binary_coded_decimal_.php

    • That’s what I was thinking of modern computers. Who needs a terabyte hard drive when you still only use a byte per char in notepad?


Related Products