体验全新的MCU软件方法

来源:百度文库 编辑:神马文学网 时间:2024/03/29 03:50:18
随着世界不断向数字化方向发展,微处理器(MCU)也正面向各种应用领域全面推出。新型电视机采用MCU来提高LED对比度。割草机可通过MCU的帮助实现自动化操作,并可采用电动机取代汽油机引擎,提高效率,降低污染。咖啡机采用MCU后可提高智能性,能够在您熟睡之后帮助您冲制一杯美味的咖啡。

MCU的发展带动了一大批具有各种不同知识背景的开发人员的成长,这使我们不得不重新审视MCU软件的开发。为了最大限度地提高处理器可用性,MCU软件必须满足各种受众用户的需求,并必须更加重视系统应用。

满足不同的编程爱好

MCU编程不再是经验丰富的嵌入式系统工程师的专利。新型应用以及MCU的广泛推出吸引了众多此前从未接触过数字硬件的工程师以及仅仅对技术充分热情的业余爱好者,甚至那些寻求最新艺术表现形式的艺术家。现在已经到了摆脱传统固定MCU编程模式的时候了,应该为用户提供代表不同抽象与控制水平的不同编程途径。

C2000的controlSUITE软件包含可支持上述灵活性的四级硬件抽象层(HAL)。从最底层开始,寄存器和地址可像从前一样支持直接参照。不过,从第二层进行构建,位字段可使寄存器及其中的位功能组像变量一样进行存取。通过将寄存器映射到存储器上,编程人员现在就可像修改变量一样访问和存储位或位功能组中的值,并可像变量一样对其进行实时观察,从而无需位掩码这种容易让人困惑而且容易出错的方法。位字段还可在简化编程的同时支持完整的器件存取,因此对经验丰富的MCU编程人员也极具吸引力。

再进一步,外设API驱动器有助于用户通过简单的函数调用对外设进行编程。例如,通过调用函数,再向其提供周期、工作循环以及通道数等参数,就可完成PWM的初始化与设置。这些外设API驱动器可为嵌入式编程新手提供更简单的接口(也可为PC软件开发人员提供熟悉的函数调用接口)。

最后,完整的基准框架可帮助新用户实现其应用的跨越式起步,无需担心包括任务管理与GPIO映射在内的设置代码问题。

上述四级相结合,再加上四级之间的移动功能,编程人员能够迅速实施简单的函数,同时还可全面发挥C2000以控制为导向的外设的优势(图1)。


图1:具有不同背景与爱好的编程人员可通过controlSUITE软件支持的4个硬件抽象层根据自己的方式进行C2000 MCU编程。

每个设计步骤的模块化软件

MCU评估套件将配套提供示例软件,帮助用户启动设计工作。不过,工程师通常要走出其专业技术领域之外为其项目添加特性与智能性,因此简单的示例软件是不够的。从评估示例到器件库,乃至应用开发的整个设计过程都需要软件。希望添加语音识别或影像处理功能的开发人员可能并不具备丰富的FET经验。设计机器臂(robotic arm)的机械工程师可能对数字电机控制也不具备什么经验。要想学习信号处理或控制算法可能需要大量的时间。

controlSUITE软件可提供每个步骤所需的解决方案。完整系列的评估示例可作为开发工作的起点。这些示例展示了位字段与HAL的API库。

丰富的库集合可为工程师提供一系列配套使用的基础代码。MCU 供应商将提供基本的数学和几何学函数库,然而controlSUITE软件并不限于这些基础代码。controlSUITE软件作为传承了 32位管线C28x内核强大数学处理功能的 MCU 产品系列,还包含DSP库以及FET与滤波器算法。

特别值得一提的是,IQMath是一种对C2000编程人员极为有用的库。IQMath本身就是一个库和编译器,可帮助您在您的库中选择哪些数位为整数(I),哪些为商(Q),从而选择不同的范围与分辨率。它还允许用户以浮点格式编写C函数,而不用处理定点缩放的问题,并且编译器能解决所有其它问题。此外,IQ Math中的代码编写还可为定点MCU或浮点MCU编译统一的源集,从而实现不同器件之间的移植。

