关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

基于1_wire的小型气象站系统开发

2019.5.17

1_wire与目前多数标准串行数据通信方式如SPIUCMicorwire不同,它采用一根信号线,既传输时钟又传输数据,而且数据传输是双向的。总线上单个主机系统能够控制一个或多个从机设备。只有一个从机位于总线上时.系统可按照单节点系统操作;而多个从机位于总线上时.则系统按照多节点系统操作。

一、小型气象站系统主机工作旅理

小型气象站系统采用OALLAS半导体公司生产的DS2423DS2450DS18B20三个1wire设备来测且环境中的风速、风向和环境温度。小型气象站基本工作原理如图1所示。

1.png

温度传感器OS18B20测量环境温度,待测出环境温度后,通过处理器的一个l/O端口用,wire总线时序将数据读取出。计数器052423用来测, 风速盘转动的速度。风速转盘通过与一个带磁铁的转子相连,记录下外部风速转盘的旋转速度,然后传给该计数器。每当风速转盘转到用于捕捉通断信号的干簧管的位且时,这两个干赞管闭合,转过该点的时候该干赞管随即断开。此时即可产生一个正相的脉冲,使计数器自动加数.计数器记录下单位时间内干赞管通断的次数. 再通过计算即可算出该风速的大小。

052450用来测量环境风向。当风吹动风向标的时候,安装在转子上的磁铁将闭合某一个或两个干赞管,而其他的干簧管则断开,当闭合某一个或两个干赞管 时,由于电阻分压作用052450各个翰入引脚上的电压将发生变化。由存在两个干赞管同时闭合的情况,可以测出磁铁处于两个干赞管中间的情况,所以8个干 赞管可以测出,6种风向状态。
本系统采用单片机MSP430F133的一个l/O端口模拟1_wire时序与1_wire总线直接连接进行通信,它使用的是洲的供电电压,具有电压低、功耗小、成本低等优点,然后单片机通过串口与上位机通信。

二、小型气象站软件系统

1.软件系统总结构

在完成了硬件系统后,要有合理的软件系统支持,软件结构如下图所示:

2.png

2. 1_wire时序1_wire设备有自身的专门的通信时序,读、写数据及供电电源全部是通过一根数据线完成。该时序有快速和慢速两种,本系统以慢速为主,其读写时序如图2所示(单位,s)

3.png

该单片机采用的是SM的晶体,产生SM的主系统时钟。所以直接使用循环语句就可以产生该时序。

3.扭索茸法

每片lee叻咐州者清唯一的翻位注册码,它存储在只读存储器(ROM)中。在,1_wire网络中,注册码用于,1_wire主机对从机器件进行逐一寻址。如果,1_wire网络中器件的ROM码是未知的.可以通过搜索算法来找到此码,从而确定该设备的身份。搜索命令通过广播形式发出后.开始实际的搜索 过程。总线复位后,由主机发出命令,所有1_wire器件同时应答主机,总线上的所有器件同时发送ROM码的第一位,这相当于发送的全部数据位ANO;接 粉主机启动发送命令使从机发送该位的补码,从两次读到的数据位可以对ROM码的第一位做出几种判断;然后主机向总线上的器件发回一个指定位.如果器件 ROM码的该位的值与该数据位匹配则继续搜索过程,若不匹配则进入等待状态直到下一个复位信号到来。其余63ROM码的搜索也按照这种方式进行。按照这种搜索算法进行下去最终除了一个器件外所有设备将进入等待状态,即可得到该器件的ROM码。

搜索算法采用的是二叉树结构.搜索过程沿各分节点进行,直到找到器件的ROM码为止;后续的搜索操作沿粉节点上的其他路径进行,按照同样的方式直到找到总线上的所有器件代码。

4.对单独某公件该写裸作

在搜索完成后,写入选择字符0x55选择所豁要的器件。以温度传感器为例,实现该算法。将05,820的旧写入,1_wire总线,此时,只有 05,820工作,其余全部停止工作,然后就是对05,820进行操作。写入数据0x44进行数据转换,保持25的高电平,然后复位,使用命令oxBE读 取051820中临时寄存器数据,从该寄存器中读取第0和第,字节,然后根据其二进制数与温度的对应关系.将其转换。

,前景与展妞

一线网络作为一种新型的测控网络有粉广阔的应用前景。该微型气象站除了可以测量风向风速和温度之外,还可以专门用于湿度、紫外线强度等用于环境测量 的,1_wire期间来测量,使该气象站的测t内容更加全面.并且该气象站成本低廉、设计简单.适合于家庭及企事业单位对环境有要求的部门从事生产和生 活。


推荐
热点排行
一周推荐
关闭