当前位置:首页 > 电源 > 数字电源
[导读]随着单片机技术的发展,单片机开发的理念也在不断更新:逐步采用高性能的16/32位单片机,采用C、JAVA等高级语言编程,采用RTOS及其平台进行开发已经成为一种趋势。分时操作系统概述分时操作系统把CPU的时间划分成长短

随着单片机技术的发展,单片机开发的理念也在不断更新:逐步采用高性能的16/32位单片机,采用C、JAVA等高级语言编程,采用RTOS及其平台进行开发已经成为一种趋势。

分时操作系统概述

分时操作系统把CPU的时间划分成长短基本相同的时间区间,即"时间片",操作系统轮流分配给各个作业使用。某个作业在时间片结束完成,该作业将被挂起,等待下一轮循环再继续做。分时操作系统主要具有以下3个特点:多路性,用户通过各自的终端,可以同时使用一个系统。及时性,用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。独占性,在分时系统中,虽然允许多个用户同时使用一个 CPU,但用户之间操作独立,互不干涉。

分时操作系统主要是针对小型机以上的计算机提出的。一般而言,MPU驱动的通用计算机,系统设计人员对每一台的最终具体应用都是不得而知的,因此,在价格允许的情况下,硬件设计务求CPU时钟尽可能的快;计算及管理能力尽可能的强;程序和数据存储器的容量尽可能的大;各种计算机外设的配接尽可能的详尽等等。特别是采用分时操作系统的机器,因为是一机多用户的管理系统,它的要求就更高了。相对而言,MCU是一个单片集成系统,它将这些计算机所需的外设,诸如程序和数据存储器、端口以及有关的子系统集成到一片芯片上。从硬件上,单片机系统与采用分时操作系统的计算机系统是无法比拟的。但是,在单片机系统的设计中,设计人员清楚其最终具体应用,它的使用环境相对是单一固定的。所控制过程的可预见性为分时系统思想的实现提供了可能性。具体就是:虽然单片机的CPU速度较低,但其任务是可预见的,这样作业调度将变得简单而无须占用很多的CPU时间,同时“时间片”的设计是具体而有针对性的,因此可变得很有效。


                 图1 漏电流智能监测系统框图

分时系统的应用实例

系统硬件及原理

本文设计了一个涉及单片机通信以及显示的漏电流智能监测系统,系统框图如图1所示。

本系统用在低压电网中负责监测线路的漏电流,系统中智能采集单元负责采集线路的漏电流,通过串行总线与主控单片机通信,上传线路参数值。主控单片机轮询各线路,实时显示漏电流值,当线路漏电流超过设定值时,在EEPROM中记录漏电流的各项参数和发生的时刻,通过键盘显示可以查询以往线路的情况。由图1可知:各智能采集模块共用一个实时时钟,因为不管从成本的角度还是从方便角度考虑,都不可能给每个采集模块配置一个实时时钟。采用传统的编程方法时存在一个问题:当智能采集模块有多路时,数据上传后需要显示该路数据,显示时间不宜太短,下一路数据的显示便出现延迟。线路的路数越多,编号靠后的线路的时间延迟越严重,系统的实时性变得很差。因此传统的编程方法不符合实际情况,本文设计了分时操作系统解决此问题。


   图2暂存RAM分配图

分时操作的实现

系统设计中首先划分了一块暂存参数的RAM,RAM区的大小跟需要监测线路的多少有关,其分配情况如图2所示,每一路参数都设置多组参数存贮,防止参数未读取就被刷新。每一组的参数包括漏电流大小、漏电标志位、线路的编号和发生的时间。


         图3 显示任务流程图


            图4 定时器中断流程图

[!--empirenews.page--]

要合理的实现单片机分时系统必需要有合理的调度机制,完善的调度机制由调度指针和调度表组成。系统的调度就是“路任务”的调度,在系统设计中按各线路智能采集模块把系统划分为N个“路任务”, “路任务”的执行顺序固定不变,从第一路任务到第N路,再从头返回第一路,如此循环往复。相对应的"路"调度指针还应构造"路"调度表。"路"调度表每一项表示各"路"程序入口地址及跳转指令。以MCS-51单片机为例,采用AJMP addr11作为每一项的内容,则调度表的每一表项占2个字节;当程序较长超过2K字节,则采用LJMP addr16作为每一项内容,占3个字节。所设计的单片机系统共有多少"路任务",该调度表就有多少项数。调度指针为1个字节的整数变量。调度指针与调度表的联系是通过指令JMP @A+DPTR实现的。DPTR中是调度表的首地址。累加器A中的内容是调度指针的整数倍,若表项内容是AJMP addr11,则A的值为调度指针乘2;若表项内容是LJMP addr16,则A的值为调度指针乘3。

