当前位置:首页 > 嵌入式 > 嵌入式硬件

简介

德州仪器(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 微控制器需求的集中资源。立即通过/controlSUITE 下载 controlSUITE.

图7: Code Composer Studio IDE

使用 Code Composer Studio v5 (CCS) 集成开发环境 (IDE),C2000 器件开发更轻松。 CCS 是一种基于 Eclipse 的 IDE,可为大多数嵌入式设计人员提供熟悉的功能。它包含优化的编译器、调试器、描述器和仿真器等。此外,熟悉 RTOS 嵌入式开发的开发人员还可以畅快地使用 CCS 附带的 SYS/BIOS RTOS.若要获取详细信息并立即下载最新版本,请访问/ccs.

C2000 还通过大量的开发工具套件提供了多种基于器件和应用的资源。通过 C2000 controlSTICK 和 C2000 LaunchPad 开发套件中的入门示例项目,用户可以体验器件级编程和原型设计。对于系统级原型设计,用户可以购买 C2000 实验板套件,它可提供实验电路板区

域并访问所有 Piccolo MCU 信号。对于专业的系统开发人员,C2000 微控制器还提供了大量的应用开发套件。从电机控制到数字电源,从太阳能到照明乃至 PLC,C2000 微控制器提供的众多开发套件能够帮助设计人员加速应用开发。有关所有 C2000 开发套件的完整列表,请访问/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 论坛也可以帮助您解决技术难题。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