单片机实时性文章.pdfVIP

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

时分多线程在单片机系统中的应用研究 时分多线程在单片机系统中的应用研究 时时分分多多线线程程在在单单片片机机系系统统中中的的应应用用研研究究 2010-08-03 12:40:21 作者:王江宁 吕军 来源:单片机与嵌入式系统应用 关键字:多线程 单片机 时分 随着IT技术的飞速发展,单片机应用系统几乎覆盖了社会生活的各个角落,从消费电 子、通信网络、工业控制、汽车到军事等领域皆可觅其踪影;而在硬件、软件以及网络技术 日益成熟的今天,其应用形式正呈现多样性和复杂性。尤其是SoC、可配置内核等性能的出 现,其可裁剪性使系统设计成本大大降低,减小了系统设计工作量,为单片机应用提供了便 利,在产品设计、更新换代等应用方面也备受青睐。 为适应这些纷繁的应用需求.本文就时分多线程技术在单片机中的应用进行了介绍。该 方法为构建低成本、高效、便于维护的单片机系统提供了良好的体系框架结构和设计思想。 1 时分多线程结构应用 通常,在单片机应用的各种控制系统中,都或多或少地存在着诸如现场数据采集、控制 量输出、工作状态检测以及数据传输等各种同外设的交互过程;而各类外设与MCU的响应速 度不匹配,是制约系统整体性能的重要因素。面对这种交互瓶颈,运用时分多线程架构可获 得良好的效果。 特别是对于系统与外设频繁进行数据交互的场合,能显著提升系统的实时响应能力。这 里采用的是以时分轮转调度算法实现在单片机系统中的多任务控制目标。 1.1 时分轮转调度算法的多线程实现 时分轮转调度算法是以多个线程轮流占用CPU的执行时间来实现的。在外设交互频繁的 应用场合中,可有效地解决响应速度不匹配所造成的CPU等待外设响应的时间消耗问题,从 而提高MCU运算部件的利用率。 而在多线程的调度切换过程中,要对上一个线程的运行环境进行保护,并为下一个线程 做好准备。就单片机系统而言,要严格实现真正意义上的实时多线程控制,会受到容量、中 断源、指针等一系列系统资源的条件限制。 本文是以C8051F005单片机构建的应用系统。它是以805l内核为基础的,没有太多空间 用于存放或保护任务切换时的现场数据(如程序指针、程序状态字、累加器等),也难于应用 抢占式实时任务切换的实现激励机制,同时MCU速率也有限。 针对单片机存在的这些资源瓶颈,运用时分轮转算法作为多线程控制算法架构,以非抢 占式异步处理方法,在合理分配、运用通用工作寄存器组的情况下,通过整合或细分功能模 块结构,将控制程序划分为各线程任务,以缩短CPU的闲置时间;并将每个线程的执行时间 控制在时间片内,以降低上下文切换的复杂度,从而降低开发风险。 1.2 多线程的管理策略及应用 (1)时间片长度 通过对控制功能、时序的合理组合,以时间片长度划分的程序片段,应确保每个线程的 执行代码段在“时间片”内完成,以此降低线程任务的控制复杂度和设计风险。具体实施原 则详见第2节。 (2)线程协调方式 通过设置标识量,将各时间片内的线程任务协调起来。例如,在键盘输入中的消抖动延 时和键值冗余读取、在A/D数据采集中的采样触发与数值读取,以及SPI的数据传输等功 能块,都可进行任务线程的作业步骤细分。通过设置线程的阶段标识量,协调前后时间片的 线程执行步调。 (3)线程管理 在时钟中断服务程序中,用任务号调度线程执行次序。根据控制目标、设备状态以及当 前线程的执行结果,选择下一步将要执行的任务号;而各任务线程执行在主控循环程序中完 成。也就是说,把时间片驱动以及任务调度与任务线程处理过程分开,这样有利于构建灵活、 高效的软件框架结构,提高系统的实时响应能力与可维护性。 在以C8051F005芯片构建的应用系统中,为了缩短时间片中断服务程序的执行时间,提 高系统的中断响应能力,任务线程调度以及上下文切换控制在T2时钟中断服务程序中实现, 以事件发生标识TstateChange和线程标识TimeSlice进行线程调度。TstateChange用于控 制主控循环方向,TimeSlice则用于调度就绪线程的执行次序。 为了降低系统功耗,提高系统可靠性,程序主控循环体在每个循环结束后都要使MCU 进入体眠状态,并以时间片T2中断、其他异步中断源或引脚触发事件等唤醒MCU。而 TstateChange状态标识量就是控制主控循环方向,以区分时间片任务线程调度与非T2等的 异步中断事件。其主控

文档评论(0)

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

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

1亿VIP精品文档

相关文档