单片机数据采集与双机通信系统的设计任务书

2024-09-04

单片机数据采集与双机通信系统的设计任务书(6篇)

1.单片机数据采集与双机通信系统的设计任务书 篇一

1 系统原理

本文设计的高速数据采集系统采用ALTERA公司的MAX II系列产品之一的EPM1270作为控制器,选用TI公司的TLC5510作为模数转换器,其采样频率可以达到20MSPS,8位并行输出。RAM选择ICSI公司的61C256。

系统的硬件组成如图1所示。在该系统中,CPLD和单片机一同构成了系统的控制核心。

1.1 CPLD控制

CPLD控制器主要负责A/D转换并将转换得到的数据写入SRAM中。对TLC5510的控制按照TLC5510数据手册给出的典型电路实现:在转换控制信号ADCLK的每一个下降沿开始采样,第n次采集的数据经过2.5个时钟周期的延迟之后,送到内部数据总线上。此时如果输出使能OE有效,则数据便可被送至数据总线上。启动后A/D转换无须控制,将连续不断的以转换时钟频率输出转换后的并行8位数字信号。

在转换过程中,CPLD同时控制采样数据写入RAM中,这样就必须考虑TLC5510采样和61C256写入的时序匹配。在设计中,首先对clk 40MHZ信号2分频得到20MHZ信号,将此信号作为TLC5510的采样时钟ADCLK。TLC5510在ADCLK的下降沿采样,CPLD在ADCLK的上升沿读取转换后的数据写入RAM中。

图2为CPLD对SRAM的控制逻辑电路。主要包括以下几个部分:

1)写地址产生器:由于61C256为32K×8的SRAM,故写地址产生器用15位寄存器实现。靠ADCLK时钟驱动,每进行一次写操作后,读写控制单元使其加1。写RAM操作发生在系统采样前的RAM单元清零和采样过程中。

2)读地址产生器:读地址产生器也用15位寄存器实现。单片机每次发出读信号对RAM读操作后,读写控制单元使其加1,下次单片机从此位置读取数据。

3)读写控制:当需要对SRAM进行写操作时,由CPLD控制产生写地址选通信号RAMWR,片选信号RAMCE,同时给数据线上送数据,而写地址选通信号上升沿到来时使写地址寄存器增1,使CPLD输出写地址。对SRAM进行读操作相对较简单,在进行读操作期间,RAMCE始终为低电平。每进行一次读操作,地址按系统要求变化一次。

CPLD控制器的输入输出端口及功能如表1所示。

1.2 MCU控制器

单片机主要控制对A/D转换的启动及对保存在RAM中的数据读入以备后续处理。在图1的系统结构中,Y1、Y2为单片机部分通过74LS138译码器产生,RD、WR为单片机的读写信号。当Y1和WR有效时,MCU指示CPLD控制完成对SRAM地址单元内容的清零,并复位CPLD内部写地址寄存器值;当Y2和WR有效时,MCU指示CPLD开始进行A/D采样;当Y2和RD有效时,CPLD对61C256读取一个单元并通过I/O口将数据送至单片机数据总线上。本系统中,61C256的读信号直接由单片机RD信号控制,无须CPLD控制产生。

2 软件设计

2.1 CPLD部分的软件设计

CPLD在每个ADCLK时钟的下降沿,检测信号Y1、Y2、WR和RD信号的变化,根据2.2节中MCU控制器部分给出的功能描述来完成具体的操作。该过程的具体流程如图3所示。

在上述流程中,clraddr、wraddr和rdaddr为CPLD内部清零地址寄存器、写地址寄存器和读寄存器,用以产生RAM的读写地址。clrbz、cybz为CPLD内部RAM清零和采样标志,当这两标志有效时,CPLD分别控制完成61C256地址单元内容的清零和外部采样操作,操作完成后两标志被置为无效。流程中的数值N可根据实际需要的采样点数来调整。

2.2 单片机部分的软件设计

单片机软件部分相对简单,只要根据Y1、Y2的具体地址,参考MCU对外部SRAM的读写操作来访问即可。本设计中,将61C256中的采样数据读取到单片机部分,以便进行液晶显示等后续处理。具体程序段参考如下:

3 仿真和实验结果

