正文内容
嵌入式FPGA
来源:火烈鸟
作者:开心麻花
2025-09-19
1

嵌入式FPGA(精选7篇)

嵌入式FPGA 第1篇

FPGA高高在上的价格和功耗由于厂商们竞相采用新的制造工艺近来下降很快,在很多应用中已不再是障碍。而且电子产品的生命周期日益缩短,企业不断追求产品差异化和上市时间。因此,市场需要一种能够降低研发成本、缩短开发周期并具有设计灵活性的产品。这为FPGA提供了很好的发展机遇。

据分析家预测,2010年FPGA行业的市场增长率将在45%以上,达到48亿美元。Raymond James Financial公司提供的数据表明,可编程逻辑市场将攫取原先属于ASIC阵营的150亿美元到200亿美元的市场份额。

据了解,Intel在即将推出的基于Atom的可配处理器中,配置了Intel Atom E600系列以及配对的Altera FPGA,进一步提高了设计的灵活性,可迅速应对需求的变化。IBM也已经将FPGA做成XML线程放入服务器中,可以快速执行特定的任务。ASIC厂商们也逐步在产品中加入可编程特性。

FPGA在通信行业成功立足后,不再满足几十亿美元的市场份额,而是把目光投向了全球前几名半导体公司所在的PC、手机、汽车、电视、工业等领域,在更高密度下集成更多的功能成为FPGA的当务之急。

FPGA厂商的嵌入式战略

Altera在10月13日发布培育“黑天鹅”计划,宣布联合ARM、Intel和MIPS技术公司以及FPGA业界的多个合作伙伴,拓展目前的嵌入式合作伙伴计划。Altera将在28nm FPGA技术中提供集成了增强Cortex A9处理器子系统的产品;将在2011年上半年推出基于MIPS技术公司MIPS32处理器体系结构的MP32软核处理器。此外还有几年前与ARM合作的Cortex-M1软核以及与Freescale合作的ColdFire软核。Altera提供集成Cortex-A9硬核、Cortex-M1软核、MIPS软核、ColdFire软核,再加上自有Nios软核的产品。客户可以根据性能、操作系统来选择合适的嵌入式CPU。

Altera公司产品和企业市场副总裁Vince Hu评论说:“FPGA与处理器的组合应用迅速扩展到嵌入式系统设计中开发新的定制产品。通过嵌入式计划,Altera使汽车、工业、军事和无线等市场的设计人员能够在单一设计流程中,方便地利用处理器、操作系统以及IP支持等辅助系统,降低了系统总成本,更迅速地将产品推向市场,提高了系统的灵活性。”

无独有偶,Xilinx今年4月宣布与ARM结成战略联盟发布蓝海战略,瞄准嵌入式高端应用。据赛灵思公司亚太区市场及应用总监张宇清先生介绍,Xilinx在其28nm产品中会推出两种产品,一种是纯FPGA产品,另外一种就是嵌入ARM Cortex-A9硬核的28nm FPGA,打造了一个“以处理器为主、以FPGA为辅”的系统,定位到汽车驾驶辅助系统、智能视频监控、工业控制、遥测与导航、企业毫微微蜂窝基站、广播级摄像机、多能耐打印机、航空航天电子设备等应用。

另外,Actel在今年2月也发布了基于ARM Cortex-M3的FPGA。

开发流程的演进

虽然FPGA行业的整体发展速度高于ASIC/ASSP,但对于FPGA的从业者来说,如何更深入地了解设计人员的需求并降低设计门槛,通过产品创新为FPGA寻找新的市场空间是厂商们一直都面临的挑战。

此外,从原理图设计、逻辑验证和仿真、电路板设计、嵌入式软件的开发和调试,到最后的综合调试,要用到多个厂商的工具,软件环境和功能日益复杂,且各种软件之间还需要互相调用文件。FPGA厂商正试图通过改变自身的产品特性和设计流程来吸引更多的系统设计工程师。

Altera为设计人员提供了基于QuartusⅡ开发软件的单一FPGA设计流程包括新的Qsys系统级集成工具、公用FPGA知识产权(IP)库,以及新的ARM Cortex-A9 MPCore和MIPS技术公司MIPS32嵌入式处理器产品等。利用这一设计流程,嵌入式设计人员能够迅速方便的面向Altera NiosⅡ、基于ARM和MIPS的嵌入式处理器以及最近发布的可配置Intel Atom处理器开始设计。

赛灵思可扩展式处理平台为嵌入式系统设计人员提供以处理器为核心的设计和开发方法,以实现强大的计算与处理能力。软件开发人员可以充分利用基于ARM技术的现有系统代码,并使用大量现成的开放源代码以及已经商用的软件组件库,快速进行软件开发。

嵌入式系统与FPGA的最新动向 第2篇

据Semico Reserch资深分析师Tony Massimini介绍[1], 2010年, 微逻辑组件 (微处理器、微控制器和DSP) 的销售额劲升了24.9%。但这是因为相比于2009年的灾难性的衰退所致。在相对稳定的销售环境下, 预计2011年有望再成长12%。

出货量方面, 微逻辑组件2010年将增长36.3%, 而2009年下降了10.4%。微逻辑营业额由微处理器和计算市场主导, 数量上来看, 主要来自MCU。2010年, MCU营业额增长了32%左右, 数量增长40%左右。增长涵盖所有微控制器部分8、16和32位。这比一年前所预测的增长更快, 这是由于一些领域的复苏和增长, 例如汽车方面有新增长, 工业控制也在持续增长, 虽然2009年工业控制也下降了, 但是不像其他市场那么糟糕。

工业MCU厂商重视连接性和外围的开发。连接性包括USB、RFID、低功耗RF、ZigBee, 用于控制和自动化。绿色和节能是最大增长的市场, 智能电表和智能电网正受到更多的重视。更多家电的高效电机控制、工厂控制等, 需要特殊的低功耗制程。

16位供应商提供比8位更高的处理速度。很多16位MCU供应商也销售8~32位MCU。2010年8位MCU价格85美分左右;32位MCU的平均价格是3~23美元, 此价格之所以差别很大, 是由于封装、性能及内存的配置不同。MCU厂商正提供更高的存储器密度、更好的外围以减少外部材料、传感器等。

来源:iSuppli, 2010年8月

来源:iSuppli中国2010年第3季度报告, iSuppli 2010年上半年中国本地设计章节

据iSuppli统计, 由原瑞萨科技/NEC电子合并后的瑞萨电子是最大的嵌入式系统公司 (图1) 。TI是第二大嵌入式系统公司, TI主要得益于DSP、MCU和MPU三大业务。

在中国市场, MCU保持高于全球平均速度增长。尤其本地参与设计正引导着世界范围内新一轮的复苏和增长 (图2) , 同时中国本地设计增长的速度比整个MCU系统快。但图2中“中国本地参与设计比例”变化曲线在2010年到2012年间为何会呈下降趋势?瑞萨电子大中国区MCU产品中心总监邱荣丰分析认为, 在整个世界经济中, 中国已经占有很大的比重, 开始时中国基本上是全球最大的工厂, 出口基本上是最大的因素, 使中国市场做得很好。但是从2008年到2009年开始, 中国基本上是转向国内的需求, 高速的发展都是在国内, 所以可以看到增长率最大的2010年, 中国有一系列活动, 如家电下乡、智能电网/电表兴起等;但是正常来看, 除了中国市场内部消化的要求, 也希望国外出口量会慢慢增长;不过按照这个想法, 这两年不太可能一下打入美欧日等市场。

在嵌入式软件行业, 由于嵌入式产品在最近几年正在不断渗透到各个行业, 小到手机、iPad, 大到基站、航天卫星等。而嵌入式软件在其中扮演着越来越重要的角色, 已经成为各个厂商区别于其它厂商最重要的砝码。据不完全估计, 2011年中国嵌入式软件市场规模将达到4600亿左右。而多核化和平台化将成为新的嵌入式软件发展的新趋势。

软件和系统架构成芯片厂商的投资重点

软件成为MCU厂商的关注点

近几年, M C U厂商提供更多、更丰富的工具和软件开发环境, 来易于使用、节约时间。未来, 系统设计者将有更多的应用选择:功能、价格、低功耗和更多的开发工具。

尽管M C U集成了更丰富的外围, 制程技术在不断演进。但相比之下, 硬件的成本不太容易上升。NXP副总裁兼全球微控制器产品线总经理Geo Lees称, 该公司不打算在硬件方面再过多地产生成本, 其开发重心将更多地转到软件方面。

飞思卡尔 (Freescale) 工业和多元市场微控制器部亚太区市场经理曾劲涛也认为软件在整个开发成本中正在占据更大的比例。曾劲涛以该公司战略为例, 称飞思卡尔是最早为客户提供一套完整的软件支持工具的先行者。其软件产品包括免费的8位的Codewarrier工具和为32位MCU服务的实时操作系统MQX, 同时还提供了许多其他软件, 使客户能够轻松地使用飞思卡尔MCU开始进行设计。

A D I D S P亚洲区业务经理陆磊称, 该公司的软件战略是为客户提供免费的经过优化测试的高性能软件库, 可以简化客户的开发和缩短客户产品开发时间。同时, ADI公司为客户提供开源的Linux系统和驱动。

Silicon Labs公司MCU市场总监Mike Salas分析了为何软件成为MCU厂商关注的方向。他指出, 随着微控制器 (MCU) 在其数字内核基础上的不断发展, 通过集成更多复杂的外围设备 (例如加密/解密模块、音频/视频编码和解码器, 以及需要完整协议栈的无线通讯接口) MCU功能正在逐渐扩展。所有这些片上系统功能的交互平衡也需要同样复杂的固件。开发和测试固件的时间和成本正在成为影响新产品上市的限制因素。为了帮助缩短上市时间, Silicon Labs为其混合信号MCU提供了多种固件。这包括从简单外设 (例如ADC) 到完整应用级参考设计 (例如Wireless M-Bus套件) 所需要的一切。因为Silicon Labs MCU产品的许多目标应用需要与计算机或应用处理器进行通信, 因此该公司根据需要提供了通信函数库和驱动程序。所有这些代码使得嵌入式设计人员能够专注于产品开发, 而不是复杂的MCU或软件协议。

为了加大软件实力, MCU设计团队中需要一批应用软件人才。上海普芯达电子有限公司总经理赵依军称, 普芯达不仅有一支长期致力于应用开发的工程师队伍, 还拥有经验丰富的芯片设计团队, 这样的组合使普芯达能在芯片设计的一开始就充分考虑应用软件设计的需求, 能在芯片设计的整个过程中将硬件功能、性能与软件设计需求紧密地结合。在应用开发过程中, 工程师们也能和设计团队密切配合, 保证软件有效可靠。

相关链接

TI的TMS320C66x

2010年11月9日, TI发布TMS320C66x与4款可扩展型C667x器件。全部基于TI Key Stone多内核架构基础之上, 具有较高定点与浮点性能。另外, TI还隆重推出业界功能最强大的基站So CTMS320TCI6616, 满足4G需求。

2011年1月, TI详细介绍了C667x DSP的应用, 诸如关键任务 (诸如民用雷达、民用通信和航天等) 、测试与自动化、医疗影像、智能电网、新兴宽带和高性能计算等。

TI称TMS320C667x在性能、精度、低功耗、实时处理方面具有优势。在独立第三方分析公司伯克莱设计技术公司 (Berkley Design Technology, Inc) (BDTI) 进行的基准测试中, 其定点与浮点性能均获得最高评分。

系统架构师如何定位精准

为了做好应用, 有些芯片厂商的总设计师甚至不是芯片设计出身, 而是系统应用出身。TI多核DSP业务部全球业务经理Ramesh Kumar在介绍该公司的新一代高性能DSPTMS320C66x时, 透露了该公司如何做到对产品进行高精度定位的方法。例如高精度的关键任务应用无线基站、医疗等。在TI DSP的研发过程中, 在软件上投入一定比重。这种考量来自于:由于你要构建一个非常好的多核系统或片上系统 (SoC) , 因此你需要非常好的系统级考虑。在TI的DSP团队里, 有相当多人都来自于系统厂商, 比如爱立信、诺西, 甚至聘请曾在摩托罗拉等通信厂商工作过的资深人才来做TI的CTO (首席技术官) 或首席架构师。不是因为他们的芯片设计能力有多强, 而是对整个系统架构所需要的关键元素做得非常非常精准。这样TI就可以把网络处理器和传输的协处理器固定在里面。这都归功于从通信系统企业过来的系统专家, 把他们的挑战和需要的关键元素, 以及以往没有提供过的功能在TI的组织架构里提供出来。尽管这些通信系统人才可能并不会开发出整套软件, 但能使TI能更多地开发相应的核心软件, 把多核系统、多核DSP系统的架构搭起来, 做成一个具有强大竞争力的系统产品。

