改善嵌入式系统实时效能的新途径

发布者:CrystalClear最新更新时间:2006-05-29 来源: CE china关键字:微控制器  兼容  实时 手机看文章 扫描二维码
随时随地手机看文章

  在这个日趋复杂的世界,对于嵌入式处理器的要求也愈来愈高。去年也许使用128k的程序及4个实时处理绪列便足以执行应用程序,但是今年的产品规格已将所需内存提升为两倍,中断处理提高为三倍。要处理的信息本质似乎非常稳定-其实远比您想象的还要多!去年的微控制器必须在两个通讯总线上处理25笔4位的讯息,而今年已经必须要在4个通讯总线上处理200笔4位的讯息。在面对这种不断升高的工作负荷时,自然倾向寻求更强大的处理器来执行工作。一般来说处理器效能的传统趋势是提升速度及数据总线,所以一个8位处理器可从8MHz提升到16MHz,一个16位的装置升级为一个32位的装置。但是,两种作法都必须付出应用上的成本。更快的装置可能消耗更多的电力,而且较不符合EMC的要求,更大的位宽度则会造成先前的软件投资优势尽失,并导致更多的冗余(例如使用32位的缓存器来处理4位的资料)。

  飞思卡尔半导体(前身为Motorola半导体产品部门)了解这个持续的趋势,因此在其新研发的S12X架构中采用创新的方法,可兼顾效能的提升与向后兼容性,并专注在效能提升的问题。这个新设计可在需要之处提升处理器的效能,也就是能实时处理信息。

  动态内存存取(DMA)

  改善系统实时效能的一个熟知的方法是,额外提供一个逻辑模块,在事件发生时产生响应,并允许处理器在较方便的时间来处理信息。这个DMA控制器通常将传送到模块的信息复制到内存(RAM),并允许已处理的信息自动从内存移到外部外围装置。所有这些工作皆独立于目前的CPU活动-详见图1。这种方式肯定有所助益,但其效益仅限于延迟必然发生的事件-CPU还是得在某一时间处理信息。S12X采用一个根本的方法,即提供「智能型DMA」控制器,不只移动资料,同时直接执行所有的处理工作。如图2所示,这个新的XGate可以从外围装罝撷取信息,连同其它资料(例如内存中的资料)一并处理,然后传送到另一个外围装置,其间完全不需CPU的介入。


  XGate

  XGate控制器已完全整合到新推出的MC9S12XDP512微控制器-畅销的飞思卡尔半导体S12家族最新成员。XGate是一个可程序的16位RISC核心,极适用于实时及DMA类型运作。与S12X装置的整合意谓从微控制器的任何一个外围装置传来的中断都可以由主CPU或XGate处理。XGate可以:(1)读写所有外围装置及内存:(2)读取闪存(flash)中的信息。

  可设定以执行复杂的工作
  为了让XGate达到最大效能,其主要程序通常储存位于内存中。这使得80MHz的时脉可应用于控制器,相对于S12X CPU只需使用40MHz。而且,S12X架构不同于传统的DMA,可保证XGate每一个CPU周期至少可存取内存一次。

  XGate编程

  如要让「智能型DMA」更为实用,必须使它容易编程。在理想的环境下,软件工程师应该能够导入以C语言编写的既有程序代码,并针对DMA重新组译。基于这个原因,XGate选择16位RISC机器作为程序撰写模式,并有适用于C语言程序的指令集。

  一般的系统完整性检查系透过CRC16计算,也就是对一组资料模块进行多项式计算,并透过产生最终检核码的值,来确认内存内容符合预期。这种算法可利用周期性的中断来呼叫。飞思卡尔S12 MCU的这种算法之典型建置如图3所示。在S12X上,此一算法可在XGate定期重新组译及执行,其好处是系统设计者可在CPU上执行更多处理,却不会降低系统检查的效益。XGate不仅释放CPU给其它活动,同时还使这个简单算法的执行时间,获得了4倍的惊人改善。这也让设计者可以在相同期间所执行的CRC演算次数高4倍,藉此改善系统的自我检查能力。值得注意的是,这项革命性的架构方法,仅透过简单的重新组译及重新导向周期性的中断,便可带来这些重大的优点。


  S12X的自动化应用

  大多数汽车应用对实时效能的要求都很高,通常超过模块的实际功能。例如汽车的仪表板必须可以显示车辆目前的状态,同时可接收并处理从传感器传来的实时讯息。由于XGate不仅可以接收这项信息,还可予以格式化并储存,因此CPU可用来响应驾驶人互动的时间便大量增加,更可减少显示器可能出现的噪声干扰。

  根据广泛使用的S12架构,这种双重方法的好处就非常明显了。

  大多数现代化汽车都是利用通讯网关来允许不同的通讯网路互传讯息。此外,网关还可以执行其它功能。XGate可以在大约4μs内执行一个典型的网关工作(检查CAN ID,储存于内存,然后复制到传送缓冲器(transmit buffer)中),而S12需9μs。这表示使用XGate,CPU可储存高于9us的中断。对一个具有5个CAN网络完全满载的非常忙碌连接网关而言,它可节省超过20%的CPU处理能力,却仅用到XGate的10%。

  对于一个更复杂的网关而言,要将个别位字段或讯号在多个CAN上进行路由传送,XGate的处理速度通常可高于每秒处理35000 则讯息。

  利用软件建立自订的解决方案

  标准的嵌入式软件设计活动就是建立硬件外围装置的软件版本。典型的实例包括运用I/O建立一个序列通讯端口,或额外的PWM信道。S12X架构藉由建立高度复杂的「虚拟外围装置」,让这种设计方法迈入新的层次。由于CPU的实时响应不受外在事件的影响,它可在配有一个基本CAN模块的装置上,直接建置完整的CAN节点,从标准的串行端口建立LIN模块,从单一的定时器提供40个 PWM信道,还可提供其它变化的方式。由于这些变化完全由软件控制,便可以混合及搭配各式组合。需要3个32个信箱的CAN模块及2个8个信箱的模块?没问题!和另外一种将所有模块都建置在硬件中的方法相比,这简直是莫大的妙用,后者恐怕必须用到所有架构内的可能配置, 成本也会大幅增加。?

   简化实时设计

  除了提供改善的实时效能,这种双重架构途径也可为实时软件设计者带来意想不到的好处。许多架构式分析及设计工具依赖设计者将资料流处理与实时或控制处理分开。这个方法可以简化高阶设计,但却隐藏了在建置时潜藏的效能问题。有了S12X,设计者可轻易确保实时处理不会互相冲突,因为主CPU可以完全将重心放在主要资料的处理。

