无线数据采集器的设计集美大学信息工程学院电子信息工程专业2010届林杨宝学号:2006820007[摘要] 本文设计一个基于TMS320LF2407EA的多路无线温度采集系统,能够自动检测DS18B20个数,动态调整系统参数。
主控DSP可以把温度数据显示在液晶屏幕中,并且通过nrf2401无线模块传输到上位机,由Qt开发的程序将数据存储在QSQLITE数据库,并用Qwt库绘制温度曲线。
文章在简要介绍DS18B20、nrf2401无线模块、TMS320LF2407A、液晶模块以及Qt开发工具和扩展库Qwt的基础上,详细介绍了无线温度采集系统的硬件和软件设计的过程,以及在设计过程中要注意的问题。
[关键词] DS18B20 温度采集 DSP Qt nRF2401.The Design of Wireless Data AcquisitionLin YangbaoNO: 2006820007, Communication Engineering Major,2010Information Engineering College of Jimei UniversityAbstract:In this paper, a multi-channel wireless temperature acquisition system based on TMS320LF2407EA is designed, which can automatically detect the number of DS18B20, dynamically adjust parameters of system. Master DSP can displayed temperature data in the LCD screen and transferred data to PC through wireless module nrf2401 .The program develop by the Qt can stored the data in the QSQLITE database, and draw the temperature curve with Qwt library. This paper briefly introduce DS18B20, nrf2401 wireless module, TMS320LF2407A, LCD module and Qt development tools and extensions Qwt . Introduce the wireless temperature acquisition system hardware and software design process and in the design process what issues should pay attention.Key words:DS18B20Temperature Acquisition DSP Qt nRF2401引言 (1)第1章概述 (2)1.1选题意义 (2)1.2设计任务要求 (2)1.3方案选择 (2)1.3.1 下位机数据采集模块 (2)1.3.2 下位机人机交互模块 (3)1.3.3 与上位机无线通信模块 (3)1.3.4 上位机数据处理编程 (3)1.4DSP开发硬件平台介绍 (3)1.5无线数据采集器系统框图 (4)第2章数据采集模块的软硬件设计 (6)2.1DS18B20简述 (6)2.2数据采集模块硬件设计 (6)2.3数据采集模块软件设计 (7)2.3.1 DS18B20的工作时序 (7)2.3.2 数据采集模块子程序设计 (8)第3章人机交互模块软硬件设计 (11)3.1人机交互模块硬件设计 (11)3.2 LCD液晶多级菜单的实现 (12)3.2.1 定义菜单操作的结构体 (12)3.2.2菜单层次结构 (13)3.2.3菜单间切换 (14)第4章无线通信 (16)4.1无线通信硬件设计 (16)4.1.1 无线传输模组介绍 (16)4.1.2无线传输模组接口电路 (17)4.1.3从单片机与PC串口通信的硬件设计 (18)4.2无线通信软件设计 (18)4.2.1 nRF2401工作时序 (18)4.2.2 nRF2401A的命令字 (20)4.2.3 nRF2401A初始化读写操作软件设计 (22)4.3自定义通信格式 (23)第5章上位机数据处理 (25)5.1Q T简介 (25)5.2温度数据库实现 (26)5.3绘制温度曲线 (27)5.4无线数据采集终端界面设计 (28)结论 (31)致谢语 (32)[参考文献] (33)附录 (34)温度是环境监测的重要参数,在一些特定的场合常常需要对温度进行监测。
很多温度监测环境范围大,测点距离远,布线很不方便。
这时就要采用无线方式对温度数据进行采集。
多路无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中。
在本系统中各点的温度传感器DS18B20 将采集到的温度值送给单片机进行处理,通过nRF2401 实现远程无线传输,在上位机的控制系统中,采用串口作为计算机与测控网络的接口。
本系统能准确测量范围内的温度,又能解决布线不便的问题。
第1章概述1.1 选题意义温度是工业、农业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。
伴随工业科技、农业科技的发展,温度测量需求越来越多,也越来越重要。
但是在一些特定环境温度监测环境范围大,测点距离远,布线很不方便。
这时就要采用无线方式对温度数据进行采集。
多路无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中,例如:城市路灯故障检测和供电线路防盗监视、城市居民小区供热检测、大型仓库温度检测、工业生产测控、农业生产温度测控、环保工程、故障监控工程等。
考虑到许多工业环境中对多点温度进行监控,一般需要测量几十个点以上。
本文设计多路无线温度监控系统。
1.2 设计任务要求(1)能够开机检测温度传感器的个数,动态调整系统参数。
(2)下位机提供友好的人机,能显示各传感器的温度数据。
(3)无线传输距离100米以上。
(4)上位机能将温度数据存储于数据库并绘制温度曲线。
1.3 方案选择根据各项功能的实现方法以及硬件连接方式,将整个系统划分为四大模块:下机位温度数据采集模块,下位机人机交互模块,与上位机无线通信模块,上位机数据处理。
1.3.1 下位机数据采集模块方案一:采用热敏电阻,价格比较便宜,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。
在温度测量系统中,经常采用单片温度传感器,比如AD590、LM35等。
但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给单片机,这样就使得测温装置的电路较复杂。
另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量,即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样,然后进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输、多点测量切换及放大电路零点漂移等造成的误差问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化,便于控制,省去传统的测温方法的很多外围电路,且该芯片的物理化学性很稳定,它能用做工业测温元件。
DS18B20的最大特点之一采用了单总线的数据传输,测温系统的电路就比较简单,体积也不大,TMS320LF2407 DSP评估板只需要一个I/O 就可以带驱动多个DS18B20,容易实现多点测量,轻松的组建传感器网络。
从上述两个方案的对比中看出,方案一的电路复杂,可扩展性不高,不方便进行多点测量,因此我们选择方案二。
1.3.2 下位机人机交互模块方案一:由DSP驱动128*64LCD显示屏来实现温度的显示。
本系统的键盘功能主要有多路数据采集通道间切换,以及其它系统信息显示切换。
可以通过图文的方式显示更多信息。
方案二:用七段数码管和键盘来做人机交互界面,优点是价格便宜,程序简单,缺点是硬件电路复杂,不方便同时显示多路温度以及其它系统信息,界面表达不能满足要求。
从上述两个方案的对比中看出,选择方案一。
1.3.3 与上位机无线通信模块方案一:DSP采集到的数据,通过无线模块传输到从单片机,再由从单片机驱动USB芯片通过USB口将数据传到电脑中。
这样硬件实现复杂,也使编程难度加大。
方案二:DSP采集到的数据,通过无线模块传输到从单片机,再通过从单片机的串口直接将数据传到上位机中。
单片机与PC串口通信实现是简单可靠的。
通过对比两个方案,选择更简单可靠的方案二。
1.3.4 上位机数据处理编程方案一:上位机编程采用Java,Java语言本身比C++语言要更简单。
Java有内建的垃圾回收机制,因此程序员无需关注内存释放工作。
Java语言本身支持多线程。
方案二:上位机编程采用C++和基于Qt的开源跨平台开发框架来编写上位机程序。
Qt提供了一组更容易理解的GUI类,而且相对于Java的Swing类来说,它们运行更快,使用起来更加灵活。
通过比较两个方案,选择方案二中更加熟悉的C++,以及在开源项目中广泛采用的Qt 来进行上位机数据处理编程。
1.4 DSP开发硬件平台介绍由于系统将来不仅用于采集数据,还要根据采集到的信息对相关设备进行复杂的控制。
比如工业生产某一过程对温度的控制精度要求很高,这时就要采用模糊控制。
但一般的单片机运算速度较慢导致控制实时性差,而采用数据信号处理器就能很好的完成任务。
所以本系统主控下位机采用TMS320LF2407DSP 芯片。
DSP开发板是用学院提供的TDS2407EA 评估板。
TDS2407EA 评估板是一个性能优越的板卡,开发人员可对LF2407数信号处理器的某些参数进行检测,以确定DSP 是否满足要求。
而且,此模块是一个可以开发和运行LF2407 系列处理器芯片的开发平台。
TDS2407EA 板使用的是TMS320LF2407DSP 芯片,EVM板可以对LF2407代码进行全速检验,其有544 个字长的片上数据存储器、128K 字长的板上存储器、片上只读闪烁存储器、片上UART 和一个MP7680D/A 转换器,板上安装的器件可使评估板解决各类问题。
4 个扩展接口,可提供给任何评估电路。
评估电路是用户自行开发,可应用大量的用户界面来转化代码,从而缩短开发时间和周期[1]。