首页 单片机抢占式实时多任务处理的简易实现方法

单片机抢占式实时多任务处理的简易实现方法

举报
开通vip

单片机抢占式实时多任务处理的简易实现方法单片机抢占式实时多任务处理的简易实现方法 经验交流 () 文章编号 :1671 - 251 X 200912 - 0079 - 04 单片机抢占式实时多任务处理的简易实现方法 邹哲强 ()煤炭科学研究总院常州自动化研究院 , 江苏 常州 213015 摘要 :提出了一种采用软件扩展中断技术的简易实时多任务调度程序设计方法 ,详细介绍了 1 个调度程 序和 4 个系统调用即软中断触发调用 、硬中断进入调度 、硬中断退出调用及陷阱调用的实现 ,并给出了相应 的程序框图 。该软中断单片机抢占式实时多任务处理方...

单片机抢占式实时多任务处理的简易实现方法
单片机抢占式实时多任务处理的简易实现方法 经验交流 () 文章编号 :1671 - 251 X 200912 - 0079 - 04 单片机抢占式实时多任务处理的简易实现方法 邹哲强 ()煤炭科学研究总院常州自动化研究院 , 江苏 常州 213015 摘要 :提出了一种采用软件扩展中断技术的简易实时多任务调度程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 方法 ,详细介绍了 1 个调度程 序和 4 个系统调用即软中断触发调用 、硬中断进入调度 、硬中断退出调用及陷阱调用的实现 ,并给出了相应 的程序框图 。该软中断单片机抢占式实时多任务处理方法具有核心程序短 、效率高 、使用简单等优点 ,适合 于单片机级的应用 。 关键词 :单片机 ; 实时 ; 多任务 ; 调度 ; 软中断 ; 硬中断 ; 抢占式 中图分类号 :TD672文献标识码 :B Si mp le Imple me nt atio n Met ho d of Pree mp tive a nd Real2ti me M ul tit a sk Proce s si ng fo r Si ngle2c hip Microco mp ut e r ZO U Zhe2qia ng ( )Cha ngzho u A uto matio n Re sea rc h In stit ut e of CCR I. , Cha ngzho u 213015 , Chi na Abstract : The p ap e r p ropo se d a de si gn met ho d of si mp le real2ti me multit a sk di sp at chi ng p ro gra m u si ng sof t wa re e xp a ndi ng i nt er r up tio n t ec h nolo gy , i nt ro duced i mp le me nt atio n of o ne di sp at c hi ng p ro gra m a nd fo ur syst e m’s di sp at chi ngs na mel y t ri ggeri ng call of sof t wa re i nt e r r up tio n , call i n of ha r dwa re i nt er r up tio n , call o ut of ha r dwa re i nt er r up tio n a nd call t rap , a nd ga ve co r re spo ndi ng p ro gra m dia gra ms. The met ho d ha s a dva nt a ge s such a s sho r t co re p ro gra m s , hi gh efficie ncy a nd si mp le to u se , w hic h i s suit a ble fo r app licatio n of si ngle2c hip microco mp ut er . Key words : si ngle2c hip microco mp ut er , real2ti me , multit a sk , di sp at c hi ng , sof t wa re i nt er r up tio n , ha r dwa re i nt e r r up tio n , p ree mp tio n 多任务调度的思想自己开发一种简单而实用的多任 [ 3,4 ] 0 引言 务处理方法。参考文献 [ 3 ] 提出了一 种 基于 优 先权但非抢占式的任务调度方法 ,参考文献 [ 4 ]采用 实时性是单片机程序设计的基本要求 。为了满 了一种基于时间片管理思想的多任务处理方法 。本 足 复 杂 的 实 时 控 制 要 求 , 一 些 实 时 操 作 系 统 文提出了一种抢占式实时多任务处理的简易实现方 ( ) R TO S被 引 入 到 单 片 机 控 制 装 置 中 , 典 型 的 如 [ 1,2 ] 法 ,因抢占式的任务调度方法被公认为实时性最高 μC/ O S2II。但是 ,实时操作系统虽然功能强大 , 的方法 ,所以本文提出的方法对单片机应用的实时 但占用资源多 、移植工作量大 。由于大多数的单片 性要求具有更好的适应性 。 机应用并不要求具有复杂的操作系统功能而只需要 较高的实时性 ,所以 ,很多应用场合是开发人员利用 1 用软中断实现实时多任务处理的基本思想 实时多任务调度就是多个任务按照一定的规则 收稿日期 :2009 - 08 - 26 依次占有 C PU 时间 , 各 个任 务 在就 绪 、执行 、阻 塞( ) 作者简介 :邹哲强 1962 - ,男 ,高级工程师 ,煤炭科学研究总院 常州自动化 研 究 院 副 院 长 , 长 期 从 事 煤 矿 自 动 化 技 术 研 究 工 作 。 3 个状态间变换 ,如图 1 所示 。阻塞状态的任务对 E2mail :zzq @ca ri . co m. cn 应于中断源没有触发的任务 ; 就绪状态的任务对应 工矿自动化 2009 年 12 月 ?80 ? 态下执行 。 于中断已经触发但中断级别较低 、暂时停止执行的 任务 ;而执行状态的任务对应已触发中断中优先级 最高的任务 。从宏观上看 ,会有多个任务都在“尚未 完成”状态 ,故称为多道程序的“并发”运行 。当高级 任务获得资源进入就绪状态时低级任务就从执行状 态退出到就绪状态 ,让高级任务执行 ,这称为抢占式 任务调度机制 。 图 1 就绪 、执行 、阻塞之间的状态关系示意图 中断技术本质上就是一种抢占式的实时多任务 调度方法 ,每个中断服务程序就是一个任务 ,但由于 硬中断源数量和优先级别不能改变的限制 ,使得仅 靠硬中断难以满足复杂的实时性要求 。如果能够使 用软件方法扩展中断源的数量和灵活定义中断源的 优先级别 ,则利用中断技术完全可以满足大多数的 实时性要求 。 根据这一设想 ,可以设计一种软件扩展中断 ,它 和硬中断一样 ,具有“事件触发产生中断”和“高级中 ( ) 断可以打断低级中断 同级中断之间不允许打断” 的特性 ,从而实现抢占式任务调度功能 。但它更有 硬中断所不具备的特性 : 中断的数量和级别可以通 过软件设定 。 用软中断方法实现多任务处理时 ,每个任务就 是一段软中断服务程序 。假设设计了 n 段软中断服 务程序 ,再加 1 段必不可少的主程序 ,则整个软件系 统就是一个有 n + 1 个任务的多任务系统 。它们按 照优先权的大小 ,依次占用 C PU ,各任务在就绪 、执 行 、阻塞 3 个状态之间交换 。所以 ,本文提出的最简 图 2 调度程序流程图 化的实时多任务管理程序实质上就是一个软中断管 进入调度程序共有 3 种渠道 : 一是从硬中断中 理程序 。 () 通过 J P O U T调用进入 , 由于硬中断是触发软中 断的最直接的原因之一 ,所以对于硬中断 ,服务完后 ( 应进 入 调 度 程 序 ; 二 是 从 软 中 断 中 通 过 CAL L ) T RA P调用 进 入 ; 三 是 每 个 软 中 断 服 务 程 序 完 毕 2 软中断的实现方法 后 ,都要重新进入调度程序 ,以使同级或已经就绪的 高级软中断能及时服务 。 该软中断管理程序由 1 个调度程序和 4 个系统 每个软中断都有 4 个属性 : 中断号 、中断状态 、 调用组成 。中断级别和中断入口地址 。各中断入口地址可放在 ()2 . 1 调度程序 软中断排队程序指定位置的一张与中断号对应的顺序表中 。 调度程序流程如图 2 所示 。调度程序的主要功 每个软中断有 3 种状态 :正在服务 、申请服务和 能是对软中断按优先级排队 ,实现对高级软中断的 不需服务 。每个软中断的中断级别和状态可以使用 响应和中断嵌套 。因为调度程序是优先级别最高的 1 个字节来表示 ,如图 3 所示 。 任务 ,是管理中断的程序 ,一旦被中断后可能导致无 法正确返回 , 所以该 程序 必 须在 C PU 关 中断 的 状 2009 年第 12 期 邹哲强 :单片机抢占式实时多任务处理的简易实现方法 ? ?81 图 3 软中断的中断级别和状态表示示意图 多 个软 中 断 , 构成 一个 软 中断 信息 表 , 如 图 4 所示 。 1 # 软中断信息 2 # 软中断信息 3 # 软中断信息 n # 软中断信息 结束标志 F FJ 图 4 软中断信息表示意图 图 5 硬中断进入 、退出调用程序框图 中断号可以连续排列 ,所以中断号可用中断信 在硬中断嵌套数 为 0 时 才能 开始 软 中断 服务 。设 息在软中断信息 表中 的 位置 来表 示 。为 了处 理 简 一个专门单元存放硬中断嵌套计数 。 单 ,可以进一步规定排在前面的软中断优先级较高 , 对于那些不可能触发软中断也不可能参加嵌套同级中断紧邻排列 。若不设同级中断 ,则中断优先 () 即关中断执行的硬中断 ,就不必参加嵌套计数 ,服 级部分可以不要 ,直接用中断号代表优先级 。 务完毕后也不用进入调度程序 ,即与常规中断服务 ( )2 . 2 软中断触发调用 CAL L IN T 程序一样处理 ,不使用 CAL L IN 和 J P O U T 。 作用 :触发某序号的软中断 ,申请服务 。 ( )陷阱调用 CAL L T RA P 2 . 5 入口参数 :软中断序号 。 作用 :暂停正在执行的中断 ,进入调度程序 。 框图 :略 。对该序号软中断信息字节中“本中断 入口参数 :无 。 申请服务”置位 。 在任何一个任务中一旦触发另一 框图 :如图 6 所示 。个中断的条件 满足 ,就执行软中断触发调用 。执行该调用后并不 会结束正在服务的程序 。如果触发的中断是一个更 ( 高 级 的 软 中 断 , 必 须 再 使 用 陷 阱 调 用 CAL L ) T RA P才能执行高级中断 。 ( )2 . 3 硬中断进入调用 CAL L IN 作用 : 参加嵌套的硬中断进入时必须调用完成 图 6 陷阱调用程序框图 硬中断嵌套数 + 1 等功能 。 在软中断中 ,若触发了高级中断 ,需要暂停本级 入口参数 :无 。软中断而及时响应高级软中断时 ,可以通过 CAL L 框图 :图 5 所示的 A 部分 。T RA P 进入调度程序 ,重新按优先级排队进行中断 ()2 . 4 硬中断退出调用 J P O U T服务 。 作用 :和 CAL L IN 成对使用 ,参加嵌套的硬中 2 . 6 任务间的通信 该软中断管理程序没有专门为 断必须从该出口退出 。 任务间的通信提 入口参数 :无 。供调用 ,因为对于单片机级的应用来说 ,任务间的通 框图 :图 5 所示的 B 部分 。 考虑到硬中断本身信问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 不会很复杂 。任务间的通信可以通过在约定 有嵌套功能 ,对参加嵌套的 的 RA M 区设置各种标志来实现 。 硬中断都要进行硬中断嵌套计数 ,然后参加调度程例如 ,若需要在 2 个任务间传递数据块 ,只需约 序统一调度 。显然 ,硬中断的优先级应高于软中断 ,定 1 个 RA M 区作为“仓库”,同时设定 1 个“满/ 空” 所以 ,调度程序中要对硬中断嵌套数进行判别 ,只有标 志 。负责放数据的任务确认“空”后才能放数 ,放 第 12 期 工 矿 自 动 化 No . 12 Dec . 2009 2009 年 12 月Indust r y a nd Mine A uto matio n () 文章编号 :1671 - 251 X 200912 - 0082 - 03 3 抗干扰技术在煤矿单片机测控系统中的应用 1 1 ,2 1 1 1 1王 杰, 蒋曙光, 邵 昊, 王 凯, 吴海卫, 陈月琴 (1 . 中国矿业大学安全工程学院 , 江苏 徐州 221116 ; )2 . 中国矿业大学煤炭资源与安全开采国家重点实验室 , 江苏 徐州 221008 摘要 :针对单片机测控系统的工作稳定性经常受到各种干扰影响的问题 ,分析了干扰来源 、干扰因素及 其产生的后果 ,详细介绍了针对这些干扰所采取的硬件及软件抗干扰措施 ,并以煤层注水流量测控仪为例 , 介绍了上述硬件及软件抗干扰措施在该测控仪中的应用 。 关键词 :煤矿 ; 测控系统 ; 单片机 ; 抗干扰 ; 看门狗 ; 注水流量测控仪 中图分类号 :TD679 ; TP368 . 2文献标识码 :B 力 。本文分析了单片机测控系统干扰的来源 、因素 0 引言 及其产生的后果 ,介绍了抗干扰措施及其在单片机 工业控制的发展使模拟控制系统逐渐被性价比 测控系统中的应用 。 更高的单片机测控系统所取代 。单片机测控系统在 1 干扰来源 、干扰方式及其产生的后果 煤矿行业的广泛应用使煤矿中电气设备相应地发展 [ 1 ] 成为具有 智能 化 、功能 完 善 的 电 子 设 备。然 而 , 1 . 1 煤矿中的干扰源及干扰方式 应用现场的干扰源诸如电磁干扰及电网的污染 单片机测控系统的工作稳定性经常受到应用现场的 往往是由于使用了大量的大功率设备 。就煤矿环境 各种干扰的影响 ,这增加了安装调试的工作量 ,甚至 [ 1,2 ] 而言 ,大致有以下几类干扰源: 造成计算机运行不正常 、控制不灵敏或失灵 ,最终酿 () 1配电装置 。配电装置的触点断开时容易产 成生产事故 。所以 ,单片机测控系统的设计应充分 生放电 ,形成放电噪声 。 考 虑外界环境的干扰 ,提高工作可靠性及抗干扰能 () 2变频器 、逆变器等 。该类设备易产生高频 振荡噪声 。收稿日期 :2009 - 08 - 25 () 3电动机启动电流及晶闸管变流器等 。该类 3 基金项目 : 中国矿业大学煤炭资源与安全开采国家重点实验 ( )室开放研究基金资助项目 08 KF13 设备在启动时形成的电流涌流现象造成浪涌噪声 。 ( ) 作者简介 :王 杰 1984 - ,男 ,山东菏泽人 ,中国矿业大学安全 上述干扰严重影响了单片机测控系统的稳定 工程学院在读硕士研究生 ,研究方向为煤矿安全监测监控及瓦斯抽 性 , 必须解决 。 放 。E2mail : wa ngjie307 @163 . co m 数完毕后置“满”; 负责接收数据的任务确认“满”后 参考文献 : 才能收数 ,接收完毕后置“空”。这样即可确保 2 个 μ[ 1 ] 黄亮亮 ,朱欣华 . 基于实时多 任务操作系统C/ O S2 ? 任务间实现正确的数据传递任务 。 的 C8051 F 系列 单 片 机 应 用 系 统 开 发 [J ] . 测 控 技 术 , 3 结语 () 2005 9. μ王卫东 , 徐 志 强 , 王 振 . 基 于 A RM + C/ O S2 ?的 [ 2 ] 软中断技术是实现单片机实时多任务处理的有 超声波水煤 浆 粒 度 检 测 仪 的 设 计 [J ] . 工 矿 自 动 化 , ( 效办法 ,它具有核心程序短 每个调用仅几条指令 , () 2008 1. ) 汪 滢 ,辛晓 宁 , 袁 德 成 . 实 时 多 任 务 机 制 在 低 功 耗 调度程序也只要几十条指令、效率高等优点 ,是目 [ 3 ] 单片机系 统 中 的 最 小 实 现 [J ] . 化 工 自 动 化 及 仪 表 , 前文献中所见到的最简单的实现方式 ,必要时还可 () 2002 3. () 进一步简化 如不设同级软中断等,所以有着很强 陈惠标 , 曾爱良 , 熊好平 . 单片机多任务系统的算法在 的实用性 。该方法已成功应用于煤炭科学研究总院 [ 4 ] () 洗碗机中的应用 [J ] . 电机电器技术 ,2005 1. 常州自动化研究院开发的一种矿用监控产品上 。
本文档为【单片机抢占式实时多任务处理的简易实现方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_589748
暂无简介~
格式:doc
大小:189KB
软件:Word
页数:14
分类:生活休闲
上传时间:2017-11-07
浏览量:36