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

DSC(Digitalsignalcontroller,数字信号控制器)是一种面向高端嵌入式系统的最先进的单片控制处理器。基于浮点架构的DSC具有更快的处理速度,所需的程序储存容量更少,支持更高级的有助于节省功耗的计算算法,同时进一步扩展了系统的性能。浮点编程比定点编程的速度更快,SoC(system-on-a-chip,片上系统)的集成方式能够有效控制板级空间、元件数量和整体系统开销。

随着嵌入式系统承担的任务越来越复杂,不论是降低功耗还是实现诸如汽车导航之类的新功能,它们都需要具有更高性能的控制处理器。降低能耗的迫切需求影响到了我们使用的各种设备,包括一些用户不常见的设备。例如,根据著名的能源与自动化技术供应商ABB集团的分析,工业电机消耗的电能已经达到了整个行业所用电力的三分之二。虽然可以采用变速控制技术进一步提高电机的运行效率,但是目前只有二十分之一的电机真正采用了支持这一功能的数控电子技术。尽管如此,变速电机相比同类的定速电机每年节省的电能相当于10座电厂的产量,而这10座电厂会排放约6800万吨二氧化碳气体。显然,高级电机控制技术在降低能耗和保护环境方面具有
更大的优势。

引入高级控制技术降低能耗
可再生能源,例如太阳能电池和风力涡轮机,也是需要采用高级控制技术的“绿色”能源。与电机一样,这些能量收集装置也需要采用高级数控技术以提高效率。为了将电池板或涡轮机产生的原始电能实时转换成用于电池储存或设备运行所需的合适电能,我们必须采用一定的控制技术。由于太阳光和风力强度会不断变化,因此需要采用复杂的算法确保它们始终能够输出最大的能量;由于很多可再生能源系统都会同时接入电网,所以采用实时控制技术对于保护设备也是必需的。

图1F28335浮点DSC内含一个用于处理数据传输的6通道DMA控制器

例如,TI公司推出的F283x浮点DSC(如图1所示)具有性能高、软件开发方便等特性,适用于电机与运转控制、车载雷达系统和以太阳能电池阵列和风力涡轮为来源的可再生能源生成系统。这款32位的DSC系列处理器最高工作频率可达150MHz,峰值运算速度可达每秒3亿次浮点操作(MFLOPS)。

相比定点DSCTMS320F28x而言,采用浮点架构之后DSC性能提升了50%。这一系列DSC内含一个6通道DMA控制器,能够大大减轻处理器核的数据传输管理工作,其软件更新功能有助于用户更方便地开发同一来源的浮点和定点代码。

浮点运算
F283x系列DSC的主要性能优势归因于它的数值计算格式,这种格式大大简化了编程,减少了代码执行时间,缩短了代码长度。在其他一些DSC和DSP芯片中普遍的采用定点格式只能够表示整数(没有小数点的正数和负数),因此涉及小数计算时必须采用其他表示方法。相反,浮点格式能够表示更大范围内的实数(带小数点的数)。内部表示小数以及较宽的数值范围意味着处理器能够更高效地执行定标运算(例如控制算法中常见的乘法、除法和三角函数运算)。

图2F283x的32位字长的前8位用于表示指数

对于32位的定点架构,其表示整数的范围为-231~231,带一个符号位。尽管这个范围很大,但是当系统执行大量定标运算时,这一数值范围会很快用光,造成数值超过32位,从而发生寄存器溢出。程序通过对这种数值进行舍入或截取,能够处理这种称为饱和的问题,但是牺牲了计算的精度。另外,程序可以将较长的数划分成多个较短的能够逐段计算的数,每次处理32位。后面这种实现方法能够保持全精度,但是由于处理器忙于移动和存储数值段,计算性能降低了。同时,程序规模也会由于所需的额外指令而增大了。