在W i M A X应用方面, TI甚至在北美把某家系统厂商整个WiMAX研发团队连锅端, 不在于TI要自己开发什么WiMAX产品, 关键是要对系统的理解和见解, 把传统理解和新需求全都融入到我们多核DSP的开发里。

医疗领域也是如此, TI有曾在超声或数字X光厂商工作过的人才做TI的系统架构专家, 因为TI需要非常专注地理解这些应用领域架构怎么做的, 这样就可以开发出相应的内容和核心的IP库, 来为客户开发或我们后续优化能提供非常有用的部分。

可见, MCU和DSP厂商不仅关注芯片架构, 而且正在软件和架构系统方面进行, 来提高产品的易用性。

MCU、DSP与FPGA互相渗透, 日趋融合

MCU有8、16、32位之分, 也有ARM与非ARM之别;目前部分厂商采用了ARM Cortex-M4核, 希望进军DSP领域;DSP老大TI把自己的C2000D S P系列划为了M C U业务组;同时, FPGA厂商也试图深入传统的DSP和嵌入式处理器领域;有些M C U厂商称其芯片可替代FPGA、DSP嵌入式处理器的应用领域之间互相渗透, 芯片功能越来越融合, 因此界限越来越模糊。那么他们各自的显著特点是什么呢?

MCU及DSP

T I半导体事业部MCU业务组现在不仅负责其经典的16位MCUM S P 4 3 0, 还有两年前收购L u m i n a r y的基于A R MCortex-M3的32位处理器, 更把其低端DSPC2000 DSP系列也划拨进来[4]。那么当向客户推荐方案时, 如何协调其产品线关系?TI MCU业务拓展经理吴健鸿称, “向客户介绍产品时, 我们一定会推荐最合适的产品。”在Cortex-M3等MCU和C2000里面有一些软件库会共享。这样, 如果客户的一些产品用的是C2000, 另一些产品可能用到Cortex-M3M C U, 是可以同时采用TI的软件库的。笔者推测, 由于TI有强大的D S P功能, 因此TI并没有采用具有DSP功能的ARM Cortex-M4的授权, 而着力发展ARM Cortex-M3, 进军传统32位处理市场;而MSP430系列主攻传统的8位8051市场。

相关链接

Altera 28nm器件整体亮相

2011年1月, Altera公司发布其28nm器件系列产品, 可满足从最大带宽到最低功耗等多种应用对性能、特性和功耗的特殊需求。在这一28nm系列产品中, Altera发挥了收发器技术、产品体系结构、知识产权 (IP) 集成和工艺技术优势。对于电机控制、显示和软件无线电等对低功耗和电路板空间要求较高的应用, Altera的Cyclone V FPGA系列是理想选择。相对于前一代器件, Cyclone V系列总功耗降低了40%, 提供工作速率高达5 Gbps的12个收发器。

针对需要在成本、低功耗和高性能上达到平衡的应用, 例如, 远程射频单元、演播合成器和10G/40G线路卡, Altera推出其Arria V FPGA系列。它含有工作速率高达10 Gbps的收发器, 支持DDR3外部存储器的硬核存储器控制器, 以及含有精度可变DSP模块的高效脉动有限冲击响应 (FIR) 滤波器, 相对于前几代器件, 总功耗降低了40%。

Stratix V FPGA系列满足了多种宽带应用需求, 例如, 高级LTE基站、高端RF卡和军用雷达等。HardCopy V ASIC拓展了Altera在NRE、低风险收发器ASIC上的领先优势。

NX P、Freescale等采用了A R M Cortex-M4的授权。其中NXP也采用了ARM Cortex-M3的授权。如何区分M3和M4?NXP的Geoff以去年底推出的LPC4000系列为例, 指出Cortex-M4的特点是DSP处理能力非常强大, 因为M4有很多免费DSP库的资源供用户使用。

另外, Geo还介绍了M4与ARM9核相比的优势:该公司在与电视和机顶盒客户的探讨中, 发现对于高性能核而言, 它们主要是通过硬件来实现, 这就出现了功耗问题, 如果MCU一直是高速运行没问题;但在低速时, ARM9的低功耗效果不如M4强。所以在一些高性能应用上, 可以把M3、M4用到片上实现高性能MCU方面功能。

飞思卡尔去年6月宣布与ARM合作, 推出了基于ARM Cortex-M4的Kinetis系列。尽管飞思卡尔拥有自己独特而丰富的架构, 如S08、ColdFire/ColdFire+、Power架构等, 但飞思卡尔认为ARM MCU的最大特点是上手快, 希望Kinetis延伸到那些喜欢用ARM架构的客户上[5]。M4不仅与M3兼容, 还具有DSP的功能, 为将来DSP应用打下了伏笔。

MCU与FPGA

STM (意法半导体) [7]和NX P等MCU公司近期提到其部分基于M3/M4架构的MCU可以替代FPGA功能;而F P G A企业如Altera、Xilinx和Microsemi (2010年10月Microsemi收购了FPGA公司Actel) 也力图延伸入嵌入式领域。那么, 二者的相互关系是什么?NXP的Geoff说, 事实上MCU的目标并不是完全替代FPGA, 例如当3000门以下比较简单的应用时, MCU可以实现类似于FPGA功能的应用。

而FPGA公司也承认, 逻辑门数要求更高的嵌入式应用是FPGA定位的主战场。

DSP与FPGA

笔者最近追踪2010年“全国大学生电子设计竞赛信息安全技术专题邀请赛”时, 发现一个有趣的现象, 在由TI和Xilinx等赞助的这项大赛中, 一等奖中既有采用TI DSP、也有采用Xilinx FPGA实现手背静脉身份认证的作品;整个获奖作品中, 网络通信方案中都有两家公司的身影。

实际上, 近几年, FPGA也把部分重点定位在DSP的传统领地, 并且28nm等先进制程呼之欲出, DSP的主流制程还是40nm左右。FPGA厂商声称, 随着FPGA的成本和功耗的持续降低, FPGA会在DSP固有的应用领域愈发显出优势。

但TI等DSP公司也在强化其DSP的优势。不久前, TI多核DSP业务部全球业务经理Ramesh Kumar向我们介绍了去年底推出的基于KeyStone多内核构架的C667x。称通过增加多内核导航器以及协处理器, 可最大限度提高片上数据流的吞吐量。现在每个单核可以达到40个GMACs的层加能力, 每个内核也可以达到20GLOP运算能力。

Ramesh称, DSP技术本身有诸多好处, 包括很高的处理性能, 并且在低功耗方面, 考虑到动态电源监测、动态电源管理。因此通过667x系列, TI非常有信心与DSP对手、其他处理器架构或FPGA竞争。例如, FPGA本身是通用型阵列, 其所做的所谓浮点是在阵列里嵌入DSP一个小的IP单元, 绝对不是能真正自由地处理浮点运算的处理器架构, 可能只有1818的一个乘加 (MAC) 能力, 现在相对一半都不到。因此, TI并不认为FPGA公司所宣称的浮点工艺非常领先, 并且DSP在功耗、成本上拥有优势。例如, 市面上与TMS320C667x性能相当的FPGA通常几百美元一块;在功耗方面, TI只要10W左右, 而同样性能的FPGA通常要20~40W。

笔者注意到一个细节, Ramesh多次提到C667x高精度地定位于关键任务应用, 包括无线基站、测试、医疗影像、智能电网或高性能处理等。这些领域通常有DSP, 也有FPGA的解决方案。“但关键应用往往由DSP组成。”Ramesh称。事实上, 在很多领域, 出现了DSP+FPGA或嵌入式处理器+FPGA的搭配, 在通信基站领域, 有TI+Xilinx组合;高性能计算领域, 也出现了Intel+Altera搭档等。

DSP通常归为ASSP (专用标准产品) , 而FPGA属于PLD (可编程逻辑器件) 类。从字面上就可以看出FPGA服务更广阔的领域, DSP相对来说在一些利基 (niche) 的专用领域拥有无可替代的优势。在一些长尾领域, FPGA和DSP就要认真较量了。

那么, FPGA企业又是如何看待DSP, 并寻找自己的机会呢?

Altera高端FPG A产品部产品市场高级总监David Greenfield称, 多核DSP主要针对一些特定市场应用。多核DSP实现是基于软件, 在其架构基础上基于软件创新。而FPGA主要是硬件创新, FPGA中也会有一些浮点运算。FPGA过去主要是军事领域应用, 现在已经拓展到通信、广播领域, 比如无线基站等应用。笔者分析David的讲话认为, 之所以过去FPGA应用于军事领域, 是因为FPGA的突出优点是灵活性大, 但也存在功耗大、价格高的短板, 在不太在乎花钱的军事、通信基础设施领域会首先铺开。随着FPGA的功耗和价格逐步下降, 也在向中低端应用市场延伸, 并打入一些利润丰厚的专用领域, 如通信 (基站、收发器) 和视频处理等。

据悉, Xilinx近年推出了目标设计平台 (TDP) , 并且在未来28nm制程时, 把原来高低二大产品线 (Virtex和Spartan) 扩展为高中低三线 (Virtex、Kintex和Artix) 。这些举措使其FPGA进一步适合专用领域。

相关链接

LatticeECP3 FPGA向高清摄像机市场发力

定位中低端FPGA的Lattice公司另辟蹊径, 针对安防摄像领域, 推出了高清摄像机 (HDR) 用的HDR-60摄像机开发套件。

2011年2月, Lattice发布了HDR-60摄像机开发套件, 这是一款基于LatticeECP3 FPGA系列可量产的高清 (HD) 摄像机开发系统。预载入了Lattice合作伙伴Helion GmbH带有即插即用的评估版图像信号处理 (ISP) 流水线的IP核, 该开发套件开箱即用。此IP可实现每秒60帧的1080p, 带有2D降噪和高动态范围 (HDR) 。

开发套件外形大小符合市售摄像机外壳尺寸并能够同时支持两个传感器, 开发套件可实现快速评估和高清HDR摄像机样机的设计, 适用于安防、交通控制、视频会议和汽车应用。所有购买的客户可免费获得原理图和布线文件。

也许读到此, 读者还是找不到北, 那么让我们以Altera的David的话来参透此现象吧:“很多概念更像是哲学取向。但动机很简单:我们在决定每一新产品时, 基本上是看推出这种产品是不是可以为我们带来最大好处。”

MCU:集成多少模拟才足够?

MCU外围电路在迅速膨胀

MCU正集成越来越多的模拟和混合信号, 有些MCU公司干脆称之为SoC。那么这是否意味着未来MCU不再是创新的中心?

Silicon Labs公司Mike分析认为, 2011年及以后, 新一代MCU设计将提供更高级的混合信号集成技术, 实现超低功耗处理、无线连接和智能感应。随着便携式和电池供电应用的增长, 具有省电技术 (例如片上DC-DC转换器和低压差LDO稳压器) 的MCU将成为广受欢迎的解决方案。2011年, 集成嵌入式无线收发器的高集成度MCU, 或称为“Wireless MCU (无线MCU) ”也将在应用 (例如家居自动化、安全系统、智能仪表和能量收集系统) 中不断增长。今后我们也将看到集成多种类型感应器 (诸如电容式触摸感应器、红外线和环境光感应器, 以及环境感应器) 的MCU。具有成本效益、片上集成无线连接和感应能力的超低功耗、小封装MCU将在各种嵌入式应用中 (例如无线感应网络) 大量应用。

因此, 我们认为模拟/混合信号功能将继续保持较高需求, 因为最具竞争力的应用通常需要高精确度和准确度。仅有少数公司具有混合信号设计经验, 从而可以在不影响性能的基础上进行单芯片集成。这些公司将继续从高难度复杂混合信号设计的迅速扩张中受益。

普芯达赵依军也认为集成更多的数模混合信号是嵌入式系统发展的必由之路, “MCU将会集成更多更复杂的模拟功能和处理模块, 构成一个真正意义上的SoC, 它将使嵌入式系统的开发理念发生深刻的变化。”但这并不意味着MCU会脱离数字核心, 相反, 这一变化会促进数字部分性能的提升以满足越来越高的处理要求。目前, 普芯达不仅会设计集成了模拟和混合信号的MCU, 还会在以前属于纯粹模拟电路的一些应用中开发智能化的芯片。

