当前位置: 首页 > 传感测量产品 > 数据采集产品 > 工控机

类型分类:
科普知识
数据分类:
工控机

嵌入式系统设计的新发展及其挑战

发布日期:2022-04-26 点击率:37

                   摘要:综述嵌入式系统设计的最新发展情况;论述当前嵌入式系统设计技术发展的特点;从嵌入式系统设计开发的复杂度,开发形式、手段和工具,开发平台和开发语言等方面嵌入式系统设计发生的各种变化,并提出应对这些变化的各种挑战。
关键字:嵌入式系统;设计技术;SoC

1 嵌入式系统设计技术发展的特点

  随着微电子技术的飞速发展,CPU已经变成低成本器件。在可能的情况下,各种机电设备已经或者正在嵌入CPU构成的嵌入式系统。据Virginia Tech公司报告,嵌入式系统中所使用的CPU数量已经超过通用PC中CPU数量的30倍。
  现在系统研究的重点已从通用系统转向专用系统,以及从一般性能转向可靠性、可用性、安全性、自主性、可扩展性、功能性、灵活性、成本、体积、功耗及可管理性上。

1.1 32位嵌入式处理器比例快速升高

  InStat/MDR曾预测在2001~2006年期间,32位向控制器(MCU)的复合年增长率可达22.6%。而全球32位MCU市场在2003年的增长幅度实际已走过30%,在2004年预计将达到38%。增长的驱动因素主要有两个方面。
  一方面因为像数码相机、MP3播放机、PDA、游戏机和移动电话手机等手持设备以及各种信息家电等有更高性能要求的多媒体和通信设备的推出。在这些应用中,庞大的多媒体数据必然需要更大的存储空间,目前许多32位微控制器都可以使用SDRAM,因此可极大地降低使用更大容量数据存储器的成本;而8位微控制器一般只能使用成本较高的SRAM作为数据在座 器。此外除了处理应用控制功能之外,需支持互联网接入的应用在MCU运行TCP/IP或其它通信协议的情况下,要求系统建立在RTOS上就必然成为一种现实需求。另外,有越来越多的像电视机、汽车音响及电子玩具等传统应用也与时俱进地提出数字化和“硬件软化”的要求,它们对计算性能的要求及存储器容量的需求都超出绝大多数8位微控制器能提供的范围。
  另一方面由于IT技术发展的推动,32位ARM体系结构已经成为一种事实上的标准,随着高端32位CPU价格的不断下降和开发环境的成熟,促使32位嵌入式处理器日益挤压原先由8位微控制器主导的应用空间。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经开始成为高中端嵌入式应用和设计的主流。
  8位机除MCS-51外,其它的8位机和16位机都没有一种能为标准或准标准产品。32位嵌入式处理器一度被认为只适用于高端应用场合的看法正在改变。有更多、更复杂特点和功能需求的便携式电子设备正促使嵌入式系统工程师考虑用32位MCU取代8/16位MCU。另外,越来越多的设计师认识到,转用32位架构不令能提升性能,还能降低相同成本下的系统功耗和节约总成本以及缩短产品上市时间。这个转变为设计师提供了可随着产品的性能和需求不断扩展而升级的方案。