在这种情况下,浮点架构就显示出了其性能价值。如图2所示,在F283x中,32位字长的前8位用于表示指数,其余23位用于表示尾数,1位用作符号位。尽管指数没有符号位,但是在操作上对保存的指数进行规格化偏移处理,使得指数最终能够覆盖负数和正数的范围。

这样,存储在32位浮点字中的数的规格化范围为±1.738~±3.438,大大超过32位定点数的范围。由于负指数表示分数,所以这一范围涵盖了极小的数到极大的数。这样大的范围很难再出现饱和的问题,因此,程序就避免了要么通过舍入或截取牺牲精度,要么通过使用附加周期和指令对大数值进行分段处理而牺牲性能和存储的两难问题。

处理器性能增强
表1中列出的运算说明了浮点架构为DSC性能带来的好处。第一列是控制系统常用的四种算术运算、三角函数运算和两种算法(快速傅里叶变换和无限冲击响应)。

表1定点及浮点架构性能基准测试比较

第二列是在定点DSC上执行相应运算所需的周期数,第三列是在浮点DSC上执行所需的周期数。最后一列是第二列与第三列结果的比值,表示二者的相对性能。浮点处理器执行所列数学运算的速度比定点处理器快2~3倍,执行FFT算法的加速性能也在该范围内,IIR的加速性能稍低,但仍比定点处理器快。

一般来说,控制算法比信号处理算法能够获得更高的性能提升,因为控制代码执行的基本数学运算较多,需要进行定点换算和饱和处理。即便如此,浮点架构得到的周期数也低得多,对所有信号处理测试程序平均获得了50%的性能提升。

在各种应用中,这些基准测试程序变换成很多具体的应用程序。精细、多维控制技术可应用于机器人的和CNC(计算机数控)类的设备。伺服电机驱动器的效率将会得到进一步提高,能够实现PLC(电力线控制)和其他一些高级算法。太阳能与风能逆变器和不间断电源能够获得更高的能量转换效率,进一步降低每千瓦电能的生产成本,并且能够控制不同配置的太阳能板阵或风力涡轮机。

软件开发的优势
浮点格式也有利于简化代码的编写和调试。浮点数字表示法对于数学运算相比定点表示法更加自然,因此对高级语言的支持更加直接。当代码经过编写和验证调试之后,可以直接导入浮点DSC进行进一步的测试和最终的生产。

相比之下,在针对定点控制器开发代码的时候,必须在PC上编写和调试程序进行验证,然后还要根据更严格的硬件定点表示方法重新编写代码。这大大增加了代码的开发周期,而且一旦对代码进行转换之后无法进行回退。

一般地,开发人员不得不同时编写定点的代码和浮点的代码,这就存在可能相互混淆的危险。F283x控制器只需要开发浮点代码,从而大大简化了代码开发过程,节省了开发时间,提高了软件可靠性。

在存在成本约束的情况下,可以先以浮点控制器为开发平台进行原型和早期版本的设计,然后改用定点控制器进行量产制造,采用这一开发策略具有明显的优势。采用C编译器和IQMath工具能够很方便地编译浮点和定点两种方式下同样的源码,从而支持这一策略。F283xDSC是一种经济的控制器解决方案,它是业界第一款采用SoC集成的浮点控制器。随着浮点架构与定点架构的成本交叉点上升到越来越高的水平,很多高级系统为了节省成本不必进行改动。性能更高、开发更容易的浮点架构成本已经能够为越来越多的应用所接受,促使人们在嵌入式系统控制领域不断进行创新研发。

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

在现代流程工业生产中,生产工艺相关的运行参数,如温度、液位、压力、流量等,都是采用仪表进行测量检测,并根据仪表的测量结果通过控制阀门、泵等执行机构使这些工艺运行参数处于要求的范围内以满足工艺生产的需要。目前,在先进的工厂...

关键字: 故障树 控制系统

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

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

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

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

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

关键字: 嵌入式开发 Python

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

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

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

关键字: 嵌入式开发 keil

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

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

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

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

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

关键字: 嵌入式开发 ARM

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

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