TMS320xF24xx 至 C2000™ Piccolo™ TMS320F280xx 的迁移概述
2012-08-16
简介
德州仪器(TI) TMS320xF24xx 系列DSP 于1997 年推出,是C2000™ 产品系列中系列器件的开山之作。它们被广泛誉为首款具有片上闪存和集成CAN 控制器的DSP。TMS320xF24xx 的特性包括用于多轴电机控制的16 个PWM 输出、高达500ns 的10 位A/D 转换器、CAP/QEP 电机外设、扇区闪存以及用于通信的CAN 接口和串行接口。设计人员充分利用了16 位架构和性能的优势,并采用了用于电机控制系统的集成外设,可提高控制能力、减少昂贵组件的使用、降低噪音并增添先进的功能。
如今,C2000 产品系列不断演变,可提供更佳的器件系列。凭借多种自40MHz 至300MHz 的CPU 性能配置以及各种外设和封装选项,C2000 是业内最广泛的产品系列,该系列为开发人员提供的选项可满足各种性能、功能和价格需求。通过增强的模拟集成、先进的外设功能、增添的通信和MCU 编程便捷性,C2000 提供了具有MCU 集成和易用性的最佳DSP 性能。由于设计人员希望为产品增添新特性,我们将帮助设计人员过渡到C2000 微控制器的最新Piccolo TMS320F280xx 产品系列。凭借增强的性能、架构控制的改进、增加的闪存容量、更先进的控制外设以及最为重要的低成本,Piccolo MCU 为控制系统带来了多种优势。
Piccolo 概述
Piccolo 微控制器系列成本低廉且高度集成,可对低成本电力电子装置进行实时控制。通过四个器件系列和系列内50 多种配置,Piccolo 微控制器提供了从40MIPS 至超出180MIPS 的性能、16KB 至256KB 的闪存大小以及从38 引脚至多达100 引脚的封装尺寸。Piccolo 微控制器以低价提供一系列经过控制调优的器件,可满足设计人员的控制需求。
与TMS320xF24xx 系列相比,Piccolo 器件提供了多种创新。其内核得到了改进,而且脉宽调制模块(PWM) 和模数转换器(ADC) 模块等外设均得到了彻底变革,从而改进了控制应用。此外,通过集成之前分散组装在印刷电路板(PCB) 上的多个模拟组件,模拟集成为控制系统提供了更高的成本效益和更低的复杂性。总的说来,设计人员在迁移至Piccolo 微控制器后应该能够获得更强的功能、更低的成本和更高的性能。
不过,虽然这些进步针对电力电子装置极大地改善了Piccolo MCU,但TI 了解在将系统迁移至新控制器时设计人员面临的一些担忧。由于具有新的内核和新控制外设,移植软件以及针对新微控制器调整系统最初可能让人望而生畏。因此,本文将深入探讨TMS320xF24xx 和Piccolo TMS320F28xx 系列器件之间的差异。本文将突出Piccolo MCU 的新特性、详细阐述TMS320xF24xx 设计人员面临的差异,并概述TMS320xF24xx 器件过渡到Piccolo 微控制器的迁移路径。
全新C28x DSP 内核
图1:C24x DSP 内核与C28x DSP 内核
虽然TMS320xF24xx 器件基于C24x DSP 内核,但更新的C2000 器件(包括Piccolo 微控制器)都基于更新的C28x DSP 内核。您首先会注意到的差异就是C28x 内核为32 位,而之前的C24x 内核为16 位。其中明显的益处在于设计人员能够处理更大的存储器空间,这意味着更新的C2000 器件可用于控制应用的存储器空间大大增加了。
其次,计算方面益处多多。通过32 位计算,C28x 内核现在可以进行单循环32 位运算,包括单循环32 x 32 乘法累加运算甚至是单循环双16 x 16 乘法累加运算。因此,控制算法现在可以从每个兆赫中获得更高的性能和精度以及更准确的数字结果。此外,凭借增加的流水线和增强的内核架构,基于C28x 的器件可在更高兆赫的频率下工作,可以拥有更低的中断服务例程延迟和更高的整体代码效率。C28x 内核是C24x 内核在各个工作方面的完美改进。
图2:Piccolo CLA 协处理器架构
除C28x 内核之外,Piccolo 器件还增添了用于协处理器或信号处理加速的选项,包括新CLA 协处理器和VCU 复数数学加速器。CLA 协处理器是一种基于C28x 内核的独立浮点处理内核。它可独立访问控制外设,从而进行双核运算。这一点通过提供额外的处理性能和模块化控制方法为控制系统提供了优势,因此,可以在C28x 内核和CLA 协处理器之间划分多个控制回路。例如,一个回路可以在C28x 内核上运行电机控制算法,同时CLA 协处理器可专注于电机位置解析算法,从而通过旋转变压器计算出电机位。同样,除功率控制功能之外,还存在多种其他用例,包括但不限于多轴电机控制、功率因数校正(PFC) 加电机控制,甚至还包括电力线通信(PLC)。此外,通过对控制外设的独立访问,C28x 和CLA 协处理器还可以提供安全功能的补充启用,可以交叉校验ADC 结果、PWM 生成和彼此的计算结果。
同样地,VCU 复数数学加速器可以为复数数学运算提供更佳的运算性能、更快的傅里叶变换(FFT) 运算和Viterbi 运算。凭借在Viterbi 蝶形等计算方面高达7 倍的性能增量,VCU 加速器可以在低成本器件中获得更高的信号处理性能。这一点特别适合电力线通信(PLC) 等应用,PLC 需要高级信号调整和处理功能以在嘈杂的电力线介质中进行发送和接收。基于通信的算法在单个器件上运行以减低系统成本和功耗,而非提供辅助处理器来管理与VCU 的通信链路。
高级控制外设
图3:TMS320xF24xx 事件管理器
除了对DSP 处理内核的推动之外,我们还提供了Piccolo 系列的多种PWM 和ADC 外设创新。重温一下,在TMS320xF24xx 系列中,PWM 输出是“事件管理器”模块的一部分。在事件管理器中,两个16 位定时器和五个独立的比较匹配检查可以生成最多八个PWM 输出。在这八个PWM 输出中,有六个输出以互补对的形式生成,这意味着每两个PWM 波形中即有一个是一对中互补波形的强制反波形。这六个PWM 输出也可以仅使用每一对的单个比较匹配检查(除零和周期匹配事件之外)生成。可编程死区逻辑可应用于这六个波形的上升沿和下降沿延迟,同时请注意,两个延迟必须使用同一死区值。比较而言,在八个PWM 输出余下的两个中,每一个都可以使用单独的比较匹配检查(除零和周期匹配事件之外)独立生成。但是,这两个PWM 输出不支持任何死区逻辑。因此,总的说来,来自事件管理器的每个PWM 输出都可以从至多1 个比较匹配中生成,而死区逻辑则只能用于八个PWM 输出中的六个。
在其他特性中,事件管理器PWM 还提供跳闸逻辑,可以异步强制八个PWM 输出中的六个进入高阻抗状态,从而实现系统保护和安全。此外,事件管理器的时基是与3 个事件捕捉单元和1 个正交解码器接口共享的,这一点与Piccolo 微控制器更加模块化的方法大有不同。与Piccolo 微控制器不同,TMSxF24xx 器件上的多个事件管理器(EV) 无法一起同步时基。
图4:Piccolo TMS320F28xx ePWM 模块
相反,对于Piccolo 微控制器,PWM 输出是单独和独立PWM 模块的一部分。每个PWM 模块都具有两个可从单个16 位定时器和两个独立比较匹配事件(除零和周期匹配事件之外)生成的PWM 输出。16 位定时器具有向上、向下和向上/向下计数模式,其中的向下计数模式是Piccolo MCU 的独有功能。此外,Piccolo 微控制器的PWM 可以生成同步或异步波形,甚至还可以生成带有独立异步双沿占空比控制的PWM。某些Piccolo 器件甚至包含革命性的高分辨率PWM 模式,由此,设计人员可以获得低至150ps 的边缘位置分辨率,从而在高频操作下提供持续的高精度控制。每个PWM 输出还包括具有高分辨率性能的死区逻辑,由此,死区延迟可在半周期增量下出现。这可以进一步降低控制系统中的电源开关损耗。
此外,用户可以对PWM 模块中的每个PWM 输出进行独立极性控制,这意味着Pic- colo 微控制器的PWM 对不会像TMS320xF24xx 中一样强制为互补对输出。而且,与事件管理器的PWM 不同,Piccolo 微控制器的PWM 模块可以通过可配置时间或相位偏移同步时基;因此,其功能可以创造出更先进的时间同步系统。然而,与事件管理器相似,Piccolo PWM 也具有跳闸区逻辑,但这一点已通过一次性PWM 跳闸乃至逐周期PWM 电流限制操作进行了进一步扩展。除此以外,Piccolo 的PWM 在TMS320xF24xx 系列的跳闸功能上进行了进一步扩展,它提供了强制PWM 进入高阻抗状态的选项,可以设置高或低跳闸条件,从而通过跳闸区逻辑实现更强大的安全和保护功能。
比较Piccolo 微控制器与TMS320xF24xx 器件的ADC,我们会发现Piccolo 微控制器提供了多个优势。首先,Piccolo ADC 可提供12 位的分辨率,而TMS320xF24xx 提供的是10 位分辨率。Piccolo 微控制器的ADC 同样具有更快的转换率,其速率高达4.6 兆样本/秒(MSPS),而TMS320xF24xx 器件则为1.18 至2.67MSPS。因此,Piccolo 微控制器的ADC 不仅能够在数字域上更准确地显示模拟信号,还可以明显更快地捕捉信号以及将信号转换到数字域。在架构方面,Piccolo 微控制器ADC 提供了两个独立的取样保持单元,但TMS320xF24xx 器件仅提供一个取样保持单元。通过同步双路取样保持功能,Piccolo 微控制器能够同步取样电机应用的相电流,乃至同步取样电流和电压测量。从操作的角度来看,Piccolo 基于启动转换(SOC),而TM- S320xF24xx 器件则基于自动序列发生器。虽然Piccolo 微控制器可以从单个触发器中创造出持续的转换系列,但由于TMS320xF24xx 系列中的ADC 基于自动序列发生器,因此Piccolo 微控制器的ADC 使用了SOC,其中可以针对每个转换指定触发源、样本窗口大小和通道。这为ADC 资源提供了最大的灵活性,可以满足不同的系统需求。
最后,Piccolo 系列与TMS320xF24xx 系列的差异在于事件捕捉(CAP) 和正交编码器接口(QEP) 在硬件中的实施方式。请回想一下,TMS320xF24xx 器件上的CAP 和QEP 外设均集成在事件管理器(EM) 中,它们与PWM 输出共享定时器资源。相反,在Piccolo 微控制器中,CAP 和QEP 功能单独位于独立的模块中,具有独立的时基。就功能而言,Piccolo 微控制器的捕捉单元以相似的方式操作,但也具有其他一些特征。例如,某些Piccolo 器件甚至包含高分辨率捕捉功能,由此,可以在典型的300ns 分辨率下测量出外部脉冲之间的区别。这会带来更低延迟的系统反馈。此外,每个事件捕捉模块都可以在PWM 模式下工作,可以在PWM 模块的PWM 输出之外提供额外的PWM 输出。
正如本文前面简要提到的那样,Piccolo 包括许多架构增强功能,可以减少控制延迟、降低系统成本并简化系统设计。这些增强功能包括片上比较器、片上可编程增益放大器(在精选器件中)、低延迟PWM 跳闸、双路取样保持ADC 和集成生命支持功能。
图5:Piccolo TMS320F2805x 架构方框图
在将电流和电压测量反馈回Piccolo 微控制器的过程中,ADC 输入引脚也会通过集成DAC 送入片上比较器中,从而进行过电流或过电压比较。如果系统状态位于确定的“正常”状态之外,比较器将触发直接异步跳闸以设置PWM 输出,从而在低至30ns 下关闭PWM 输出。或者,如前所述,PWM 可以逐周期跳闸,从而进行电流限制操作而非系统停机。
在Piccolo TMS320F2805x 器件中,可编程增益放大器(PGA) 甚至可以进行片上集成,获取来自ADC 引脚的输入,并在送入ADC 个比较器之前进行放大。PGA 不仅可以降低系统成本,由于系统在外部需要这些PGA(在未进行片上集成的情况下),它们还可以通过随电机速度的下降扩展ADC 范围的方式在电机控制等应用中大展所长。
如前所述,Piccolo 微控制器中的ADC 包含双取样保持单元;但在TMS320xF24xx 系列中,ADC 仅提供一个取样保持单元。虽然TMS320xF24xx ADC 可以尝试模拟同步双取样,样本间的延迟通常为850ns,但Piccolo 微控制器的ADC 具有两个完整的取样保持单元,且同步样本之间无延迟。在需要测量同步相位电流或同步电流和电压读数时,这一点非常重要。样本之间的任何延迟都将会在系统建模中造成误差,甚至会在由此产生的系统控制中造成误差。Piccolo 微控制器消除了这种误差,可以进行更准确的系统测量和控制。
最后,与TMS320xF24xx 器件相比,Piccolo 微控制器提供额外的生命支持电路,可以降低Piccolo 器件供电和计时的成本和复杂性。Piccolo 微控制器具有一个片上电压稳压器(VREG),允许设计人员向器件提供单个3.3V 输入。VREG 可无缝自主地将输入电源调整为模拟子系统需要的1.8V 电压轨。同样,Piccolo 器件还具有上电复位(POR) 和欠压复位(BOR) 功能,可消除增加外部电路来监控器件电源输入的需求。此外值得一提的是,Piccolo 微控制器提供两个具有时钟故障检测功能的片上振荡器,可在出现故障时无缝切换至备份时钟源。
软件、可编程性和支持
从软件来看,与TMS320xF24xx 系列相比,Piccolo 器件拥有丰富的软件资源。Piccolo 器件全部可使用C 语言进行编程,其中某些器件甚至自带浮点支持。通过独特的器件库,您可以使用Piccolo 进行轻松编程和开发。例如,IQMath™ 库为定点器件提供了浮点开发的益处,使开发更加容易,同时在定点和浮点器件之间提供了更好的代码移植性。还有适用于简单FFT、FIR、复数数学、信号生成等的DSP 库。此外,如果您熟悉TMS320xF24xx 器件上的电机控制库,此库经过多年的更新和优化,已成为适用于Piccolo 微控制器且经过全面优化的最新电机库。您可以找到与TMS320xF24xx 器件的电机库相同的功能,但我们使用更新的功能扩展了这个新库,包括3 相传感和无传感电机的控制。此外,我们还针对基于太阳能和数字能源的开发提供了优化的应用库,为开发人员提供一整套经过应用调优的库,可缩短开发时间。
图6:controlSUITETM 软件套件
全部C2000 软件是通过controlSUITETM 软件套件提供的。controlSUITE 是一款完全免费的单一访问点,可获取所有C2000 器件软件、开发套件资源、软件库、文档和设计支持。controlSUITE 配备有图形用户界面(GUI),可轻松访问C2000 软件和文档,同样它也提供自动更新实用程序,可让用户获得最新的C2000 软件和文档。用户可访问前面提到的器件库和应用库以及详细的示例项目,快速开始使用C2000 器件。其中还提供了详细的文档,包括用户指南、应用手册和白皮书。无需通过Web 四处搜索器件标题、库或文档,controlSUITE 即是可以满足所有C2000 微控制器需求的集中资源。立即通过www.ti.com/controlSUITE下载controlSUITE。
图7:Code Composer StudioTM IDE
使用Code Composer Studio v5 (CCS) 集成开发环境(IDE),C2000 器件开发更轻松。CCS 是一种基于Eclipse 的IDE,可为大多数嵌入式设计人员提供熟悉的功能。它包含优化的编译器、调试器、描述器和仿真器等。此外,熟悉RTOS 嵌入式开发的开发人员还可以畅快地使用CCS 附带的SYS/BIOS RTOS。若要获取详细信息并立即下载最新版本,请访问www.ti.com/ccs。
C2000 还通过大量的开发工具套件提供了多种基于器件和应用的资源。通过C2000 controlSTICK 和C2000 LaunchPad 开发套件中的入门示例项目,用户可以体验器件级编程和原型设计。对于系统级原型设计,用户可以购买C2000 实验板套件,它可提供实验电路板区域并访问所有Piccolo MCU 信号。对于专业的系统开发人员,C2000 微控制器还提供了大量的应用开发套件。从电机控制到数字电源,从太阳能到照明乃至PLC,C2000 微控制器提供的众多开发套件能够帮助设计人员加速应用开发。有关所有C2000 开发套件的完整列表,请访问www.ti.com/c2000tools或查看controlSUITE 的“套件”部分。
通过C28x 内核的向后兼容性,您可以轻松移植TMSxF24xx 器件代码。CCS 具有编译器选项,可以将基于C24x 的器件中的汇编码导入到更新的基于C28x 的C2000 器件中。有关分步迁移信息,请参阅“入门资源”部分TMS320C28x CPU 和指令集参考指南链接中的附录C。同样,我们也提供了用户指南,其中详细介绍了将基于C24x 的器件代码移植到基于C28x 的器件中时的指令集兼容性以及软件迁移需求。最后,如果遇到问题,我们的工程团队可为您解难答疑。请访问E2E 论坛,获取问题答案并解决您在过渡至Piccolo MCU 的过程中可能遇到的任何难题。请访问e2e.ti.com 并导航至左侧导航栏“微控制器”(Microcontrollers) 部分下的“TMS320C2000™ 32 位实时MCU”(TMS320C2000™ 32-bit Real-time MCUs)。
概要
Piccolo 微控制器是对TMSxF24xx 系列进行全方位改进的成果。从C24x 内核到新的C28x 内核,设计人员将看到显著的性能改善、增大的存储器容量和编程易用性。此外,CLA 协处理器和VCU 加速器等新性能选项进一步提高了系统性能、增加了强大的控制回路,也带来了与众不同的控制平台。
从控制外设的角度,Piccolo 微控制器对PWM 进行了改进,提供了更灵活的PWM 生成、高分辨率的PWM 功能、增强的死区支持和更先进的PWM 跳闸功能。在迁移至Piccolo 微控制器后,设计人员应该能够获得更高的控制性能、功效和系统安全。同样,Piccolo 微控制器的分辨率得到了提高,可以获得更准确更快速的转换速度,从而实现更高频率的控制回路,而双取样保持功能则可以在取样多个输入时实现同步零延迟。
Piccolo 器件的架构也进行了变革,可以减少控制延迟并降低系统成本。片上比较器提供异步、直接、低延迟的路径,可在没有CPU 干预的情况下跳闸PWM 输出。同样,双路取样保持ADC 可以实现同步相电流测量或同步电压和电流测量,以进行电力电子装置反馈。通过去除之前支持器件必需的昂贵组件,集成的上电复位支持、欠压复位支持和电压稳压器进一步降低了系统成本。
最后,为了帮助开发人员将代码移植到新的Piccolo 微处理器系列中,Code Com- poser Studio (CCS) IDE 提供了编译器选项,可以接受基于C24x 的汇编码,为开发人员到基于C28x 的器件的代码迁移打下了良好的基础。IQMath 库、DSP 库、浮点数学库和信号生成库等独特的器件库简化了使用C2000 执行的常见运算的编程过程。同样,开发人员可以利用经过调整的应用库(如电机控制库、太阳能库和数字能源库)来快速启用系统,使之通过优化的代码良好运转。 我们也提供了详细的硬件应用套件,可以为开发人员提供适合的平台,供其进行相关终端设备的学习和开发。这一切都可以通过C2000 的controlSUITE 软件套件获取,用户可将此作为单个访问点,获取使用C2000 微控制器开发所需的所有资源。
因此,立即开始使用Piccolo 微控制器吧!凭借Piccolo 器件提供的独特优势,开发人员可以获得比基于TMS320xF24xx 的应用更高的性能、功效和强健性。此外,大量的软件、硬件和文档资源可随时满足您的支持需求,如果仍有问题,我们的E2E 论坛也可以帮助您解决技术难题。
入门资源
TMS320C28x CPU 和指令集参考指南
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sp ru430
请参见附录C。其中包含将TMS320xF24xx 代码移植和编译到基于C28x 的器件(如Piccolo TMS320F28xx 器件)中的详细分步指南。
Piccolo F28027、F28035、F28055 和F28069 器件文件夹
http://www.ti.com/product/tms320f28027
http://www.ti.com/product/tms320f28035
http://www.ti.com/product/tms320f28055
http://www.ti.com/product/tms320f28069
若要了解Piccolo 外设的使用方法以及与TMSxF24xx 器件的对比,请访问所有Pic- colo 数据表和用户指南(包括PWM、ADC、CAP 和QEP 等)。
TMS320xF24xx 器件文件夹
http://www.ti.com/product/tms320lf2407a
http://www.ti.com/product/tms320f243
http://www.ti.com/product/tms320f240
访问所有TMSxF24xx 数据表和用户指南以获取后向参考。
TMS320x281x 至TMS320x2833x 或2823x 的迁移概述
http://www.ti.com/litv/pdf/spraaq7b
有关事件管理器和PWM、CAP 及QEP 模块之间的迁移和差异,请参阅11.1.1 节。虽然Piccolo PWM、CAP 和QEP 模块与F2823x 的PWM 模块略有不同,此文本作为通用参考仍十分有益。
controlSUITE™ 软件
http://www.ti.com/controlSUITE
所有C2000 软件、硬件和支持的单点访问。下载器件软件或应用库。访问示例项目以了解如何使用C2000 器件。运行用于应用开发的开发套件软件。访问器件级和应用级的技术文档。 若要C2000,一个极好的起点即是下载controlSUITE 并浏览多个示例项目和文档。
Code Composer Studio™ IDE
下载Code Composer Studio 开发环境,使用C2000 器件开始开发之旅。
用于C2000 的CCS 入门
http://processors.wiki.ti.com/index.php/C2000_Getting_Started_with_Code_Com- poser_Studio_v5
Wiki 页面,包含特定于C2000 的Code Composer Studio 集成开发环境入门指南。
C2000 E2E 论坛
http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/ default.aspx
咨询E2E 论坛的C2000 专家,获取有关挑战性技术需求的帮助。
C2000 培训页面
http://www.ti.com/c2000training
访问按需C2000 培训。