• 7*24小时服务
  • fwsm
  • 北京致芯科技
  • gswzx
    北京首矽致芯科技有限公司成立于2004年,公司位于具有中国硅谷之称的中关村科技园上地信息产业基地。公司业务主要以单片机解密、芯片解密、MCU解密等IC逆向分析为主[详细]
    down
  • 我们的优势
  • youshi
  • 单片机系统中的多任务多线程机制的实现
  • 单片机系统中的多任务多线程机制的实现

    单片机系统中的多任务多线程机制的实现
     
      作为一个完整的操作系统,RTOS有一个可靠性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包括起来,留给用户一个标准的应用程序接口(API);根据各个任务的优先级,合理地在不同任务之间分配CPU的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度和中断服务等功能,部分高档商业化产品,如WindowsXPEmbedded,甚至支持32位地址空间、虚拟存储管理、多进程以及嵌入式操作系统中不多见的动态链接库。
      
      单处理机多道程序系统具有如下特征:
      ①从宏观上看,几种程序“同时运行”。即它们先后开始了各自的运行,且均未结束。
      ②从微机上看,几道程序“交替执行”。对于单处理机系统而言,它们只能轮流地占用CPU。
      其实质是指几道程序在处理机中“交替执行”。我们按照现在常用的方法,把一道程序和一个任务对应,把任务中的每个分开的、独立执行的部分称之为线程。
     
      另一方面,实时任务总是由某个事件发生或时间条件满足来激活。事件有两种:内部事件和外部事件。时间驱动也有两种:按绝对时间驱动和按相对时间驱动。内部事件驱动是指某一程序运行的结果导致另一任务的启动,这个结果可能是数据满足一定条件,也可能是释放了某一资源;而最典型的实时任务是由外部事件驱动的。在实时系统中,外部事件发生有时是不可预测的,由外部事件驱动的任务一般是需要立即执行的任务,它的优先级最高。绝对时间驱动是指在某指定时刻执行的任务,也就是在自然时钟的绝对时间执行。
      我们设计的对象是双通道和四通道测试的某型医用检验设备。每个通道可以置入样本,设置不同的测试项目,完成测试后输出不同的测试结果和附加的计算结果。
      我们选择了安全并行的设计,即要求所有通道可以完全独立工作;任意启动和停止;彼此没有约速;时间上可以任意重叠;是几个独立的任务。
      这里我们把每一个启动通道进行测试的程序叫做一个任务,把各自任务下的每一个单独的、分开处理的程序段叫做一个线程,每个线程依靠自己的标识来识别。一个通道的测试任务可分为启动、设置、加样品、预温计时、加试剂与搅拌、通道轮流采样、数据处理和作图打印等多个线程。另外,有一个温度的实时监控独立线程,它的优先级要次于通道的测试采样。
      是CPU内部定时器0的中断服务,用于A/D转换。每个测试任务的A/D分为两个线程:检测试剂加入和测试剂样品的反应曲线,虽然都是通过对光学传感器和输出进行检测的,但处理方法完全不同,数据量也很不一样。定时器0设定为每100ms中断1次,因为要用高精度∑-Δ转换器件,CPU必须直接控制器件的整个转换过程,所以,要注意所有通道轮扫一遍A/D的时间不能超过100ms。
      限于篇幅,不可能详述任务、线程和标识的细节,仅提出一种单片机等嵌入式控制系统对多任务进行实时处理的一种思想;借鉴于主流操作系统中的多任务和多线程机制。实践证明,这种想法是行之有效的,并且取得了很好的效果。
      虽然我们研制的系统是对多个相同的任务进行并行处理,但该种设计方法应该可以推广到多种不同性质的实时任务的并行处理当中去。

    更多型号芯片解密可致电北京致芯科技24小时服务热线:13466687255 010-57436217

    点击这里给我发消息 点击这里给我发消息

      Copyright © 2004-2012 致芯科技 版权所有