您的位置 首页 基础

根据CY7C68013A的无线多路温度收集体系规划与开发

文章设计与开发了一套无线传输多路温度采集系统。温度采集端由8枚DS18B20温度传感器,AT89C52单片机和NRF24L01无线发射模块组成,温度接收端由CY7C68013A单片机、LCD12864

0 导言

温度收集体系在现代工业和农业范畴有着极端广泛的运用,在某些特殊环境下,收集的温度有必要经过无线电波才干传输出来。传统的无线温度收集体系一般只能在终端进行显现,没有上位机数据收集存储功用。本文规划与开发了一套无线传输多路温度收集体系,该体系由温度收集端和温度接纳端两部分组成。温度收集端由DS18B20温度传感器,AT89C52单片机和NRF24L01无线发射模块组成,八枚DS18B20温度传感器获取数字温度信号后,传输给主控AT89C52单片机,然后经过NRF24L01无线模块将数据经过2.5GHz的载波发送出来。接纳端由CY7C68013A单片机、LCD12864显现模块、NRF24L01无线接纳模块和上位机组成。NRF24L01无线接纳模块将温度收集端发送过来的数据送至CY7C68013A单片机,然后经过USB2.0总线上传给上位机进行温度数据收集和存储,一起把温度数据送至LCD12864进行实时显现。

1 体系硬件规划

体系整体结构如图1所示。温度收集端的8枚温度传感器收集将温度数据送入主控芯片AT89C52,再经过NRF24L01无线模块将数据发送出来。温度接纳端的NRF24L01无线模块将收到的温度数据送至CY7C68013A单片机,然后经过USB2.0总线提交给上位机。

a.jpg

(1)温度收集端。温度收集端由8枚DS18B20温度传感器,AT89C52单片机和NRF24L01无线发射模块组成。8枚DS18B20温度传感器共用一个总线与AT89C52单片机的P2.2口衔接。每个DS18B20都具有仅有的64位二进制ROM代码作为辨认序列号,运用仅有的序列号能够别离读出各个DS18B20的温度,这在多路收会集运用十分便利,大大减少了I/O口的

占用。运用DS18B20的此特征,本体系也能够十分便利的扩展为16路或32路温度收集。NRF24L01无线模块与单片机的P3.2口~P3.7口衔接,担任将8路温度数据经过2.5GHz的载波发送出来。本文所选用的是根据挪威VLSI公司出品的无线数字传输芯片NRF24L01开发的无线收发模块,其丰厚材料,硬件上无需附加其他元件,直接经过相应接口与单片I/O端口相连即可由单片机操控运用,十分便利。

b.jpg

(2)CY7C68013A体系模块。温度接纳端的主控芯片为CY7C68013A,其为美国CYPRESS公司推出的功用强大的USB2.0接口芯片,内建增强型51单片机,是USB2.0设备常用的主控芯片。CY7C68013A的体系模块电路图如图3所示,其间LT1763CS8—3.3为3.3V稳压芯片,担任将USB接口的5V电压转换为CY7C68013A作业所需的3.3V电压。AT24C08为I2C总线的E2PROM存储芯片,其容量为8K,用来存储CY7C68013A的固件程序。

c.jpg

(3)LCD显现模块与无线接纳模块。为了让温度接纳端实时直观显现温度数据,本体系设置了LCD12864液晶模块,LCD12864作业在串行显现形式,由CY7C68013A经过PD0~PD2端口操控显现,PA0~PA7端口操控数据的传输。NRF24L01无线接纳模块与CY7C68013A的PB0~PB5端口衔接,担任接纳温度收集端发来的无线温度数据。图4 LCD显现模块与无线接纳模块电路图。

d.jpg

2.体系软件规划

体系软件的开发包含了温度收集端AT89C52和温度接纳端CY7C68013A的固件程序开发、CY7C68013A的windows驱动程序开发以及USB上位机运用程序的开发。关于温度接纳端的CY7C68013A的固件、驱动和上位机的程序的开发,咱们能够运用CYPRESS公司供给的开发包,缩短开发周期,进步开发功率。

温度收集端的AT89C52的固件程序首要完成对8枚DS18B20温度收集的操控和对NRF24L01无线模块数据发送的操控。为此咱们选用TC51言语编写,开发环境为Keil uVision 4.0。其固件程序的首要思路为:先初始化NRF24L01,然后进入大循环,从DS18B20读取温度数值(选用默许12位精度),将得到的温度数据(2字节16位)进行符号,将此数据表明的温度路数符号在高4位(1~8路的数据别离对应为0000~0111),然后将数据写入发射数组,再将温度发射出去,经过延时温度发送结束。然后循环切换到下一路DS18B20的ROM地址,持续下一路温度的读取与发射。

CY7C68013A的固件程序首要完成对NRF24L01无线模块的通讯操控,将其接纳的无线数据传送给LCD12864进行实时显现和上传给USB上位机。关于CYTC68013A的固件程序的开发,咱们选用了C51言语编写,开发环境为Keil uVision4.0,并运用了CYPRESS公司供给的固件程序结构,免去了编写一些通用性比较强、形式化的程序,进步了开发功率。在驱动程序开发方面,咱们直接运用了CYPRESS公司的SDK中为CY7C68013A供给的通用设备驱动程序CYUSB.SYS,其不只完全契合Windows Driver Foundation标准,并且还具有兼容USB1.1和USB2.0设备、支撑即插即用和支撑高带宽数据传输等长处。咱们只对CYUSB.SYS通用驱动程序相匹配的CYUSB.INF文件进行相应的简略修正,使其契合咱们USB硬件的VID和PID数值。在上位机的运用程序的开发方面,咱们相同运用CYPRESS公司SDK中为CY7C68013A供给的功用强大的C++编程接口:CyAPLLib库函数。咱们选用了Microsoft Visual C++6.0作为开发工具,经过CyAPLLib函数与CYUSB.SYS设备驱动程序传递温度数据,并将8路温度数据存入了相应的服务器上的SQL2005数据库,然后完成了温度数据的实时收集和贮存。

3.总结

本文针对现在无线测温体系的缺乏,运用CY7C68013A芯片、NRF24L01无线模块、DS18B20数字温度传感器等元件规划与开发了一套无线传输多路温度收集体系。该体系具有以下长处:温度米集端运用8个DS18B20数字温度传感器进行并联,共用一根I/O总线,不只大幅度节省了端口资源,并且十分简单扩展为16路和32路温度收集;温度接纳端选用CY7C68013A芯片为主控CPU,不只能完成8路温度数据的LCD实时显现,并且能够与上位机直接进行USB通讯,经过上位机的运用程序能够十分便利的对温度数据进行图形显现、核算剖析和上传数据服务器进行贮存。经什物测验,该体系测温精度可达0.1摄氏度,无线传输间隔可达50米,能一起收集8路温度数据。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/280318.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部