网站大量收购独家精品文档,联系QQ:2885784924

基于32位单片机嵌入式系统设计.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于32位单片机嵌入式系统设计 摘要:针对国内32位单片机在工业自动化领域产 品设计中的普及使用,结合国外先进实时多任务系统以及传 统前后台系统的优点,设计一套由多任务调度机制和前后台 中断触发机制相结合的实时操作系统,自动完成任务调度, 及任务状态统计分析,通过搭建统一工业级软件运行平台, 增强产品的模块化设计,提高产品功能安全性能。 关键词:32位单片机;工业自动化;实时多任务系统; 前后台系统;统一工业级软件运行平台;模块化 中图分类号:TP368. 1 随着32位单片机功耗及成本的降低,其在工业控制领 域的使用正在逐步普及。由于32位单片机提供给了工业级 智能型产品开发者更多的内存空间及外设资源同时具有更 快的处理速度,更高的运行效率,并且与DSP控制器逐渐同 治化,在控制及信号处理领域很有发展前景;在32位单片 机前,由于性能的局限性,对每个基于单片机的产品的开发, 更多的是考虑如何使用有限的存储空间以存储数据和程序, 如何改进算法使得单片机能跑得起来而又不影响实时性。因 此每款产品的系统架构几乎都是独立的,是基于该产品的功 能定制的,使用的单片机类型也多种多样,不具备通用性, 在后期移值和借鉴方面存在很大的困难;随着32位单片机 进入工业控制领域,其存储空间大,运行速度快,功耗低, 可控外设多等优势突现出来;使得软件系统架构的标准化、 规范化得以实现,就如同民用PC操作系统一样,使得所有 应用开发者有机会在一个统一的稳定的平台下,采用同一规 范开发不同种类的应用程序,实现不同的功能;将功能的实 现和系统分离,得以保证系统的稳定性,使产品开发者不再 为每款产品搭建低层系统架构,可以专注于产品的功能需求 和功能应用的开发;我们通常将32位单片机中采用的系统 称为嵌入式系统; 嵌入式系统通常采用两种模式,第一种是前后台系统 (也叫超循环系统);第二种是多任务系统;这两个系统各 有优点,前后台系统在工业产品方面特别是工业现场仪器仪 表类产品比较常见,工业化智能产品功能相对单一通常用于 采集传感器信号进行前期处理后将数据信息远传给控制系 统,同时只需要处理几件具有前后因果关系的关联事务,而 主要强调系统的安全性及可控性,系统注重在某个固定的时 间点,执行/完成某个固定时间段的任务,某项任务必须在 另一项任务完成后开始执行,否则属于无效任务;多任务系 统在民用产品以及二次仪表和控制系统中采用交多,具有可 以同时并行处理多项互不相关的任务的能力,能够提供多元 化的功能配置,相比前者系统逻辑控制比较复杂,特别是在 任务间信息传输和任务见内存分配上,及任务调度机制方 面,对开发者各方面具有较高的要求,在多任务系统上开发 产品需要循序渐进,要很熟练的掌握系统的性能需要交长时 间的学习和使用; 因为32位单片机在商业领域推广已经十几年了,目前 国内采用的由几家国外大公司开发的多任务操作系统技术 方面已经比较成熟,对现有多任务嵌入式系统版本的更新也 多是围绕可执行更多的任务数量,任务优先级数量,任务调 度方法,系统检测能力,信息传输方法等方面;而工业控制 领域从2011年开始普及32位单片机,因此国内/外仪器仪 表生产企业对工业控制产品软件系统架构还没有统一的开 发标准;本文就根据国际上对工业产品软件质量及功能安全 标准相关要求,结合作者自己在仪器仪表产品开发过程中的 实际应用,对工业产品软件系统规范化进行研究; 本文结合Ucos多任务系统以及前后台系统的优点,搭 建了一套由多任务调度机制和前后台中断触发机制相结合 的实时操作系统,该系统采用标准C语言编写,去除了不同 单片机及编译器的相关性,可直接用于各型号32位单片机 和高性能16位单片机的应用软件开发;通过加入少量指令 也可以用于如电池供电型产品的超低功耗应用; 首先将系统的任务处理机从功能模块中独立出来;任务 处理机作为系统的核心,主要功能是任务调度,以及任务运 行状态分析处理;它并不关心任务具体完成的功能,只是确 保各任务能够按照开发者提供给系统的任务配置正常运行, 并统计输出具体的性能参数,给任务提供一个稳定的运行平 台同时方面开发者读取个任务运行状态,减少任务开发过程 中的不确定性;开发者只需要将功能需求,以任务的形式提 交给系统,简单配置任务的优先级别,以及响应时间,系统 自动运行并反馈任务状态,帮助开发者对任务进行优化;一 个任务必须对应一个功能模块;而一个功能模块可以设计多 个自任务;为了结构简单,逻辑清晰每个功能模块最好将任 务数保持在三个以下;同一个功能模块下的任务之间的通 信,可通过模块内部变量直接完成;不同功能模块下的任务 之间的通信,可通过模块提供的接口完成;这样可以优化系 统的模块化配置,减少某功能运行出错带来不确定因素;每 个功能模块相互独立,有各自的初

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档