飞思卡尔的曾劲涛指出, 模拟功能将成为MCU产品的一个差异化优势。分立模拟器件在大多数情况下仍然具有性能优势。但是, 随着MCU集成模拟的功能不断增强, 分立模拟器件的优势正在逐渐减弱。例如:飞思卡尔Flexis MM系列专门为医疗设备设计, 集成高精度的16位ADC、DAC、运放等高精度模拟单元进一步降低系统成本, 加快开发进程。

ADI公司称近期推出的BF506F处理器集成了高性能DSP和高性能AD转换器, 在400MHz主频的前提下, 性能达到11.7bit ENOB (有效位数) 。

TI公司一直是积极推进MCU中增加模拟/混合信号的企业。今年1月发布的低成本浮点Piccolo MCUTMS320F2806x, 可以单独来实现PLC (电力线通信) 。使低能耗电机控制与可再生能源应用的开发人员可采用单个F2806x MCU通过低成本方式执行控制环路、电力线通信 (PLC) 协议以及调制方案。

MCU集成模拟的利弊分析

最大的嵌入式芯片MCU企业瑞萨电子对MCU集成模拟十分慎重, 去年10月才宣布在MCU研发中增加模拟/混合信号功能[8]。瑞萨电子的邱荣丰指出, 开发模拟功能的芯片不容易, 因为从工艺考虑的话, 模拟功能用的技术工艺是很高的, 所以整个芯片会变得很大, 这样会影响到成本。

上海普芯达的赵依军也认为, 集成模拟带来了开发难度。由于模拟和数字开发工作集中在同一颗芯片上, 芯片和应用设计难度都有所增加, 尤其是在模数双方的相互抗干扰处理上, 工程师们将面临较大的挑战。

市场调查公司Gartner半导体和电子研究总监Adib Ghubril对MCU中集成模拟的观点也是谨慎的。Adib分析道, 小型化可以提高系统的可靠性 (主板上的芯片数量更少) 、使体积更小 (从而提高可用性和灵活性) , 并能使人们获得更高的收益。但是, 与其具有相似功能的纯粹的数字MCU相比, 混合信号MCU存在性能降低的问题, 尽管目前人们尚未弄清两者之间在系统级 (即主板级) 上存在何种差异。而且, 相比于模拟和数字电路分别按照各自独立的技术路线图发展, 数模集成会增加晶圆片级的风险;承担这些风险必须能够有利于给我们带来回报。通常, 虽然我们期望Freescale以及Renesas (瑞萨) 等领军企业能够推出体积更小的器件;但是, Gartner发现许多公司缺乏必要的资金去实施此类集成路线图。

许多公司使用混合信号MCU这种术语去描述具有板上比较器 (onboard comparators) 或模数/数模转换器的芯片;虽然这一术语也许是正确的, 但它还是存在一些误导, “因为在我的头脑中, 混合信号技术综合了类似电压基准/调节器、传感器甚至功率放大器等东西, 并最终将会包含功率放大器。”但另一方面, “特殊应用”MCU的趋势一般受到嵌入界股东的支持, 同时, 在芯片制造商中能够更为清晰地看到这种趋势。

分立模拟器件的机会

而分立模拟器件厂商对此的看法如何呢?Intersil公司Tamara Schmitz在《电子产品世界》2010年12期《信号链的集成与去集成》[9]中指出:“但你为什么要选择去集成呢?原因有很多。产品或应用可能比较新, 还没到有必要投资开发一个ASSP设计的地步。其次是没有一点灵活性。万一你想升级到更高阶的滤波器, 以补偿一个新的强干扰?万一你想尝试一个新的转换器配置?万一你必须快速建立一个原型产品?万一小的设计改动能让你的系统设计更加灵活, 并且能容纳更多的应用和更多的客户?我个人特别喜欢的情况是:万一你希望得到更低的功耗呢?许多转换器需要1.8V电源, 而许多运算放大器可能需要3.3V或5V来达到系统所需的动态范围/CMRR。分立方案的选择更多, 对应用的优化也更多。许多有经验的系统设计者对电路布板和电源旁路十分精通, 他们倾向于选用分立方案, 这样可以保留进一步选择的便利。”

目前, 分立模拟器件也在发展, 集成度越来越高, 越来越简单易用, 或者开发特殊的应用产品。例如, 美国国家半导体公司 (NS) 今年1月推出了可配置传感器模拟前端 (AFE) 芯片为例, LMP91000是可全面配置的低功耗恒电位仪, 可在传感器与ADC间提供一个高度集成的完整信号路径, 适用于微功耗的化学物质及气体检测应用。为了简单易用, NS还提供了开发工具。据NS精密信号路径产品部副总裁James Ashe介绍, NS在完成传感器信号路径设计的WEBENCH传感器模拟前端电路设计工具 (WEBENCH Sensor AFE Designer) 上也进行了重要投资, 使电路可调, 来兼容多种技术规格, 支持数百款温度、压力及化学传感器。“像LM91000芯片的恒电位仪电压和输出增益都可根据设计要求自行设置, 这令工程师可以探测更多的气体种类, 或者探测不同的气体浓度, 并确保设备的总系统功耗可低至10µA (平均值) 。”

可见, MCU不会脱离数字设计的核心。在集成模拟/数模混合器件时, 会对性能和制程带来一些挑战。在一些高性能或独特应用场合, 独立的模拟器件仍举足轻重。独立的模拟器件的发展趋势是集成度更高, 精度更高, 可编程性更强, 并有自家的开发工具支持, 简单易用等。

相关链接

TI新浮点Piccolo MCU增PLC功能

近日, TI今年1月发布超过15款C2000 Piccolo实时控制MCU (微控制器) , 可提供浮点内核、最新维特比复杂数学单元 (VCU) 以及控制导向型外设选项。

新系列型号为TMS320F2806x Piccolo, 可提供能平衡低成本Piccolo (意大利语:短笛) 与高性能Delfino (意大利语:海豚) 浮点MCU的性能, 并提供旨在简化编程、优化性能的增强型数学引擎, 从而能满足实时控制应用对集成通信的需求。低能耗电机控制与可再生能源应用的开发人员现在可采用单个F2806x MCU, 通过低成本方式执行控制环路、电力线通信 (PLC) 协议以及调制方案。此外, 最新F2806x MCU还可提供更加丰富的连接及存储器选项, 并具有TI高稳健工具与免费controlSUITE软件的支持。

相关链接

NS可配置的传感器模拟前端:简化设计流程

不久前, NS (美国国家半导体) 推出两款可配置的传感器模拟前端 (AFE) 集成电路, 它们采用独创技术, 并获得该公司WEBENCH设计工具支持, 令工程师可使用各大厂商生产的各类传感器产品完成信号路径设计, 将产品快速推向市场。换言之, 工程师可以利用这套设计工具挑选传感器, 进行设计, 配置解决方案并将配置参数下载至传感器模拟前端电路。目前一个典型的传感器应用需要数块电路板及多达25颗元器件, 而采用此方案, 只需一颗芯片就可搞定。同样, 以往设计一个传感器系统, 需要几周甚至几个月的时间, 而采用NS的新产品和设计工具, 设计时间则可缩短至几分钟。

LMP91000芯片是业界首款可全面配置的低功耗恒电位仪, 可在传感器与模拟/数字转换器 (ADC) 间提供一个高度集成的完整信号路径。LMP90100芯片则是业界首款可真正连续校准背景信号并做出诊断的24位、多通道、低功耗传感器模拟前端电路, 适用于高性能收发器及变频器系统。另外, WEBENCH传感器模拟前端电路设计工具兼容多种技术规格, 可以支持数百款温度、压力及化学传感器。其数据库涵盖了Omega Engineering.、Honeywell Sensing&Control、Tempco Electric Heater及All Sensors等公司的众多传感器产品。

MIPS架构寻机突破

如今, ARM是32位MCU架构中增长最快的部分, 有专门为不同嵌入式处理器准备的10种左右的Cortex授权。一般公认ARM阵营的优势是可利用的丰富的生态环境。

不过, MIPS科技公司这几年也在寻求突破。Microchip是MIPS架构的积极拥趸者之一, 最近, Microchip的Erlendur Kristjansson对ARM公司声称的32位单片机 (MCU) 应用的可移植性产生了疑问。

32位单片机的应用可移植性:现实还是神话?

E r l e n d u r首先介绍了事情的原委:2008年11月, ARM公司宣布推出Cortex微控制器软件接口标准 (Microcontroller Software Interface Standard, CMSIS) 。ARM声称, 对于新器件的软件开发项目或将现有软件在不同芯片厂商的基于Cortex-M的单片机之间移植时, 这项标准可降低软件设计成本。这听起来很不错, 但事实确实如此吗?

Erlendur分析道, 根据ARM所言, CMSIS是“适用于Cortex-M处理器系列的与厂商无关的硬件抽象层。CMSIS为不同芯片厂商和中间件提供商的处理器提供了简单一致的软件接口, 这简化了软件重用, 缩短了开发人员对于新单片机 (MCU) 的学习过程以及新器件的上市时间。CMSIS的问世使芯片厂商可将资源集中在突出其产品的外设功能上, 无需在对单片机进行编程时保持各自不兼容的标准[10]。”

可移植性的可能性探讨

我们已了解各个单片机制造商都能提供什么, 现在可以看一下抽象层能为设计人员做些什么 (如果有的话) 。首先, 我们来看CMSIS声称所能提供的功能, 同时应记住前文所述的系统架构、外设和固件库。

CMSIS版本1.3

1.内核外设访问层:包含用于访问内核寄存器和外设的名称定义、地址定义和辅助函数。它还定义了一个用于RTOS内核的器件无关接口, 其中包含调试通道定义[11]。

2.这些软件层由芯片合作伙伴通过以下方式进行扩展:

a) 器件外设访问层, 提供所有器件外设的定义;

b) 用于外设的访问函数 (可选) :提供用于外设的附加辅助函数[11]。

仔细阅读此说明后, 我们可以看到CMSIS提供了一种通用语言, 通过它可描述MCU的不同元件。

接下来, 我们看一下两个不同的“芯片合作伙伴 (使用ARM Cortex-M处理器内核的MCU制造商) ”所生产的MCU中包含的部分功能。

显而易见的是, 尽管这两个32位MCU制造商都使用Cortex-M3内核, 但主要功能仍有区别。表1中列出的功能是单片机最标准的功能, 即便如此它们仍有不同。这意味着, 即使这两个制造商使用相同的内核, 也需要对软件进行调整才能运行最基本的程序, 例如翻转I/O或使用UART。如果不进行一定程度的代码重写, 而只是对基本参数进行调整, 则无法在A和B之间移植软件。

另外, 在表1的示例中, 厂商A和B的单片机都使用了ARM Cortex-M3内核, 并且都具有符合CMSIS标准的固件库。这是否意味着他们的库 (例如电机控制库) 可以互相移植?

其实不见得。这两个制造商对外设和固件采用了完全不同的方法。厂商A使用专用算法库 (可能由多人经过数年开发而成) 来最高效地利用其单片机上的专用外设。而厂商B则专注于使用更通用的外设并构建通用外设库, 对于特定应用则使用示例代码和应用笔记进行说明。

这两种完全不同的方法使得在这两个制造商的MCU之间移植程序 (例如电机控制子程序) 非常困难, 尽管它们使用了相同的内核。此外, 库函数的命名也不相同, 这意味着用户必须重写代码中的所有库函数调用, 并且要弄清将哪些变量和值提交给函数。这完全不是所谓的可移植性。

再有, 设计人员关注的重点是开发特定最终用途代码时的速度、效率和可靠性。厂商A和B采用不同的方法来达到这些目标。厂商A使用基于专用硬件的方法, 而厂商B的法更加专注于通用硬件。厂商A针对特定应用提供了经过潜心开发的专用库, 以最大限度地利用其单片机的功能。而厂商B只提供基本构件, 让开发人员构建自己的解决方案。

笔者认为, 如果真像Microchip所说的32位单片机的应用难以移植, 那ARM阵营的优势会打一定的折扣。如果单挑, Microchip所选的MIPS公司的内核, 在计算性能也是有优势的。

MIPS公司对其IP (知识产权) 核功耗高的错觉进行了澄清。MIPS公司中国区市场总监费浙平称, 最近, 全球第一款MIPS智能手机平台来自于中国的客户北京君正, 这用事实证明了MIPS架构的高性能、低功耗能力。

