实时嵌入式系统在工业控制中设计和应用.docVIP

实时嵌入式系统在工业控制中设计和应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实时嵌入式系统在工业控制中设计和应用

实时嵌入式系统在工业控制中设计和应用   摘 要: 介绍工业控制领域中实时嵌入式系统的设计,对选择操作系统和实时化改造方法进行阐述,Linux最近几年被作为开发嵌入式系统的有力工具,但它无法满足实时性方面的要求,严格的时限需求带来的问题可以通过实时性扩展得到解决,对出现的问题和解决方法进行阐述,给出工业控制领域中实时嵌入式系统的硬件和软件框架。   关键词: 嵌入式系统;实时;工业控制   中图分类号:TP273.5 文献标识码:A 文章编号:1671-7597(2011)1120106-02      0 引言   实时嵌入式系统是一种特殊的嵌入式系统,因为系统的行为不仅取决于计算的逻辑结果,而且依赖于结果的按时完成[1]。实时嵌入式系统主要用于满足高性能、高可靠和低造价的控制需求。   1 实时性的分类   实时系统一般可以分为“硬实时系统(Hard Real-time System)”和“软实时系统(Soft Real-time System)”。   2 实时操作系统的选择及实现   为了确保高性能,实时嵌入式系统必须运行在实时操作系统之上。使用Linux可以节省市场化时间,快速开发源代码,而且成本低,有丰富的实用软件支持[4]。   2.1 Linux操作系统的不足   虽然增加了对实时性的支持,但Linux还是不能作为实时操作系统,尤其不能作为硬实时系统,其原因主要有以下几点:   1)Linux内核本身是非抢占式的。对实时性任务,只有抢占式内核才能保证系统在最短的时间内做出响应。   2)时钟颗粒度粗糙。任务的执行和中止在很多情况下都是由时钟直接或间接唤起的,它还是进程调度的重要依据。   3)中断处理机制。足够快地中断响应和迅速地中断服务程序处理是衡量实时系统的重要性能指标。   2.2 Linux实时化改造的方法   为了获得实时兼容性,目前主要有两种方式:采用双内核和对标准Linux内核打补丁[2]。   2.2.1 双内核方法   在原有Linux基础上增加一个实时内核,从底层硬件发出的中断请求,由实时内核接收,然后由内核根据需要向普通进程或实时进程提交。   双内核方案的优点是保证了实时进程的性能,缺点是破坏了内核的完整性,双内核结构比较复杂,实时进程的调试也很困难,用户态与内核态之间的切换开销还是难以降低。   2.2.2 对标准Linux内核打补丁方法   根据实际需要对Linux打补丁可以从可抢占式内核、实时任务调度策略、优化中断处理过程和细化定时器颗粒等几个方面进行。   1)可抢占式内核:抢占式补丁是MontaVista Linux提出的,抢占式补丁修改了内核代码中的SPIN_LOCK宏和中断返回代码,因此可以安全地抢占当前进程,进行调度重新排队。   2)实时任务调度策略:常用的实时调度算法有:优先级驱动的调度算法(priority-driven scheduling,PD)、时间驱动的调度算法(time   -Driven scheduling,TD)、共享驱动的调度算法(share-driven sched   uling,SD)。   3)优化中断处理过程:Linux内核对外部中断都是开启的,采用中断处理方法。这样既可以及时有效地处理实时中断,又可以避免系统陷入频繁的中断处理中,将一些非实时中断作为任务进行调度处理。   4)细化定时器颗粒:实时嵌入式系统中必须存在一个高精度的定时信号来产生系统的定时事件,高频率的定时信号可以用实时时钟RTC(Real   Time Clock)来产生。RTC的频率可以从最慢2Hz到最快8192Hz,以平方递增[2] 。   在嵌入式系统中,定时器设定的一般原则是:不要求系统在每一个微秒都产生中断,而是在任何一个微秒都能允许发生中断。这就要求定时器一般都设定为一次模式,而不是周期模式,即定时器的时钟频率不必固定,仅需设置为下一个事件要发生的时间。或者采用一次模式和周期模式结合的方式;或者采用两个定时器,一个设定为周期模式,另一个设定为一次工作模式[3]。   3 硬件选择和开发   实时嵌入式系统的硬件架构主要由CPU模块、DSP模块、FPGA模块、MCU模块、数据转换模块、I/O模块、驱动模块等组成。   3.1 嵌入式处理器   作为核心设备,嵌入式微处理器可以选择8位、16位或32位。在32位的嵌入式系统应用中,ARM获得了相当大的成功。   实时嵌入式系统一般包括两种处理器:普通任务处理器和专门实时处理器。   3.2 FPGA模块   FPGA具有高处理特性,主要用来收集数据、I/O功能和修补控制。FPGA模块组包括FPGA、配置接口、下载接口和并行接口,下载接口用于

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档