基于网络的数据采集系统毕设论文.docx
- 文档编号:9130954
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:27
- 大小:241.64KB
基于网络的数据采集系统毕设论文.docx
《基于网络的数据采集系统毕设论文.docx》由会员分享,可在线阅读,更多相关《基于网络的数据采集系统毕设论文.docx(27页珍藏版)》请在冰豆网上搜索。
基于网络的数据采集系统毕设论文
毕业设计(论文)
论文题目:
基于网络的数据采集系统
摘要
“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,在由计算机进行存储、处理、显示或打印相应的系统称为数据采集系统。
本文简要介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。
将TCP/IP协议嵌入到单片机中,借助网卡芯片ZNE--100实现了单片机在局域网内和通过局域网在因特网上的数据传输。
用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。
关键词:
TCP/IP协议单片机因特网局域网网卡芯片
ABSTRACT
"DataAcquisition"referstothetemperature,pressure,flow,displacement,suchasanalog-digitalconversionacquisition,bythecomputerstorage,processing,displayorprintthecorrespondingsystemknownastheDataAcquisitionSystem.
ThispaperintroducestheembeddedTCP/IPprotocolSCMinthedatacommunicationsnetworktransmissiontechnology.WillbeTCP/IPprotocolembeddedinthemicrocontroller,withchipcardZNE-100realizationoftheSCMinLANandthroughLANInternetdatatransmission.UserterminalstoSCMsystemboardforthemedia,throughthenetworkandremotedataterminalsfordatacommunications.
Keywords:
TCP/IPmicrocontrollerInternetLANcardchip
目录
第一章绪论1
1.1数据采集的意义1
1.2数据采集系统的基本功能2
1.3本文研究内容3
第二章基本原理及方法4
2.1基本原理4
2.2TCP/IP协议6
第三章论文(设计)的主要研究方案10
3.1研究内容10
3.2拟采用的研究方法及主要措施10
第四章总结25
参考文献26
致谢27
第一章绪论
1.1数据采集的意义
“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,在由计算机进行存储、处理、显示或打印相应的系统称为数据采集系统。
到目前为止,Internet技术主要用于信息的交流.如E-mail、Web浏览等,即使是Internet技术的进一步应用,如电子商务e-business,也仅仅停留在企业与企业或与个人在商务方面的信息交换上.因此,通常我们对Internet的理解也一直停留在这个观念上.这其实是一种狭隘的理解,它在很大程度上制约了人们从其它领域去获得与人们工作和生活密切相关的重要信息.如从一些电子设备中采集信息并去控制它们。
设想一下:
当我们假日外出旅游前,通过网上可以查到某一城市的某一地区或某一个公园及山顶是天晴还是下雨、那里的温度、湿度、及污染指数又该是多么方便呢?
还有智能公路:
交通管理、车辆导航、流量控制、信息监测与汽车服务;水、电、煤气表的自动抄表,安全防火、防盗系统;等等[1]。
要做到这些并不很难,在电子技术、传感技术已经高度发达的今天,现场数据的取得,已经不是难事.温度、压力、湿度、速度、加速度、电流、电压这些数据只需要一个小小的单片机(MCU)就可以解决。
若能将单片机系统连上Internet,则可以获得更大程度的信息交流。
如何让这些电子设备跟Internet连接起来,以便人们能够远程获得这些电子设备的信息并控制它们的运行,已成为今天国内外共同关注的焦点[2]。
随着电子信息技术的高速发展,通过软件方式或硬件方式将TCP(UDP)/IP协议嵌入到单片机已经成为可能,网络化智能化的单片机,网络智能化的传感器,是目前国内外竞相抢占制高点的前沿技术之一[3].
数据采集系统性能的好坏,主要取决它的精密和速度。
在保证精度的条件下,应有尽可能高的采样速度,满足实时采集、实时处理和实时控制对速度的要求。
1.2数据采集系统的基本功能
由数据采集系统的任务可以知道,数据采集系统具有一下几方面的功能:
数据采集
计算机按照预先选定的采样周期,对输入到系统的模拟信号进行采样,有时还要对数字信号、开关信号进行采样。
数字信号和开关信号不受周期的限制,当这类信号到来时,由相应的程序负责处理。
模拟信号处理
模拟信号是指随时间连续变化的信号,这些信号在规定的一段连续时间内,其幅值为连续值,即从一个变量到另一个变量时中间没有间断,如正弦信号x(t)=Asin(ωt+θ)。
数字信号处理
数字信号是指在有限的离散瞬时上取值间断的信号。
在二进制系统中,数字信号是由有限字长的数字组成,其中每位数字不是0就是1,这就可由脉冲的有无来体现。
数字信号的特点是,他只代表某个瞬间的量值,不是连续的信号。
开关信号处理
开关信号主要来自各种开关器件,如按钮开关、行程开关和继电器触点等。
开关信号的处理主要是监测开关器件的状态变化。
二次数据计算
通常把直接由传感器采集到的数据称为一次数据,把通过对一次数据进行某种数学运算而获得的数据称为二次数据。
二次数据计算主要有:
平均值、累计值、变化率、差值、最大值和最小值等。
屏幕显示
CRT显示装置可把各种数据以方便于操作者观察的方式显示处于来,屏幕上显示的内容一般称为画面。
常见的画面有:
相关画面、趋势图、模拟图、一览表等。
数据存储
数据存储就是按照一定时间间隔,定期将某些重要数据存储在外部存储器上。
打印输出
打印输出就是按照一定时间间隔或认为控制,定期将各种数据以表格或图形的形式打印出来。
人机联系
人机联系是指操作人员通过键盘或鼠标与数据采集系统对话,完成对系统的运行方式、采集周期等参数的设置。
此外,还可以通过它选择系统功能、选择输出需要的画面等[4]。
1.3本文研究内容
本文简要介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。
将TCP/IP协议嵌入到单片机中,借助网卡芯片ZNE--100实现了单片机在局域网内和通过局域网在因特网上的数据传输。
用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。
研究的系统机构框图如下:
图1.1
第二章基本原理及方法
2.1基本原理
实现单片机系统接入Internet这一构想的开销并不大,因为现有的互联网设施已为我们提供了现成的中间传输媒介。
只需将单片机和这些中间传输媒介连接上就可使系统接入Internet。
要将单片机系统接入Internet必需做好两方面的准备:
(1)在硬件上,要给系统主控器———单片机加一个网络接口;
(2)在软件上,要提供相应的通信协议。
当给一个系统配上一个以太网卡芯片,并提供TCP/IP协议和IEEE802.3协议时,这个系统就可以通过以太网上Internet。
同理,如果给系统配上一个DTE/DCE接口设备,并支持TCP/IP协议和PPP协议,它就可通过Modem上网;如果一个系统配上一个具有无线收发功能的网络接口(RF),并支持TCP/IP协议和IEEE802.11系列协议,那么它也能通过无线方式上网。
由此看来,要将单片机系统接入Internet的关键是如何实现网络接口,以及提供相应的网络协议[5]。
要实现通过Internet采集数据必须实现数字信号和模拟信号之间的转换,我们处在一个数字时代,而我们的视觉、听觉、感觉、嗅觉等所感知的却是一个模拟世界。
如何将数字世界与模拟世界联系在一起呢?
正是模拟数字转换器(ADC)和数字模拟转换器(DAC)大显身手之处。
任何一个信号链系统,都需要传感器来探测来自模拟世界的电压、电流、温度、压力等信号。
这些传感器探测到的信号量被送到放大器中进行放大,然后通过ADC把模拟信号转化为数字信号,经过处理器、DSP或FPGA信号处理后,再经由DAC还原为模拟信号。
所以ADC和DAC在信号链的框架中起着桥梁的作用,即模拟世界与数字世界的一个接口。
一个信号链系统主要由模数转换器ADC、采样与保持电路和数模转换器DAC组成,简单来讲就是数字信号输入,模拟信号输出,即它是一种把数字信号转变为模拟信号的器件。
以理想的4bitDAC为例,其输入有bit0到bit3,其组合方式有16种。
使用R-2R梯形电阻的4bitDAC在假定Vbit0到Vbit3都等于1V时,R-2R间的四个抽头电压有四种,分别为V1到V4。
采样保持电路也叫取样保持电路,它的定义是指将一个电压信号从模拟转换成数字信号时需要保持稳定性直到完成转换工作。
它有两个阶段,一个是zerophase,一个是comparephase。
采样保持电路的比较器通常要求其offset比较小,这样才能使ADC的精度更好。
通常在比较器的后面需要放置一个锁存器,其目的是为了保持稳定性。
在采样电压快速变化时,需要用到具有FET开关的采样与保持电路。
当FET开关导通时,输入电压保存在某个位置如C1中,当开关关断时,电压仍保持在该位置中进行锁存,直到下一个采样脉冲的到来.ADC与DAC在功用上正好相反,它是模拟信号输入,数字信号输出,是一个混合信号器件。
模数转换器ADC
ADC按结构分有很多种,按其采样速度和精度可分为:
多比较器快速(Flash)ADC;
数字跃升式(DigitalRamp)ADC;
逐次逼近ADC;
管道ADC;
Sigma-DeltaADC。
任何一种ADC的输出都等于2的N次方乘以它的增益(输入信号),再除以它的参考电压。
每一种类型的ADC都各具特性,下面重点介绍前三种类型。
不同的ADC有着不同的特性,对于Sigma-DeltaADC来讲,其分辨率可以达到24bit以上,但其采样速率比较低。
逐次逼近型ADC比较适应于中等采样率、分辨率在16bit以下的应用。
管道ADC主要用于高采样率的应用,其分辨率则在16bit以下。
多比较器ADC也是一种高速ADC,但因为其体积和功耗较大、分辨率较低,目前应用中很少使用它。
多比较器(Flash)ADC中用到的比较器很多,如一个8位的ADC就需要255个比较器。
该类产品采样速率确实很高,但因为多个比较器的存在,其功耗很大,而且管芯也较大。
ADC0820、ADC1175等产品都是这种类型的ADC。
数字跃升式ADC是用连续搜索的方法获得编码,因为速率太慢、效率太低,因此很少使用。
逐次逼近型ADC在逐次逼近的方法上分为两种,以3比特采样为例,它首先将基准电压分为7个比较电压,使输入信号同时与这7个电压进行比较,最接近的比较电压是表示数值;第二种是将输入电压逐次接近电压的二分之一、四分之一、八分之一等,顺序产生比较后的数字信号。
因为变换过程是将输入信号与基准信号比较,所以,基准电压必需是稳定准确的。
输入信号的最高电平应保持稳定,充分利用变换器达到高的分辨率。
对于任何逐次逼近ADC,都有5个组成部分:
第一部分是DAC,其中含有一个算术逻辑测试单元,会比较DAC的输出和模拟信号的输入,直到两者接近;第二部分是输出寄存器;第三部分是比较器,逐次逼近ADC仅含有一个比较器,所以功耗和管芯尺寸都比较小;第四部分是逻辑电路;第五部分是时钟。
有一个要求是:
DAC的精度一定要高于ADC。
要实现数据采集还必须遵循TCP/IP协议,我们在下一小结将详细介绍TCP/IP有关协议。
2.2TCP/IP协议
这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。
TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。
确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(UserDatagramProtocol)协议、ICMP(InternetControlMessageProtocol)协议和其他一些协议的协议组[6]。
TCP/IP协议并不完全符合OSI的七层参考模型。
传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。
该模型的目的是使各种硬件在相同的层次上相互通信。
这7层是:
物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。
而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
这4层分别为:
应用层:
应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:
在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层:
负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层:
对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、SerialLine等)来传送数据。
TCP/IP中的协议[7]。
以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:
1.IP
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。
IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。
IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。
也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。
IP确认包含一个选项,叫作IPsourcerouting,可以用来指定一条源地址和目的地址之间的直接路径。
对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。
这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。
那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
2.TCP
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。
TCP将包排序并进行错误检查,同时实现虚电路间的连接。
TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。
应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。
面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。
DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
3.UDP
UDP与TCP位于同一层,但对于数据包的顺序错误或重发。
因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。
相对于FTP或Telnet,这些服务需要交换的信息量较小。
使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
4.ICMP
ICMP与IP位于同一层,它被用来传送IP的的控制信息。
它主要是用来提供有关通向目的地址的路径信息。
ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。
另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。
PING是最常用的基于ICMP的服务。
5.TCP和UDP的端口结构
TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。
用户使用Telnet客户程序与服务进程建立一个连接。
客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。
因而,这个连接是双工的,可以用来进行读写[8]。
两个系统间的多重Telnet连接是如何相互确认并协调一致呢?
TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:
源IP地址发送包的IP地址。
目的IP地址接收包的IP地址。
源端口源系统上的连接的端口。
目的端口目的系统上的连接的端口。
端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。
一个端口对应一个16比特的数。
服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。
这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯[9]。
第三章论文(设计)的主要研究方案
3.1研究内容
本文主要研究内容为以下两大部分:
(1)单片机终端数据发送部分。
本部分主要完成数据的发送功能。
(2)PC机端数据接收部分。
主要用于联网接收单片机终端发送的数据,以便实时提取查看。
3.2拟采用的研究方法及主要措施
目前有两种方法可以实现单片机系统接入Internet。
(1)第一种方法是利用NIC(网络控制器/网卡)实现网络接口,由单片机来提供其他所需协议。
如单片机和ZNE—100模块构成的系统。
ZNE—100模块内部集成了TCP/IP协议栈,我们可以利于它可以轻松完成嵌入式设备的网络功能。
采用这种方法成本非常低廉,困难的就是软件设计比较复杂。
幸运的是我们无需像计算机那样提供全套的网络通信协议,实际上,我们只需要根据特定的应用要求,提供一个TCP/IP协议族的子协议集即可。
(2)第二种方法是利用具有协议栈结构的芯片和PHY(phyceiver物理层的接收器)来实现网络接口,主控器只负责往协议栈结构芯片的某个寄存器里放上适当的数据。
在这种方法里,网络协议是由具有协议栈结构的芯片硬件实现的。
目前市面上已有这种结构的芯片出售,如韩国WIZnet公司生产的i2chipW3100A芯片,美国SeikoInstruments公司生产的ichipS7600A芯片等等。
这里以i2chipW3100A为例,来说明这类芯片如何硬件实现网络协议。
其结构示意图如图3.1所示。
这款芯片的内部结构分为4部分:
与单片机接口的部分(MCUinterface)、协议引擎(protocolengine)、存储器(DPRAM)和与MII接口的部分。
其中MII接口接上一个PHY。
这款芯片能从硬件上实现网络协议主要是靠它的协议引擎,使用者对这一点的最深的感触是,在它的内部结构中有如下几个与网络协议相关的寄存器:
命令寄存器C-CR,它的各位分别表示系统初始化、通道socket初始化、建立连接、侦听、接收、发送、关闭等命令,将某位置1就会发出相应的命令;C-DIR为目的IP地址寄存器;C-DPR为目的端口地址寄存器;C-TOSR为服务类型寄存器,对应于IP报头的TOS字段;C-IPR为IP协议寄存器,对应于IP报头的协议字段;CSPR源端口寄存器;C-SSRsocket状态寄存器;GAR网关地址寄存器;SMR子网屏蔽寄存器;SHAR源硬件地址寄存器;SIPR源IP地址寄存器等等[10]。
有了这些寄存器,开发者只需往适当的寄存器中放上合适的数据,并按一定的顺序启动相应的命令,就可以按标准协议上网了。
更方便的是,这类芯片的开发商还提供了相应的软件包,设计者只需调用软件包中的函数就可以了,就像在VC中做网络开发编程一样。
所以这种方法的优点是软件设计简单。
但缺点是价格比较贵。
通常,这种芯片的价格
都在上千元以上[11]。
图3.1 W3100A结构示意图
本系统共分两个部分:
单片机终端数据发送部分和PC机端数据接收部分。
系统框图如第一章图1.1所示
1、单片机(发送端)
MCS—51单片机串行通信工作方式
(1)在方式0下,是把串行口作为同步移位寄存器使用,这时以RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位时钟脉冲。
(2)方式1是10位为一帧的异位串行通信方式。
(3)方式2是11位为一帧的串行通信方式。
(4)方式3同样是11位为一帧的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率[12]。
2、发送端程序[13]
发送主程序:
ORG0023H
AJMPACINT
ORG8030H
MOVTMOD,#20H
MOVTL1,#0F3H
MOVTH1,#0F3H
SETBEA
CLRES
MOVPCON,#00H
SETBTR1
MOVSCON,#40H
MOVSBUF,#40H
SOUT1:
JNBT1,$
CLRT1
MOVSBUF,#00H
SOUT2:
JNBT1,$
CLRT1
MOVSBUF,#40H
SOUT3:
JNBT1,$
CLRT1
MOVSBUF,#1FH
MOVDPTR,#4000H
MOVR7,#20H
SETBES
AHALT:
AJMP$
中断服务程序:
ORG8100H
ACINT:
MOVXA,@DPTR
CLRT1
MOVSBUF,A
DJNZR7,AEND
CLRES
CLRTR1
AEND:
INCDPTR
RET1
3、ZNE—100(网卡芯片)
功能特点:
·Serial(TTL)to10MEthernet,Serial最大波特率为115200bps;
·可利用Webbrowser和Windowsutility轻松进行设定;
·TCPServer,UDPServer,RealCOMdriver作业模式;
·支持动态(DHCP);或静态获取IP地址;
·尺寸小(44×31.5mm);
产品特性:
·32位ARM7CPU;
·16KBRAM;
·128KBFLASH;
·10M以太网接口(使用排针方式引出);
·1.5KV电磁隔离;
·串口TTL电平方式,波特率300~115200bps;
·串口任意校验;
·串口数据位5,6,7,8可设定;
·串口停止位1,2位可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 网络 数据 采集 系统 论文