那么如何理解高性能、低功耗, MIPS公司在这方面的创新是什么?费浙平说, 高性能和低功耗是必须放在一起考量的一对指标。历史上MIPS一直被比较多地应用于高性能领域, 比如15年前多数MIPS平台就运行在100~200MHz以上, 而那时候很多其他架构只需要运行在50MHz以下, 显然, 200MHz的设计实现其绝对功耗是远大于50MHz设计的, 不管其结构体系本身多么有优势。

多年来, MIPS比较多地被应用于绝对性能要求较高的地方, 这就是关于“MIPS高功耗”历史错觉形成的主要原因。现在MIPS鼓励使用“效率”来进行不同架构内核的比较, 效率就是“性能/功耗”比, 即单位能量能够提供的计算能力。这样大家就比较容易对不同的处理器架构进行横向比较了。

一个系统的功耗效率从本质上决定于以下这些因素 (如图3所示) :基础架构、并行处理能力、芯片后端设计和制造工艺、系统软件设计。MIPS在基础架构技术方面的优势是比较公认的;在多核多线程两项并行处理技术方面也领先一步 (两者结合可以既增加计算平行度, 又减少CPU空转时钟周期数的浪费) 。芯片后端设计和制造工艺对一个芯片性能和功耗的影响现在越来越大, 不过这方面的影响与具体CPU架构无关, 对任何芯片设计影响都是一样的;同样, 软件设计思想上的进步, 也可以应用在所有不同CPU架构之上, 是通用的。在MIPS现有产品系列中, 像MIPS 1074K是双发射超标量结合多核技术的产品, 提供较高性能;MIPS 1004K是多线程和多核技术结合的产品, 适合并行度高的任务系统。

ARM MCU未来什么样?

如今, 事实是越来越多的厂商拥抱ARM, 那么这种现象的利弊是什么?有人担忧ARM MCU会同质化, 那么ARM MCU芯片如何实现差异化, 以在竞争中脱颖而出?

Gar tner半导体和电子研究总监Adib Ghubril称, 实际上, 绝大多数的成功芯片制造商都能够开发出在特征丰富 (feature-rich) 和功能丰富 (function-rich) 之间取得平衡的组合产品。特征丰富的MCU所针对的各种应用中, 诸如触摸式或传感器式控制模块等外围设备特征要优先于优化处理;而功能丰富的MCU所针对的各种应用中, 处理周期必须如同发动机控制中一样, 要严格予以遵守。

第一阶段, 制造商可以通过将资源从处理模块转向外围设备模块来获得效率上的提高这是类似ARM核之类的标准处理模块的有效之处;而在第二阶段, 掌握专利核心的制造商更有可能是要满足严格的处理规范要求, 并应该将资源从外设上转移出来, 将之转移到处理模块上这时, 授权芯核技术的左右就会降低。

软件平台给力多核

嵌入式芯片的发展特点

定位ESA (嵌入式软件自动化) 的Mentor Graphics公司嵌入式软件部总经理G l en n P e r r y的看法是, 当前, 集成了众多外设并配有多核的片上系统 (S o C) 在市场上正在变得越来越普遍。这种硬件复杂性的增加也在软件中体现了出来。所有客户希望使用的硬件都必须通过软件来调用。系统架构设计师会依据一定的性能标准、功耗标准或者需要使用的关键内置外设来选择特定的SoC。他们希望操作系统能够令他们选定的外设正常工作。

此外, 多核已成为流行趋势。Enea大中国区销售总监张永军给了一组数据, 爱立信预计到2020年将有500亿个连接的设备, 同时思科认为移动数据流量到2014年将增加39倍, 因此需要大量基础设施投资。而要实现这些目标, 多核技术的使用将是一个答案。今天所有的项目大约有1 0%~1 5%使用多核, 在两年内的预期将增长到40%。

Mentor的Glenn指出, 不论对称多处理模式 (SMP) 还是非对称多处理模式 (AMP) , 操作系统都必须能够支持附加的处理核心。

因此, 支持SMP功能的CPU内核和专用加速芯片 (如DSP加速芯片和图形加速芯片) 的数量将会越来越多。另一个趋势是在片上系统中集成更多具备节能特性的外设, 将系统功耗进一步降低。虽然节能是一件好事, 但前提是软件必须具备引导外设进入各种不同节能模式的能力, 否则节能将无从谈起。

第三个趋势则是更直观的用户界面。只要看看iPhone和它的用户界面 (UI) , 你就会了解用户界面的发展方向。硬件关注的焦点是为用户提供硬件加速和高分辨率的触摸屏。虽然显示屏的大小最终是由设备本身所决定的, 但是必须要将用户界面的形式与功能统一起来。

最后, Android系统的应用远远超出了手机、平板电脑和电视的范围。Mentor将Android系统视为各种嵌入式开发的统一平台。但是Android系统存在一个问题, 那就是所有设备看上去几乎都没什么区别。如果开发者的

本土芯片企业如何脱颖而出

在无处不在、润物细无声的嵌入式处理器世界, 哪里寻找我国本土芯片的足迹?当前, 上海海尔集成电路、上海普芯达、北京君正、时代民芯、珠海欧比特等MCU/处理器企业正如雨后春笋。福州瑞芯、杭州国芯、珠海炬力等SoC企业也在崛起。在与海外同行激烈的角逐中, 本土企业如何脱颖而出?

数字电视领域产品线较为齐全的本土芯片设计企业杭州国芯科技股份有限公司的资深副总经理张明向办刊介绍道, 本土优势是一个动态和相对的过程, 并不是一项决定性的资本。总体来讲, 在信息技术领域, 我们与先进国家相比是后来者, 扮演的是积极赶超的角色。在这个努力的过程中, 充分发掘本土企业更加贴近当地市场、贴近当地用户的特点, 并努力将其转化为自己的竞争优势, 才是我们正确的心态。比如开发更适合本土生活和文化特点的产品、提供更便捷的服务支持等。但本土企业最终依靠的还是自己的技术和产品优势, 依靠自身的综合实力与国外同行进行竞争, 并在竞争中不断壮大自己。

国内有些公司往往在高性能和低成本之间徘徊, 如何理解高性能和低成本的关系?张总认为, 在新产品推出时, 高性能往往意味着高价格, 客户主要面向高消费者。随着更多竞争对手的加入, 或者为了使产品被更多的大众消费者接受, 降低成本就成为市场竞争或市场推广最直接的杀手锏。但如果过度压制成本导致性能下降, 或进行恶性低价竞争, 并不是一种理性的企业行为, 因为大众真正需要的并不是最低价格而是与性能相适目的是让应用程序在所有基于Android系统的设备上都能够顺利运行, 那么这是一个优点;但是如果开发者的目的是将自己的设备与竞争对手区分开来, 这就不够了。现已有一些工具可解决此问题, 例如Mentor Embedded Inflexion UI允许设计者改变Android设备前端的用户界面, 使下层运行的Android系统变得几乎无法察觉。这对设计者来说是个好消息, 他们可以在需要的时候正常使用所有的Android应用程序, 因为在设备下层运行的仍然是100%的Android系统。应的合理价格。

杭州国芯 (NationalChip) 作为一家芯片设计公司, 通过不断的技术创新和产品创新, 并且结合不同的细化市场定位, 推出适合消费者需求的高性价比芯片产品, 例如开发各类数字电视信道解调芯片和信源解码芯片, 或解调解码集成单芯片。

摘要:本篇探讨了嵌入式芯片国内外市场及技术发展趋势, 及MCU、DSP、FPGA日益融合, 如何界定其分类, ARM和MIPS架构特点, 软件平台的发展趋势等。

关键词:MCU,DSP,FPGA,软件,操作系统

参考文献

[1] Massimini T.Trends of MCU and Embedded market[R/OL]. http://www.avnetondemand.com/Technology%20 Trends/MCU+Market+and+Embedded+Control/channel/40/video/788/

[2] 施膺.从MCU创新,体会“后摩尔定律”.电子产品世界, 2011 (1-2) :99

[3]王莹.瑞萨与NEC合并:能否保持MCU的领先地位? [R/OL]. (2010-10-19) . http://wangying1.spaces.eepw.com.cn/articles/article/item/84051

[4]王莹.医疗/工业高成长, Tl Sitara巨关心[R/OL]. (2010-4-18) . http://wangying1.spaces.eepw.com.cn/articles/article/item/75870

[5]王莹. Freescale爆出猛料: MCU 240款一次发布[R/OL]. (2010-6-29) . http://wangying1.spaces.eepw.com.cn/articles/artide/item/81895

[6] 迎九.挑战多核.电子产品世界,2010 (12) :42

[7]Onde V.基于Cortex-M3的STM32微控制器处理先进电机控制方法, 电子产品世界, 2010 (11) :42

[8] McGrath D.Renesas readies mixed-signal MCUs. (2010-10-14) .http://ne wsletters.eetimes.com/portal/wts/ccmciv2cj-wqecrCoarsiVqh4snMc

[9]Schmitz T.信号链的集成与去集成,电子产品世界,2010 (12) :50

[10] www. arm.com/products/processors/cortex-m/cortexmicrocontroller-software-interface-standard.php

[11]http://www.onarm.com/download/download395.asp

FPGA在嵌入式系统中的应用 第3篇

1 FPGA在嵌入式系统的优势及特点

FPGA具有丰富的逻辑设计资源,可以完成复杂的数据处理任务以及逻辑控制任务,另外FPGA还具备ASIC所没有的独特的特点,特别适合嵌入式系统。

(1)可重复编程。当设计需要升级或者产品需要换代的时候,利用FPGA可以在现场或者远程更新设计,提高性能,满足更高的需求,完成升级换代。

(2)设计周期短,研发费用低。因为其设计不需要经过制造的过程,从而可以在短时间内将低成本高性能的嵌入式处理器内核与可定制的FPGA电路集成的嵌入式系统方案产品以较快的速度推向市场。

(3)通过FPGA中嵌入低成本、高性能的处理器,可以在一个芯片上集合多种功能,降低系统总成本、复杂性和功耗。

由于FPGA的这些先天的优势,再加上FPGA价格越来越被市场接受和认可,以“嵌入式微控制器+FPGA”为核心的嵌入式系统体系结构因其强大的处理能力和灵活的工作方式而被广泛采用,其在嵌入式系统中的前景也广为看好。 当然前提是需要高性能的FPGA嵌入式开发平台。

2 基于FPGA的嵌入式系统解决方案

为了进一步推广FPGA在嵌入式系统应用,许多功能强大的、具备将处理器、外设硬件和软件集成在一个可编程平台的开发系统也应运而生。目前的FPGA嵌入式系统开发工具一般都具备迅捷方便的FPGA片上开发系统、集成的软/硬件开发环境、支持多种体系结构、融合了元件级设计和系统级设计、价廉物美,功能齐全,具备完整的元件库设计系统(IP内核和CPU仿真测试)、debug开发平台并且设计门槛低。这种系统允许将FPGA设计和板级设计过程进行集成,在板级设计实践和FPGA系统的设计之间,提供无缝转换。

目前主流的FPGA供应商Xillinx和 Altera都提供了嵌入式的FPGA开发平台。Xilinx推出了他们的嵌入式开发套间(EDK),如图1所示,包括Platform Studio工具套件以及采用Xilinx平台FPGA与嵌入式PowerPC或MicroBlaze软处理器核的嵌入式应用设计中所需的全部技术文档和IP核,以及带有参考示例的硬件/软件嵌入式开发套件,稳健的第三方生态系统支持。 其智能化的系统平台工具不仅简化了设计,加速了嵌入式开发过程,而且其自动的设计向导可以指引嵌入式工程师完成整个设计过程,从而减少错误,降低学习难度。其中IBM PowerPCTM 405是直接植入Xilinx FPGA架构内的32位RISC CPU核,可以实现高性能嵌入式应用。 集成的PowerPC系统同协处理能力组合在一起,可以实现宽范围的性能优化。在Xilinx平台FPGA产品中,VirtexTM-4和Virtex-II Pro系列都支持PowerPC。PowerPC集成了5级标量流水线,具有独立的指令缓存和数据缓存、1个JTAG端口、Trace FIFO、多个定时器和一个存储器管理单元(MMU)。Virtex-4器件设计了辅助处理器单元控制器(APU),可以直接控制FPGA架构内的硬件指令协处理。 而MicroBlaze 核采用灵活的32位哈佛RISC架构,它具有针对Xilinx FPGA中的嵌入式应用专门进行了优化的、丰富的指令集。 MicroBlaze架构的特色在于对高速缓存容量、接口和执行单元的控制。 MicroBlaze的软处理器特性使其可以进行定制,可以减少功能来满足对尺寸的要求,从而满足价格和性能目标。MicroBlaze甚至还集成了低时延、符合IEEE-754标准的浮点单元(FPU)。

