当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]改善嵌入式系统实时效能的新途径

在这个日趋复杂的世界,对于嵌入式处理器的要求也愈来愈高。去年也许使用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的介入。
 

[!--empirenews.page--]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可以完全将重心放在主要资料的处理。

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

联发科下一代旗舰芯片天玑9400的传闻近期在数码圈掀起了不少讨论。知名博主数码闲聊站爆料称,为确保天玑9400在性能和能效上占据优势,联发科深入参与了Armv9“Blackhawk黑鹰”CPU架构的设计,并指出这种新架构...

关键字: 天玑9400 CPU

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

“实现机器人操作系统——电机控制器ROS1驱动程序简介”一文中概述了新型ADI Trinamic™电机控制器(TMC)驱动程序,并讨论了将电机控制器集成到机器人操作系统(ROS)生态系统中的方法。TMC ROS1驱动程序...

关键字: 电机控制器 机器人 嵌入式系统

5月11日消息,Arrow Lake、Lunar Lake还没有发布,Intel再下一代处理器Panther Lake的消息就传出来了,CPU方面没啥惊喜,GPU又一次要飞跃。

关键字: GPU CPU 芯片

美光再创行业里程碑,率先验证并出货 128GB DDR5 32Gb 服务器 DRAM,满足内存密集型生成式 AI 应用对速率和容量的严苛要求

关键字: AI 数据中心 内存

Optiver通过包括EPYC CPU、Solarflare以太网适配器、Virtex FPGA和Alveo加速卡在内的高性能AMD解决方案搭建其业务基础

关键字: CPU 数据中心 以太网

利用LogiCoA™微控制器,以更低功耗实现与全数字控制电源同等的功能

关键字: 微控制器 电源 CPU

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统
关闭
关闭