|
TMS320F2807x Piccolo系列芯片在运算能力上的提升
[复制链接]
1. 浮点运算单元FPU
FPU全称Float Point Unit,即浮点运算单元,是专用于浮点运算的处理器。在大多数现在的通用计算机架构中,会在CPU中集成一个或多个浮点运算器,但许多嵌入式处理器没有在硬件上支持浮点数运算。
TMS320F2807x Piccolo系列芯片使用C28x+FPU的架构,在原有的C28x定点CPU的基础上加入了一些寄存器和指令,来支持IEEE 单精度浮点数的运算。对于在定点微处理器上编写的程序,浮点C2000也完全兼容,不需要对程序做出改动。
下表给出了与定点处理器相比,浮点处理器在计算能力上的提升:
可见,与定点处理器相比,浮点处理器不但在程序编写上更加简洁,性能上也有了很大的提升,在进行除法,开方,FFT和IIR滤波等算法等指令中效率更高。
2. 三角函数运算单元TMU
与此同时,该系列芯片内部还集成了浮点三角函数运算单元TMU,它增强了C28-FPU的指令集。通过提供以单周期高效方式执行某些三角函数和算术函数的指令,减少了常见复杂函数运算的处理延迟,进一步提高了实时控制算法的性能。
带有TMU单元和没有TMU单元的CPU在一些常见函数的执行周期的对比情况如下表:
TMU可以对许多常用的实时控制算法有极大的优化,常见的有以下几种:
1.Park和Inverse Park变换;
2.空间矢量控制;
3.dq0和Inverse dq0变换;
4.FFT幅度和相位计算。
以Park变换为例,使用FPU来执行,通常需要80到100多个周期来,而集成了TMU单元的CPU仅需13个指令周期即可完成,与没有TMU相比,性能提高了85%。
因此,针对复杂且对实时控制要求高的控制算法中,相信集成了FPU和TMU的TMS320F2807x Piccolo系列芯片是您非常合适的选择。
|
|