图4为CPLD采样和读写SRAM的仿真结果。在仿真过程中,选取采样点数为6进行测试。当MCUWR和Y1信号有效时,由CPLD控制产生对SRAM的片选和写信号,连续对SRAM单元内容清0;当MCUWR和Y2信号有效后,CPLD输出给TLC5510的采样时钟,在三个ADCLK周期后,产生TLC5510的输出使能信号,同时控制61C256的写操作,将采样数据连续写入SRAM单元。仿真过程中,在数据总线上模拟了采样的6个数据。当MCURD和Y2信号有效时,CPLD给出61C256的片选信号和地址信号,读出一个单元的数据,若再次读,则地址单元加1。

4 总结

本文设计的基于CPLD与单片机的高速数据采集系统在QUARTUS II软件中进行了仿真

并达到了预期的控制逻辑。该系统的实际电路在新型匝间耐压测试设备的开发中得到了成功的应用。通过选择不同采样频率的A/D转换器,系统可满足不同应用场合的需求,因而系统具有普遍使用性。

摘要:结合CPLD与单片机设计了一种高速数据采集系统。CPLD产生A/D芯片的控制时序以及SRAM的读写控制时序,单片机输出给CPLD控制A/D转换的启动信号,并通过CPLD读取SRAM中的采样数据。该系统具有较好的可移植性。

关键词:数据采集,A/D转换,SRAM,CPLD,单片机

参考文献

[1]孔德明.基于CPLD控制的实用数据采集系统[J].电子产品世界,2005,(10):101-103

[2]严志强,王雨,等.基于DSP、CPLD和单片机的高速数据采集装置设计[J].电力自动化设备,2007,5(12):110-113.

[3]徐法东,翟正军.基于CPLD的120MHz高速A/D采集卡设计[J].国外电子元器件,2002,(4):4-6.

[4]TI公司.TLC5510datasheet[EB/OL].http://www.ti.com,2003.

2.单片机数据采集与双机通信系统的设计任务书 篇二

1、单片机技术在多机通信系统网络协议设计中的应用

网络技术、计算机技术、单片机技术在多机通信系统中的应用,可以优化操作,灵活的运用相关的技术和操作,为人们服务。为此我们针对基于单片机技术的多机通信系统的相关设计进行研究。

在基于单片机技术的多机通信系统,其网络协议自身正常运行的保障,同时也是计算机技术、网络技术等应用中数据交换而建立的规则,为了保证通信的正常进行,建立网络协议。针对多机通信系统而言,其采用多台通信机共用一个服务机,TCP/IP协议是其基础协议,为了实现多机通信,需要建立新的网络协议,实现多机通信系统服务端与客户端之间的多机数据通信。在数据传输通信中,服务端先进行数据发送命令的咨询,供进行两边,如果第一次咨询给出的答案与网络协议既定值不同,则进行第二次咨询,如果回答同上一次以上,则数据通信不会与该客户端进行传输,并切会绕过这个客户端,进行下一个客户端数据通信命令的咨询,指导数据通信咨询客户端的回答与网络协议既定信息一致,则可以进行数据的传输。如果客户端无法接受,则数据的传输失败,按照原路返回。

2、单片机技术在多机通信系统网络拓扑设计中的应用

基于单片机的多机通信系统的网络拓扑设计,选择的总线型为网络拓扑结构,且由服务机进行统一的管理,进行网络资源的分配。服务端会轮流的对每一个客户端进行数据的发送询问,如果存在分配发送时间,则会移交网络总线的使用权,否则将询问下一个客户端。在该系统中,任何一台机器发送的数据,在其他机器上显示的可见,且网络信号可靠,其是在网络拓扑的基础上实现的,而基于单片机技术的多机通信系统的网络拓扑设计结构如下:

3、单片机技术在多机通信系统接口电路功能设计中的应用

网络接口可以实现接收的数据的提交、中继等,并提供网络状态的信号,使得各个端口之间形成同构等,对其进行设计,对多机通信系统有重要的意义和作用。基于单片机技术的多机通信系统的设计,实现了功能和性能的优化,其网络接口电路的设计,需要满足其功能需求。在对其网络接口电路进行设计的过程中,需要采用4个单片机,共同的完成对数据的接收,每个单片机对应一个端口。在进行基于单片机技术的多机通信系统网络接口电路的设计中,需要增加了网络状态信号接口,在各个单片机没有工作的前提下,网络中没有数据的传输,网络信号接口则会变成低电平,与单片机进行相连,此时单片机可以对整个网络状态进行支撑,实现对数据的传输和接收。

