摘 要:嵌入式系统开发已经进入32位时代,与传统的8/16位系统相比,无论处理器的结构还是开发手段上都发生了较大变化,并出现了一大批新技术。本文以ARM技术为主,探讨了国内外32位嵌入式开发的现状和趋势,涉及到了诸如SOC、SOPC、软硬件协同设计等多个领域,以期引入更为广泛和深刻的讨论。
2003年我国嵌入式系统应用产品经济总量达1000亿元,其中嵌入式处理器芯片约为100亿元。2003年我国嵌入式微处理器销售总量约为10.2亿片,4位MCU占2.6亿片、8位约占6.6亿片,32位MPU占0.75亿片。另外,据有关机构预测分析,今年中国大陆市场8位MCU的需求量会增长15%~20%左右;32位MPU的需求量继续以100%的速度增长。
由此可以看出,8位MCU市场已逐步趋向稳定,32位MPU代表着嵌入式技术的发展方向,正在加速发展。在32位嵌入式微处理器市场上,基于ARM内核的微处理器在市场上处于绝对的领导地位(图1),因此追踪ARM技术的发展趋势显得尤为重要。

图1 32位嵌入式处理器市场分布

图2 复杂片上系统调试/跟踪原理
ARM技术的发展趋势
高度集成化的SOC趋势
ARM公司是一家IP供应商,其核心业务是IP核以及相关工具的开发和设计。半导体厂商通过购买ARM公司的IP授权来生产自己的微处理器芯片。由此以来,处理器内核来自ARM公司,各芯片厂商结合自身已有的技术优势以及芯片的市场定位等因素使芯片设计最优化,从而产生了一大批高度集成、各具特色的SOC芯片。例如Intel公司的XScale系列集成了LCD控制器、音频编/解码器,定位于智能PDA市场;Atmel公司的AT91系列片内集成了大容量Flash和RAM、高精度A/D转换器以及大量可编程I/O端口,特别适合于工业控制领域;Philips公司的LPC2000系列片内集成了128位宽的零等待Flash存储器以及I2C、SPI、PWM、UART等传统接口,极高的性价比使它对传统的8/16位MCU提出了严峻挑战。
然而如此众多的高集成度SOC芯片由于其内核统一于ARM核心,使得软、硬件平台的移植变得相当容易;只要掌握了ARM开发技术的核心,就可以达到“一通百通”的目的,为用户大大降低了培训、学习的成本,缩短了产品上市的时间。
高集成度SOC芯片的采用可以带来一系列好处,诸如减少了外围器件和PCB面积,提高系统抗干扰能力,缩小产品体积,降低功耗等。
ARM公司的IP核也由ARM7、ARM9发展到今天的ARM11版本。ARM11囊括了Thumb-2、CoreSight、TrustZone等众多业界领先技术,同时由单一的处理器内核向多核发展,为高端的嵌入式应用提供了强大的处理平台。
软核与硬核同步发展的SOPC技术
随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的动态可重构性,被广泛地应用于各个领域。但是在复杂算法的实现上,FPGA却远没有32位RISC处理器灵活方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要RISC和FPGA结合使用,SOPC技术就是在这样的环境下诞生的。同时ASIC相对于SOPC由于缺少弹性,且逐渐丧失价格优势而放慢了发展的步伐。
SOPC技术中以Nios和MicroBlaze为代表的RISC处理器IP核、各种标准外设IP核以及用户以HDL语言开发的逻辑部件可以最终综合到一片FPGA芯片中,实现真正的可编程片上系统,此时的嵌入式处理器称之为“软处理器”或“软核”。Altera公司最新推出的NiosII可以嵌入到Altera公司的StratixII、Stratix、Cyclone和HardCopy等系列可编程器件中,用户可以获得超过200DMIPS的性能,而只需花费不到35美分的逻辑的资源。用户可以从三种处理器以及超过60个的IP核中选择所需要的,设计师可以以此来创建一个最适合他们需求的嵌入式系统。软核技术提供了极高的灵活性和性价比。
SOPC技术的另一个重要分支是嵌入硬核。集高密度逻辑(FPGA)、存储器(SRAM)及嵌入式处理器(ARM/PPC)于单片可编程逻辑器件上,实现了高速度与编程能力的完美结合。Altera公司的EPXA10芯片内部集成了工作频率可达200MHZ的ARM922T处理器、100万门可编程逻辑、3MB的内部RAM以及512个可编程I/O管脚,可以通过嵌入各种IP核实现多种标准工业接口,如PCI、USB等。软硬核同步发展,为用户提供了更多、更灵活的选择。
与DSP技术融合
传统的嵌入式微处理器可以分为微控制器MCU、微处理器MPU和数字信号处理器DSP,然而随着技术的发展,它们之间的区别也变的越来越模糊,并有逐步融合的趋势。现在不少的MCU和MPU具备了DSP的特征,例如采用哈佛结构,增加了乘加运算指令等;同时不少DSP芯片内部也集成了A/D、D/A、定时/计数器和UART等。
这种技术融合趋势也有两条不同的技术路线:1.在中低端应用中,在传统MPU内部集成DSP宏单元以及在指令集中加入DSP功能指令。ARM9E系列处理器采用哈佛结构的同时增加了16位数据乘法和乘加操作指令、双字数据操作指令、cache预取指令等,可以满足数字消费品、存贮设备、马达控制和低端网络设备对于控制和高密度运算能力的双重需求。2.高端复杂应用中,向多内核、并行处理的方向发展。TI公司的开放媒体应用处理器OMAP集成了TI的TMS320C5XXDSP内核和一个增强了的ARM926-EJS内核以及内部处理器通信机制和音频、视频、网络通信等部件,使之成为一个强大的多媒体移动计算平台。
开发和调试手段不断完善
随着嵌入式应用系统的日益复杂化以及开发周期越来越短,开发和调试手段也发生了很大改变。硬件方面由于QFP和BGA封装的逐渐普及,使得以探针方式为主的BDM(背景调试模式)力不从心;以边界扫描接口(JTAG)为基础的在电路仿真调试手段(ICE)正在普及,更为先进的片上实时跟踪(Trace)技术也已浮出水面。软件方面,因为软件规模不断扩大,必须采用嵌入式操作系统来管理软、硬件资源,同时传统的C语言和汇编语言混合编程的模式也因为引入面向对象思想以及C++和Java语言而发生了很大改变。面向对象语言更适合大规模应用和平台级开发,代码复用和移植变得更简单。