“路任务”的职责就是与智能采集模块的 CPU通信,收集线路的漏电参数的值,储存在暂存RAM中,“路任务”中共同的部分:从串口读取数据,安排在定时中断中实现,因为各线路需要上传的字节数很少,为三个字节(漏电流大小占用2个,超限标志占用1个字节),因此在波特率9600的情况下,通信时间极短(3/960<4ms),安排在定时中断中实现比较合理。这样“路任务”只需要设计出访问暂存RAM的方法,本例中在每路暂存区的开头定义访问指针,“路任务”每次访问时先读取该值,然后把数据写入相应的RAM区,返回时将访问指针指向下次要访问的地址,到了末尾地址时重新指向RAM的开头。因为需要上传和存贮的数据很少,每次任务(包括通信、读取时钟的值和存取数据)的执行非常快,在ms级别,不超过10ms。为了使每次任务有充分时间执行,留下一定的裕度设为20ms,并且把时间片设置成跟一次“路任务”的时间相同。每次时间片执行完一次“路任务”,不需要在任务切换时保存寄存器的值,也不需要给每个任务分配特定的RAM单元使用,因此占用系统的资源很少。每一次“路任务”负责查询线路的参数,查询到后读取实时时钟的值,每次任务的时间都在ms级,因此即使要监测的线路有多条,延迟的时间也在可以忽略的范围内(按照时钟1s的时间步长计算,一次任务20ms,可以设置1000ms/20ms=50条线路,如果监测线路≤50,最后延迟的时间也在1s之内,比传统方法延迟100s有了质的提高)。

在完成线路参数读取的“路任务”之外,设置了一个“显示任务”,采用LED显示,显示数据的时间不能太短,因此要考虑延时刷新显示数据。采用软件延时会占用CPU时间,使系统实时性变差,因此该任务交给硬件完成。设计中采用了 Intel8279芯片,Intel8279具有主动管理显示存贮器输出和同步扫描信号的能力。对用户而言,只需编制写入显示信息的程序,显示任务执行时,从暂存RAM中取数据并赋给Intel8279相应的显示RAM单元,只要显示RAM的值不变,LED的显示就不会改变。因此“显示任务"就变成了写 Intel 8279的显示RAM,在一次时间片内足够完成。“显示任务"的特殊之处在于每隔两秒执行一次,采用如下措施实现:在定时器中断中定义一个计数器,每次定时器中断后,在定时服务子程序中计数器自动加1。如果计数器达到相应的数值(本例中时间片=20ms,延时2s需要计数I=2000ms/20ms= 100),则调用“显示任务”,计时器清0,否则调用“路任务”,计数器自动加一。延时都采用这种方式,延时值即为计数器的值乘以20ms。这样任何延时都不占用CPU机时。“显示任务”流程如图3所示。

定时中断定义为20ms,每次“任务“都由定时中断负责开启,也就是每次时间片都是由定时终端负责分配的。定时器中断流程如图4所示。

分时操作系统最大的优点是为本系统提供了很强的可靠性,因而程序具有很强的抗干扰能力。时间片的时间可以定义的很低,一些用软件比较费时的操作转给硬件完成,因此对于程序来说还提供了较好的实时性。

结语

分时系统的设计思想对于多路重复控制的系统具有很好的实用性。本例将分时操作系统的思想引入单片机系统,并利用该方法实现了多路监测任务,提高了系统的性能价格比,满足了项目的一些特殊要求,在实际应用中获得成功。本例中的一些应用只对本系统设计,时间片设置的时间太长,任务的执行定义在一次时间片内,对于本系统来说简化了编程。如果把时间片设置的更低,并且每次任务划出特定的内存作为任务堆栈,任务在一次时间片内不能执行完时,压栈处理。这样可以更好的体现分时操作系统的原理,可以实现更高需求的应用。

参考文献
1 蔡建平. 关于嵌入式应用开发技术[J], 单片机与嵌入式系统应用,2001,[1]
2 李大友主编. 计算机操作系统[M].北京:机械工业出版社,1998
3陆惠恩,陆陪恩. 软件工程[M].北京:电子工业出版社,1997
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