4、其他结构设计

在基于单片机技术的多机通信系统的设计中,需要将该系统的功能完善,服务端的功能,需要讀取ADC数据,并显示电视角度数据、可以智能的控制风机的开启、可以对任意一台客户机进行网络的接管等,客户端的功能,需要可以接收服务机的咨询,并进行数据的发送确认,可以提供键盘控制,进行客户机地址的读取,可以显示环境温度等等。

在基于单片机技术的多机通信系统的设计中,其功能模块如下图,在基于单片机技术的多机通信系统中,每一个设备都有自己的驱动程序,且驱动程序只需要对自己多控制的设备进行控制和调用进行。通过对基于单片机的多机通信系统的设计,最终实现单片机多机通信系统的应用。基于单片机技术的多机通信系统的功能模块如下:

基于单片机的多机通信系统,其各项功能的实现,需要通过键盘程序完成,所以在该系统的设计中,键盘系统的设计也起着重要的作用。键盘系统设计的好坏,影响着整个多机通信系统的运行质量。在多机通信系统中,其每个组成部件,都与该系统的设计和实现有着密切的关系,将各个部件的参数,通过键盘程序输入,确定多机通信系统的性能参数,进而对系统的可靠性、稳定性等进行检验。

通过的基于单片机技术的多机通信系统的设计可以得出,单片机在多机通信系统中的应用,实现了多机通信系统功能的提升,完善了该系统的相关结构,通过简化了操作程序,为此实现了基于单片机技术的多机通信系统的简单、灵活操作和使用,进而减少了基于单片机技术的多机通信系统运行的负担。

结语

综上所述,基于单片机技术的多机通信系统的设计,将多机通信系统的性能提升,稳定性更高,为我国经济的发展提供了帮助,也满足了人们对多机通信系统性能的需求。

(作者单位:辽宁建筑职业学院)

作者简介

3.单片机数据采集与双机通信系统的设计任务书 篇三

在普遍的电子测量系统中, 计算机和传感器之间一般用导线为载体进行连接, 该种方法在实际中对数据进行传输时, 由于传输过程会受到信号不同程度的作用, 进而对信息的传输质量产生非常大的影响。其具体表现在不同位置的空间里, 温度的高低变化会产生干扰现象, 当系统对温度进行测评与计量时, 会出现不同类型的传感器之间由于发生外界干扰而自动连接的现象, 并且与导线的数量呈现正比例关系, 即导线数量越多, 那么对系统中的硬件设备以及器材结构产生影响的几率就越大, 从而导致测量结果不准, 无法正常评估。因此, 为了使该种现象能够得到改进并有效解决, 很多技术人员都投入到总线系统的研究中来, 并通过PC机遇单片机在作业中进行远程方式实现数据交换的时候, 来测量信息传输的码数, 进而对提升系统信息检测的准确度和有效性提出有效方案。

一、分布式采集系统设计的概述

在对于分布式采集系统设计的过程中, 使用的温度传感器主要为数字式的传感器类型, 其传输的具体方式是在PC机与单片机之间的接口处, 仅对一条导线进行信息的输入与输出。在具体应用的过程中, 分布式采集系统设计方法常出现在数字式的传感器和单条总导线之间进行连接的状态下。因此, 这样就会使得在进行温度测量的时候, 其检测出来的温度结果会通过温度传感器的相关系统功能实现直接读取的作业方式, 同时在读取数据的时候, 会根据所处环境的实际情况和相关要求进行全方位的综合分析[1]。

二、对分布式温度采集系统的设计

2.1温度传感器。对于温度传感器来说, 分布式温度采集系统中对温度传感器的设计更加具有灵敏性和辨识度。其是在原有的智能数字温度传感器的基础上进行设备的一系列改进, 同前者相比, 分布式温度采集系统中的温度传感器对信息获取能力更强, 其获取时间也大大缩短, 具有热敏性能更好的电阻对温度信息的读取和测评也更加准确无误。在构造方面, 总导线是信息传输的命脉, 由于只有一条总导线, 使得保证中央处理器获取信息的稳定性更强, 得到温度检测报告的结果也更加精准, 以此来保证了可以同时对多个温度点进行同时控制与检测[2]。

2.2主从控制器。分布式温度采集系统中具有的控制器是主要在下位机和主控制器之间的位置。其中, 主控制器发挥统一职能对下位机采集的温度数据进行有效搜集、整理以及分类, 再在进行数据打包后集体传输给PC机。对于下位机也就是扮演从控制器角色的它来说, 其主要进行的职能是对不同测量点温度进行分类测量与收集, 传输作业的过程中主要采用EDA、DSP与单片机共同使用的模式, 很大程度提高了可操作性和可靠性[3]。

2.3串口通信系统。对于串口通信来说, 其功能主要是在从机之间的通信功能, 并对温度进行处理之后将相关处理信息打包后集体传输给计算机中。目前, 在同步信息传输和不同步的传输过程中, 芯片发送是较为常见的通信方式, 然而在PC机与单片机之间的通信中, 不同设备之间的接口处存在不同的差别, 为了能解决这种差别, 会对单片机采用标准形式来实现采集功能, 不仅保证了通信的稳定性, 也使得主机之间的接口信息得到平等交流与交换。

结论:综上所述, 由于温度的高低变化在不同位置的空间里会在信息传输的过程中发生干扰现象, 进而对信息的传输质量产生非常大的影响, 得出在PC机与单片机的连接中采用分布式温度采集系统设计方案能有使信息传递得到有效改良的结论。总的来说, 远距离温度检测方式是目前科技公司在日常业务运行中非常重要的一项工作内容, 为了解决在远距离传输中温度检测不稳定性的缺陷, 提出了分布式温度采集系统的有效方案, 能大大满足实际生产的需求。在今后的生产发展中, 分布式温度采集系统会随着技术的不断更新而变得越来越完善, 越来越满足市场需要。

摘要:随着社会的不断发展, 现在已经迎来了知识经济时代和信息技术时代, 不胜枚举的科技成果在生活中的应用越来越频繁也越来越广泛。由于计算机的使用逐渐普及到每家每户, 关于计算机的各种高新技术在不断地提升和开拓, 其中关于PC机中的单片机技术也有着非常显著的成果。本文通过以分布式温度采集系统为主要论点, 分析该技术对对PC机中的单片机带来的效用和影响, 分析PC机中单片机采用分布式温度采集系统的具体设计, 旨在对分布式温度采集系统有更深层次的了解。

关键词:单片机,分布式,温度采集系统

参考文献

[1]吴永.基于网络的单片机多点温度采集系统的设计[J].计算机测量与控制, 2012, 04:959-960+964.

[2]卢超.基于PC机与单片机分布式温度采集系统的设计[J].仪器仪表标准化与计量, 2012, 02:38-41.

4.单片机数据采集与双机通信系统的设计任务书 篇四

1 系统的基本组成

主控机和从设备都以STC89C52为微控制器,从设备采集各路模拟信号并转换为数字量信号通过RS485总线发送给主控机,主控机接收各从设备采集的模拟量进行数据处理并进行显示,显示单元采用LCD12864液晶屏作为显示器。三路模拟量的采集分别用数字温度传感器DS18B20、数字湿度传感器DHT11和HL-8型电阻应变式压力传感器实现。按键单元由独立按键组成,实现对从设备选择以及继电器的控制。RS485总线由MAX485收发器芯片搭建。MAX485将TTL电平转换为RS485电平,这种以差分信号传输的方式,再加上差分放大器的作用,使得传输过程中的干扰和噪声相互抵消,传输距离和传输速率得到了很大的提升。系统的总体框架如图1所示。

2 系统硬件设计

2.1 RS485通信电路设计

系统中各从设备与主控机之间通过一对双绞线连接。在通信速率大于19.2Kbps或通信距离大于500m时,为了减少信号反射,一般在传输线终端连接120Ω的匹配电阻。MAX485与单片机接口电路如图2所示。

MAX485芯片的RO和DI引脚分别为接收器输出和接收器输入端,与单片机连接时需要与串口数据接收端RXD和串口数据发送端TXD相连;RE和DE分别为接收器和发送器的使能端,当RE为逻辑电平0时,芯片处于接收状态,当DE为逻辑电平1时,芯片处于发送状态;由于MAX485的半双工工作特性,使能端RE和DE的控制只需要单片机分配一个I/O口进行控制;芯片的A和B两个引脚分别为差分信号接收和发送端,当逻辑电平A高于B时,代表发送的数据为1,当逻辑电平A低于B时,代表发送的数据为0。

2.2 LCD12864液晶显示电路设计

液晶显示单元在整个系统中实现简单的人机交互功能,可实现数字、字母、汉字以及各种图形的显示。D0—D7为指令和数据的输入输出端口,对应STC89C52单片机的P0端的8位I/O口。由于STC89C52单片机运行速度比液晶的反应速度慢,因此对液晶控制器进行读写操作之前可以不对液晶进行读写检测,但要注意的是必须在程序中进行简短的延时,保证读写操作使能状态位STA7为0。

2.3 模拟量检测电路设计

随着现代仪器的发展,微型化、集成化、数字化正成为传感器发展的一个新方向。本系统包括三路模拟量的检测,其中温湿度信号直接被转换为数字量,以单总线的形式串行输出,而压力信号经24位A/D转换芯片HX711转换并放大后才能对数据进行处理。

2.3.1 温度检测电路设计

温度检测采用DS18B20传感器,数据的输入和输出都通过DQ脚进行,为了保证数据传输的正确性,必须在数据脚DQ外接上拉电阻。当电源极性接反时,其负压特性可以保证芯片不会因过热而烧坏。

2.3.2 湿度检测电路设计

湿度检测采用DHT11传感器,它包括一个电阻式感湿元件和一个NTC测温元件,能同时采集温度和湿度两种模拟信号,系统只对湿度信号进行处理。为了保证数据的准确性,采样周期设置为2s。DATA为微处理器与DHT11之间的数据通信接口,采用单总线数据传输格式,一次传送40位数据,高位先出,数据传输格式(其中温湿度小数部分为0)为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。

2.3.3 压力信号检测电路设计

压力传感器是利用惠斯通电桥原理而设计的,当弹性元件受力而发生形变时,应变片电阻变化被转换为电势变化,由于此时电压差信号比较小,需要经过放大之后才能进行模拟量的采集。系统采用24位A/D转换芯片HX711对模拟量进行放大和采集。HX711有两路差分输入通道,可选增益分别为32,64和128倍,输出数据速率可选。系统模拟输入通道选择A通道,增益128倍,使用内部时钟振荡器,输出数据速率为10Hz。

3 系统软件设计

系统主机和从设备之间的通信模式采用异步串行方式1。方式1传送一个字符帧数据需要10位,其中1位起始位,8位数据位,1位停止位。对于STC89C52单片机来说,波特率可根据定时器1的溢出率设定。此串行方式下系统的通信波特率必须完全一致,才能保证主从设备之间的正常通信。整个系统的软件设计采用模块化的设计思想,即把程序分模块封装起来,方便主程序的调用,增加程序的可读性和移植性。

3.1 串口通信协议的设计

对于整个RS485远程数据通信系统,通信协议的设计是软件设计的前提和关键,对于通信协议来说,数据帧格式的设计是最重要的一部分,数据帧格式如表1所示。

主控机的通信协议规则:系统初始化中设置RS485总线为发送状态,做好发送数据的准备;当按键扫描程序检测到按键被按下时,发送相应的地址字节和命令字节,当数据帧发送完之后,进行适当的延时并设置RS485总线为接收状态,做好接收数据的准备;进入接收状态以后,与从设备协议规则相同,在串口接收中断程序中完成数据的接收任务;退出中断服务程序之后,按键扫描程序继续检测按键是否被按下,如果被按下则设置RS485总线为发送状态,并发送相应的地址字节和命令字节,发送完数据帧以后,进行适当的延时并设置RS485总线为接收状态,继续接收数据。

从设备的通信协议规则:系统初始化中设置RS485总线为接收状态,做好接收数据的准备;从设备不断检测接收中断标志位RI的值,如果RI=1,立即进入串口接收中断程序,把接收到的所有数据进行缓存,并对接收到的字节数进行计数;接着判断接收到的首字节是否为帧头“0xaa”,如果是则继续接收数据帧,判断接收到的字节数是否大于6个字节,计算校验和并判断是否正确;如果没有接收到帧头,置RI=0,清除所有数据,退出中断接收程序;如果本机被呼叫,即主机发送的地址是本机地址,从机根据所接收到的命令,判断是继电器控制命令还是数据采集命令,如果是数据采集命令,设置RS485总线为发送状态,并把本机所采集到的数据发送给主机;数据发送完毕之后,进行适当的延时并设置RS485总线为接收状态,保证从设备能够继续接收下次命令,如果接下来主控机一直没发送命令,则从设备会不间断地把数据发送给主机,直到下次命令的到来。

3.2 主控机程序设计

系统主控机的程序设计是整个通信系统的核心,主要任务是选择设备并发送命令,对接收的数据进行处理和显示。主控机程序设计流程如图3所示。

3.3 从设备程序设计

系统从设备程序设计包括数据采集程序、继电器控制程序、RS485通信程序和串口接收、发送程序。而模拟信号的采集即A/D转换部分的程序在设计中封装成模块,在主程序中调用即可。主要任务是接收主控机发送的命令,完成各路模拟信号的采集,并把数据发送给主机。从设备程序设计流程如图4所示。

4 系统调试

4.1 硬件调试

系统的硬件调试在整个设计中有着至关重要的作用,硬件调试的内容有:液晶显示屏模块、RS485通信接口模块、异步串行通信模块等。

4.2 软件调试

软件的调试是在硬件的基础上进行的,包括主控机和从设备的调试。软件的调试相比较硬件来说是比较繁琐和困难的,这方面的调试主要是编写程序烧录到单片机当中,根据观察到的现象逐步对程序进行修改。软件调试的难点是通信协议的调试,但在此之前,要对各个传感器模块进行独立测试,即不通过协议实现三路模拟量的采集。

4.3 整体调试

当硬件调试和软件调试都完成以后,就可以对整个系统进行调试,把主从设备通过RS485总线连接,并且把各个模块所对应的单片机程序烧录进去,对整机进行系统测试。通过软硬件的微调,系统工作正常。

5 结语

本文设计的基于RS485通信的远程数据采集与控制系统克服了传统RS232通信距离短、传输速率低的缺陷,系统终端设备可以完成温度、湿度、压力等模拟信号的采集。主从式的控制结构很好地解决了系统扩展问题,数据采集量大,实时性强。本设计创新点在于从设备的继电器控制既可从设备本身控制,也可由主控机直接控制,并且通信协议的设计更具通用性和规范性。

参考文献

[1]孙云霄,陈颖.RS485总线在数据采集中的应用[J].工矿自动化,2006(4):75-76.

[2]田亚芳,库详臣,李济顺,等.给予RS485的压力及位移数据采集系统[J].矿山机械,2011(8):135-137.

[3]苏晓龙,王香婷.基于RS-485总线的数据采集系统[J].仪表技术与传感器,2007(12):52-53,78.

5.单片机系统中多任务调度设计 篇五

目前, 单片机系统大多采用单任务机制, 系统各个任务模块按照固定的顺序被执行, 构成一个整体。但实际情况每个任务的执行频率是不一致的, 执行的顺序也不是固定的。使用单任务机制很难保证数据处理的实时性, 处理器资源利用率也较低, 而且对原有系统的升级扩展难度较大。

通过对操作系统中任务调度策略和关于单片机中多任务调度文章的研究和分析, 给出了一种基于等待时间和优先级结合的多任务调度。

2 多任务调度算法设计

任务调度时每个任务在运行结束后都等待一段时间, 让其他任务占用CPU, 而需要等待的时间长度则根据任务的优先级运行时间来设定。任务被分为三种状态:运行状态、就绪状态和挂起状态。就绪态任务能够被执行的条件是等待时间小于等于0;运行状态为当前正在占用CPU的任务状态, 该任务是来至于就绪态任务列表中;挂起态为任务不能被运行的状态, 其满足条件是等待时间为大于0。任务调度的整个过程是通过循环来实现, 分三步骤:

(1) 运行时间的获得 (Run_Tick_Time) 。Run_Tick_Time=system_tick-Last_Tick_Time;

system_tick:任务当前运行时间;Last_Tick_Time:上一任务运行记录时间, 对于第一次循环, 该时间为0。

(2) 刷新等待时间 (Delaytime) 。Waiting_Tick_Time1=Delaytime-Run_Tick_Time;

Delaytime=Waiting_Tick_Time1;

系统得到上一运行任务的Run_Tick_Time后, 先将system_tick赋值给Last_Tick_Time以便下一次循环使用。每个任务在执行之前都会获得一个等待时间Delaytime的初值, 然后该值减去上一个任务运行时间, 直到该值小于0。当任务的等待时间小于0后, 该任务就会被标记为就绪态准备运行。

(3) 根据任务状态执行任务。如果任务就绪列表中只有一个任务处于就绪态, 则CPU执行该任务, 如果就绪列表中同时有多个任务就绪, 优先级高的任务先执行, 为防止低优先级任务长时间处于就绪状态, 在fcblist链表中插入优先级为0的FCB节点, 当低优先级任务状态为就绪状态, 但出于就绪状态的时间超过一特定的时间, 该节点的函数指针就指向低优先级的任务函数, 在下一次循环遍历就绪列表时, 该任务就会被执行。

3 任务模块设计

任务控制块的主要成员变量有指向任务的函数指针、任务的等待时间、任务的优先级等信息, 为保证系统开始执行时每个任务够能被执行一次, FCB结构体的初始化为就绪态任务。

4 定时器设计

时间片的设计非常重要, 此时间片是任务调度机制的时钟。以NEC RL78平台为例, 定时器TAU00每隔1ms产生一次中断, 在其中断服务程序中, 程序判断并修改全局变量system_tick的值, 每产生一次中断system_tick的值就会递增。

5 实例应用

以纯电动汽车组合仪表系统为例, 芯片平台选用NEC R5F10DPJ, 系统完成对整车相关参数的处理与显示, 如车速、电池电量、电池参数、电池管理模块故障信息、电机控制器故障信息等。

按照多任务调度系统任务设计原则将仪表系统功能划分为7个任务模块, 按照优先级依次为:IGN检测、电机驱动、CAN数据处理、按键检测、开关量输出、LCD显示、写EEPROM。任务的实时性性依次为2ms、2ms、10ms、50ms、50ms、100ms、100ms。

按优先级创建仪表系统任务, 并建立fcblist链表, 经系统定时中断, 按优先级顺序执行一次任务, 设置看门狗复位时间后, 程序进入while (1) 中, Dispatch_Task () 函数得到fcblist中所有任务节点的等待时间数据和获取就绪态任务或处于就绪态超时的任务。

6 总结

对于实时多任务操作系统, 主要任务是对实时性要求不同的各任务做出及时的响应, 在单片机系统中采用时间等待和优先级结合的多任务调度方法, 能有效的改善系统的结构, 系统可在宏观上并行执行各种任务, 使CPU资源能有效的被利用。本方法在一款纯电动汽车仪表系统上对该方法进行了验证, 仪表工作正常。

参考文献

[1]陈劲松, 程新民, 魏忠.时间片轮转算法在单片机程序设计中的应用[J].电子技术应用, 2003, (3) :18-19.

[2]汪滢, 辛晓宁, 袁德成.实时多任务机制在低功耗单片机系统中的最小实现[J].化工自动化及仪表, 2002, 29 (3) :70-72.

[3]李奇, 樊晓平.一种时间触发的多任务调度器设计[J].专题讨论, 2008 (5) 17-19.

6.单片机数据采集与双机通信系统的设计任务书 篇六

1 问题的提出

一方面,随着人们对健康需求的要求,各种先进的检验仪器设备不断出现。我院拥有全自动生化分析仪、全自动电泳分析仪、全自动酶联免疫分析仪、全自动荧光定量PCR分析仪、全自动血细胞分析仪、全自动血凝仪、全自动血培养仪、全自动细菌鉴定仪等多台现代化大型仪器设备,如何为这些不同的设备提供一种标准的通信接口,是LIS必须首先考虑和解决的问题。另一方面,随着信息化建设不断深入,医院对信息系统的依赖性愈来愈大,对业务连续性要求越来越高,对通信模块的要求也越来越高。怎样保证在电脑(软件或硬件)无法正常工作时,迅速启动应急措施,保证业务不中断,保持较高的稳定性和较好的连续性,是我们工作中必须重视的问题。

2 检验仪器数据通信系统设计

2.1 普通模式仪器的通信程序模式

普通模式仪器的通信程序模式即串口通信方式,仪器通过串口线和电脑连接,电脑连入院内网络。这种方式下的仪器通信程序安装在此电脑,仪器通信程序采用COM接口工作模式和仪器进行通信(图1)。

目前,绝大多数的LIS系统采用此种模式与仪器设备进行通信,仪器通过串口线与电脑直接连接,这种通信方式对电脑的依赖性较强。在实际应用中,电脑由于某种原因发生故障,是会经常碰到的。如电脑中了某种病毒(木马等)或安装了某个软件,导致电脑无法启动或与仪器通信程序冲突等。在这些故障中,硬件出故障的机率一般要小于软件,电脑硬件本身的稳定性已经非常可信。但无论是软件出问题或是硬件出问题,必然会引起业务的中断。因此,必须考虑更加可靠的通信方式。

2.2 串口服务器

串口服务器是为RS-232串口到TCP/IP网络之间完成数据转换的通讯接口转换器。提供RS-232终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能及串口转网络解决方案。

串口服务器,一般内部集成IP、TCP、HTTP、UDP、DNS等协议。RS-232串口转换提供数据自动控制。提供数据双向透明传输,实现串口转网络功能可以让串口设备立即连接网络。

串口服务器的工作方式有:服务器方式、客户端方式。通讯模式有:虚拟串口模式、网络通讯模式(工业级串口服务器,一端连接串口,一端连接网口)。这种方式的优点在于仪器通过网线可与网上的任一台电脑连接通信,增加了连接的灵活性。通信程序安装在其中一台电脑上,当这台电脑出现硬件或软件故障时,与之通信的仪器仍不能正常工作,即存在单点故障。如何对这种通信模式进行优化,这是本文要解决的问题。

2.3 改进的仪器通信模式设计

我们将串口服务器引入检验科的网络中,就是要打破仪器与电脑的强耦合,即将仪器对某台电脑的强依赖性,转换到对网络、对串口服务器的依赖上(图2)。

采用此设计后,仪器通信程序采用SOCKET协议编写通讯程序,SOCKET协议通信适于处理各种复杂、灵活的通信需求,我院全院级的仪器通信解决方案,见图3。

在实际应用中,同一仪器的通信程序要在两台不同的电脑上进行安装,两套通信程序的仪器网络连接,仪器数据解析及LIS通信设置完全一致。

(1)工作模式。一台(A机)处于正常工作模式,配置为自动启动模式,当操作系统启动时,通信程序自动启动。另一台(B机)处于备用模式,设置为手动启动模式,当操作系统启动后,通过手动运行通信程序,仅当A机无法启动时,才进行手工启动。

(2)故障恢复。一旦A机因为某种故障无法正常运行时,手动启动B机上的通讯程序,因为仪器的串口线连接到串口服务器上,所以当A机发生故障时,并不影响仪器实验数据的传输,而当B机上的通信程序启动以后,会自动连接串口服务器,并把仪器数据上传至LIS。这样,工作人员仅需判断A机故障,并手工启动B机通信程序,业务则自动恢复。在B机运行期间,尽快联系IT支持,将A机进行恢复,当A机恢复以后,仍恢复到原始的工作模式,A机为正常工作模式,B机为备用模式。

3 新旧通信模式应用对比(表1)

4 结束语

我院自从采用了接口服务器的通信方式后,仪器设备信息的通信一直保持畅通状态。当然,仪器通信程序的安全及稳定运行,不仅仅是一套恢复程序就能完全解决的,还需要对仪器设备、计算机网络等进行管理,如定期检查设备状态、网络环境等。只有从多方面加强建设和管理,每一点都落实到位,才能保证业务的连续性,减少系统隐患。

参考文献

[1]刘刚,吴翔虎,曲明成,等.HL7在HIS系统中的应用研究[J].中国医疗设备,2011,26(2):42-48.

[2]余浩,保鹏飞.HIS系统Web Services接口设计与实现[J].中国医疗设备,2011,26(4):43-46.

[3]李建文,张成现.实用网络通信编程技术[M].北京:北京邮电大学出版社,2006.

[4]胡成华,刘传瑞,郭文生,等.嵌入式网络编程-串口通信、工业总线、传感器网络应用开发[M].北京:电子工业出版社,2012.

[5]丛玉隆.现代医学实验室管理与认可实践[M].北京:人民军医出版社,2011.

[6]朱有存.基于TCP/IP协议的检验仪器联机实现[J].医疗卫生装备,2010,31(8):65-67.

[7]郑定容,陈灿锋,梁新郁.医学检验仪器串口传送技术的开发与应用[J].中国医疗设备,2009,24(7):47-49.

上一篇:反担保法律意见书下一篇:单页文案12月

热搜文章

    相关推荐