1.2 可供选择的可编程计算部件方案增多

  (1)GPP-EP-MCU-DSP-ASP/ASSP-ASIC/SoC
  嵌入式系统的核心是可编程计算部件,即处理器。这可以有很多种选择,而且近几年又增加了一些新的选择:除过去常用的通用处理器GPP(Gereral Purpose Processor)、嵌入式处理器EP(Embedded Processor)、微控制器MCU(Micro-Control Unit)、数字信号处理器DSP(Digital Signal Processor)外,目前发展很快、可以给我们提供新的选择的还有各种专用处理器ASP(Application Specific Processor)或专用标准产品ASSP(Application Specific Standard Product)。它们都是针对一些特定应用而设计的,如用于HDTV、ADSL、Cable Modem等的专用处理器。与MCU相比,ASP/ASSP集成的资源可能比一般MCU更多、更专业化,所以ASP的价格要高于MCU;但因为它的应用在相关领域中又是通用、标准和开放的,所以任一个公司都能应用它构成自己的系统或产品,而不存在侵犯知识产权的问题。另一种有知识产权保护的在应用上较封闭的专用集成电路ASIC(Application Specific IC)类的定制片上系统SoC(System on Chip)的投入成本就要比ASP高得多。但这可以根据设计人员的要求来构建定制SoC,这样就可为设计人员提供满足量体载衣式应用需求的灵活性。SoC技术使嵌入式系统应用发生了革命性的变化,这个变化就是嵌入式系统的设计技术,已从选择厂家提供的标准产品时代进入了用户具有个性的自行开发设计器件的时代。
  (2)PsoC/SoPC/CsoC
  采用定制SoC有两大缺点:一是高昂的一次性工程费用(NRE);二是从产品概念到生产阶段需要很长的前置开发时间。目前的一个发展趋势是以FPGA为代表的现场可编程技术在迅速崛起。这是由于市场对通用可配置处理器的呼声越来越高,传统的MCU在市场需求中显得越来越力不从心。可配置、可扩展处理器逐渐浮出水面。利用半定制器件可以构成基本FPGA的硬核处理器或基于FPGA的软核处理器。并由此可编程片上系统(PsoC或SOPC)应运而生。这是一种面向消费电子、工业、办公自动化、电信和汽车应用中的嵌入式控制功能而开发的高性能、现场可编程、混合信号阵列。它集MCU和FPGA/CPLD的优点于一身,实现可配置SoC,既适应了设计人员对系统部件集成的需要,又能实现可配置需求的灵活性。从而为许多现实应用提供一种平衡解决方案。
  不同的厂家依据自己本来的优势,从两个不同方向异途同归地实现这种“可配置”性。一种是FPGA厂商在现有的FPGA架构中加入微处理器核与其它IP功能模块,使其兼备功能性和灵活性。例如,Altera公司为嵌入式应用先后推出的Nios和Nios II软核嵌入式处理器,就是一种可特许的通用RISC CPU。它可与各种各样的外围接口、用户自定义指令和硬件加速单元相组合,构成一个定制的可编程片上系统(SoPC),并能够根据需要选择配置。Xilinx也同样推出一个类似的32位哈佛结构的MicroBlaze软核嵌入式处理器。而另一种是微处理器厂家从微处理器出发,再加入可编程逻辑模块。例如Triscend公司推出一种波称为是CsoC(Configurable SoC)的技术,是在一个以ARM架构微处理器核为核心的SoC中嵌放工可编程逻辑模块,构成可配置的SoC平台。

