
2.3 TMS320F2833x数据格式解析
所有微处理器分为两大类,即“浮点”和“定点”。
常见的定点处理器有
1)基于Atmel AVR、ARM7和Cortex-M3内核的处理器。
2)Freescale HCS12X、MC56F83x、MCF523x。
3)Renesas SH4。
4)Texas Instruments MSP430、TMS320F280xx、Stellaris M3。
5)Infineon XE166、XC878。
6)ST Microelectronics STM32。
7)NEC V850ES/IE2。
8)Fujitsu MB91480。
9)MicrochipdsPIC 33FJxx。
10)NXP LPC2900。
11)Toshiba TMP370。
常见的浮点处理器有
1)Intel x86 Pentium。
2)Freescale MPC556、PowerPC。
3)Texas Instruments C6000、DaVinci、TMS320F2833x。
定点数,俗称小数点固定的数。浮点数,就是小数点不固定的数。例如,数字“1234”,就是纯整数的定点数,若将其写成浮点数,可以写成1.234×103、12.34×102或者123.4×101。
TMS320F2833x涵盖了定点和浮点两种数据格式。其中所包含的硬件浮点运算单元(FPU)支持IEEE 754标准。当需要操作浮点数据或进行高动态范围数值计算时,这种浮点处理器非常有效。但当进行位操作、输入输出控制、中断操作等相关控制任务时,效率不高。具有硬件浮点处理能力的微处理器价格比定点微处理器价格高。
定点处理器内部的硬件结构支持整型数据。算术逻辑单元ALU和硬件乘法器单元MAC要求参与运算的数据格式为整型,这就大大限制了定点处理器进行数据运算的动态范围。在定点处理器中使用C语言声明一个浮点型数据(“float”或“double”)时,会发生什么情况?相关的库函数会支持这类操作。但是标准ANSI C函数会消耗大量的CPU资源,在实时性较高的场合并不适用。
TMS320F2833x提供两种解决方案:调用“IQMath”优化库函数和FPU浮点单元。IQMath是一套高度优化的库函数,它能实现浮点算法与数学定点代码进行无缝链接。使用IQMath可明显地缩短嵌入式控制开发时间。