1、. . . . 毕业设计(论文)论文题目:基于网络的数据采集系统30 / 34摘 要“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,在由计算机进行存储、处理、显示或打印相应的系统称为数据采集系统。本文简要介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。将TCP/IP协议嵌入到单片机中,借助网卡芯片ZNE-100实现了单片机在局域网和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。关键词:TCP/IP协议 单片机 因特网 局域网 网卡芯片ABSTRACTData Acquisition refers to the
2、 temperature, pressure, flow, displacement, such as analog-digital conversion acquisition, by the computer storage, processing, display or print the corresponding system known as the Data Acquisition System. This paper introduces the embedded TCP / IP protocol SCM in the data communications network
3、transmission technology. Will be TCP / IP protocol embedded in the microcontroller, with chip card ZNE - 100 realization of the SCM in LAN and through LAN Internet data transmission. User terminals to SCM system board for the media, through the network and remote data terminals for data communicatio
4、ns. Key words: TCP / IP microcontrollerInternet LAN card chip目 录第一章绪论11.1 数据采集的意义11.2 数据采集系统的基本功能21.3 本文研究容3第二章基本原理与方法42.1基本原理42.2 TCP/IP协议6第三章论文(设计)的主要研究方案103.1 研究容103.2 拟采用的研究方法与主要措施10第四章总结25参考文献26致27第一章 绪 论1.1 数据采集的意义“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,在由计算机进行存储、处理、显示或打印相应的系统称为数据采集系统。到目前为止,Internet
5、 技术主要用于信息的交流. 如E - mail 、Web 浏览等,即使是Internet 技术的进一步应用,如电子商务e - business ,也仅仅停留在企业与企业或与个人在商务方面的信息交换上. 因此,通常我们对Internet 的理解也一直停留在这个观念上. 这其实是一种狭隘的理解,它在很大程度上制约了人们从其它领域去获得与人们工作和生活密切相关的重要信息. 如从一些电子设备中采集信息并去控制它们。设想一下:当我们假日外出旅游前,通过网上可以查到某一城市的某一地区或某一个公园与山顶是天晴还是下雨、那里的温度、湿度、与污染指数又该是多么方便呢? 还有智能公路:交通管理、车辆导航、流量控制
6、、信息监测与汽车服务;水、电、煤气表的自动抄表,安全防火、防盗系统;等等1。要做到这些并不很难, 在电子技术、传感技术已经高度发达的今天,现场数据的取得,已经不是难事. 温度、压力、湿度、速度、加速度、电流、电压这些数据只需要一个小小的单片机(MCU) 就可以解决。若能将单片机系统连上Internet ,则可以获得更大程度的信息交流。如何让这些电子设备跟Internet 连接起来,以便人们能够远程获得这些电子设备的信息并控制它们的运行,已成为今天国外共同关注的焦点2。随着电子信息技术的高速发展,通过软件方式或硬件方式将TCP(UDP)/IP 协议嵌入到单片机已经成为可能, 网络化智能化的单片机
7、,网络智能化的传感器,是目前国外竞相抢占制高点的前沿技术之一3.数据采集系统性能的好坏,主要取决它的精密和速度。在保证精度的条件下,应有尽可能高的采样速度,满足实时采集、实时处理和实时控制对速度的要求。1.2 数据采集系统的基本功能由数据采集系统的任务可以知道,数据采集系统具有一下几方面的功能:数据采集计算机按照预先选定的采样周期,对输入到系统的模拟信号进行采样,有时还要对数字信号、开关信号进行采样。数字信号和开关信号不受周期的限制,当这类信号到来时,由相应的程序负责处理。模拟信号处理 模拟信号是指随时间连续变化的信号,这些信号在规定的一段连续时间,其幅值为连续值,即从一个变量到另一个变量时中
8、间没有间断,如正弦信号x(t)=Asin(t+)。数字信号处理 数字信号是指在有限的离散瞬时上取值间断的信号。在二进制系统中,数字信号是由有限字长的数字组成,其中每位数字不是0就是1,这就可由脉冲的有无来体现。数字信号的特点是,他只代表某个瞬间的量值,不是连续的信号。开关信号处理 开关信号主要来自各种开关器件,如按钮开关、行程开关和继电器触点等。开关信号的处理主要是监测开关器件的状态变化。二次数据计算 通常把直接由传感器采集到的数据称为一次数据,把通过对一次数据进行某种数学运算而获得的数据称为二次数据。二次数据计算主要有:平均值、累计值、变化率、差值、最大值和最小值等。屏幕显示 CRT显示装置
9、可把各种数据以方便于操作者观察的方式显示处于来,屏幕上显示的容一般称为画面。常见的画面有:相关画面、趋势图、模拟图、一览表等。数据存储 数据存储就是按照一定时间间隔,定期将某些重要数据存储在外部存储器上。打印输出 打印输出就是按照一定时间间隔或认为控制,定期将各种数据以表格或图形的形式打印出来。人机联系 人机联系是指操作人员通过键盘或鼠标与数据采集系统对话,完成对系统的运行方式、采集周期等参数的设置。此外,还可以通过它选择系统功能、选择输出需要的画面等4。1.3 本文研究容本文简要介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。将TCP/IP协议嵌入到单片机中, 借助网卡芯片ZN
10、E-100 实现了单片机在局域网和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。 研究的系统机构框图如下:单片机网卡芯片PC机端接收数据Internet网络图1.1第二章 基本原理与方法2.1基本原理实现单片机系统接入Internet 这一构想的开销并不大,因为现有的互联网设施已为我们提供了现成的中间传输媒介。只需将单片机和这些中间传输媒介连接上就可使系统接入Internet 。要将单片机系统接入Internet 必需做好两方面的准备: (1) 在硬件上,要给系统主控器单片机加一个网络接口; (2) 在软件上,要提供相应的通信协议。当给一个系
11、统配上一个以太网卡芯片,并提供TCP/ IP 协议和IEEE802. 3 协议时,这个系统就可以通过以太网上Internet 。同理,如果给系统配上一个DTE/ DCE 接口设备,并支持TCP/ IP 协议和PPP 协议,它就可通过Modem 上网;如果一个系统配上一个具有无线收发功能的网络接口(RF) ,并支持TCP/ IP 协议和IEEE802. 11 系列协议,那么它也能通过无线方式上网。由此看来,要将单片机系统接入Internet 的关键是如何实现网络接口,以与提供相应的网络协议5。要实现通过Internet采集数据必须实现数字信号和模拟信号之间的转换,我们处在一个数字时代,而我们的视
12、觉、听觉、感觉、嗅觉等所感知的却是一个模拟世界。如何将数字世界与模拟世界联系在一起呢?正是模拟数字转换器(ADC)和数字模拟转换器(DAC)大显身手之处。任何一个信号链系统,都需要传感器来探测来自模拟世界的电压、电流、温度、压力等信号。这些传感器探测到的信号量被送到放大器中进行放大,然后通过ADC把模拟信号转化为数字信号,经过处理器、DSP或FPGA信号处理后,再经由DAC还原为模拟信号。所以ADC和DAC在信号链的框架中起着桥梁的作用,即模拟世界与数字世界的一个接口。一个信号链系统主要由模数转换器ADC、采样与保持电路和数模转换器DAC组成,简单来讲就是数字信号输入,模拟信号输出,即它是一种
13、把数字信号转变为模拟信号的器件。以理想的4 bit DAC为例,其输入有bit0 到bit3,其组合方式有16种。使用R-2R梯形电阻的4bit DAC在假定Vbit0到Vbit3都等于1V时,R-2R间的四个抽头电压有四种,分别为V1到V4。采样保持电路也叫取样保持电路,它的定义是指将一个电压信号从模拟转换成数字信号时需要保持稳定性直到完成转换工作。它有两个阶段,一个是zero phase,一个是compare phase。采样保持电路的比较器通常要求其offset比较小,这样才能使ADC的精度更好。通常在比较器的后面需要放置一个锁存器,其目的是为了保持稳定性。 在采样电压快速变化时,需要用
14、到具有FET开关的采样与保持电路。当FET开关导通时,输入电压保存在某个位置如C1中,当开关关断时,电压仍保持在该位置中进行锁存,直到下一个采样脉冲的到来.ADC与DAC在功用上正好相反,它是模拟信号输入,数字信号输出,是一个混合信号器件。 模数转换器ADC ADC按结构分有很多种,按其采样速度和精度可分为: 多比较器快速(Flash)ADC; 数字跃升式(Digital Ramp)ADC;逐次逼近ADC; 管道ADC; Sigma-Delta ADC。 任何一种ADC的输出都等于2的N次方乘以它的增益(输入信号),再除以它的参考电压。 每一种类型的ADC都各具特性,下面重点介绍前三种类型。
15、不同的ADC有着不同的特性,对于Sigma-Delta ADC来讲,其分辨率可以达到24bit以上,但其采样速率比较低。逐次逼近型ADC比较适应于中等采样率、分辨率在16bit以下的应用。管道ADC主要用于高采样率的应用,其分辨率则在16bit以下。多比较器ADC也是一种高速ADC,但因为其体积和功耗较大、分辨率较低,目前应用中很少使用它。 多比较器(Flash)ADC中用到的比较器很多,如一个8位的ADC就需要255个比较器。该类产品采样速率确实很高,但因为多个比较器的存在,其功耗很大,而且管芯也较大。ADC0820、ADC1175等产品都是这种类型的ADC。数字跃升式ADC是用连续搜索的方
16、法获得编码,因为速率太慢、效率太低,因此很少使用。 逐次逼近型ADC在逐次逼近的方法上分为两种,以3比特采样为例,它首先将基准电压分为7个比较电压,使输入信号同时与这7个电压进行比较,最接近的比较电压是表示数值;第二种是将输入电压逐次接近电压的二分之一、四分之一、八分之一等,顺序产生比较后的数字信号。因为变换过程是将输入信号与基准信号比较,所以,基准电压必需是稳定准确的。输入信号的最高电平应保持稳定,充分利用变换器达到高的分辨率。对于任何逐次逼近ADC,都有5个组成部分:第一部分是DAC,其中含有一个算术逻辑测试单元,会比较DAC的输出和模拟信号的输入,直到两者接近;第二部分是输出寄存器;第三
17、部分是比较器,逐次逼近ADC仅含有一个比较器,所以功耗和管芯尺寸都比较小;第四部分是逻辑电路;第五部分是时钟。有一个要:DAC的精度一定要高于ADC。要实现数据采集还必须遵循TCP/IP协议,我们在下一小结将详细介绍TCP/IP有关协议。2.2 TCP/IP协议这部分简要介绍一下TCP/IP的部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以与RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、IC
18、MP(Internet Control Message Protocol)协议和其他一些协议的协议组6。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在一样的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输
19、层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。TCP/IP中的协议7。以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:1 IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要
20、的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址
21、和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。 2. TCP 如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向上传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序
22、。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。 3.UDP UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)
23、和DNS(DNS也使用TCP)。 欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。 4.ICMP ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的Redirect信息通知主机通向其他系统的更准确的路径,而Unreachable信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接体面地终止。PING是最常用的基于ICMP的服务。5. TCP和UDP的端口结构 TCP和UDP服务通常有一个客户/服务器的关系,例
24、如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写8。 两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认: 源IP地址 发送包的IP地址。 目的IP地址 接收包的IP地址。 源端口 源系统上的连接的端口。 目的端口 目的系统上的连接的端口。 端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进
25、程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是广为人知的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯9。第三章 论文(设计)的主要研究方案3.1 研究容本文主要研究容为以下两大部分:(1)单片机终端数据发送部分。本部分主要完成数据的发送功能。(2)PC机端数据接收部分。主要用于联网接收单片机终端发送的数据,以便实时提取查看。3.2 拟采用的研究方法与主要措施目前有两种方法可以实现单片机系统接入Internet 。(1)第一种方法是利用NIC(网络控制器/ 网卡) 实现网络接口,由单片机来提供其他所需协议。如单片机和ZNE1
26、00模块构成的系统。ZNE100模块部集成了TCP/IP 协议栈,我们可以利于它可以轻松完成嵌入式设备的网络功能。采用这种方法成本非常低廉,困难的就是软件设计比较复杂。幸运的是我们无需像计算机那样提供全套的网络通信协议,实际上,我们只需要根据特定的应用要求,提供一个TCP/ IP 协议族的子协议集即可。(2)第二种方法是利用具有协议栈结构的芯片和PHY(phyceiver 物理层的接收器) 来实现网络接口,主控器只负责往协议栈结构芯片的某个寄存器里放上适当的数据。在这种方法里,网络协议是由具有协议栈结构的芯片硬件实现的。目前市面上已有这种结构的芯片出售, 如国WIZnet 公司生产的i2chi
27、p W3100A 芯片,美国Seiko Instruments 公司生产的ichip S7600A 芯片等等。这里以i2chipW3100A 为例,来说明这类芯片如何硬件实现网络协议。其结构示意图如图3.1 所示。这款芯片的部结构分为4 部分:与单片机接口的部分(MCU interface) 、协议引擎(protocol engine) 、存储器(DPRAM) 和与MII 接口的部分。其中MII 接口接上一个PHY。这款芯片能从硬件上实现网络协议主要是靠它的协议引擎,使用者对这一点的最深的感触是,在它的部结构中有如下几个与网络协议相关的寄存器:命令寄存器C- CR ,它的各位分别表示系统初始化
28、、通道socket 初始化、建立连接、侦听、接收、发送、关闭等命令,将某位置1就会发出相应的命令;C- DIR 为目的IP 地址寄存器;C- DPR 为目的端口地址寄存器;C- TOSR 为服务类型寄存器,对应于IP 报头的TOS 字段;C- IPR为IP 协议寄存器,对应于IP 报头的协议字段;CSPR源端口寄存器; C- SSR socket 状态寄存器;GAR 网关地址寄存器; SMR 子网屏蔽寄存器;SHAR 源硬件地址寄存器; SIPR 源IP 地址寄存器等等10。有了这些寄存器,开发者只需往适当的寄存器中放上合适的数据,并按一定的顺序启动相应的命令,就可以按标准协议上网了。更方便的
29、是,这类芯片的开发商还提供了相应的软件包,设计者只需调用软件包中的函数就可以了,就像在VC 中做网络开发编程一样。所以这种方法的优点是软件设计简单。但缺点是价格比较贵。通常,这种芯片的价格都在上千元以上11。图3. 1 W3100A 结构示意图本系统共分两个部分:单片机终端数据发送部分和PC机端数据接收部分。系统框图如第一章图1.1所示1、 单片机(发送端) MCS51单片机串行通信工作方式(1)在方式0下,是把串行口作为同步移位寄存器使用,这时以RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位时钟脉冲。(2)方式1是10位为一帧的异位串行通信方式。(3)方式2是
30、11位为一帧的串行通信方式。(4)方式3同样是11位为一帧的串行通信方式,其通信过程与方式2完全一样,所不同的仅在于波特率12。 2、发送端程序13发送主程序: ORG 0023H AJMP ACINT ORG 8030HMOV TMOD,#20HMOV TL1,#0F3HMOV TH1,#0F3HSETB EACLR ESMOV PCON,#00HSETB TR1MOV SCON,#40HMOV SBUF,#40HSOUT1:JNB T1,$CLR T1MOV SBUF,#00HSOUT2:JNB T1,$CLR T1MOV SBUF,#40HSOUT3:JNB T1,$CLR T1MOV
31、SBUF,#1FHMOV DPTR,#4000HMOV R7,#20HSETB ESAHALT:AJMP $中断服务程序:ORG 8100HACINT:MOVX A,DPTRCLR T1MOV SBUF,ADJNZ R7,AENDCLR ESCLR TR1AEND:INC DPTRRET1 3、ZNE100(网卡芯片)功能特点: Serial (TTL) to 10M Ethernet,Serial 最大波特率为115200 bps; 可利用Web browser 和Windows utility 轻松进行设定; TCP Server, UDP Server, Real COM driver
32、作业模式 ; 支持动态(DHCP) ;或静态获取IP 地址; 尺寸小(4431.5mm);产品特性: 32 位ARM7 CPU; 16KB RAM; 128KB FLASH; 10M 以太网接口(使用排针方式引出); 1.5KV 电磁隔离; 串口TTL 电平方式,波特率300115200 bps; 串口任意校验; 串口数据位5,6,7,8 可设定; 串口停止位1,2 位可设定; 支持TCP/IP 协议包括:ETHERNET、ARP、IP、ICMP、UDP、TCP、 、DHCP; 工作方式可选择为TCP Server 或 UDP Server,工作端口可设定; 可使用配置工具ZnetCom Ut
33、ility for Windows98/me/NT/2000/XP 进行配置; 可使用网页浏览器进行配置; 输入电压 5V DC 功耗低最大工作电流 38 mA 工作温度 065C 保存温度 2585C144、ZNE-100 模块硬件电路从俯视图图3.2我们可以看出ZNE-100 模块有两排外引管脚,左边一排是12 针,右边一排是11 针。左边排针的最上方引脚为模块的引脚1,依次往下是212 引脚,右边最上方是最后一个引脚23 脚。另外图 3.2显示ZNE-100 模块的上方有3 个孔,它们是用于恢复出厂设置值和升级固件的。图 3.2 ZNE-100 模块俯视图表3.1 ZNE-100 模块管
34、脚名称*注意:设计时要保持保留的管脚悬空!表3.1中的Ethernet TX+、Ethernet TX-、Ethernet RX+、Ethernet RX-管脚是以太网信号;TXD、RXD 是串口信号;管脚5、16、19 为LED 信号,方向为输出;485_TXD_EN 是485发送控制端,方向为输出,保证RS485 半双工传输,发送数据时为高电平,接收数据为低电平;nRST 模块复位脚,低电平有效,在该管脚输入一大于20us 的负脉冲,模块复位(模块部有上电复位电路,该管脚可悬空)。图3.3ZNE-100 模块5、 ZNE-100 模块软件配置在使用软件进行配置前,需要保证用户的PC 机有以
35、太网卡,而且其配置的PC机与ZNE-100 模块同在一个网段。ZNE-100 模块在出厂时设定了一个默认的IP 地址(192.168.0.178)和网络掩码(255.255.255.0),用户可以计算一下看是否和ZNE-100 模块在同一网段,公式为:用户PC 机IP 地址 与上 用户PC 机网络掩码等于ZNE-100模块的IP 地址 与上 ZNE-100 模块的网络掩码(按出厂设定的值计算为192.168.0.0)。如果不相等,则需要如下操作:首先进入操纵系统,然后使用鼠标点击任务栏的“开始”“设置”“控制面板”(或在“我的电脑”里面直接打开“控制面板”),双击“网络和拨号连接”(或“网络连
36、接”)图标,然后单击选择连接ZNE-100模块的网卡对应的“本地连接”,单击右键选择“属性”在弹出的“常规”页面选择“internet协议(TCP/IP)”,查看其“属性”,您会看到如下页面,请按图所示,选择“使用下面的IP地址”,并填入IP 地址192.168.0.55,子网掩码255.255.255.0,默认网关192.168.0.1(DNS部分可以不填)。点击该页面的“确定”与“本地连接属性”页面的确定,等待系统配置完毕。然后设置模块。一是安装配置软件,二是利于配置软件进行配置。(1)首先把配套光盘放入CD-ROM,打开光盘,双击ZnetCom_Setup.exe 文件,开始安装。(2)
37、当安装完配置软件后,用户操纵系统的桌面会多了一个ZNetCom 的图标。双击该图标就会打开ZNetCom 配置软件。打开软件后点击“搜索”。这时就会弹出搜索窗口,并在窗口中列出已经搜索到的ZNE-100 模块,与对应的MAC 地址和IP 地址。搜索窗口在6 秒后自动关闭,用户也可以点击“停止按钮”让它关闭。(3)如果需要修改其中某个设备的设置值,可以用鼠标双击该设备对应的表行。(如果是第一次设置的,请用户双击IP 地址为192.168.0.178 的模块)(4)如果需要修改配置,则需要在“当前密码”项输入模块密码,然后才能修改(出厂设置默认密码是“88888” 5 个8)(5)修改了属性栏上的
38、值以后需要按“提交更改”按钮才能正式把修改的设置发送到ZNE-100 模块中。如果填错了,还没有发送到ZNE-100模块中,可以按一下“刷新”按钮。如果模块不能工作了,则需要设置好PC 机的网络配置,然后拔掉ZNE-100 模块的供电电源,去掉电源后使用金属线或尖嘴镊子短接模块如下图的2、3 脚(红色圈住的地方),再对模块上电,一秒(或大于1 秒)后,再拔掉ZNE-100 模块的供电电源,去掉电源后再去掉短接2、3 脚的金属线或尖嘴镊子,使2、3 脚开路。这时ZNE-100 模块就已经恢复了出厂默认设置了,就可以重新对模块进行设置了15。图3.46、PC机(接收端)当发送端的程序调试成功以与Z
39、NE-100模块设置完成,只需接收端能提供TCP/IP协议,则可以实行网络的数据采集。 7、TCP/IP协议TCP/IP 是国际互连网的基础协议,它是“传输控制协议/网间协议”(Transmit Control Protocol/Internet Protocol)的简称,可以把不同类型的网络连接起来. Internet 就是靠TCP/IP 把分布在全球的不同类型的网络连接起来。TCP/IP 协议有底层和上层之分,底层协议规定了计算机硬件的接口规,上层协议规定了软件程式必需共同遵守的一些规则以与程序员在写程式时使用的统一标准. TCP/IP 有100 多个协议,其中用得最广的是SMTP(电子协
40、议) 、FTP(文件传输协议) 、TELNET(远程登录协议) . 其中最重要的两个协议是传输控制协议TCP(Transmission Control Protocol) 和网际互联协议IP( Internet Protocol) . IP负责信息的实际传送,而TCP 则保证所传送的信息是正确的. TCP/IP网络层协议的核心是IP协议. IP协议具有两个非常重要的特点:一是提供无连接的数据报传输机制,虽然不能保证传输的可靠性却简单有效;二是提供在同一物理网络中的点到点通信,决定一条从信源机到信宿机的传输路径. IP协议的主要功能是IP数据报传送与IP路由选择. 交换的数据被封装在若干个IP包
41、中,在每个IP包的报文头中包含有源机器IP地址、目的机器的IP地址、校验和以与其他一些有用信息. 校验和是根据IP报文中的数据计算出来的, IP包的接收方可以根据它来判断报文在传输过程中是否由于传输线路噪音等原因受到破坏.TCP ,是一种面向连接的传输层协议,它提供高可靠性服务. 通过使用序列号和确认信息,TCP协议能够向发送方提供到达接收方的数据包的传送信息. 当传送过程中出现数据包丢失情况时,TCP协议可以重新发送丢失的数据包直到数据成功到达接收方或者出现网络超时. TCP协议还可以识别重复信息,丢弃不需要的多余信息,使网络环境得到优化. 如果发送方传送数据的速度大大快于接收方接收数据的速
42、度,TCP协议可以采用数据流控制机制减慢数据的传送速度,协调发送和接收方的数据响应. 而与它并列的UDP(UserDatagramProtocol用户数据报协议) 是无连接的,它提供高效率的服务特别适合一次传输少量报文,UDP 直接建立在IP 协议之上,相对TCP简单得多.总之IP的工作是把原始数据(数据包)从一地传送到另一地;TCP的工作是管理这种流动并确保其数据是正确的. TCP/IP协议已经有20多年的实践经验,目前它已成为计算机网络的一套工业标准协议. Internet网之所以能将广阔围各种各样网络系统的计算机互联起来,主要是因为应用了“统一天下”的TCP/IP协议16。8、 程序设计
43、 (1) 打开VC+,选择MFC APPWIZARD(EXE),在工程中填入Talk(此为工程名,可任意填写),点击确认。选择“基本对话”和“WINDOWS SOCKTS”,点击完成即可!(2) 在生成的DIALOG框中选择适当的控件,做好实验界面。(3) 利用CALSSWIZARD对对话框中的各个控件添加相对应的变量。(4) 打开CLASSWIZARD,确定CLASS NAME的容是CTALKDLG,OBJECT IDS是IDC_COMBO_TYPEM,选择MESSAGE为 CBN_SELCHANGE。(5)为了应用程序能获得并响应SOCKET事件,应该创建用户从CASYNCSOCKET类继
44、承的派生类。选择INSERT/NEW CLASS,创建新类CMYSOCKET。在BASE CLASS中输入CASYNCSOCKET,使它成为新类的基类。点击OK(6)创建了派生的套接字类后,向该套接字类添加一个成员变量,用作指向父对话框的指针,类型为CTALKDLG*,变量名为M_PDLG。打开CLASSVIEW,在CMYSLCKET类上右击,选择ADD MEMBER FUNCTION,添加一个成员函数SETPARENT(CTALKDLG*PDLG)。(7)对套接字添加处理函数,在SETPARENT函数中添加代码:void CMySocket:SetParent(CTalkDlg *pDlg)
45、/设置成员变量 m_pDlg=pDlg;(8)在CMYSOCKET类中添加ONCNNECT,ONCLOSE,ONRECEIVE函数。添加代码:m_pDlg-OnConnect();和m_pDlg-OnClose(); 和m_pDlg-OnReceive();(9)将程序的头文件包括到套接字类中。#include MySocket.h下写上:#include TalkDlg.h(10)向CTALKDLG中添加套接字的变量对象,对话框需要一个用于连接套接字, 向CTALKDLG添加m_sconnectSocket,类型为CMySocket,对对话框进行初始化,在CTALKDLG类的函数ONINIT
46、DIALOG中写些代码: m_cmbType.SetCurSel(1); /初始为192.168.0.178 m_strServName=192.168.0.178; /初始端口为4001 m_nServPort=4001; UpdateData(FALSE); m_sConnectSocket.SetParent(this);(11)现在开始建立发送端和接收端的连接,双击对话框的“连接”,添加ONBTNCONNECT函数,写些代码:UpdateData(TRUE); m_sConnectSocket.Create(); /连接服务器m_sConnectSocket.Connect(m_strServName,m_nServPort);(12)为完成连接,要添加对套接字事件的处理函数,右击CTALKDLG类,选择ADD MEMBER FUNCRION,添
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100