关键字:微控制器  兼容  实时 引用地址:改善嵌入式系统实时效能的新途径

上一篇:基于IIS总线的嵌入式音频系统设计
下一篇:VxWorks应用技巧两例

推荐阅读最新更新时间:2024-05-02 20:24

基于PIC单片机的新型冲水器的设计
  1. 引言   传统的手按式厕所冲水器冲水系统采用的是全机械构造,冲水时需要人工手按,既浪费了时间和水资源,又因手的接触而造成不卫生,还会因忘记冲水而造成环境污染,为适应日益加快的现代生活的节奏,节约水资源,创造一个干净、舒适、卫生的环境,稳定、可靠、方便的感应式冲水器亟待出现,特别是在大型商场、车站、学校等人员流动比较大的卫生间,节水型感应式冲水器显得尤为重要 。   然而,一般的感应式冲水器因其硬件电路的设计、单片机的选择及冲水阀门的选择不是非常恰当,会造成制造成本高,电量消耗大,易出现误感应、不冲水等不稳定因素,不仅浪费了能源还给使用者造成一些不必要的麻烦。针对这些问题,我们设计了一套制造成本低且稳定性高的冲水系统。
[单片机]
基于PIC<font color='red'>单片机</font>的新型冲水器的设计
PIC单片机与PC机串行通信模块的电路设计
单片机只使用了异步通信的接口的两个引脚RC6和RC7,将RC6设置为发送线,RC7设置为接收线。这两引脚 电平经过MAX232转换,接至PC机的串行通信接口的RXD和TXD。MAX232的引脚功能如表1所示。芯片+5V供电 ,片内集成了+5V~+10V和+10V~10V的DCˉDC变换器,电平满足EIA电平的要求。接线时应将单片机的地 与PC机串行接口的GND引脚相连,即单片机与PC机共地。   表1 MAX232引脚功能   DB-9连接器如图1所示,作为提供多功能I/O卡或主板上COM1和COM2串行接口的连接器,它只提供异步通信的9个信号 图1 MAX232管脚   DB-9连接器的引脚定义如表2所示。   表
[单片机]
PIC<font color='red'>单片机</font>与PC机串行通信模块的电路设计
数字RF改变整个RF测试仪器格式
  引言   在采用了一流的突破性的技术后,现在实时频谱分析仪似乎准备严峻挑战传统扫频分析仪和矢量信号分析仪。实时频谱分析仪从一开始就提供独特的实时功能,但同时只提供了传统频谱分析的基本单元,而现在最新实时频谱则同时融合了实时频谱分析仪与传统频谱分析仪的最佳特点,这是否会使整个局面改观呢?   发展历史   五年前,大多数信号分析仪要么是扫频分析仪,拥有完美的动态范围,但用来分析复杂的信号,带宽过窄;要么是矢量信号分析仪,拥有较宽的带宽,但动态范围过小。当时,大多数工程师只需选择前一种产品或后一种产品。然而有一些用户既需要频谱测量,又需要调制分析。这时,泰克推出了RSA2200A和RSA3300A实时频谱分析仪产品,这些分析