Altera公司也推出了Nios系列的嵌入式处理器解决方案。Altera FPGA嵌入式系统结构如图2所示。第一代Nios嵌入式处理器是软核通用RISC处理器,具有16位指令集和用户选择的16或32位数据通道,能够根据多种应用进行配置。NiosII系列嵌入式处理器是Altera第二代FPGA软核嵌入式处理器,是一个用户可配置的通用RISC嵌入式处理器。它的易用性和灵活性使它成为世界上最流行的嵌入式处理器之一。NiosII嵌入式开发套件含有嵌入式系统开发所需的全部硬件和软件开发工具,包括SOPC Builder系统开发工具和NiosII软件Studio。Nios II处理器采用了基于RISC架构的32位指令集,它够轻松的整合用户逻辑,然后编程写入。Altera的IP库提供了许多SOPC Builder现成的宏功能支持Nios嵌入式处理器和Excalibur器件。这些IP核还具有支持Avalon交换式总线和AHB接口的功能,用于快速和轻松集成。由于Altera是软核处理器,开发人员能够从多种系统配置中进行选择,挑选最合适的CPU内核以及SOPC Builder即用处理器外设,生成最恰当的解决方案。总之,FPGA设计人员可以充分利用NiosII系列嵌入式处理器,实现更高的处理器性能、更少的FPGA引脚数,找到功能更强大的开发工具,完成自己的设计任务。

这些FPGA嵌入式平台的出现,使得嵌入式系统设计工程师可以方便地使用IP重用的思想和方法,进行产品设计,通过使用高水平的嵌入式系统EDA平台,将FPGA加入到嵌入式系统中,可以实现很多卓越的嵌入式系统的设计方案。在国内,相比于ARM、MIPS、PowerPC、Intel x86和Motorola 68000等硬核嵌入式系统的成熟而广泛的发展,基于FPGA的嵌入式系统的发展起步较晚。FPGA一直用于高端应用,基于FPGA的嵌入式系统相对集中于研究领域和高端产品应用。

3 FPGA嵌入式系统产品的应用

嵌入式控制器的优势在于将内核与外设紧密结合,在提供强大运算、控制功能的同时,降低系统成本和功耗;而FPGA的优势在于超高速、丰富的逻辑资源以及用户可灵活配置的逻辑功能,适用于逻辑接口功能多种多样、灵活可变的场合。将二者结合形成优势互补,用于嵌入式数字系统的设计,能够得到一系列比较完美的解决方案。这些方案可用于以下各个领域:航天和军用产品、有线和无线通信、汽车电子、音频/视频广播、工业控制、测试与测量、医疗设备以及消费类应用。

在软件无线电等系统设计中,一般采用“微处理器+协处理器”结构,处理器一般使用通用DSP,主要完成系统通信和基带处理等工作;协处理器用FPGA实现,主要完成同步和预处理等底层算法的运算任务。利用IP来代替DSP,从而能在一片FPGA内部完成整个系统设计,这样不仅能简化系统结构,还能提高系统的性能。

在汽车电子领域,如对汽车引擎建立了模型并且系统基于该模型进行实时模拟,通过模拟和数字I/O与控制器进行通信。通过对FPGA进行配置使其生成基于模拟模型的高级输出信号,对汽缸压力传感器模拟输出进行监测,就可以不断实时调整使控制器,让其在某个特定测试里模拟按照控制器的指示进行操作。

同一设备在实现不同的应用时,要求FPGA实现不同的功能。如手持多媒体设备,可拍摄分辨率较高的静止图像照,采用JPEG2000压缩,也可传送活动图像,采用H.263,H.264/AVC等。单纯使用软件实现速度慢,需要对算法进行精细的优化;而使用硬件实现则速度快,但灵活性差。为此,采用微处理器和FPGA相结合来实现手持多媒体终端,微处理器实现程序控制,FPGA实现大量的规则运算。

如果在系统硬件中包含以太网接口,软件中移植了TCP/IP协议,而且具备微控制器及其程序存储器,那么该嵌入式系统就具备了接入Internet的能力,这种方案的实质是将Internet作为传输配置数据的媒体,并用嵌入式微控制器的程序存储器存储这些数据,从而完成第一节中提到的第一次数据传输;在嵌入式微控制器的通用I/O上实现FPGA配置时序,从而完成第二次数据传输。这样对于完成网络数据传输处理的速率有很大的改善。

另外FPGA尤其适合于处理时钟、同步以及这些专用器件所需的其它各种定时电路。FPGA还非常适合于数据格式化任务,例如串行到并行转换、数据包装、时间标记、多路复用和数据包形成。随着技术的进步,主要FPGA供应商提供的所有最新器件基本上都包括针对数字信号处理(DSP)应用的构造模块,它们包括专用的乘法引擎和灵活的存储器结构, DSP功能已经成为FPGA最重要的产品策略之一。凭借这一优势,FPGA现在已经确立了它在嵌入式系统产品设计中的地位,而且常常直接嵌入到信号流处理路径中。

4 FPGA在嵌入式系统应用中面临的挑战

虽然目前FPGA本身已经得到了广泛的应用,其在嵌入式系统中的前景也极为看好,但是应当看到真正的基于FPGA的嵌入式处理器应用的开发仍然不是很多。同样由于FPGA及嵌入式系统本身的特性,FPGA在嵌入式系统中的应用也面临一系列的挑战。

首先,嵌入式处理器及其主要的外设元件大部分在FPGA可编程范畴之外,且与微控制器单元(MCU)相比,大型的、足以为处理器应用提供平台的FPGA要昂贵得多,这限制了FPGA在嵌入式系统中的应用范围。

其次,如何根据FPGA的可重配置性的特点,合理的评估设计过程,寻求最佳设计方案。设计一个以FPGA为开发平台的嵌入式系统,首先要规划系统算法的资源分配及实施方案。如果将整个应用都在FPGA上运行,则无须键盘、显示器等用户交互方式。如果将应用嵌入到FPGA中去同时希望在PC上运行Windows用户界面,则需要开发在Windows下运行的程序来和FPGA进行通信。这就需要考虑系统配置的问题。有的FPGA开发工具要求开发FPGA周边所有硬件,另一些则要求使用一种特殊的内嵌有FPGA的电路板。如果系统需要与PC连接,则应选择能够跨平台的设计工具,否则设计的效率就要受到影响。

再次,即使确定了系统方案,可能还是无法将整个应用程序嵌入到FPGA中去,毕竟FPGA的逻辑数量有限,并且最终放入FPGA中的代码因设计人员以及综合工具不同而导致效率也不同。

另外,在FPGA集成到嵌入式系统的过程中,如何配置FPGA的逻辑也是嵌入式工程师所面临的一个重要挑战。许多嵌入式工程师对实时系统下的微处理器编程非常熟练,但未必具备芯片级设计工具和设计语言如VHDL方面的知识。如果以FPGA作为系统开发平台,在HDL范围内找到需要的系统元件、并在寄存器传送级进行例化,并实现一定的逻辑,最终在FPGA平台上运行,需要具备相当的FPGA设计能力。

最后,系统设计的功能也是制约FPGA成为主流嵌入式系统平台的一个重要因素。因为FPGA支持的功能毕竟有限。如果正在设计多个不同类型的系统,可能通用硬件设计工具最为适合。

总之,尽管FPGA具有得天独厚的优越性,但是在嵌入式系统中的应用依然面临上述一系列的挑战。应当通过工艺上的不断创新,尽可能提高FPGA的性能,不断完善I/O、DSP和存储器等功能,开发出更加完善的FPGA的设计平台,同时尽量降低FPGA设计学习的门槛。这样才更加有利于FPGA在更宽广的领域内得到更加广泛的应用。

5 结束语

由于FPGA支持技术的迅速发展以及本身无与伦比的优势特点,不仅推动了FPGA在嵌入式系统中的应用,也推动了整个嵌入式系统设计技术的发展。尽管FPGA在嵌入式系统的应用中遇到了一系列的挑战,但是随着FPGA嵌入式设计平台的不断完善,随着FPGA工艺的不断进步和开发工具的不断增强,FPGA在嵌入式系统中的应用将更加广泛。有理由相信FPGA在嵌入式系统中应用的美好前景,一个崭新的FPGA和嵌入式系统和谐发展的新时代必将到来。

摘要:随着EDA技术的飞速发展,FPGA和嵌入式系统技术都得到了迅猛的发展,文中系统分析了FPGA的特点、当前主流的开发平台,以及其在嵌入式系统中的应用和面临的一系列挑战。通过分析表明,FPGA在嵌入式系统发展中的前景被广泛看好,以FPGA为平台的嵌入式系统方案在各个领域都得到了广泛的应用。

关键词:现场可编程逻辑器件,嵌入式系统,开发平台

参考文献

[1]Virtex II Pro FPGA User’s Manual[Z].Xilinx Inc,2004.

[2]Micro Blaze Development Kit User’s Manual[Z].Xilinx Inc,2004.

[3]Nios II Processor Reference Handbook[Z].Altera,2006.

嵌入式FPGA 第4篇

(一)嵌入式系统发展趋势

随着集成电路工艺技术的不断发展和集成度的大幅度提高,嵌入式系统由板级向芯片级过渡,即片上系统---SOC (System On Chip)。SOC通常是指在单一芯片上实现的数字计算系统,其核心技术是重用技术和嵌入式技术。硬件上在单一芯片内包含一个或多个处理器、基于总线的体系结构、大容量的存储器、外设、协处理器和输入输出接口等多种资源,软件上包含嵌入式实时操作系统和应用软件,用一个芯片构成整个系统。应用SOC设计的系统具有可靠性好、功耗低、体积小等优点,是未来嵌入式系统的发展趋势。

虽然ASIC (Application Specific Integrated Circuit,专用集成电路)的成本很低,但设计周期长、投入费用高、风险较大,功能固定,而可编程逻辑器件 (Programmable Logical Device) 设计灵活、功能强大,尤其是高密度现场可编程逻辑器件 (Field Programmable Gate Array) 其设计性能,无论从密度、速度、功耗和价格等多方面已完全能够与ASIC媲美,而应用FPGA进行设计,其一次性投入低,设计周期短是ASIC无法比拟的。因此,FPGA在嵌入式系统设计领域己占据着越来越重要的地位。应用FPGA进行SOPC (System Programmable On Chip,可编程片上系统) 设计己成为嵌入式系统未来发展的趋势。

1. FPGA的应用前景

FPGA (FieldProgrammable Gate Array,现场可编程门阵列) 在现代数字电路设计中发挥着越来越重要的作用。从设计简单的接口电路到设计复杂的状态机,甚至设计SOC (System On Chip,片上系统),FPGA所扮演的角色已经越来越重要。FPGA所具有的静态可重复编程和动态系统可重构特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低了电子系统的开发成本。因此,FPGA在嵌入式系统设计领域已占据着越来越重要的地位,应用FPGA进行SOPC设计已成为嵌入式系统未来发展的趋势。

2. 可编程片上系统 (SOPC) 的基本特征

可编程片上系统 (SOPC) 是一种特殊的嵌入式系统:首先它是片上系统 (SOC) ,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能,而FPGA等可编程逻辑器件是其硬件基础。

SOPC设计技术实际上涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统 (RTOS) 为中心的软件设计技术、以PCB和信号完整性分析为基础的高速电路设计技术以外,SOPC还涉及目前已引起普遍关注的软硬件协同设计技术。

SOPC结合了SOC和FPGA各自的优点,一般具备以下基本特征:(1)至少包含一个嵌入式处理器内核;(2)具有小容量片内高速RAM资源;(3)丰富的IP Core资源可供选择;(4)足够的片上可编程逻辑资源;(5)处理器调试接口和FPGA编程接口;(6)可能包含部分可编程模拟电路;(7)单芯片、低功耗、微封装。

由于芯片设计的复杂性和产品面市时间对于保证终端市场的成功率至关重要,设计师不断寻求缩短设计周期的方法,以及更有效的设计方式。随着我们步入系统级芯片时代,利用IP核和可编程逻辑进行设计复用显得日趋重药。