最后,应用库可提供作为不同系统基础的构建块。controlSUITE中的应用库不但包含如电机控制与功率转换等应用系统常见的基本元素,并可将其置于一组模块化函数和宏中,而且还配套提供了文档及理论。全新系统的实施就像输入输出的连接一样简单。例如,数字电机控制库包含近30个宏,如变换式、估计式、控制算法以及外设驱动器等。

controlSUITE软件所提供的这些模块使开发人员能够缩短实施基础元素所需的时间(图2),帮助他们集中精力进行差异化开发,提高产品竞争力。


图 2:controlSUITE可提供该方法每个步骤所需的模块化软件。

代码效率

努力降低污染或延长电池使用寿命可大幅提升效率。软件和硬件在提升系统效率的过程中都发挥着极其重要的作用。我们非常重视硬件效率,当然也希望软件同样能提升效率。

controlSUITE中的数学与DSP库包含针对不同类型处理器(定点、浮点以及Piccolo具有革命性突破的控制律加速器(CLA)等)优化的不同集。此外,应用库是从基础构建的,可最大限度地缩短执行时间。例如,controlSUITE软件包含可转换成宏格式的数字电机控制库,在该库中,库模块在编译时被宏调用替代。这种架构可消除有关传统库环境切换所占用的工作循环,不仅提升了效率,而且还可为系统支持函数或工业标准的实施预留更多的空间。

演示系统与开发系统

对应用系统关注的提升为设计人员带来了新的问题,演示系统和参照设计可证明概念,但要采用这些设计方案,并使其通过不同的设置工作,则极为困难,有时甚至是不可能的。例如,许多现有套件都可提供能够全面工作的高级电机控制闭环设计,但采用这些套件进行定制系统时都需要进行大量的修改,使用和调试不同拓扑上的不同电机。

C2000应用套件是从头重新设计的,是全面的开发套件。该硬件包含可重复使用或修改的模块。材料清单、原理图以及布局均针对用户免费提供,并可根据需要进行使用和改进。就软件而言,所有controlSUITE套件都采用渐进型构建系统,用户可通过该系统从简到难启动设计工作,随着开发工作的推进慢慢添加更多的组件。

让我们深入了解一下C2000双通道电机控制和PFC套件的软件。该套件不仅可演示无传感器的磁场定向电机控制,而且还可通过五个构建级演示该软件,指导用户完成系统设计。构建级1实施最小化系统检查,确认系统中断的工作并验证Inverse Park、Space Vector以及PWM驱动器模块所生成波形的正确。构建级2可在添加偏移补偿和Clarke/Park转换的同时,验证模数转换与相位电压的计算。在构建级3中,我们可添加真实PID模块,并可验证dq轴的电流调节。而后,构建级4包括转子位置估算与速度估算模块。最后,构建级5可通过使用所测量的速度作为反馈,来关闭速度环路,从而完成整个系统(图3)。


图 3:五级渐进型构建系统从简单PWM波形验证到闭环电机控制系统上无传感器磁场定向控制的发展过程。

这种设置配合全面的文档和理论,可创建便于快速学习应用、加快不同系统修改以及简化调试的套件。

简化工作

在零售软件与消费类电子领域,我们非常重视用户体验。不过,这个术语以前很少在MCU或DSP软件应用中提及。嵌入式编程人员习惯于MCU软件开发的高复杂性,但这可能会给编程新手带来巨大的障碍。怎么才能知道获得了全部元素?怎么才能保持最新?怎么使源代码进入库中?controlSUITE软件通过集中的软件管理消除了上述问题和担忧。所有C2000软件均可通过统一的网站和安装程序显示,并可免费下载。通过安装程序,客户可了解软件包之间的相关性,确保所有所需组件的下载和安装。最后,controlSUITE软件还能帮助用户通过下载更新保持最新,并可通过设置自动检查软件的新版本。

展望未来

controlSUITE经过精心设计,可提供能够加速实时控制应用设计的所有必要内容以及内容管理功能,帮助工程师根据不同的爱好和经验水平高度灵活地进行开发。多层HAL允许用户采用其最方便的方法对MCU进行编程。丰富的库集可缩短开发基础元素所需的时间。全面的应用开发套件则可加速学习与实施进程。综上所述,这些组件可为具有不同背景的所有编程人员创建一个更加顺畅的工作体验。

供稿:德州仪器