基于物联网的数据采集系统标准设计.docx
《基于物联网的数据采集系统标准设计.docx》由会员分享,可在线阅读,更多相关《基于物联网的数据采集系统标准设计.docx(23页珍藏版)》请在冰点文库上搜索。
基于物联网的数据采集系统标准设计
毕业设计(论文)
课题
基于物联网技术数据采集终端设计
学院
电子信息工程学院
专业(方向)
应用电子技术
班级
电子112
学号
姓名
尹露露
完成日期
-11
指导老师
束慧
基于物联网技术数据采集终端设计
摘要
现在,数据采集一直是工业控制设备关键组成部分,设计高精度AD采集终端,对系统性能很关键,现在伴随物联网技术不停发展,为现场信号采集和传输提供了一个新方法,本课题在于探索和研究一个基于物联网技术数据采集终端。
本系统由单片机控制模块、AD采集模块、液晶显示模块、时钟模块、温度模块、无线通讯模块等组成,可实现现场数据实时正确采集。
关键词:
物联网技术,高精度,数据采集,通讯
Abstract
Atpresent, thedataacquisition isthemain partof industrialcontrolequipment.TheperformanceofAD acquisitionterminal designofhighprecision forthesystem isveryimportant.Atpresent, withthe continuousdevelopmentof theInternetofthingstechnology.Itprovidesa new methodfor dataacquisition andtransmission.Thispaper istoexplore andstudy a IOTbased dataacquisitionterminal.ThesystemiscomposedofMCUcontrolmodule, AD dataacquisitionmodule,LCDmodule, clockmodule, temperature module, wireless communicationmodule.Itcanrealizeaccurate real-time fielddata.
Keywords:
Internetofthingstechnology,Highprecision,Dataacquisition,Communication
引言
对于大部分制造业企业,测量仪器自动数据采集一直是个令人烦恼事情,即使仪器已经含有RS232/485等接口,但仍然在使用一边测量,一边手工统计到纸张,最终再输入到PC中处理方法,不仅工作繁重,同时也无法确保数据正确性,常常管理人员得到数据已经是滞后了一两天数据;而对于现场不良产品信息及相关产量数据,怎样实现高效率、简练、实时数据采集更是一大难题。
这就需要设计高精度AD采集终端,而在很多应用场所,需要AD采集点多,而且分布广,怎样将这些数据采集信号集中到主控,是很多系统设计中碰到问题,以往采取是用有线方法来实现信息传输。
在互联网行业快速发展今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了关键改变。
首先,分布式控制应用场所中智能数据采集系统在中国外已经取得了长足发展。
其次,总线兼容型数据采集插件数量不停增大,和个人计算机兼容数据采集系统数量也在增加。
中国外多种数据采集机前后问世,将数据采集带入了一个全新时代。
又伴随数字技术飞速发展,数字化仪器已成为观察技术领域主流仪器,所以数据采集技术也成为观察技术领域中十分关键技术步骤。
任何计算机测控系统中,全部是从尽可能快速,尽可能正确,尽可能完整取得数字形式数据开始,所以,数据采集系统作为沟通模拟域和数字域桥梁起着很关键作用。
70年代初,伴随计算机技术及大规模集成电路发展,尤其是微处理器及高速A/D转换器出现,数据采集系统结构发生了重大变革。
原来由小规模集成数字逻辑电路及硬件程序控制器组成采集系统被微处理器控制采集系统所替换。
因为由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统灵活性和可靠性大大提升,系统硬件成本和系统重建费用大大降低。
本课题在于探索和研究一个基于物联网技术数据采集终端。
关键在于经过无线通讯实现数据实时、正确采集。
1物联网介绍
物联网是新一代信息技术关键组成部分。
其英文名称是“TheInternetofthings”。
由此,顾名思义,“物联网就是物物相连互联网”。
这有两层意思:
第一,物联网关键和基础仍然是互联网,是在互联网基础上延伸和扩展网络;第二,其用户端延伸和扩展到了任何物品和物品之间,进行信息交换和通信。
所以,物联网定义是:
经过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定协议,把任何物体和互联网相连接,进行信息交换和通信,以实现对物体智能化识别、定位、跟踪、监控和管理一个网络。
物联网是继个人计算机、互联网及移动通信网络以后全球信息化第三次浪潮,是传感网、互联网(移动通信)、云计算,和智能信息处理等信息技术发展到一定阶段,在应用需求和供给创新双轮驱动下,经过水平分层和垂直整合技术脉络和产业链条而形成全球性信息系统。
1.1物联网原理
物联网是在计算机互联网基础上,利用RFID、无线数据通信等技术,结构一个覆盖世界上万事万物“Internet of Things”。
在这个网络中,物品能够相互进行“交流”,而无需人干预。
其实质是利用射频自动识别(RFID)技术,经过计算机互联网实现物品自动识别和信息互联和共享。
而RFID,正是能够让物品“开口说话”一个技术。
在“物联网”构想中,RFID标签中存放着规范而含有互用性信息,经过无线数据通信网络把它们自动采集到中央信息系统,实现物品识别,进而经过开放新计算机网络实现信息交换和共享,实现对物品“透明”管理。
“物联网”概念问世,打破了之前传统思维。
过去思绪一直是将物理基础设施和IT基础设施分开:
首先是机场、公路、建筑物,而令首先是数据中心,个人电脑、宽带等。
而在“物联网”时代,钢筋混凝土、电缆将和芯片、宽带整合为统一基础设施,在此意义上,基础设施更像是一块新地球工地,世界运转就在它上面进行,其中包含经济管理、生产运行、社会管理乃至个人生活。
1.2物联网技术应用
物联网能够以电子标签和EPC(Electronic Product Code,产品电子代码)码为基础,建立在计算机互联网基础上形成实物互联网络,其宗旨是实现全球物品信息实时共享和互通。
物联网系统结构由信息采集系统、PML信息服务器、产品命名服务器(ONS)和应用管理系统四部分组成。
本系统关键研究信息采集系统。
信息采集系统包含产品电子标签、读写器、驻留有信息采集软件上位机组成,关键完成产品识别和产品EPC码采集和处理。
存放有EPC码电子标签在经过读写器感应区域时,产品EPC码会自动被读写器捕捉,从而实现自动化EPC信息采集,采集数据将交由上位机信息采集软件进行深入处理,如数据校对、数据过滤、数据完整性检验等,这些经过整理数据能够为上层应用管理系统使用。
本系统就是基于物联网进行数据实时检测,并在检测模块中进行数据处理后再和网络进行数据交换,来实现数据实时采集、实时更新,从这些数据反馈中,我们能够实施自动控制功效,大大降低了人力在本系统中占用量。
2系统组成
2.1系统总体结构
基于物联网技术数据采集终端系统总体结构图1所表示,整个数据采集系统我们总共将其分为了六个模块:
单片机控制模块、AD采集模块、液晶显示模块、时钟模块、温度模块、无线通讯模块。
这六个模块经过物联网技术进行信息交换,实现通信。
图2-1系统框图
2.2系统参考标准
针对物联网系统特殊性,确保系统开放性、可扩展性和灵活性,在设计中参考以下标准。
GB8566-88计算机软件开发规范
GB8567-88计算机产品开发文件编制指南
DL476-92实时数据通信应用层协议
GB/T13729-92远动终端通用技术条件
3数据采集终端硬件设计
3.1CPU芯片选择
本系统选择宏晶科技企业1T单片机STC12C5A32S2,该单片机在传统8051单片机基础上开发出来一代高速、超强抗干扰新型单片机,指令代码完全兼容传统51单片机,含有48K程序存放器;1280个字节RAM;3个时钟输出口;2路PWM;2个串口,很轻易实现单片机之间通信,有内部AD模块,而且可拓展接口,处理本系统I/O口不够用问题。
其原理图图3-1所表示。
图3-1STC12C5A32S2最小系统图
3.2液晶显示模块
为了有愈加好视觉效果,显示清楚,为了有愈加好视觉效果,显示清楚,我们选择KG240128A液晶显示器,能够不单独提供背光电源,仅使用逻辑电源点亮背光。
可显示内容多,从“感官上”提升视角区间。
原理图图3-2所表示:
图3-2液晶显示
3.3AD采集模块
为了确保采集数据正确性,我们采取了ADS1212U芯片作为AD转换芯片。
ADS12X含有22位分辨率,是高精度、大动态范围∑-∆型A/D转换器。
其差分输入适合直接和传感器或小电压信号相连。
∑-∆结构用于确保宽动态范围和22位不失真编码。
在10HZ转换速率时,用低噪输入放大器可取得20位有效分辨率。
在10HZ转换速率时,用独特增强模式可取得16位有效分辨率。
应用增益可编程放大器大大增强了转换器动态范围,增益范围为1,2,4,8,16。
转换器包含一个灵活异步串行接口,该接口是SPI兼容,其原理图图3-3所表示:
图3-3AD模块原理图
另外因为ADS1212U是高精度AD芯片,为了采集到数据正确无误,要给AD芯片提供稳定电源,图3-4所表示:
图3-4电源电路(AD电源)
3.4DS1302时钟模块
本系统以分钟、时、日等单位进行数据实时采集并保留,每条统计中全部含有时间戳,为此采取时钟芯片DS1302来计时。
DS1302是DALLAS企业推出涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM经过简单串行接口和单片机进行通信实时时钟/日历电路提供秒、分、时、日、日期、月、年信息,每个月天数和闰年天数可自动调整时钟操作。
原理图3-5所表示。
可经过AM/PM指示决定采取24或12小时格式,DS1302和单片机之间能简单地采取同时串行方法进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟/RAM读/写数据以一个字节或多达31个字节字符组方法通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。
DS1302管脚排列及描述如表3-1所表示。
图3-5时钟电路
表3-1DS1302引脚介绍
管脚
功效
X1X2
32.768KHz晶振管脚
GND
地
RST
复位脚
I/O
数据输入/输出引脚
SCLK
串行时钟
Vcc1,Vcc2
电源供电管脚
3.5温度模块
本系统需要对温度进行实时采集,所以我们选择DS18B20温度传感器,DS18B20是常见温度传感器,它采取不锈钢外壳环氧树脂防水封装,能够直接将测温探头置入土壤或水中,为温室环境全方位检测提供了便利条件,芯片内部包含半导体温度传感器、64位ROM、1-Wire端口、报警寄存器、A/D转换器等模拟通道处理电路,可和微机、MCU等直接接口,其工作温度范围是-55℃~125℃,在-10℃~85℃测量精度为±0.5℃,分辨率为9~12位可编程,含有温度报警功效,用户可设置高低温报警极限。
其原理图图3-6所表示:
图3-6温度模块
3.6无线通讯模块
本系统要经过物联网实现数据采集,所以用到了无线技术,无线技术给大家带来影响是无可争议,本系统选择nRF905单片无线收发器, nRF905是挪威Nordic企业推出单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm×5mm),工作于433/868/915MHz3个ISM频道。
nRF905能够自动完成处理字头和CRC(循环冗余码校验)工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口和微控制器通信,配置很方便,其功耗很低,以-10dBm输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。
nRF905单片无线收发器工作由一个完全集成频率调制器,一个带解调器接收器,一个功率放大器,一个晶体震荡器和一个调整器组成。
ShockBurst工作模式特点是自动产生前导码和CRC,能够很轻易经过SPI接口进行编程配置。
nRF905采取Nordic企业VLSIShockBurst技术,ShockBurst技术使nRF905能够提供高速数据传输,而不需要昂贵高速MCU来进行数据处理/时钟覆盖,这么一来就降低MCU存放器需求也就是说降低MCU成本,又同时缩短软件开发时间。
原理图图3-7所表示:
图3-7无线通讯模块
3.7隔离模块
因为线圈驱动电流大,所以我们采取光电耦合器对模拟和数字电路进行有效隔离,增强控制部分抗干扰能力,从而增强电路稳定性,以AD_SCLK信号为例,原理图图3-8所表示:
图3-8光耦隔离模块
3.8电源模块
给单片机和驱动电路等其它模块供电,确保系统正常运行,在7805前加个三极管以确保输出电压时稳定5V。
图3-9所表示:
图3-9电源模块
4软件设计
4.1DS18B20温度采集程序设计
DS18B20编程时,操作过程分为三个步骤:
首先MCU初始化DS18B20;其次MCU发出ROM命令,后跟需要读写数据;然后MCU发出功效命令,后跟需要读写数据。
通常情况下,DS18B20按此步骤访问才能响应MCU命令,并实施对应功效。
三个步骤具体功效为:
1)初始化过程
DS18B20器件全部操作全部需先初始化器件,初始化操作由MCU发出复位脉冲,从机收到后发出响应应答脉冲两部分组成。
MCU发送复位脉冲后不停查询1-Wire总线状态并等候DS18B20发出应答信号,检测有没有DS18B20器件准备好,若在设定时间内没有检测到应答信号,表示不能检测到DS18B20,则返回或发出提醒信号。
2)ROM命令
MCU检测到DS18B20应答信号后,能够发送ROM命令。
ROM命令长度为一个字节,分为搜索命令、读ROM命令、匹配ROM命令、报警命令和跳跃命令五种。
ROM命令使一个单一总线可连接多个DS18B20芯片。
(1)搜索ROM命令(命令代码:
F0H)
搜索ROM命令用于经过DS18B20内部ROM码搜索总线上DS18B20芯片数量,也能判定总线上一线器件类型,检测有没有其它类型一线器件。
比如A/D转换器、存放器等。
假如总线上只有一片DS18B20,能够采取读ROM命令替换搜索命令。
(2)读ROM命令(命令代码:
33H)
当1-Wire总线上只有一片DS18B20,不需搜索命令检测芯片数量,能够用读命令直接读取其64位内部ROM编码。
不过假如总线上挂接多个一线芯片,该命令会使全部芯片同时响应MCU,使数据产生冲突而造成操作失败。
(3)匹配ROM命令(命令代码:
55H)
当总线上有多片DS18B20时,某一时刻MCU需访问其中一个芯片,MCU可先发出匹配命令,然后发出其ROM编码,全部芯片全部接收此ROM码,并和本身ROM码对比,因为ROM编码含有唯一性,所以总线上只有一片ROM码和接收ROM码相同,并响应以后MCU发出功效命令,其它ROM码不匹配芯片以后处于等候状态。
(4)跳过ROM命令(命令代码:
CCH)
跳过ROM命令关键用于MCU控制全部DS18B20同时工作,总线上挂接全部从器件收到命令后同时实施以后功效命令。
当从芯片数量多时,该命令可显著提升工作效率。
比如最常见温度转换,MCU可经过该命令控制总线上全部DS18B20在很短时间内同时开始并完成温度A/D转换。
假如轮番转换,所需时间将会增加几十倍。
(5)报警搜索命令(命令代码:
ECH)
MCU可在DS18B20内部存放器中设置高低温报警极限值。
工作过程中,经过报警搜索命令能够仅检测哪些DS18B20芯片测量温度超出了高低温报警极限值,未超温则不予处理。
该命令能够提升检测效率。
3)功效命令。
MCU向DS18B20发出ROM命令后,能够随即发出功效命令,用以实现某一控制功效,功效命令包含开启温度A/D转换、写暂存器、读暂存器、复制暂存器和回读EEPROM存放器等。
各功效命令命令代码、具体功效及总线响应情况如表4-1所表示。
表4-1DS18B20功效命令集
功效命令
命令代码
功效描述
单总线响应信息
转换温度
44H
开启温度转换
无
读暂存器
BEH
主机读取全部暂存器内存,包含CRC字节
DS18B20传输最多9个字节到主机
写暂存器
4EH
主机向暂存器第2、3、4字节(即TH、TL和配置寄存器)写入数据
主机传输3个字节数据至DS18B20
复制暂存器
48H
向暂存器中TH、TL和配置字节复制到EEPROM中
无
回读EEPROM
B8H
将EEPROM中TH、TL和配置字节回读至暂存器中
DS18B20传送回读状态至主机
4)操作时序
(1)初始化时序
MCU对DS18B20多种操作均从初始化开始。
编写初始化程序时,MCU首先将一线总线拉至低电平480μs以上,然后释放总线15~60μs,读取总线状态,若总线为低电平,表示DS18B20有响应信号,主从机联络成功,能够开始后面操作。
DS18B20收到低电平初始化信号后,会发出60~240μs低电平应答信号,为了确保可靠联络,MCU等候应答连续时间不能小于240μs,当MCU主机在设定时间内不能检测到有效应答信号,能够返回重发,或发犯错误提醒信息。
(2)读/写时隙时序
读/写时隙时序是指MCU对DS18B20读写一个位数据(“0”或“1”)操作时序。
是一线器件软件编程关键,关系到能否可靠访问一线器件,所以编程时严格根据MAXIM企业提供时序图编写。
DS18B20基础操作步骤图4-1所表示。
图4-1DS18B20操作步骤图
4.2DS1302时钟采集程序设计
DS1302控制字节最高有效位(位7)必需是逻辑1,假如它为0,则不能把数据写入DS1302中,位6假如为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
4.2.1数据输入输出(I/O)
在控制指令字输入后下一个SCLK时钟上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
一样,在紧跟8位控制指令字后下一个SCLK脉冲下降沿读出DS1302数据,读出数据时从低位0位到高位7。
4.2.2DS1302寄存器
DS1302有12个寄存器,其中有7个寄存器和日历、时钟相关,存放数据位为BCD码形式,其日历、时间寄存器及其控制字。
另外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发
寄存器及和RAM相关寄存器等。
时钟突发寄存器可一次性次序读写(除充电寄存器外)全部寄存器内容。
DS1302和RAM相关寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方法下RAM寄存器,此方法下可一次性读写全部RAM31个字节,命令控制字为FEH(写)、FFH(读)。
下图为DS1302实时显示步骤图。
图4-2DS1302实时时间步骤图
4.3nRF905程序设计
图4-3主程序步骤图
图4-4nRF905数据传输步骤图图4-5nRF905数据接收步骤图
4.4A/D数据采集程序设计
芯片简单接口程序框图:
图4-6芯片简单接口程序框图
ADS1212U内部有5种功效寄存器。
其中指令寄存器(INSR)和命令寄存器(CMR)用于控制转换器操作。
数据输出寄存器(DOR)用于存放最新转换结果。
零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行校准。
指令寄存器INSR是一个8位寄存器,对ADS1212U每一步操作全部是从它开始。
具体格式以下:
高位低位
R/W
MB1
MB0
0
A3
A2
A1
A0
R/W是读写控制位。
“1”为读操作,“0”为写操作。
MB1MB0是欲读写字节数。
“00”~“11”对应“1”~“4”。
A3~A0是欲读写寄存器地址。
命令寄存器CMR是一个32位寄存器,经过对它操作能够设置ADS1211/10多种工作模式。
数据输出寄存器DOR为24位寄存器,用于存放最新转换结果。
只有在DRDY信号为低情况下,DOR中数据才是有效数据。
假如在1/fDATA-12×(1/fXIN)时间内没有读出DOR中数据,那么它将会被新数据所覆盖。
DOR中输出数据格式能够用补码形式表示,如“FFFFFFH~000000H~7FFFFFH”,表示“负最大量程~0~正最大量程”;也能够用原码形式表示,如“000000H~800000H~FFFFFFH”,表示“负最大量程~0~正最大量程”,这可用设置CMR3DF位来实现。
零点校准寄存器(OCR)和满量程寄存器(FCR)用于对转换结果进行标准。
它们全部是24位寄存器,能够在初始化中对其写入,方便用于校准输出数据。
数据采集程序步骤图图4-7所表示。
图4-7数据采集程序步骤图
4.5液晶显示程序设计
下图为KG240128A液晶指令表:
指令名称
控制状态
指令代码
参数
运行时间
CD
RD
RW
D7
D6
D5
D4
D3
D2
D1
D0
读状态字
1
0
1
S7
S6
S5
S4
S3
S2
S1
S0
无
—
地址指针设置
1
1
0
0
0
1
0
0
N2
N1
N0
2
状态检测
显示区域设置
1
1
0
0
1
0
0
0
0
N1
N0
2
状态检测
显示方法设置
1
1
0
1
0
0
0
CG
N2
N1
N0
无
32x1/Fosc
显示状态设置
1
1
0
1
0
0
1
N3
N2
N1
N0
无
32x1/Fosc
光标形状设置
1
1
0
1
1
0
0
0
N2
N1
N0
无
32x1/Fosc
数据自动读写设置
1
1
0
1
0
1
1
0
0
N1
N0
无
32x1/Fosc
数据一次读写设置
1
1
0
1
1
0
0
0
N2
N1
N0
1
32x1/Fosc
屏读(一字节)设置
1
1
0
1
1
1
0
0
0
0
0
无
状态检测
屏拷贝(一行)设置
1
1
0
1
1
1
0
1
0
0
0
无
状态检测
位操作
1
1
0
1
1
1
1
N3
N2
N1
N0
无
状态检测
数据写操作
0
1
0
数据
无
状态检测