IP (Intelligence Property,知识产权) 是指以VHDL或Verilog HDL硬件设计语言的文本存在的逻辑功能块,这些功能块被设计者设计出来并经过验证后可以重复使用,那么这些硬件语言写成的文本就被我们称之为IP核 (IP Core) 或虚拟器件 (VC) ,最大特点是可以复用。它的发展为SOPC的发展提供强了强有力的支持。

IP资源复用 (IP Reuse) 是指在集成电路设计过程中,通过继承、共享或购买所需的知识产权内核,然后再利用EDA工具进行设计、综合和验证,从而加速芯片设计过程,使设计者避免重复的劳动和过于底层的考虑从而专注于整个系统的设计,提高设计的效率和正确性。降低开发风险。

IP Reuse已逐渐成为现代集成电路设计的重要手段, 在日新月异的各种应用需求面前, 超大规模集成电路设计时代正步入一个IP整合的时代。目前IP已得到了充分的发展, 我们可以很方便地购买到IP核并整合到SoC的设计中。

与ASIC比较起来, 可编程逻辑器件设计起来十分灵活、便捷, 可以缩短上市时间, 再加上可编程逻辑器件是按标准器件生产出来的, 规模效应使得成本十分低廉, 故而在半导体领域中可编程逻辑器件呈现出一枝独秀的增长态势, 越来越多地成为系统级芯片设计的首选也取代成为SOC设计的新趋势, 进而成为嵌入式系统设计的新的发展趋势。

(二)硬件开发

嵌入式技术在硬件上开始进入SOC阶段,目前,基于SOC技术的嵌入式系统设计主要有两种方法:基于ASIC的SOC以及基于可编程逻辑器件的SOPC。随着可编程逻辑器件的飞速发展,基于可编程逻辑器件的技术的优势也逐渐体现出来,设计快速、灵活,完备的软件开发平台,丰富的IP核等等,使基于可编程逻辑器件的SOC得到了越来越广泛的应用。

在SOPC中核心的部分就是嵌入式微处理器IP的设计与使用。NIOS CPU是Altera公司专门为SOPC设计的一种CPU,它以IP核的形式提供给嵌入式系统设计者。它的可配置特性给嵌入式系统设计带来了更大的灵活性,可以说它为嵌入式系统的设计提供了一种全新的思路。

1. NIOS II嵌入式处理器

当前有多种为嵌入式系统而设计的微处理器IP,如ARM、Motorola和MIPS等芯片公司设计的处理器系列。其中ARM公司设计的ARM系列IP核应用最为广泛,目前世界上大部分嵌入式系统芯片都采用ARM核,这些处理器主要为ASIC而设计的。为了实现SOPC的设计技术,FPGA生产厂商也推出了基于FPGA的微处理器IP核,其中Altera公司的NIOS应用最为广泛。

NIOS是一个处理器的核,系统设计者可以将它放入FPGA中,它只占芯片内部很少的一部分逻辑单元,成本很低。NIOS II嵌入式处理器是Altera公司于2004年6月推出的第二代用于可编程逻辑器件的可配置的软核处理器,性能超过200DMIPS。NIOS II是基于哈佛结构的RISC通用嵌入式处理器软核,能与用户逻辑相结合,编程至FPGA中。处理器具有32位指令集,32位数据通道和可配置的指令以及数据缓冲。它特别为可编程逻辑进行了优化设计,也为SOPC设计了一套综合解决方案。NIOS II处理器系列包括三种内核:一是高性能的内核 (NIOS II/f) ;二是低成本内核 (NIOS II/e) ;三是性能和成本折中的标准内核 (NIOS II/s) 。

NIOS II处理器支持256个具有固定或可变时钟周期操作的定制指令;允许NIOS II设计人员利用扩展CPU指令集,通过提升那些对时间敏感的应用软件的运行速度,来提高系统性能。

下列组件可用于生成基于NIOS II处理器的嵌入式系统:NIOS II CPU、Avalon总线、外围设备和存储器接口、片内调试模块。如图l所示。

2. NIOS II系统开发流程

NIOS II嵌入式系统的开发流程包括硬件开发和软件开发两大部分,硬件开发采用的是硬件描述语言 (HDL) ,软件开发通常采用C/C++语言,如图2所示。

硬件开发步骤如下:用SOPC Builder生成NIOS II处理器,用Quartus II将NIOS II处理器和其它逻辑电路结合进行设计输入,然后进行编译 (包括分析综合和布局布线) ,最后通过下载电缆将硬件配置数据下载到FPGA中。Quartus II设计软件是全面有效的SOPC设计环境,它将设计、综合、布局和验证以及第三方工具接口集成在一个无缝的环境中。包含在Quartus II设计软件中的SOPC Builder可以在SOPC应用中添加、参数化和连接嵌入式处理器、协处理器、外围设备、存储器和自定义逻辑等IP核,如图2所示。

(三)软件开发

软件开发采用的工具是NIOS II IDE (Integrated Development Environment) 。NIOS II IDE是NIOS II系列嵌入式处理器的主要的软件开发工具,设计者可以用NIOS II IDE完成所有的软件开发任务,包括修改、编译和调试程序,然后用Nios II Flash Programmer下载到开发板上的epcs或flash里面。

软件开发的步骤为:(1)新建C/C++项目工程;(2)在项目工程目录下添加头文件和主程序文件;(3)编写头文件和主程序文件;(4)编译 (Builder) ;(5)利用NIOS II IDE里面的Nios II Instruction Set Simulator (ISS) 来观察程序的执行结果;(6)下载到开发板中验证结果。

(四)实例应用

以GPS/GSM车辆监控系统为例来说明基于NIOS II的嵌入式系统的开发设计过程。

GPS/GSM车辆监控系统融NIOS II嵌入式处理器设计技术,GPS定位技术,现代通信技术和地理信息技术 (GIS) 于一体,为用户提供了精确高效的监控调度手段。它是通过安装在汽车上的GPS系统,接收天上的定位卫星向地面发送的信息,如经纬度、速度、方向、时间等,利用GSM作为通讯链路,把信息发往监控中心,在中心的电子地图GIS上实时地显示出来;同时监控中心的控制指令,如跟踪监听、断油、锁车等,也通过GSM网络发往汽车上的车载设备,从而实现了系统的交互运作。此系统设计的关键是用NIOSII嵌入式处理器作为终端系统中的微控制器来分析处理接收到的各种信息。系统结构框图如图3所示。

(五)结束语

随着可编程逻辑器件的飞速发展,基于可编程逻辑器件的技术的优势也逐渐体现出来,设计快速、灵活,完备的软件开发平台,丰富的IP核等等,使基于可编程逻辑器件的SOC得到了越来越广泛的应用。

随着可编程逻辑器件工艺的不断进步和开发工具的不断增强,FPAG将更加广泛地应用在各个领域,并将在更广泛的范围普及,成本和价格将不再成为我们拒绝在设计中采用FPGA的理由。基于的嵌入式系统设计具有的巨大优势,使其具有非常大的应用前景,将是未来嵌入式系统的主流实现方式。我们有理由相信,基于FPGA的可编程片上系统盛行的时代已经离我们不远了。

摘要:文章介绍了嵌入式系统的发展趋势以及基于FPGA的嵌入式系统的硬件及其软件设计流程, 并给出一个具体的设计实例。

关键词:嵌入式系统,FPGA,NIOSII处理器,SOPC

参考文献

[1]程长云.可编程逻辑器件与VHDL语言[M].北京:科学出版社, 2005.

[2]徐欣.基于FPGA的嵌入式系统设计[M].北京:机械工业出版社, 2005.

[3]郭书军.嵌入式处理器原理及应用-Nios系统设计和C语言编程[M].北京:清华大学出版社, 2005.

[4]NIOS II Processor Reference Handbook.www.altera.com.

嵌入式FPGA 第5篇

智能家居通常定义为利用嵌入式技术、网络技术和综合布线技术,通过家居控制器将与生活有关的各种子系统有机结合的系统。智能家居一般要求有三大功能单元:兼容性强的智能家居控制器;家庭布线系统设计;家居网络构建;在智能家居控制器的控制下,具有网络信息终端主动发布、获取和处理信息等功能,通过相应的控制单元和执行机构,实现对家居网络上家庭设备的控制和监测,实现家居系统的网络化、智能化和远程控制。

智能家居控制器可以运行于服务器,也可以运行在基于FPGA的嵌入式系统上。基于当前发达的网络资源、覆盖范围大的无线信号及终端设备功能的拓展,可以迅速的根据终端设备反馈的信息作出判断,同时通过控制器分析数据,并根据预设条件执行报警、记录、分析等动作。本文构建了一种实时并行的嵌入式智能家居控制器,该系统可以根据需要进行现场编程,利用硬件描述语言实现。完成数据验证、分析、处理、发送和保存,并通过接口传送至终端处理设备或通过INTERNET查看现场信息,从而提高家居控制器的覆盖面和灵活性。

2 嵌入式智能家居控制器系统原理

嵌入式智能家居控制器主要由Spartan-3A DSP FPGA处理器[1]、TMS320DM365数字媒体处理器、无线传感器节点、检测传感器、接口模块、终端设备以及客户端构成。由传感器采集并检测区域内数据信息,交由AC/DC进行数据转换;控制器负责传感器节点的总体操作,处理本身采集的数据以及由其他节点发来的数据或控制信息;射频模块负责该节点与其他节点之间的无线通信,相互交换由汇聚节点或其他上层发来的控制信息和收发所采集的数据;外挂电源模块供电。客户端包括固定监控端、移动监控端,可提供Web服务和手机短信提示模式。

3 硬件电路设计

3.1 视频信号采集电路设计

采用Spartan-3A DSP FPGA处理器、TMS320DM365数字媒体处理器配合构建可以同时进行4路H.264编码的嵌入式设计。Spartan-3A DSP FPGA作为主处理器,除负责完成音频编码、远程控制以及用户交互控制等一些基本的管理与控制外,还负责嵌入式操作系统的运行,可以完成安防、人体行为、等多项智能视频分析。TMS320DM365数字媒体处理器作为协处理器负责视频编码算法,两个处理器之间通过高速同步串行接口通讯,视频信号首先进入数字媒体处理器,采集编码后的码流发送到Spartan-3A DSP FPGA处理器,然后通过软体处理器分析和解码后送至客户端,并提供可编程的,更为复杂的符合客户需要的实时报警处理逻辑。通过节点的动态选择数据发送节点,并在数据发送节点间合理分配数据,实现高质量的媒体数据传输。

3.2 接口电路[1]设计

EXP是专门针对FPGA平台而开发的开放接口,主要使用High-Speed DAC EXP接口和High-Speed ADC EXP接口,Spartan-3A DSP中的增强型DSP48A Slice使其成为实现数字化前端处理的理想方案。数字上变频器(DUC)由两个多相插值FIR滤波器、一个CIC滤波器和一个峰均比衰减块组成,可以在Spartan-3A DSP FPGA中实现。输出侧驱动EXP模块上的高速内插DAC,进而驱动R F功率放大器进行传输。在接收侧,可用500 MSPS的ADC对IF信号直接取样,并将该信号传送到FPGA进行数字下变频(DDC)支持千兆速率的数据传输,在本次设计中结合控制器需要器接口电路设计主要是:

⑴提供84个用户I/O,接收来自红外入侵探测器、门磁窗磁、门铃门禁和多种检测传感器的安防警示系统的信号,为系统报警提供依据;输出控制信号,实现声光控制和报警控制;也可接受DVI、VGA、S-Video、组合视频、数码相机摄像头和音频输入,并产生D V I、VGA、LCD面板和音频输出。

⑵通过RS232总线接口接入多功能集中/远传自动抄表系统,可直接与数据采集器相连接,实现对4路基表输出的脉冲信号实时采集、自动处理和数据保存。

⑶通过USB接口接入优盘,提供数据存储功能、功能扩展预留;以ISPll61A1为核心,提供2路下行端口,1路上行端口,遵循USBv2.O规范。

⑷设置面板20键键盘接口,用户通过键盘或遥控器操作选择相应功能;

⑸市话接口:串接在外线和普通电话之间,接入市话网,接收电话控制指令,可自动拨打预设电话报警,亦可直接与110联网报警。

3.3 无线传感器节点[2]Imote2

