何小虎
摘 要: 针对许多温度传感器没有对数字信号分析及处理,达到自动化控制的效果。本文介绍了一个基于S3C6410的嵌入式系统开发板,使用嵌入式Linux系统作为软件平台,采用DS18B20数字温度传感器的数字测温系统。该系统可以方便实现温度采集和显示,可被用于各种复杂环境下的实时温度测量行为。
关键词: 温度传感器 嵌入式系统 测试系统
1.引言
温度传感器是一类被广泛应用且被最先开发的传感器。但大多数温度传感器没有对数字信号分析及处理,达到自动化控制的效果。因此,本设计基于这种情况,利用相关软硬件提高了温度传感器的实用价值。
2.总体设计
2.1系统功能模块设计
从需求分析可以看出,该系统的功能模块应包括以下几个部分:实时温度采集与更新模块、自定义温度警报模块、超温报警模块。DS18B20采用了单总线方式的传输协议,即只需要一根管脚就可以对输入输出进行控制。此种单总线传输协议在实际应用中有很大优势,使用此种协议的芯片不需要任何外围电路,对硬件设计时的复杂性大大简化了许多。
2.2系统软件设计方案
2.2.1嵌入式操作系统选择
在本设计当中,硬件平台完全支持Linux、开发便捷迅速、资料众多、内核小、效率高等优点决定了在本设计当中的稳定性等优点,均使得本设计采用了Linux作为开发的操作系统。
2.2.2应用层程序语言选择
应用程序使用C语言进行开发,使用Linux标准C语言接口,与驱动层进行交互。
3.硬件设计
3.1整体硬件电路设计
根据硬件设计方案,在开发中用到的硬件有Tiny6410开发板、DS18B20数字温度传感器、USB转串口数据线。
3.2硬件连接方式
将USB转串口线一端接在Tiny6410的串口1上,另一端连接PC机USB接口。两个DS18B20传感器的VCC与GND管脚并联起来,与Tiny6410开放的电源与地线接口相连,两个传感器的数据接口一起连接在S3C6410的GPIO的管脚上。
4.软件设计
4.1嵌入式系统架构
本系统在软件方面主要由Linux内核裁剪和移植、底层驱动程序开发、上层应用程序开发三部分组成。其中,Linux内核的运行需要有引导程序BootLoader、内核的配置裁剪与编译、根文件系统的编译三个部分支持。
4.2驱动程序设计
在本设计当中,对DS18B20数字温度传感器根据其数据手册上的传输协议及参数进行驱动编写,首先要明确其控制参数及流程。本系统中对传感器的操作流程如下:
DS18B20写操作:
(1)置数据线高电平;
(2)延时2微秒;
(3)置数据线低电平;
(4)延时15微秒;
(5)按从低位到高位的顺序发送字节(一次只发送一位);
(6)延时60微秒;
(7)数据线拉到高电平;
(8)循环上述步骤使9位传送完毕;
(9)数据线拉高电平。
DS18B20读操作:
(1)置数据线高电平;
(2)延时2微秒;
(3)数据线拉低电平;
(4)延时2微秒;
(5)数据线拉高电平;
(6)延时8微秒;
(7)读数据线状态进行数据处理;
(8)延时50微秒。
5.结语
本设计在温度的测量精度上较为准确,系统能快速反应并准确显示改变后的温度。在长时间运行下测量结果依然准确,在实际生产生活的温度测量工作中具有较大实用价值。同时系统中仍存在一些不足有待弥补。
参考文献:
[1]徐亦朱.DS18B20中文手册[M].安徽:安徽大学出版社,2013.
[2]沙占友.智能化集成温度传感器原理与应用[M].机械工业出版社,2002-7-1.
[3]罗苑棠.嵌入式Linux驱动程序和系统开发实例精讲[M].电子工业出版社,2009.
[4]Tiny6410刷机指南[M].广州友善之臂计算机科技有限公司,2013-05-14.
基金项目:陕西自然科学基础研究计划项目(2014JM 1026),陕西教育厅教改项目:13BY91渭南师范学院项目:15YKP002,受校级特色学科建设项目(14TSXK02)资助。