1.3 微控制器的发展特点

  尽管由于市场对多功能产品需求的增加和IT技术的推动,使32位MCU产品日益成为市场的热点;但目的8位MCU仍然是技术市场的主流,并且还有相当广阔的应用空间和旺盛的生命力,16位MCU也占有一定的市场份额。各种MCU根据自己在市场上的定位,也都有了很大发展,MCU总的发展具有以下一些特点。
  (1)微控制器SoC化
  微控制器(MCU)已可集成越来越多的内置部件。常用的部件有存储器类,包括程序存储器MROM/OTPROM/EPROM/EEPROM/Flash和数据存储器SRAM/SDRAM/SSRAM;有串行接口类,包括UART、SPI、I2C、CAN、IR、Ethernet、HDLC;有并行接口类,包括Centronics、PCI、IDE、GPIO等;有定时和时钟类,包括Timer/Counter、RTC、Watchdog、Clock out;有专用和外围接口类,包括Comparer(比较器)、ADC、DAC、LCD控制器、DMA、PWM、PLL、MAC、温度传感器等。甚至有的MCU,例如NS公司的MCU,已把语音、图像部件也集成到单片机中,目的就是在单个器件中集成所有所需要用到的部件,构成片上系统(SoC)。由于Cygnal公司推出的C8051F系列的MCU在一个芯片中集成了构成数据采集系统或控制系统所需要的几乎所有的数字和模拟外围接口和功能部件,所以这种混合信号芯片被其称作SoC。
   (2)多核结构处理器
  随着嵌入式应用的深入,特别是在数字通信和网络中的应用,对处理器提出了更高的要求。为适应这种情况,现在已出现多核结构的处理器。
  Motorola公司研发的MPC8260 PowerQUICC II就是是一种先进的为电信和网络市场而设计的集成通信微处理器。它融合了两个CPU——嵌入式PowerPC内核和通信处理模块(CPM)。由于CPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗反而要低于传统体系结构的处理器。
  Infineon公司推出的TC10GP和增强型TC1130都是三核(TriCore)结构的微处理器。它同时具备RISC、CISC和DSP功能,是一种建立在SoC概念上的结构。这种单处机由三个核组成:微控制器和DSP核、数据和程序存储器核、外围专用集成电路(ASIC)。这种单片机的最大特点是把DSP和微控制器愈合成一个单内核,大大提高了微控制器的功能。具有类似结构的还有Hitachi公司的SH7410、SH7612等。它们用于既需要MCU又需要DSP功能的场合,比使用单独MCU和DSP的组合提供了更优势的性能。
  (3)更低功耗
  现在新推出的MCU的功耗越来越小,很多MCU都有多种工作方式,包括等待、暂停、休眠、空闲、节电等工作方式。例如Philips的P87LPC762,空闲状态下的电流为1.5mA,而在节电方式下电流只有0.5mA。很多MCU还允许在低振荡频率下以极低的功耗工作。例如,P87LPC764在32.768kHz低频下,正常工作电流仅为Idd=16μA(VDD=3.6V),空闲模式下Idd=7μA(VDD=3.6V)。
  (4)更宽工作电压范围
  扩大电源电压范围以及在较低电压下仍然能工作是现在新推出的MCU的一个特点。目前一般MCU都可以在3.3~5.5V的范围内工作,有些产品则可以在2.2~6V的范围内工作。例如,Fujitsu的MB8919X、MB8912X和MB89130系列以及F2MC-8L系列MCU,绝大多数工作电压范围都为2.2~6V;而TI的MSP430x11X系列的工作电压可以低达2.2V。Motorola针对长时间处在待机模式的装置所设计的超省电HCS08系列MCU,已经把可工作的最低电压降到了1.8V。
  (5)更先进的工艺和更小的封装
  现在MCU的封装水平已大大提高,有越来越多的MCU采用了各种帖片封装形式,以满足便携式手持设备的需要。Microchip公司推出了目前世界上体积最小的6引脚PIC10F2XX系列MCU。为了适应各种应用的需要,减少驱动电路,很多MCU的输出能力都有了很大提高,Motorola MCU的I/O口灌电流可达8mA以上,而Microchip的MCU可达20~25mA,其它如AMD、Fujitsu、NEC、Infineon、Hitachi、Toshiba等都在8~20mA之间。
  (6)低噪声布线技术
  在过去一般MCU中,电源与地引脚是安排在芯片封装的对角上,即左上、右下或右上、左下位置上。这种安排会使电源噪声对MCU的内部电路造成相对最大干扰。现在很多MCU都把电源和地引脚安排在两个相邻的引脚上。这样既降低了干扰,还便于在印制电路板上对去耦电容器进行布线,降低系统的噪声。

2 嵌入式系统设计的新挑战

  要求更高的应用需求推动嵌入式设计正在8/16位转向功能更强大的32位MCU。这种升级给工程师带来性能空间和处理裕度提升的同时也带来了严峻的挑战,提出了一系列前所未有的全新问题。首先,要对开发工具和软件进行新的投资,并对设计流程进行重新定义;另外,要对原软件能多大程度地用于新架构、要把已有软件移植到32位的新架构上还必须做多少工作,以及器件和开发工具的成本、存储器的种类、规模、性能和容量、可选器件的种类等进行评估。是否向32位升级主要取决于经过综合考虑后的总的系统成本等。

