微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 浅谈嵌入式在地铁杂散电流监测装置的设计

浅谈嵌入式在地铁杂散电流监测装置的设计

时间:01-05 来源:互联网 点击:

和数据处理任务。系统采用静态优先级,这样系统的控制会相对比较简单。

系统中的每个任务包括应用程序、任务堆栈以及任务控制块( TCB) 三部分。任务控制块是一个数据结构,当任务的CPU 使用权被剥夺时,ucosII 用它来保存该任务的状态。当任务重新获得CPU 的使用权时,任务控制块能确保任务从被中断的那一点执行下去。操作系统可以通过查询任务控制块的内容从而对任务进行管理。系统中任务的状态有5 种:休眠态、就绪态、运行态、中断服务和等待态。状态之间的转换如图5所示。

休眠态时任务驻留在程序空间中,还没有交给uc/ os2II 管理。当任务一旦建立,就进入就绪态。就绪态中优先级最高的任务转为运行态。如果系统的运行导致就绪态中的一个任务优先级高于运行态的任务优先级,则系统通过调度使运行态任务丧失对CPU 的控制权转为等待态或者就绪态,转而运行就绪态中的那个任务。这样就实现了任务的切换。

每个处于等待态的任务都对应一个等待时间,时间管理函数可将等待时间已过的等待态的任务转为就绪态,这实际上也就是时钟中断的中断服务程序。

3.5 任务的通信和调度

本系统中任务间的通信采用消息队列来完成的。消息队列是uc/ os2II 中的一种通信机制,可以使一个任务或者中断服务子程序向另一任务发送以指针方式定义的变量。为方便易用,采用消息队列,用于数据采集任务、数据处理任务、键盘管理任务、输出任务、显示任务之间的通信。系统通过队列控制块来管理消息队列,每个消息队列对应一个队列控制块。消息的存取基于优先级原则,队列控制块中等待任务列表内优先级任务最高的任务先从消息队列中取消息,系统采用抢占式内核,调度函数总是保证优先级最高的就绪态任务转为运行态。当就绪态的任务抢占CPU 时,系统执行一次中断服务程序。当任务中的消息发送完成以及中断返回时,系统调用调度函数,将任务从等待态转为就绪态,这样就绪态中任务的最高优先级就会发生变化,进而影响到运行态和就绪态间的任务切换。

4 系统的工作过程

本系统采用两种方式显示采集电流的大小,循环显示和指定显示,在正常工作情况下,采用循环显示方式显示8路采集电流大小,每采集完一路电压,就向数据处理任务发送一条消息,而数据处理任务每处理完一路就向显示任务发送一条消息,由于键盘扫描任务优先级比数据采集任务最高,每当用户键盘选择时,就抢断当前采集任务,而去处理用户需要选择的那路电压,并相应显示。当采集电流超过一定标准时,系统会报警,以告之监测人员,另外本系统还留有串行232接口,用于和微机通信,以储存杂散电流的历史情况

5 结束语

本系统经调试,软硬件工作均正常。实验证明,本系统较传统的数据采集系统在安全性和实时性方面都有了很大的提高,数据采集系统包括了:可视化的报表定义、审核关系的定义、报表的审批和发布、数据填报、数据预处理、数据评审、综合查询统计等功能模块。通过信息采集网络化和数字化,扩大数据采集的覆盖范围,提高审核工作的全面性、及时性和准确性;最终实现相关业务工作管理现代化、程序规范化、决策科学化,服务网络化。完全能够适应复杂系统的需要。随着网络和多媒体技术的发展,嵌入式系统的应用有着更广阔的空间。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top