TMS320xF24xx至C2000 Piccolo TMS320F280xx 的迁移概述
扫描二维码
随时随地手机看文章
简介
德州仪器 (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:controlSUITE软件套件
全部C2000 软件是通过 controlSUITETM 软件套件提供的。controlSUITE 是一款完全免费的单一访问点,可获取所有 C2000 器件软件、开发套件资源、软件库、文档和设计支持。controlSUITE 配备有图形用户界面 (GUI),可轻松访问 C2000 软件和文档,同样它也提供自动更新实用程序,可让用户获得最新的 C2000 软件和文档。 用户可访问前面提到的器件库和应用库以及详细的示例项目,快速开始使用 C2000 器件。 其中还提供了详细的文档,包括用户指南、应用手册和白皮书。 无需通过 Web 四处搜索器件标题、库或文档,controlSUITE 即是可以满足所有 C2000 微控制器需求的集中资源。
图7: Code Composer Studio IDE
使用 Code Composer Studio v5 (CCS) 集成开发环境 (IDE),C2000 器件开发更轻松。 CCS 是一种基于 Eclipse 的 IDE,可为大多数嵌入式设计人员提供熟悉的功能。 它包含优化的编译器、调试器、描述器和仿真器等。 此外,熟悉 RTOS 嵌入式开发的开发人员还可以畅快地使用 CCS 附带的 SYS/BIOS RTOS。
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 论坛 也可以帮助您解决技术难题。