2.1 发生了哪些变化

  原来国内熟悉8位MCU开发的工程师大部分出身于电子工程和其他机电专业,而非计算机专业。随着嵌入式系统设计技术的发展,已经在很多方面发生了很大的变化。在这此与传统的8位MCU的开发有着许多明显的不同:首先是开九牛二虎之力复杂度大为提高,其次开发形式、手段和工具也有了很大不同;另外系统越来越多地是建立在RTOS平台上,使用的开发程序设计语言不再是开始效率很低的汇编语言,而越来越多地使用开发效率很高的高级语言。C语言已成为主流通用开发语言。
  (1)开发的复杂度
  各种多媒体和通信手持设备、信息家电和复杂系统都需要更强大的MCU来完成复杂大数据量实时处理。例如,目前移动电话手机需要多屏显示、网页浏览、文本信息发送、带查找功能的大容量地址簿和语音拨号等功能;最新数码相机及摄像机的高效率数据压缩、自动识别和各种智能处理等,需要增加DSP功能;电话交换机需要分布式处理而采用多处理器结构。
  (2)开发形式、手段和工具
  随着开发对象复杂度的提高,硬件和软件设计比例发生了很大变化。软件开发的比重越来越大,复杂系统的设计已不可能由一个设计师包括硬件和软件,而必须由一个团队来分工合作完成。由此也推出了开发形式、手段和工具的发展,特别是硬件/软件协同设计和验证技术、设计管理技术(如软件版本管理软件)和各种嵌入式系统设计工具软件的发展。
  过去,几乎所有4/8/16位MCU的开发都必须要有用于实时调试的专用在线仿真器(IC E),其开发过程总是先设计、制作和调试好硬件,同时进行软件编程,在调试好硬件电路板之前,对软件最多仅能进行关于纯逻辑和计算的调试;只有在已调试好的硬件基础上,才能进行系统应用软件的调试,所有可以提供的程序库或应用软件包都是专用的。
  对于32位嵌入式处理器来说,随着时钟频率越来越高(50~400MHz以上),加上复杂的封装形式(如BGA),ICE已越来越难胜任开发工具的工作。目前替代的基本方法是借助于JTAG接口构成JTAG调试器,直接从CPU获取调试信息而使得产品的设计简化,从而使得开发工具的价格反而要低于ICE。
  软件和硬件工程师并行工作是一种发展潮流。通过协同设计,特别是协同验证技术,软件工程师能尽早在真实硬件上测试,而硬件工程师能尽早在原形设计周期中验证他们的设计。
  因为嵌入式系统的复杂性和多样性,不可能有一个包打天下的统一的完整解决方案,所以不同的EDA供应商推出了各种商用嵌入式系统设计环境。如有Synopsys公司的Co-Centric System Studio、Cadence公司的“虚拟元件协同设计”(VCC)、CoWare公司的“CoWare N2C”等,还有世界各地的大学也为嵌入式系统设计开发出各种用于特定应用的免费工具。
  (3)开发平台
  能让产品可靠和迅速上市是嵌入式系统普通要求。为了提高时效,过去“一切自行设计”的模式已逐渐被“尽量采用具有IP的产品”所代替。这又推动了标准实时操作系统(RTOS)和相应的调试技术的发展。
  由于32位架构的MPU/MCU的资源丰富,指令集相对庞大,而且系统软件也更加复杂,特别当系统有多任务实时保证的要求时,通常要选用一种RTOS作为开发平台来对应用软件中的多任务进行调度。当系统需要连接Intenet网/实现图形用户界面(GUI)或文件系统(FS)时,若采用支持TCP/IP协议栈/GUI/FS的嵌入式操作系统,可极大地降低复杂多任务系统开发的难度。
  RTOS的引入解决了嵌入式软件开发标准化的难题,促进嵌入式开发软件的模块化和可移植化,为软件工程化打下基础。随着嵌入式系统中软件比重不断上升、应用程序越来越大,这对开发人员的知识结构、应用程序接口和程序档案的组织管理等都提出了新的要求。引入RTOS相当于引入了一种新的管理模式,对于开发单片机和开发人员都是一个飞跃。
  (4)开发语言
  在从8/16位MCU向32位转换时,所用软件开发语言也发生了变化。过去大部分8/16位MCU都没有太多的性能冗余,软件编写必须完全适合其有限的处理功能,因此软件开发大部分用汇编语言编写。
  在8/16位MCU上采用C、PL/M等高级语言编程,再用相关编译器转换成相应机器语言执行,早在十几年前就已尝试并推广;但由于当时编译器的编译效率还不够高,高级语言程序的额外开销相对比较大、运行效率下降,再加上8/16位MCU本身处理裕度有限,失言进度缓慢。最近几年,就8/16位MCU而言,随着C编译器效率和MCU性能的大幅度提高,用高级语言代替汇编语言也渐成趋势,典型的MCU都推出了自己的C编译器。其中Keil C51的编译效率已达到很高水平,经过优化的用Keil C51编写的程序编译后的运行效率甚至要高于普通开发者直接用汇编语言编写的程序。
