温度传感器是一类被广泛应用且被最先开发的传感器。但大多数温度传感器没有对数字信号分析及处理,达到自动化控制的效果。因此,本设计基于这种情况,利用相关软硬件提高了温度传感器的实用价值。下面一起来看看吧!
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微秒。