[测试测量]
基于单片机的无人机真空速测量系统设计
真空速是指飞机相对空气运动时所具有的真实速度,它是飞机安全飞行的重要参数。准确的真空速数据信息对于提高飞行的安全性、准确性和经济性起着相当大的作用。飞机相对于空气运动时,可根据运动的相对性将飞机看作不动,而空气是以大小相等,方向相反的流速流过飞机。真空速无法直接测出,只能根据大气静压和动压间接计算出来。本文介绍了一种基于C8051F352单片机的无人机真空速测量系统的设计,该系统测量结果的相对误差小于4%,能够满足无人机飞行控制系统的精度要求。 1 测量原理 无人机的真空速通常跟大气静压和动压有关,对于飞行高度不超过11 000 m,飞行马赫数不大于1的情况,真空速可由公式(1)计算: 式中,PH为对应高度的大
[单片机]
基于<font color='red'>单片机</font>的无人机真空速测量系统设计
基于AT89S8252单片机的水文缆道测验系统设计
  缆道测流是根据我国国情独创的一种测流方式,特别适用于测流断面容易变化的天然河床的断面面积和平均流速的测量,是目前其它测流方法不可取代的。水文缆道测验本身,是一个复杂空间系的动态变化过程,如缆道弹跳、机械运动惯性,流速的变化等因素都影响流量测验的精度,而且是一个随机变量,把这些主要变量建立成数学模型,编制相应的程序,输入微机,由微机自动运算调整,而得到正确的结果,这样就会大大提高水文测验的精度,又能及时地提供成果资料。   经过近50年的发展,水文测流已形成以缆道测流为主,特别是缆道测流技术,近几年发展迅速,基本可形成标准化建设的条件,如缆道架设已从多样化发展到基本采用开口游轮省力方式;水文绞车已从手摇、皮带联连到滑差调速电动驱动
[单片机]
基于AT89S8252<font color='red'>单片机</font>的水文缆道测验系统设计
一种基于51单片机利用74HC595驱动数码管的技术
基于51单片机利用八个数码管花样显示如下: xxx11xxx→xx2222xx→x333333x→44444444→x555555x→xx6666xx→x777777x→88888888 每个状态各一秒,显示反复循环,其中x表示对应的数码管熄灭 问题补充:是共阳极的数码管,利用595芯片驱动的。采用C语言。 =================================================== 最佳答案:程序设计完毕,采用PROTEUS仿真截图如下。 程序如下: //============================================= #include #define uint uns
[单片机]
一种基于51<font color='red'>单片机</font>利用74HC595驱动数码管的技术
51单片机系列连载5—定时器
在上一节中我们提到,中断最明显的应用就是定时器,接下来就介绍一下定时器,实际上定时器就是一种计数器,定时/计数器的实质是加1计数器(16)位,由高8位和低8位两个寄存器组成,主要是TMOD与TCON这两个寄存器。 TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 首先,说一下TMOD寄存器,它的低四位用于T0,高四位用于T1,其格式如下: 其中,GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同
[单片机]
单片机学习笔记——中断原理及应用
单片机中断原理(外部中断) 中断概念: 中断发生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理。 中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B。 中断返回:待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A。 这一过程被称为中断。 中断过程示意图: 一些关于中断过程的名词: 中断源:引起CPU中断的根源。 中断源向CPU提出中断请求。 断点:原来被中断的地方。 中断系统:实现上述中断功能的部件。 80C51中断系统的结构: 5个中断源(8052有6个),2个优先级。 可实现二级中断嵌套。 结构如下图: 中断过程: I
[单片机]
<font color='red'>单片机</font>学习笔记——中断原理及应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved