您现在的位置:机电论文网>> 传感器>> 正文内容

基于μc/os-ii的多传感器测控系统研究

作者: 来源: 发布时间:2018/2/11 16:12:47  点击数:398
1 引言
随着嵌入式系统的广泛应用,原来单一传感器的嵌入式系统逐渐向嵌入式多传感器系统发展。由此提出了多传感器任务调度分配的问题。本文结合红薯保鲜储藏工程涉及到的温度湿度氧浓度等参数要求,采用高性能16位单片机spce061a作为控制芯片,移植可裁剪的多任务实时操作系统μc/os-ii治理多任务的处理,选用高精度温度传感器ds18b20、湿度传感器hih3605、氧浓度传感器dw-02构建了一个高精度高性能高可靠性的多传感器嵌入式测控系统,各个被控参数可调范围宽,较好的满足了工程要求。系统的主要参数:工作温度:10~14℃±0.5℃;工作湿度:80~95%rh±5%;氧浓度:≮4.5%。同时,实现了温湿度数据的显示与保存;可输出温度、湿度、氧浓度等调节的控制信号,具有故障和报警状态提示等功能。
2 系统硬件设计
2.1 单片机系统设计
系统硬件电路原理框图如图1所示,主要由spce061a单片机、温湿度传感器、氧浓度度传感器、lcd显示电路、键盘电路、rs232通信电路、时钟电路等组成。spce061a是一款基于?'nsp内核的16位单片机。
图1 系统硬件电路原理框图
2.2 传感器电路设计
温度检测电路选用dalls公司生产的三线式数字温度传感器ds18b20。该器件只有3个引脚,不需要外部元件,一条数据线进行通信。该电路的检测温度范围设计为0~ 50℃;精度为0.5℃;用9bit数字量来表示温度;每次将温度转换成数字量需200ms。在单总线工作方式下,答应一条信号线上挂接多个ds18b20,ds18b20都有唯一的rom代码。在多点温度测控系统中,rom代码是识别和操作ds18b20的基础;无论读取还是选择对某一个传感器进行操作,spce061a必须发送64位rom代码。
本系统用3块ds18b20来实现对环境温度的检测,保证在被测环境范围内,温度分布均匀,测量更加准确,使用时将ds18b20放置在被测环境的不同位置。获得温度信息时,先由spce061a的iob15脚发送一个1ms的复位脉冲,以使ds18b20复位后将向spce061a 发送一个回应脉冲,spce061a接到回应脉冲后将发送读ds18b20序列号的读rom命令,以分别读取三个ds18b20的序列号;然后,spce061a再发出定位命令以选择在线的ds1820并进行温度转换。当温度转换完成后,spce061a的iob15脚会发送ds1820的存储命令,从而完成温度信息数据的转换和读取。
2路湿度传感器采用honeywell公司生产的hih3605,它为热固性聚合物电容传感器,带集成信号处理电路,5 v恒压供电, 放大线形电压输出0~5vdc对应0~100%rh(相对湿度),精度为±3%rh。低功耗设计200μa驱动电流,宽工作温度范围-40℃~ 85℃,稳定性好,低的温度飘移,抗化学腐蚀性能优良。由于hih3605为大信号输出且线性度良好,因此,可省去复杂的信号放大及整形电路,只需经过cpu内部的a/d转换器将与湿度值成正比的电压值转换成16位数字量,和标准进行比对,然后决定是进行加湿还是通风(温度适宜的风)。
2路氧浓度检测选用 dw-02型氧浓度传感器,该传感器是一种化学式的气体扩散型燃料电池,广泛应用在环保节能、航天等领域,用以小环境氧浓度监测。主要特点是体积小、响应快、线性好、温漂小等特点,稳定。主要技术指标: 响应时间≤30秒(满量程的90%) ;测量范围0~50% o2 ;温度系数>0.003% o2/℃ ;线性误差 0.2%~-0.1% o2 ;使用温度范围-20℃~ 50℃ ;输出电流1.1ma 15% 。 本系统测定的含氧量不得低于4.5%。
由于是冬季,当储藏室环境温度高于14℃或湿度大于95%rh、或氧浓度低于4.5%设定值时,不能直接将冷空气送入储藏室,必须将室外空气加热到12℃送入,否则,会造成红薯受冷变质。三个参数中,最主要的是温度值,然后是湿度。继电器电路的工作情况如表1所示。
表1 继电器控制电路工作情况
2.3 键盘、显示电路及通信接口设计
系统键盘电路由3根线连接至spce061a的ioa0~ioa2组成,它们分别是功能键,增加键,减少键,用来实现温、湿度氧浓度的上、下限及控制时间的设置功能。测控仪采用ht1621驱动128段lcd显示器,用于显示现场的温、湿度值、o2浓度以及故障和报警状态。ht1621是一个128(32×4)段、内存映射、多功能、i2c接口的lcd驱动器。这里利用其两线串行模式与单片机接口,简化了与单片机的接口电路设计,并减少了硬件资源的占用。
为了将实时采集的氧浓度、温湿度数值保存下来,spce061a通过iob7/10 rs232总线将氧浓度温湿度值传输给上位pc机,以便于主计算机完成数据存储。
3 软件设计
3.1 系统任务分配
为了充分发挥操作系统在任务调度、任务治理、任务通信、时间治理和内存治理等方面的优势,首先必须根据需要实现的功能,合理的划分任务和分配任务的优先级。按温湿度测控系统所要求实现的功能,将整个系统划分为并行存在的任务层和中断程序。μc/os-ii嵌入式实时操作系统中的任务状态转换如图2所示。
图2 μc/os-ii任务状态转换示意图
多任务系统在运行时每个任务似乎独立占用cpu一样,因此系统必须为每个任务开辟一块内存空间作为该任务的任务堆栈。该堆栈的作用是保存任务被切换前时cpu各寄存器的值以及系统堆栈的数据。在进行任务切换时需要完成工作的主要步骤如下:①将当前任务cpu所有的寄存器压栈;②将cpu系统堆栈的数据全部拷贝到当前任务的任务堆栈中;③ 得到下一个处于运行态优先级最高的任务的任务堆栈的指针;④ 恢复下一个任务的cpu寄存器的值;⑤ 恢复下一个任务的系统堆栈中的数据;⑥ 通过中断返回指令或函数返回指令,间接修改pc寄存器的值来进行任务切换。在为μc/os-ii编写任务切换代码时需要注重的是:μc/os-ii在每次发生中断后都会产生任务调度,但在中断结束后进行的任务切换,不能调用普通任务切换函数,这是因为在中断过程中往往伴随将cpu的状态寄存器压栈操作。
任务切换方法:凌阳space061a单片机有r1-r5 五个通用寄存器,还有1个sr(cpu状态寄存器),再加上pc,总共有7个cpu内部寄存器在任务切换时需要保存。μc/os-ii系统调用osctxsw( )来实现任务的切换。系统中并行存在的几个任务按优先级从高到低依次是:系统监视任务、数据采集任务、数据处理任务、数据输出任务、显示任务。在实际系统中,每个任务都是无限循环的,分别实现某一特定的功能,由μc/os-ii内核来进行调度。系统监视任务主要完成系统可靠性的监管;数据采集任务主要完成温度湿度氧浓度的检测和a/d转换;数据处理任务主要完成采集数据和设定数据的比较判定;数据输出任务主要完成数据输出给lcd、通过rs232传输给主机、以及输出控制信号给继电器电路,完成通风、加热、加湿等功能;显示任务主要完成温度湿度氧浓度参数的显示。系统主程序任务流程图如图3所示。
图3 系统主程序任务流程图
3.2 μc/os-ii的移植
μc/os-ii是一种专门为微控制器设计的抢占式实时多任务操作系统,它以源代码的形式给出。其内核主要提供进程治理、时间治理、内存治理等服务。系统最多支持56个任务,每个任务均有一个独有的优先级。由于其内核为抢先式,所以总是处于运行态最高优先级的任务占用cpu。系统提供了丰富的api函数,实现进程之间的通信以及进程状态的转化。
μc/os-ii的软件体系结构如图4所示。从图4中可以看到,假如要使用μc/os-ii, 必须为其编写os_cpu.h、os_cpu_c.c、os_cpu_a.asm三个文件。这三个文件是与芯片的硬件特性有关的,它们主要提供任务切换与系统时钟的功能。其它文件用c写成,它们为系统提供任务治理、任务之间通信、时间治理以及内存治理等功能。
图4 μc/os-ii 软件体系结构示意图
μc/os-ii系统时钟:以凌阳spce061a单片机的tmb2时基信号作为系统时钟,每经历一个时钟节拍的时间将产生一次中断,在中断服务子程序中会调用ostickisr()函数。
移植工作的主要内容:用#define 设置一个常量值(os_cpu.h);声明10个数据类型(os_cpu.h); 用#define 声明3个宏(os_cpu.h);用c语言编写6个简单的函数(os_cpu_c.c);编写4个汇编语言函数(os_cpu_a.asm)。
4 结论
μc/os-ii rtos是当今嵌入式应用的热点之一,应用rtos提高了测控系统系统的可靠性、实时性,降低了研发周期。本文基于μc/os-ii构建的测控系统应用在漯河农业局2000万公斤红薯储藏保鲜工程项目中,完全达到了设计的控制指标:温度10-14℃±0.5℃ ,湿度80—95%rh±2%,氧浓度≮4.5%。降低了红薯因为温度湿度氧浓度不正常造成的变质,完好率100%,与不使用本系统的仓储对比减少损耗25%,约500万公斤,直接经济效益500多万元,同时也取得了较好的社会效益。另外,该系统具有较好的可扩展性,很轻易扩展到其它对温度、湿度或者氧浓度有一定要求的领域。经试验,温度测定范围可以达到-20-85℃±0.5℃;湿度20—98%rh±2%;氧浓度≮1.5%。所以,该测控系统具有较广的应用前景。
本文创新点:采用高性能spce061a单片机和高精度温度传感器、湿度传感器和氧浓度传感器,通过移植μc/os-ii多任务实时操作系统,构建了高精度、高可靠性的多传感器嵌入式测控系统。实际工程应用表明,系统扩展性好、测控精度高、性能稳定。

更多
字体:【】-【】-【】【关闭此页

上一篇:加工汽缸内孔用镶片套式精铰刀'   下一篇:基于gsm模块的led显示屏设计'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。