Imote2是一款先进的无线传感器节点平台。它集成低功耗的PXA271 XScale CPU和兼容IEEE 802.15.4的射频芯片。该处理器可工作于低电压(0.85V)低频率(13MHz)模式,可进行低功耗操作。Imote2使用动态电压调节技术,频率范围可从13MHz达到416MHz。处理器支持几种不同的低功耗模式,如睡眠和深度睡眠模式。提供多种I/O,能够灵活的支持不同种类的传感器、A/Ds、射频器等。I/O设备包括:I2C,2个同步串口(SPI)其中一个连至射频器,3个高速UARTs,GPIOs,SDIO,USB Client和USB Host,AC97和I2S音频编码接口,1个红外接口,PWM,1个摄像头接口和1个高速总线(Mobile Scaleable Link)。处理器还包括多个定时器和1个时钟。PXA271包括1个帮助提高处理多媒体能力的无线MMX协处理器。此外,Imote2还增加了30条新(DSP)媒体处理器指令,支持队列及视频操作,并兼容Intel MMX和SSE integer指令。

3.4 客户端组成

家庭客户端分为有线模块和无线模块,无线模块可以通过不同传感器检测信号的变化,有线传感器输人可与TTL、集电极开路、开关型电路的前端探测器相连,与CPU通过光耦隔离,增加抗干扰性和保护FPGA输入端口。探测感应信号通过Imote2 I/O端口送至无线传感器节点平台。收发出的编码信号经无线接收模块解码后传送给Spartan-3A DSP FPGA软体处理器核心,信息处理后报送数据,可通过有线接口电路输出到固定监控端,与PC机连接,提供Web服务,并可触发室内报警电路;或通过接口将数据传送到移动监控端提供手机监控播放模式。

3.5 节点程序设计

图2节点为主程序框图。它描述了通用模块设计的基本流程,根据读入跳线的状态和读入存储器中设定的状态,决定本模块的作用及本模块的工作方式[5]。选定了工作方式以后,重新进行各自的初始化,主要包括I/O端口的配置、RS232中断的设置、验收滤波器的设置、总线工作方式设置、定时器方式设置、波特率设置以及相关设置。在完成初始化设置后,就可以回到工作状态,进入各自的主循环。

利用底层覆盖网提供的拓扑维护、资源定位等通信服务的基础上,动态选择数据发送节点,并在数据发送节点间合理分配数据,实现高质量数据传输。

3.6 系统总体框图设计

4 软件系统设计

4.1 程序结构图[3]

家庭控制器终端软件采用面向对象的多进程、多线程的程序结构以及并行设计模式。本系统对智能家居的控制、监测可通过远程或本地两种操作方式,在远程控制方式中,不需使用本地操作界面,为了提高系统运行效率,将程序分为用户应用程序和系统应用程序。

4.2 设计方法

采用自顶向下的设计流程,从系统级设计开始,划分为若干个二级单元,然后再把各个二级单元划分为下一层次的基本单元,一直下去,直到能够使用基本模块或者IP核[4]直接实现为止,如图5所示。可以有效地梳理设计层次,方便地查看某一层次模块的源代码以修改错误。

4.3 软件流程

从数据节点采集的数据通过EXP接口送至Spartan-3A DSP FPGA软体处理器分析、处理、分离和发送数据,实现数据的及时转换与存储,建立高速数据转换模式,其主控流程图和数据线程处理分别为图6和图7:

5 结束语

利用FPGA的并行结构,结合无线传感器节点的空间构建,建立基于Spartan-3A DSP的智能家居控制器系统可以高速实时处理、分析、显示监控对象,设备结构简单、节点动态分布、传输信号稳定。通过EXP端口和无线传感器节点平台定义可以设置不同的IO点满足最大范围的家居控制要求。在某小区经试用系统工作正常,完全能够达到用户需要。

摘要:利用无线传感器节点技术,结合FPGA嵌入式平台,本文设计一种智能家居控制器。该系统可以根据需要进行现场编程,利用硬件描述语言实现。完成数据验证、分析、处理、发送和保存,并通过接口传送至终端处理设备或通过INTERNET查看现场信息,从而提高家居控制器的覆盖面和灵活性。在某小区经试用系统工作正常,完全能够达到用户需要,具有较好的应用价值。

关键词:FPGA处理器,无线传感器节点,EXP接口,嵌入式技术

参考文献

[1]用Spartan-3A DSP入门套件开发应用原型,JimBeneke.赛灵思中国通讯,2007(,27):6-7.

[2]李洋,谢慧才.智能传感器Imote2运行环境的安装解析[J].山西建筑,2008(19):1-2.

[3]韩德强.嵌入式家庭控制器系统的设计与实现[J].电子技术应用,2008(3):23-25.

[4]鲁波涌,戴瑜兴.数字化社区网络型视频监控系统工程设计术[J],低压电器,2008(12):35-38.

嵌入式FPGA 第6篇

伴随着图像处理技术的快速发展, 图像处理系统的性能需求也在不断提高, 特别是在实时性上的要求[1]。基于PC或者工作站的图像处理系统, 常常不是一个可行的选择[2], 原因如下:应用对处理时间要求苛刻;CCD摄像机数据量太大。另外, 这类系统的资源有效利用率较低, 体积大而笨重, 功耗高, 不适合便携式应用场合[3]。

DSP是一种基于指令和代码的流水线处理器, 具有强大的数据处理能力和较高的运行速度, 采用C/C++或者线性汇编语言编程, 可以支持复杂的算法处理[4], 而FPGA则属于真正的并行架构[5], 不同的处理操作无需竞争相同的资源, 每个处理任务都可以不受其他逻辑块的影响自主运行, 因此FPGA具有强大的并行处理能力, 其现场可编程的属性也带来了更大的灵活性, 但是, FPGA不擅长复杂的算法处理和逻辑控制。本文基于DSP+FPGA架构构建了一个嵌入式图像处理系统, 使得DSP和FPGA可以发挥各自的特长, 协同处理, 与单独采用DSP或FPGA的系统相比, 本系统具有更强大的数据处理能力, 且更灵活、更通用。

1 系统架构

本系统采用DSP+FPGA架构, 原理方框图如图1所示, 其中DSP芯片采用TI公司单核最高性能的TMS320C6455 (简称C6455) [6]芯片作为核心处理器, 负责完成视频图像的复杂算法处理, FPGA芯片采用Altera公司的CycloneⅢ系列芯片EP3C55[7], FPGA作为DSP的协处理器, 负责完成图像的采集、显示和传输等辅助功能, 使得DSP可以专注于算法处理。

DSP和FPGA之间通过32位EMIF接口实现了高速同步无缝互联, 由图1可知, 本系统的动态存储器均采用DDR2 SDRAM, 其中C6455所带2片DDR2存储器用来存储图像和算法数据, 为C6455处理大数据量、复杂算法提供了保证。FPGA所带2片DDR2存储器用来存储捕捉的Camera图像数据, 以便VGA显示和DSP读取。FPGA采集的图像数据可通过EMIF和EDMA从FPGA所带的DDR2存储器搬运到DSP所带的DDR2存储器。

2 FPGA设计

本文FPGA的主要功能围绕着DDR2存储器的读写, 如图2所示。

相机负责向缓冲区写数据, VGA显示和DSP负责从缓冲区读数据。本文中的DDR2控制器工作于Full-rate模式下, 需要向DDR2 driver提供2倍数据宽度, 即64 b数据。本文对每个读写数据通道, 使用独立的FIFO进行不同时钟域之间的数据传输。从Camera Link[8,9]相机的LVDS接收器解码得到8 b图像数据, 在向Write FIFO写之前, 需要按8 B进行打包处理, 合并为64 b数据;而发向VGA显示的数据在从Read FIFO中读出后, 需要先经过拆包处理, 得到8 b图像数据后才能送给VGA Controller;从Capture FIFO读出的数据发送给DSP之前也要经过拆包处理, 将64 b数据拆为2个32 b数据后, 才能发送给EMIFA, 进行传输。为方便可视化验证算法处理结果, DSP算法处理结果可以通过Mc BSP发送给FPGA, FPGA接收到数据, 将其转换为可视的屏幕位置送给VGA Controller, 在屏幕上进行叠加显示。

本系统应用于近红外图像处理领域, 采用的CameraLink相机[10]输出分辨率为1 024×768, 帧率为30 f/s, 而一般的液晶显示器刷新频率为60 Hz, 为了将捕捉到的相机数据显示出来, 需要将30帧图像插帧为60帧, 但是显示时钟与相机时钟并不是同源时钟, 其帧率并不是严格的两倍关系, 这种相机和显示之间的异步时序关系如图3所示, 所以不能简单地将一帧图像显示2次;同时, 本系统的近红外图像算法处理时间根据图像的不同而具有不确定性, 并非每帧图像都能在一个帧周期内处理完成。基于这两个因素, 本系统没有采用常规的乒乓缓冲处理方式, 而是采用了三重缓冲解决了这两个问题。

所谓三重缓冲, 也即在DDR2存储器内开辟了三个缓冲:Buffer A, Buffer B和Buffer C。其中, 读写操作各占一个缓冲区, 第三个存储区作为中转, 先不考虑DSP从缓冲区读数据。

三重缓冲的示意图如图4所示, 假设当前缓冲区Buffer A正在进行写操作, 缓冲区Buffer B正在进行读操作, 缓冲区Buffer C则有2种可能:已写满 (FULL) 和已读完 (EMPTY) 两个状态。此时, 如果需要进行读写翻页操作, 即读复位信号或写复位信号有效时, DDR2驱动程序可按不同情况给出不同的操作, 如表1所示。

例如, 当读复位信号有效, 写复位信号无效时, 说明缓冲区Buffer A尚未写满, 而缓冲区Buffer B已经读完, 此时, 需要查询缓冲区Buffer C的状态, 如果缓冲区Buffer C处于“FULL”状态, 则读缓冲区将由当前的缓冲区Buffer B改为缓冲区Buffer C, 并将缓冲区Buffer B设置为“EMPTY”状态;如果缓冲区Buffer C处于“EMPTY”状态, 则将重新读取缓冲区Buffer B。

再考虑DSP从缓冲区读数据的情况, 为保证DSP任意时刻开始读数据, 总能读到最新的数据, 本文使用图像的场信号FVAL下降沿作为触发, 定位DSP读数据的缓冲区地址, 如果在下一个FVAL下降沿之前DSP始终未开始读数据, 则在新的FVAL下降沿时刻重新定位缓冲区地址, 反之, 如果DSP开始读数据了, 即使在FVAL下降沿未能读完, 也会继续读, 直到DSP读完数据, 再重新定位缓冲区地址, 按本文设计的方案, DSP会在很短的时间内完成读数据任务, 而如果在两个FVAL内, DSP一直未完成读任务, 则认为发生了错误, 读控制器会进行复位矫正。

DDR2驱动的读写控制以显示的行信号HD为周期, 周期性查询是否需要进行读写操作。其状态转移示意图如图5所示。

Signal TapⅡLogic Analyzer是QuartusⅡ自带的嵌入式逻辑分析仪, 与Model Sim软件仿真有所不同, 是在线式仿真, 可以实时捕捉和显示信号变化。图6所示是本文用Signal TapⅡ捕捉到的数据波形。

3 C6455软件设计

本文C6455的软件基于TI提供的抢占式多线程实时内核DSP/BIOS[11]进行开发, 网络部分使用了NDK[12]开发套件, 为了实现通过网络发送图像数据给计算机和接收来自计算机的图像数据, 使用了面向无连接的UDP协议, 相比TCP协议, UDP速度更快, 更适合应用。C6455软件主要包含三个部分:实时性最高的硬件中断线程 (HWI) ;采集线程和两个任务线程 (TSK) ;处理线程和通信线程, 流程图如图7所示。

4 实验结果

本文提出的基于DSP+FPGA的图像处理系统, 已经通过实验验证。图8展示了本系统图像处理算法连续运行500个周期的统计结果, 图中实线为连续10个相邻离散点的平均值。由图8可见, 本系统既可以使算法在超过一个图像帧周期的时间内运行, 又可以使连续一段时间内平均的执行时间近似为图像帧周期。本系统满足了数据量大, 算法复杂度高的系统需求, 相比乒乓缓冲, 本文所提出的三重缓冲具有更快的响应速度。

5 结语

本文提出的基于DSP+FPGA的图像处理系统, 采用DSP作为算法处理器, FPGA作为协处理器, 大大提高了系统的性能, 并增强了系统的适应性和灵活性。目前, 本系统的样机已经完成调试开发工作, 并得到了实验验证。实验结果表明, 本系统可适用于数据量大、算法复杂度高的应用场合, 整个系统采用嵌入式一体化设计, 运行稳定可靠, 体积小, 功耗低, 实用价值较高。

参考文献

[1]MOHAMED A, LAURENT P.Special issue on parallel computing for real-time image processing[J].Real-Time Image Processing, 2011 (6) :1-2.

[2]BIERENS L.Real-time embedded image processing on the PowerFFTTMprocessor[EB/OL].[2008-12-16].www.book118.com/nongye.

[3]HUANG SHIUH-JER, HUANG JIAN-CHENG.Vision guided dual arms robotic system with DSP and FPGA integrated system structure[J].Journal of Mechanical Science and Technology, 2011, 25 (8) :2067-2076.

[4]BENSRHAIR A, CHAFIQUI N, MICHEL P.Implementation of a 3D vision system on DSP4 TMS320C31[J].Real-Time Imaging, 2010 (6) :213-221.

[5]NATIONAL INSTRUMENTS.Introduction to FPGA Technology:Top 5 Benefits[EBOL].[2008-02-14].http://www.ni.com/white-paper/6984/en.

[6]Texas Instruments.TMS320C6455 fixed-point digital signal processor[R].USA:Texas Instruments, 2012.

[7]Altera.Cyclone III device handbook[R].[S.l.]:Altera, 2011.

[8]AIA.Specifications of the camera link interface standard for digital cameras and frame grabbers, Version 2.0[S].[S.l.]:AIA, 2012.

[9]PRINCETON INSTRUMENTS.Choosing the right interface?[EB/OL].[2008-09-24].http://www.princetoninstruments.com/Uploads/Princeton/Documents/TechNotes/Choosing_the_right_interface_PI_Article.

[10]JAI.Digital 2CCD progressive scan multi-spectral cameras AD-080CL user’s manual, Version 1.0[R].[S.l.]:JAI, 2012.

[11]Texas Instruments.TMS320 DSP/BIOS v5.42 user′s guide[R].USA:Texas Instruments, 2012.

嵌入式FPGA 第7篇

视频信息具有信息量大、传送带宽要求高的显著特点。要使视频得到有效的应用, 必须首先解决视频压缩的问题。H.264是目前国际上最新的数字视频编码标准。作为最新的视频标准, H.264具有三个方面的特点:一是注重实用, 采用成熟的技术, 追求更高的编码效率;二是注重对移动和IP网络的适应, 采用分层技术, 从形式上将编码和信道隔离开来;三是在混合编码器的基本框架下, 对其主要关键部件都做了重大改进, 如多模式运动估计、帧内预测、多帧预测、统一VLC、4×4二维整数变换等。相比以前的标准, H.264呈现出许多优势: (1) 更高的编码效率:与H.263+或MPEG-4相比, 在相同编码质量下, H.264可节省50%的码率; (2) 更好的网络适应能力:在H.264中, 视频编码层 (VCL) 和网络抽取层 (NAL) 是彼此分离的, 这样压缩后的视频内容可以在不同类型的网络上传输; (3) 更强的时延适应性:H.264可以在低时延模式下工作以适应实时通信应用 (如会议电视等) , 也可以在高时延模式下工作以取得最佳的压缩效果 (例如视频图像的存储) ; (4) 更强的容错能力:H.264包含差错消除工具, 便于压缩视频流在误码和丢包 (如移动信道或IP信道) 环境中传输, 提高了传输的健壮性。H.264的特点和优势使其将成为通信、数字电视及互联网视频应用首选标准, 因此对于H.264无论理论研究还是芯片实现都有一定的工程意义和实用价值。

本文方案:嵌入式处理器+硬件加速器;那些计算复杂度高, 运算量大的模块用专门设计的硬件模块加速器实现, 其它的用软件来实现;本文是用基于FPGA的嵌入式系统来实现H.264基本档次的译码器。

2. H.264解码结构

与早期的视频编码标准相同, H.264并不明确规定一个编解码器如何实现, 而是规定了一个编了码的视频比特流的语法, 和该比特流的解码方法, 各个厂商的编码器和解码器在此框架下应能够互通, 在实现上具有较大的灵活性, 从而有利于相互竞争。实际上, 只要遵从H.264标准的解码器都必然包含图2-1中各个最基本的功能模块。

H.264解码器从NAL接收到一个压缩后H.264压缩比特流, 经过熵解码后得到量化后的一组变换系数X, 然后经过反量化、反变换, 得到残差。利用从该比特流中解码出的头信息, 解码器产生一个当前宏块的预测块P, 预测块和残差相加后得到当前宏块的重构块uF'n, 组成一个图像的重构块经过滤波后组合成一个重建的图像F'n, 这个F'n就是最后的解码输出图像。

从解码器的解码流程可以看出, H.264解码器完全按照编码器重构路径对从NAL接收到的视频数据进行解码。这样就保证了编码端和解码端数据的一致性。

3. 硬件开发平台

本系统采用Xilinx公司的XUP Virtex-II Pro FP-GA开发系统, 其主芯片是XC2VP30, 该芯片是嵌入了两块PowerPC405硬核的Virtex-II Pro系列FPGA芯片。在XC2VP30芯片中, 可以使用两种32位嵌入式处理器内核:IBM PowerPC405嵌入式处理器硬核和MicroBlaze嵌入式处理器软核。硬核功能丰富, 频率高, 需要配置的单元少, 具有更快的数据处理能力且不占用FPGA逻辑资源, 因此本系统采用了PowerPC405处理器。系统设计架构如图3-1所示。

视频解码过程完全是在XC2VP30芯片内部实现的。利用EDK中的BSB快速构建基于PowerPC405硬核的嵌入式系统。首先根据设计流程提示设定参考时钟频率、处理器时钟、总线时钟及0CM (On-chip Memory) , 然后选取所用的外设即可。

在本系统中设定处理器时钟频率为300MHz, 总线时钟频率为100MHz。PowerPC405遵循1.5DMIPS/MHz及0.9mW/MHz, 因此本系统中PowerPC405的处理能力是450DMIPS, 功耗为270mW。

本系统还使用PowerPC405的16K数据Cache和16K指令Cache、RS232串口、SDRAM、SysACE_CompactFlash及plb_bram_if_cntlr。其中RS232接口通过RS232 mini_cable和null modem serial cable将主芯片与PC相连, 从而使开发人员可以利用RS232 IP核在PC终端软件上看到嵌入式系统运行时的解码信息;plb_ddr IP核将芯片与DDR SDRAM相连, 本系统采用256M DDR SDRAM, 用来存储系统运行时的临时变量和缓存帧数据;SysACE_CompactFlash用来存储视频文件和系统配置文件, 通过SystemACE控制器与OPB总线相连;plb_bram_if_cntlr完成对BlockRAM的控制, 保持CPU处于一个确定的状态。

开发系统除了上面给出的嵌入式硬件部分外, 还包括嵌入式软件部分。软件部分包括嵌入式系统软件和嵌入式应用软件两部分。本系统的系统软件主要指硬件驱动程序, 主要功能是底层硬件的初始化配置、硬件驱动等。这些设备的驱动程序经设置由EDK自动生成。本系统的应用软件主要功能是实现H.264视频文件的解码功能, 是代码移植的主要工作。

4. H.264解码器的移植

4.1 JM模型Baseline档次代码的提炼和冗余代码的消除

本文只实现Baseline档次的功能, 所以需要把有关Baseline层次的代码从JM标准模型中提炼出来, 也就是JM代码的剪裁。需要剪裁的主要部分有: (1) B帧的相关代码; (2) CABAC; (3) 加权预测; (4) SP和SI帧; (5) 场编码及其视频图像宏块自适应切换和帧编码 (MB-AFF) ; (6) 数据划分。

H.264参考版本JM8.6中包含了很多冗余代码, 在PC机平台上可以保留, 但是对于有限的嵌入式系统资源来说是极大的浪费。如大量用于跟踪的trace信息, 用于出错警告的assert信息和打印显示的printf函数, 都属于浪费计算时间和存储空间而且毫无用处的代码, 可以从JM8.6源代码中去除。

4.2 存储空间分配

嵌入式系统中, 每一个设备必须有一个唯一的地址或者地址段, 程序才能对其访问。PowerPC405处理器硬核提供4G的地址空间访问范围, 可用于访问总线上的Memory和IO设备。本设计中地址空间的分配, 如表4-1所示。

5. 运行过程

设计完成之后, 将其生成ACE配置文件放置CF中, 并将H.264测试视频序列一并放入。解码程序使用xilfatfs库中的systemACE操作函数打开选用的视频文件, 读取视频数据, 并进行解码, 解码之后的数据送至存储器进行保存。

6. 总结

作为新一代国际视频编解码标准, H.264/AVC以其较高的编码效率和网络友好性受到了人们的广泛关注。本文在PC平台, 实现了对H.264视频解码器的优化;并实现了到PowerPC的移植, 并实现QCIF格式的H.264视频文件的实时解码。

对H.264解码系统的设计, 采用PowerPC405处理器硬核作为主处理器, 用于对整个解码系统的流程控制和解码工作。与使用ARM或DSP实现H.264解码相比较, 除了系统所需的器件减少、系统的板上面积缩小, PowerPC405处理器硬核的速度优势也充分体现了此种设计的优越性。

摘要:随着H.264视频格式得到广泛应用, 对H.264解码的效率要求越来越高。如何在硬件资源有限的嵌入式环境下对H.264视频编解码算法进行实现与优化就非常重要。本文主要以JM8.6代码为参考, 在SoPC平台上对H.264基本档次解码器进行移植并进行优化, 以达到高效率实时解码的效果。

关键词:H.264,SoPC,FPGA,视频解码,移植

参考文献

[1]JVT.“Draft ITU-T Recommendation and Final Draft Interna-tional Standard of Joint Video Specification (ITU-T Rec.H.264|ISO/IEC 14496-10 AVC) .Geneva.27 May 2003

[2]Iain.E.G Richardson.H.264and MPEG-4Video Compression.The Robert Gordon University, Aberdeen, UK.2004

[3]H.264/MPEG-4Part10White Paper.www.vcodex.Com

[4]T.Wiegand.“Overview of the H.264/AVC Video Coding Stan-dard”.IEEE Transactions on Circuits and Systems for Video Tech-nology, 2003 (7)

[5]毕厚杰.新一代视频压缩编码标准—H.264/AVC.北京:人民邮电出版社, 2005

[6]刘峰.视频图像编码技术及国际标准.北京:北京邮电大学出版社, 2005

[7]沈兰荪, 卓力.小波编码与网络视频传输.北京:科学出版社, 2005

相关文章
化学助理员求职信

化学助理员求职信

化学助理员求职信(精选7篇)化学助理员求职信 第1篇尊敬的公司领导:您好,很是感谢您能抽出宝贵的时间能够阅读我的求职信,我从报纸上看...

1
2025-09-22
汉语比较句练习

汉语比较句练习

汉语比较句练习(精选8篇)汉语比较句练习 第1篇大连盼达汉语学校对外汉语课堂练习:学习比较句我:汉语教师安娅:中德混血小美女 南宫俊...

1
2025-09-22
化学课评语范文

化学课评语范文

化学课评语范文(精选8篇)化学课评语 第1篇对化学优质课的评语在学习、工作、生活中,大家对评语都不陌生吧,评语能激励被评价对象向更高...

1
2025-09-22
好玩的人民公园作文

好玩的人民公园作文

好玩的人民公园作文(精选16篇)好玩的人民公园作文 第1篇好玩的人民公园作文今天是一个阳光明媚的天气,我和妈妈一起去看参观南宁人民公...

1
2025-09-22
会计电算化内控制度

会计电算化内控制度

会计电算化内控制度(精选6篇)会计电算化内控制度 第1篇电算化会计环境下的内控制度构建有这样一则案例.上海某超市的经营者从2005年3月...

1
2025-09-22
湖北省卫生监督协管工作指南

湖北省卫生监督协管工作指南

湖北省卫生监督协管工作指南(精选6篇)湖北省卫生监督协管工作指南 第1篇湖北省卫生监督协管工作指南第一节 卫生监督协管职能定位卫生监...

1
2025-09-22
环保节约绿色征文范文

环保节约绿色征文范文

环保节约绿色征文范文(精选6篇)环保节约绿色征文范文 第1篇让我们节约用电用水——让我们行动起来电对人们来说是非常重要的,人们在生活...

1
2025-09-22
淮南案例分享范文

淮南案例分享范文

淮南案例分享范文(精选8篇)淮南案例分享 第1篇经典销售案例时间: 2014.2.19 地点:中国银行淮南体育场支行人物:华夏人寿淮南银保营...

1
2025-09-22
付费阅读
确认删除?
回到顶部