基于单片机的温湿度以太网传输系统设计

2014-04-28 07:47刘艳彬于大波刘文英
山东工业技术 2014年15期
关键词:高电平以太网数据包

刘艳彬,于大波,刘文英,徐 磊

(1.93756部队,天津 300131;2.天津吉诺科技有限公司,天津 300384)

基于单片机的温湿度以太网传输系统设计

刘艳彬1,于大波1,刘文英2,徐磊1

(1.93756部队,天津300131;2.天津吉诺科技有限公司,天津300384)

摘要:本文介绍了基于单片机的温湿度传感器及其测试数据的以太网传输系统设计方案,该方案实现了温度和湿度的复合测试,并通过以太网实现了上位机对现场环境温湿度的采集和远程监测。

关键字:C8051F340;温湿度传感器;以太网

1 引言

温湿度传感器的监测和控制在生产和生活中广泛应用,从复杂的模拟量监测到数字化的智能监测,传感器监测系统向着小型化,智能化的方向发展。本系统利用单总线温湿度传感器SHT75实现现场温湿度的测量,经过单片机C8051F340处理,通过以太网进行通信,完成了小型智能化传感器系统设计。

2 传感器以太网电路系统设计

2.1系统结构设计

本系统主要由单片机(C8051F340)电路、以太网接口电路和传感器模块电路三部分组成。C8051F340是Silicon Labs公司推出的完全集成的混合信号片上系统型MCU,具有与80C51兼容的CIP-51内核[1]。单片机电路的设计包括复位电路、地址线、数据线的分配和定义、与传感器模块以及以太网接口电路的连接等。以太网驱动芯片CP2200与以太网隔离变压器HR911105A组成以太网电路部分。

2.2传感器电路设计

SHT75是Sensirion公司推出的一款利用电容式聚合体测相对湿度和能隙式元件测温度的数字式温湿度复合传感器,它内部集成了温湿度传感器、信号放大处理器、14bit的A/D转换器、一个2线制的串行接口和内部电压校准。SHT75的工作原理是:两个传感器测量元件分别把温湿度信号转换成微弱的电信号,在信号经过运算放大器放大后进入A/D转换器进行A/D转换、与存储在OTP中的校准系数进行校准和纠错,然后通过串行接口把数据传输至单片机完成非线性补偿和温度补偿。

SHT75的串行接口是模拟的I2C接口,因此传感器不能按照标准的I2C协议编址,在I2C总线上没有其他元件时,传感器可以连接到单片机标准的I2C总线上,但是,单片机必须按照传感器的协议工作[2]。本设计中采用C8051F340的IO口模拟I2C接口分别与SHT75的DATA脚和SCK脚连接进行数据采集和同步通信的时钟输入。因为SHT75的DATA在上升沿有效,并且在SCK高电平时必须保持有效,因此在设计中SHT75外部加一个上拉电阻确保信号处于高电平。

2.3以太网接口设计

CP2200是集成了IEEE 802.3以太网媒体访问控制器的单芯片以太网控制器,它具有一个8位并行总线接口支持Intel和Motorola总线方式[2],可以使用复用或非复用方式寻,本设计通过拉高MUXEN脚使芯片处于非复用方式,在该模式下,数据传输速率超过30Mbps。

C8051F340的P3口作为8为地址线,P4口作为8位数据线,P1.6和P1.7分别配置为/RD和/WR。CP2200的中断引脚INT与C8051F340的P0.5引脚连接在一起,其片选CS阵脚接C8051F340的P0.4脚。

HR9011105A集成了以太网隔离变压器、RJ-45、指示灯。CP2200的网络连接指示灯接口LINK和网络活动状态指示灯接口ACT分别连接到HR9011105A上相应的LED灯的控制端口。CP2200通过HR9011105A连接到以太网上,以太网数据传输电路设计如图1所示。

3 软件设计

3.1温湿度传感器数据采集

在温湿度数据采集部分,首先对单片机的初始化,然后发送“启动数据传输”命令:在SCK高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后在SCK时钟高电平时DATA翻转为高电平,然后传送命令指令,传感器开始进行温湿度的采集、补偿、露点计算等。SHT75只有一个内部地址,对SHT75的操作只能通过不同的命令实现,主要经过的是启动传输、字节的读与写、状态寄存器的读与写、最终数据的读取、计算和通信的复位几部分。

3.2以太网软件设计

在本系统中,CP2200作为C8051F340的外部RAM,其存储器接口(EMIF)设定在P3和P4口,打开交叉开关,选择地址线和数据线的非复用方式,选择存储器模式为不带块选择的分片方式,设置与片外存储器或外设接口的时序。单片机通过中断请求信号得到振荡器是否完成初始化,查询INT0来确定CP2200自身的初始化是否完成,禁止那些主处理器不监视或不处理的事件的中断,初始化物理层,用IOPWR寄存器使能所需要的活动(Ack)、连接(Link)LED;初始化媒体访问控制器(MAC),配置接收过滤器。

图1 以太网数据传输电路设计

以太网接口模块主要实现CP2200的驱动函数,主要包括初始化函数、帧发送函数和帧接收函数。当MAC允许接收数据包并且接收缓冲区未满时,CP2200会自动完成数据包接收,一旦接收完成就会向单片机发送接收完成中断[3]。单片机通过AutoRead自动读取数据包,根据处理器的选择读取数据包将其复制到局部存储器中或者在RXSKIP位写1跳过该包。CP2200初始化完成后就准备好收发数据包,通过AutoWrite寄存器将数据装载到发送缓冲区,并向内部寄存器TXGO写1就可以发送数据包,CP2200/1为发送以太网数据包提供了一个简单的接口,只需主机把源地址、目的地址、长度和数据内容装载到发送缓冲区。前导、开始帧、CRC 和填充由芯片自动完成。发送完成后产生数据包已发送完成中断。

考虑到单片机的处理速度和有限的内部资源,本设计使用裁剪后的TCP/IP协议。本设计中裁剪后的协议栈包括IP协议、ARP协议、ICMP协议、TCP协议。软件流程图如图2所示。

图2 软件流程图

4 总结

本方案已成功应用于监控生产车间的温湿度,本系统数据采集精度较高,稳定性较好;另外,因CP2200集成了CRC校验等多项功能,很大程度上减轻了系统的负荷,使得该系统工作状态良好,可以进行稳定的数据传输。

参考文献:

[1]Silicon Laboratories Inc.c8051f340datasheet.http://www.silabs.com.

[2]Sensirion Inc.SHT7X datasheet.http://www.sensirion.com.cn.

[3]Silicon Laboratories Inc.CP2200datasheet.http://www.silabs.com.

[4]刘锋,王平,付蔚.基于SHT75温湿度传感器的设计与应用[D].电子产品世界,2008(11).

[5]王晓菊,潘琢金,杜睿.沈阳航空工业学院学报[D].2007(02).

作者简介:刘艳彬(1979—),讲师。

猜你喜欢
高电平以太网数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
C#串口高效可靠的接收方案设计
数字电子技术的应用
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
浅谈物理电路与数字电路
关于Multisim10.0的高电平调幅电路仿真研究
基于以太网的计算机与数控系统通信技术研究