图3 传统的系统设计方法

图4 软件/硬件协同设计方法
ARM公司最新推出的RealView是一整套完整的解决方案,由集成开发环境和在线仿真器Multi-ICE,实时跟踪器Multi-Trace等组成。RealView支持多内核系统调试,多种操作系统的任务级或线程级调试,大大降低了高端ARM处理器的开发门槛,缩短了应用系统开发周期。图2说明了复杂片上系统调试/跟踪原理。
软件工程思想融入嵌入式软件
嵌入式软件规模不断扩大,以往的面向过程的模块化分析方法已经很难满足要求。基于对象的统一建模语言(UML)可以描述对于实时系统极为关键的结构和行为方面,并且已成为有效设计的优秀媒介。Hassan Gonaa提出的并发对象建模和体系结构设计方法(COMET)以及Bruce Powel Douglass等人提出的嵌入式系统的快速面向对象过程(ROPES)都是在吸收了统一建模语言精髓的基础上,并融合了嵌入式实时系统固有特点发展而来的基于UML的嵌入式系统建模和分析方法。
嵌入式系统可以归入电子技术和计算机技术交叉学科的范畴,因此存在着硬件、软件在设计时的协调和配合问题。传统的系统级设计方法如图3所示,虽然在系统设计的初始阶段考虑了软硬件接口问题,但由于软硬件分别开发,各自部分的修改和缺陷很容易导致系统集成时出错误。由于设计方法的限制,这些错误不但很难定位,而且对它们的修改往往会涉及整个软件结构和硬件配置的改动,会带来灾难性后果。
为了避免上述问题,软硬件协同设计的方法应运而生,其典型设计过程如图4所示。首先,采用有限状态机(FSM)、统一化规格语言(CSP)和硬件描述语言(HDL)等方法对系统进行抽象描述,对软/硬件统一表示,便于功能划分和综合;然后,在此基础上对软/硬件进行划分。这种方法的特点是在协同设计、协同测试和协同验证上,充分考虑软/硬件的关系,并在设计的每个层次上给予测试验证,使得尽早发现和解决问题。国外一些大的半导体厂商已经将这种分析/设计方法逐步运用到实际的芯片开发设计当中。
国内的现状和动向
国内的32位嵌入式开发近两年来异常火爆,基于32位SOC芯片的应用系统能够大大提高产品的性能和附加值,增强产品的市场竞争力,因此越来越多的工程师开始将目光从8位/16位转移到32位微处理器上。广大的应用开发工程师是国内32位嵌入式开发向纵深发展的基础。华为、大唐、东南大学、清华大学等一批企业和研究机构购买了ARM公司的IP授权用于自有知识产权SOC芯片的设计,这必将逐步缩小我们同国外先进水平的差距。
由于市场和政策导向,国内的32位嵌入式处理器也呈现出群体突破的态势,方舟一号、方舟二号、龙芯等一大批32位嵌入式处理器陆续问世,但是开发工具、生产能力等问题还未解决,阻碍了它们的推广应用。另一方面,在SOPC、软硬件协同设计等较为前沿的领域我们还处于研究和探索阶段,与国外先进水平尚有较大差距。但我们有理由相信,采用国产芯片和操作系统的嵌入式开发已不再遥远。
- 32位嵌(5604)
相关推荐
嵌入式是什么? 嵌入式开发是什么意思?
嵌入式开发
嵌入式开发与非嵌入式开发的区别
嵌入式开发中的一些硬件相关的概念有哪些
嵌入式开发为什么选择C语言?
嵌入式开发以后的发展方向?学习嵌入式我们可以做什么?
嵌入式开发入门之旅
嵌入式开发入门之旅
嵌入式开发具备哪些优势呢
嵌入式开发分为哪4类工程师 嵌入式开发具备哪些技能
嵌入式开发学习方法步骤
嵌入式开发就业方向的问题
嵌入式开发工具使用
嵌入式开发工具有哪些
嵌入式开发常用的系统
嵌入式开发教程之程序设计与开发维护
嵌入式开发教程哪家好呢?
嵌入式开发是什么呢
嵌入式开发是什么意思
嵌入式开发有哪些技巧?
嵌入式开发板有什么功能?
嵌入式开发流程
嵌入式开发流程是怎样的?
嵌入式开发的C编程技巧是什么
嵌入式开发的优缺点是什么?
嵌入式开发的优缺点?
嵌入式开发的基础知识和入门必要步骤
嵌入式开发的技巧有哪几种
嵌入式开发要学什么
嵌入式开发要学什么?
嵌入式开发要学什么内容 嵌入式开发学习路线介绍
嵌入式开发要学什么内容 嵌入式开发学习路线介绍
嵌入式开发要学什么内容 嵌入式开发学习路线介绍
嵌入式开发调试经验分享
Java开发和嵌入式开发
Linux下嵌入式开发环境有哪些?
RISC-V嵌入式开发的特点有哪些
VScode嵌入式开发如何入门
一文详解Express Pi嵌入式开发板
什么是嵌入式技术?嵌入式开发方向是什么?
什么是嵌入式?单片机开发与嵌入式开发的区别在哪
什么是嵌入式开发?
什么是嵌入式开发呢
什么是嵌入式开发?嵌入式Linux该如何去使用
什么是裸机开发与linux嵌入式开发
什么样的人适合转行嵌入式开发?
共享嵌入式开发资料
分享买来的各种嵌入式开发课件(1)
分享买来的各种嵌入式开发课件(2)
分享买来的各种嵌入式开发课件(3)
如何学习HarmonyOS嵌入式开发?
没有基础能学会嵌入式开发吗?
浅析基于linux的嵌入式开发
究竟什么是嵌入式开发
该如何有效快速的学好嵌入式开发呢
基于ARM的嵌入式开发
81嵌入式开发

嵌入式开发培训怎么样?嵌入式开发培训多少钱
12
电子发烧友App




评论