2.2 设计者面对的新挑战

  (1)转变观念,需要熟悉新的开发模式
  嵌入式系统应用不再是过去单一的单片机应用模式,而是越来截止多样化,这可为用户提供更多的不同层次的选择方案。嵌入式系统实现的最高形式是片上系统SoC,而SoC的核心技术是重用和组合IP核构件。从单片机应用设计到片上系统设计及其中间的一系列的变化,从底层大包大揽的设计到利用FPGA和IP模块进行功能组合PsoC/SOPC设计,这是一个观念的转变。学习和熟悉新的开发模式将会事半功倍地构建功能强大和性能卓越的嵌入式系统,但同时也给系统的设计验证工作提出了许多新的挑战。
  (2)进入的技术门槛提高,需要学习全新的RTOS技术
  现代高端嵌入式系统都是建立在RTOS基础上的。这对于未受过计算机专业训练的各专业领域的工程技术人员来说,需要学习全新的RTOS技术,深入了解RTOS的工作机制和系统的资源配置,掌握底层软件、系统软件和应用软件的设计和调试方式。进入的技术门槛要比所熟悉的开发方法高得多。这对于开发者来说,也是一个新的挑战。
  (3)选择适合的开发工具,熟悉新的开发环境
  目前从8位升级到32位的一个最大障碍就是开发工具的投入。32位开发工具要比8位开发工具复杂得多,使用的技术门槛要高得多,同时其投资也要高得多。进入32位系统开发的工程师不得不面对与8位系统很不相同的开发环境。如何正确选择处理器架构、评估嵌入式操作系统,以及使用陌生的开发工具,都是一个新的挑战。
  (4)熟悉硬件/软件协同设计和验证技术、设计管理技术
  软/硬件并行设计是嵌入式系统设计的一项关键任务。在设计过程中的主要问题,是软硬件设计的同步与集成。这要求控制一致性与正确性,但随着技术细节不断增加,需要消耗大量时间。目前,业界已经开发Polis、Cosyma及Chinook等多种方法和工具来支持集成式软硬件协同设计。目标是提供一种统一的软硬件开发方法,它支持设计空间探索,并使系统功能可以跨越硬件和软件平台复用。
  团队开发的最大问题就是设计管理问题。现在有越来越多的公司开始重视技术管理,利用各种技术管理软件(例如软件版本管理软件)对全过程进行监督管理。这对每一个参与开发的人来说,似乎增加了不少麻烦,但是对整个公司的产品上市、升级、维护以及战略利益都具有长远的效益。
  (5)SoC设计所面临的巨大的挑战
  SoC已经开始成为新一代应用电子技术的核心,这已成为电子技术的革命标志。过去应用工程师面对的是各种ASIC电路,而现在越来越多所面对的是巨大的IP模块库,所有设计工作都是以IP模块为基础。SoC设计技术使嵌入式系统设计工程师变成了一个面向应用的电子器件设计工程师。随着SoC应用的日益普及,在测试程序生成、工程开发、硅片查错、量产等领域对SoC测试技术提出了越来越高的要求。掌握新的测试理念及新的测试流程、方法和技术,是对单片机应用工程师提出的新挑战。                

下一篇: PLC、DCS、FCS三大控

上一篇: 索尔维全系列Solef?PV