基于PTR2000无线数据传输的设计与制作.doc

上传人:精*** 文档编号:830523 上传时间:2023-09-06 格式:DOC 页数:29 大小:239.46KB
下载 相关 举报
基于PTR2000无线数据传输的设计与制作.doc_第1页
第1页 / 共29页
基于PTR2000无线数据传输的设计与制作.doc_第2页
第2页 / 共29页
基于PTR2000无线数据传输的设计与制作.doc_第3页
第3页 / 共29页
基于PTR2000无线数据传输的设计与制作.doc_第4页
第4页 / 共29页
基于PTR2000无线数据传输的设计与制作.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、电子信息工程系毕业论文摘 要本文设计了一个无线数据传输系统,此系统由发送单元和接收单元构成,发送单元的单片机(MCU),通过无线数据收发模块PTR2000发送给接收单元的PTR2000模块;通过无线数据收发模块PTR2000接收发送单元发送过来的数据,通过MAX232芯片传送给计算机。本文详细分析了上述实验原理,并给出了主要程序代码。单片机的无线数据收发模块PTR2000的组合,形成单片机的无线数据传输系统,与微机进行无线数据传输。无线技术正以一种快速的速度进入许多产品,它与有线相比主要有成本低,携带方便,省去有线布线的烦恼;特别适用于手持设备的通信、电池供电设备、遥控、遥测、小型无线网络、无

2、线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线数字语音、数字图像传输、智能小区停车收费、银行智能回单系统等。本文以PTR2000无线收发模块为例,详细介绍无线收发模块与单片机的硬件接口设计,无线模块和PC机的硬件接口设计,无线通信协议以及相关软件设计。AbstractThis paper describes the design of a system,which detailed introduce wileless data transmissi

3、on.The system consists of sending and receiving modules.The MCU in the sending modules,data through a wileless data transceiver module PTR2000 send to the receiver module PTR2000 module. Wileless data transceiver module PTR2000 receiving sending unit sent over the temperature data,then through MAX23

4、2 module transmitted to the computer.In this paper,a detailed analysis of the principles,and gives the main programcodes.MCU and wileless data transceiver module PTR2000 composition formed SCM wileless data transmission system and the computer for wileless data transmission.Wilelee technologies are

5、in a fast pace to enter many products,and compared it with the main cable is low cost and easy to carry,save the trouble of having cable wiring;Particularly applicable to handheld device communications,battery-powered equipment,remote control,telemetry,small wileless network, wileless meter reading,

6、door lock systems,paging district,industrial data acquisition system, wileless identification label,security,fire protection systems, wileless remote control system,biological signal acquisition,hydro-meteorological monitoring,robot control,232 wileless data communication, wileless digital voice, di

7、gital image transmission,Intelligent Community parking fees,the banks back to single intelligent system.BasedPTR2000 wileless transceiver module as a example,details on wileless transceiver module and the microcontroller interface hardware design, wileless module and PChardware interface design, wil

8、eless communication protocols and related softwaredesign.目 录摘 要IAbstractI目 录III第一章 绪 论11.1课题的背景11.2PTR2000无线数传模块的应用2第二章 总体方案32.1无线数传模块的对比选择32.2通信接口芯片的对比选择32.3系统CPU的对比选择3第三章 硬件总体设计及器件介绍53.1 PTR2000的介绍53.2MAX202的介绍63.3AT89C52的介绍73.4单片机和PTR2000的接口电路硬件设计83.5计算机和PTR2000的接口电路硬件设计9第四章 软件总体设计124.1单片机端程序设计12

9、4.2计算机端程序设计124.3关键技术13第五章 仿真调试185.1调试时遇到问题及解决方法18总 结20致 谢21参考资料22附录23附录:电原理图23附录:源程序清单24- III -第一章 绪 论 1.1课题的背景现代世界是一个高速自动化的世界,各种各样的设备除了可以与计算机联机外,还可以互相联机,而最简单的自动化联机方式就是使用串行通信。随着时代的进步,它并没用被取代,反到是被逐渐应用。如今,有许多场合有线连接的方式已不能满足科技的高速发展。随着科学技术的飞速发展,以前由模拟电路和数字电路实现的大部分控制功能,现在已经能够使用单片机通过软件编程方法实现了。单片机的应用,从根本上改变着

10、传统的控制系统设计思想和设计方法。这种以软件取代硬件并提高系统性能的控制系统“软化”技术为控制技术,是一个全新的概念,是对传统控制技术的一次革命。在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能够想象得到的地方几乎都有使用单片机的要求。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率、减轻劳动强度,提高产品质量,改善劳动环境,降低成本和资源消耗。比如,在工业自动化方面:自动化能使工业系统处于最佳状态、提高经济效益和改善产品质量。因此,自动化技术应用于机械、电子、电力、石油、化工、纺织、食品等轻重工业领域中,而

11、在工业自动化技术中,无论是过程控制技术、数据采集和测控技术,还是生产线上的机器人技术,都需要有单片机的参与。同时,在仪器仪表方面、家用电器方面、信息和通信产品方面和军事装备方面,都有单片机在其中发挥着重大作用。现在,尽管单片机的应用已经很普遍了,但仍有很多可以用单片机控制而尚未实现的项目,因此单片机的应用大有想象和拓展空间。在一些特殊的应用场合中,单片机之间的远程通信不能采用有线的数据传输,例如采用无线的串、并行总线、IIC总线、CAN总线等,而是需要无线数据传输。目前市场上出现了许多无线数据传输模块,如PTR2000、FB230等。无线数据收发模块PTR2000芯片性能优异,在业界居领先水平

12、,它的显著特点是所需外围元件少,因而设计非常方便。该模块在内部集成了高频接收、PLL合成、FSK调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。该系统采集主要以Atmel公司的AT89C52单片机为控制处理核心,由它完成对数据的采集处理以及控制数据的无线传输。AT89C52单片机是一种低功耗/低电压/高性能的8位单片机,片内有一个8Kb的可编程/可擦除/只读存储器;其输出引脚和指令系统都与MCS-51兼容。在本设计中,主要说明单片机和无线数据收发模块PTR2000的组合,形成单片机的无线数据传输系统,与微机进行无线数据传输。无线技术正以一种快速的速度进入许多

13、产品,它与有线相比主要有成本低,携带方便,省去有线布线的烦恼;特别适用于手持设备的通信、电池供电设备、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线数字语音、数字图像传输、智能小区停车收费、银行智能回单系统等。本文以PTR2000无线收发模块为例,详细介绍无线收发模块与单片机的硬件接口设计,无线模块和PC机的硬件接口设计,无线通信协议以及相关软件设计。包括:如何针对系统的需要选择合适的无线数据传输模块器件,如何根据选择的器

14、件设计外围电路和单片机的接口电路,如何编写控制无线数据传输器件进行数据传输的单片机程序。1.2PTR2000无线数传模块的应用 单片无线收、发一体无线数传模块PTR2000可广泛用于遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232/422/485数据通信、无线数字语音、数字图像传输、智能小区停车收费、银行智能回单系统等。第二章 总体方案2.1无线数传模块的对比选择方案一:PTR2000无线数据传输模块可以直接接单片机串口使用,数据无需曼彻

15、斯特编码,效率高,最大输出功率为+10dBm,通信速率最高为20kbit/s,需要外接天线的数1个,需要外围元件数约10个。方案二:CC400无线数据传输模块不能直接接单片机串口,数据需要进行曼彻斯特编码,效率低,最大输出功率为+14dBm,通信速率最高为9.6kbit/s,需要外接天线的数1个,需要外围元件数约30个。方案三:RF2915无线数据传输模块不能直接接单片机串口,数据需要进行曼彻斯特编码,效率低,最大输出功率为+5dBm,通信速率最高为9.6kbit/s,需要外接天线的数1个,需要外围元件数约50个。方案四:BC418无线数据传输模块不能直接接单片机串口使用,数据需要进行曼彻斯特

16、编码,效率低,最大输出功率为+12dBm,通信速率最高为128kbit/s,需要外接天线的数2个,需要外围元件数大于50个。方案五:XC1201无线数据传输模块不能直接接单片机串口使用,数据需要进行曼彻斯特编码,效率低,最大输出功率为5dBm,通信速率最高为64kbit/s,需要外接天线的数2个,需要外围元件数约35个。从这五种无线数传模块的比较可以看出,无论是从使用的方便性、传输速度还是输出功率等各个方面,PTR2000均不失为一种较为理想的无线数传。故选择方案一。2.2通信接口芯片的对比选择方案一:MAX202芯片是专门为电脑的RS-232标准串口设计的单电源电平转换芯片, 具有二路接收器

17、和二路驱动器,使用+5v单电源供电,功耗低,典型供电电流5mA,高集成度,片外最低只需4个电容即可工作。它完成将TTL电平转换为RS-232电平的功能。 方案二:MAX3232芯片是一种通过RS-232接口与外界通信的单电源电平转换芯片,具有二路接收器和二路驱动器,利用双电泵荷在3v至5.5v电源供电时能实现RS-232性能,功耗低,片外需4个电容即可工作。它完成将TTL电平转换为RS-232电平的功能。 基于以上对比以及从供电电源上分析,方案一比较方便实用。故选择方案一。2.3系统CPU的对比选择 方案一:采用8031小系统实现。单片机就是在一块硅片上集成了微处理器(CPU)、存储器(RAM

18、、ROM、E-PROM)和各种输入、输出接口(定时器/计数器、并行I/O口、串行口、A/D转换器以及脉冲调制器PWM等)。单片机大体上可分为三大系列:MCS-48系列、MCS-51系列和MCS-96系列。MCS-51系列单片机是典型的高性能8位单片机,采用模块式结构。8031与8051相比,片内没有程序存储器。 方案二:选取AT89C52芯片作为处理器。AT89C52是51系列单片机的一种,它不仅和AT8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。这种单片机对开发设备的要求很低,开发时间也大大缩短。 因此本设计选用A

19、T89C52芯片作为处理器。第三章 硬件总体设计及器件介绍 3.1 PTR2000的介绍PTR2000无线数据传输模块是一种超小型、低功耗、高速率的无线收发数传模块。PTR2000的通信速率最高为20 kbit/s,也可工作在其他速率如4800 bit/s、9600 bit/s,无需设置PTR2000的工作速率。为了更加方便说明和单片机的连接,首先介绍PTR2000无线数传模块的特性,其引脚说明,如图3-1所示。图3-1 PTR2000芯片引脚图1脚:VCC,正电源,2.75.25V。2脚:CS,频道选择,CS=0选择工作频道1,即433.92 MHz;CS=1选择工作频道2,即434.33

20、MHz。3脚:DO,数据输出。4脚:DI,数据输入。5脚:GND,接地。6脚:PWR,节能控制。PWR=1,正常工作状态,PWR=0,待机微功耗状态。7脚:TXEN,发送接收控制。TXEN=1模块为发射状态,TXEN=0模块为接收状态。模块工作模式控制及工作频道的选择和设置如表3-1所示。表3-1 PTR2000模块的工作模式控制及工作频道的选择和设置模块引脚接入电平模块工作状态TXENCSPWR工作频道芯片状态0011接收0112接收1011发射1112发射XX0待机3.2MAX202的介绍主要特点:l 符合所有的RS-232技术标准 l 只需要单一 +5V电源供电 l 片载电荷泵具有升压、

21、电压极性反转能力,能够产生+10V和-10V l 功耗低,典型供电电流5mA l 内部集成2个RS-232C驱动器 l 内部集成两个RS-232C接收器 l 高集成度,片外最低只需4个电容即可工作。MAX202芯片的引脚图如图3-2所示。图3-2 MAX202芯片引脚图1脚:倍压器电容输入端1。2脚:倍压输出端。3脚:倍压器电容输入端2。4脚:电压极性反转电容输入端1。5脚:电压极性反转电容输入端2。6脚:负电压输出端。7脚:TTL/COMS电平输出端2。8脚:RS232电平输入端2。9脚:RS232电平输出端2。10脚:TTL/COMS电平输入端2。11脚:TTL/COMS电平输入端1。12

22、脚:RS232电平输出端1。13脚:RS232电平输入端1。14脚:TTL/COMS电平输出端1。15脚:接地。16脚:接电源。3.3AT89C52的介绍AT89C52是一个低电压,高性能COMS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。3.3.1主要功能特性:u 兼容MCS51指令系统;u 8k可反复擦写(大于1000次)Flash R

23、OM;u 32个双向I/O口;u 256x8bit内部RAM;u 3个16位可编程定时/计数器中断;u 时钟频率0-24MHz;u 2个串行中断,可编程UART串行通道;u 2个外部中断源,共8个中断源;u 2个读写中断口线,3级加密位;u 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;u 有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。AT89C52引脚图如图3-3所示。图3-3 AT89C52引脚图3.3.2 AT89C52引脚功能(1)主电源引脚(2)VCC:电源端(3)GND:接地端3.接晶振引脚XTAL1,XTAL2(1)XTAL1:接外部晶体的一个引脚

24、。在单片机内部,它是片内振荡器的反向放大器的输入端。(2)XTAL2:接外部晶体的另一个引脚。在单片机内部,它是片内振荡器的反向放大器的输出端。(3)与其他电源复用引脚:PSEN、ALE/PROG、EA/VPP和RST。RST:复位输入端。当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。EA/VPP:外部访问允许端。要使CPU只访问外部存储器,则EA必须保持低电平。当EA保持高电平,CPU则执行内部程序存储器中的程序。ALE/PROG:当访问外部存储器时,ALE的输出用与锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号。PSEN:程序存储

25、允许输出是外部程序存储器的读选通信号。3.4单片机和PTR2000的接口电路硬件设计PTR2000无线收发模块与单片机的连接中,PTR2000模块的DO和DI分别与单片机的RXD和TXD连接。利用单片机的I/O可以控制模块的发射控制、频道转换和低功耗模式。单片机可直接通过将P2.0位置高电平或置低电平而将无线收发模块置于发射或接收状态。接口电路如图3-4所示。图3-4 PTR2000和单片机的接口电路图3.4.1电路原理和器件功能介绍此处只列出和此设计相关的、关键部分的器件名称和相关的主要功能。l 89C52单片机:主要完成待发数据的组织和处理,向PTR2000模块发送数据接收计算机发送的数据

26、。l PTR2000无线数据模块:和单片机相连的PTR2000模块主要是将单片机的待传数据信号调制成射频信号,发送到计算机端的PTR2000模块;接收计算机端PTR2000模块发送的数据信号,并解调成单片机能够识别的TTL信号。l 晶振:计算机与单片机的通信速率约定为9600bit/s,为了获得精确的传输率,单片机选用11.0592M晶振。3.4.2地址分配和连接与此设计相关的、关键部分单片机和PTR2000无线收发模块管脚的连接和相关地址分配。l DO:连接单片机的RXD脚和PTR2000的DO脚。PTR2000将接收到的数据信号解调后,输出到单片机中。l DI:连接单片机的TXD脚和PTR

27、2000的DI脚。单片机将待发数据传输到PTR2000模块,经过调制后,发送到计算机端。l TXEN:连接单片机的P2.0脚和PTR2000模块的TXEN脚。通过单片机P2.0脚的电平控制PTR2000模块的发射接收控制,TXEN=1时模块为发射状态,TXEN=0模块为接收状态。l CS:PTR2000模块的频道选择,CS=0选择工作频道1,即433.92MHz;CS=1选择工作频道2,即434.33MHz。在这个设计中,采用固定的收发频道,即将CS和GND连接,固定通信频道为频道1。l PWR:PTR2000模块节能控制。PWR=1正常工作状态,PWR=0待机微功耗状态。在此设计中,将PTR

28、2000模块的PWR脚连到VCC上,使PTR2000模块固定工作在正常状态。3.5计算机和PTR2000的接口电路硬件设计 PTR2000与计算机串口的典型应用电路如图3-5所示。若直接将PTR2000与计算机串口相连接,则可用RTS控制PTR2000无线收发模块的收/发状态转换(RTS需经电平转换)。图3-5 PTR2000和计算机的接口电路图3.5.1电路原理和器件功能介绍在这里列出和此设计相关的、关键部分的器件和相关的主要功能。l 计算机:主要完成待发数据的组织和处理,向PTR2000模块发送数据和接收单片机发送的数据。l PTR2000无线数据模块:和计算机相连的PTR2000模块主要

29、是将单片机的待传数据信号调制成射频信号,发送到单片机端的PTR2000模块;接收单片机端PTR2000模块发送的数据信号,并解调成计算机能够识别的TTL信号。l 数据传输率:计算机数据收发软件的通信速率约定为9600 bit/s,在此设计中采用的是VB中的MSCOMM控件的属性来确定的。l MAX202:RS232和TTL电平的转换芯片。PTR2000模块与计算机串口的连接中,由于PTR2000模块支持TTL电平,计算机串口RXD和TXD输出的信号需经电平转换后分别与PTR2000模块的DO和DI相连。3.5.2地址分配和连接这里只列出和此设计相关的、关键部分的单片机管脚连接和相关地址分配。主

30、要是单片机和8253之间的连接和地址分配。l DO:连接MAX202的T2IN脚和PTR2000的DO脚。PTR2000将接收到数据信号解调后,输出到MAX202的输入信号引脚中,进行RS232电平转换。l DI:连接MAX202的R2OUT脚和PTR2000的DI脚。MAX202将待发数据经过RS232的转换后传输到PTR2000模块,经过调制后,发送到单片机端。l TXEN:连接MAX202的R1OUT脚和PTR2000模块的TXEN脚。通过计算机串口的RTS信号控制。TXEN=1时模块为发射状态,TXEN=0时模块为接收状态。l CS:PTR2000模块的频道选择,CS=0选择工作频道1

31、,即433.92MHz;CS=1选择工作频道2,即434.33MHz。在这个设计中,采用固定的收发频道,即将CS和GND连接,固定通信频道为频道1。l PWR:PTR2000模块节能控制。PWR=1正常工作状态,PWR=0待机微功耗状态。在此设计中,将PTR2000模块的PWR脚连到VCC上,使PTR2000模块固定工作在正常状态。l RXD:连接MAX202的T2OUT脚和计算机串口的RXD脚。MAX202将调制后的数据信号传输到计算机的串口接收端。l TXD:MAX202的R2IN和计算机串口的TXD脚。计算机将发送的RS232信号送到MAX202,经过调制后,发送到PTR2000的发送端

32、。l RTS:连接计算机串口中的RTS脚和MAX202中的R1IN脚,是计算机串口对无线收发模块收-发状态转换的控制,由于此设计中计算机采用的是Visual Basic开发环境,可通过设置MSComm控件的RTSEnable属性实现。RTSEnable属性设为False时,串口RTS输出高电平,电平转换后将PTR2000置为发射状态;RTSEnable属性设为True时,串口RTS输出低电平,电平转换后将PTR2000置为接收状态。第四章 软件总体设计4.1单片机端程序设计 无线数据传输的程序主要包括测控系统中使用的发送端程序和计算机接收的接收端程序。发送端程序主要包括对传感器数据的采集和发送

33、,接收端程序主要是对数据的接收和处理。同时还需要二者之间的通信。在编写发送端的程序时,首先要配合单片机控制外围器件,完成信号到数据的转化;其次要合理的分配单片机的资源,安排各个中断的时序和对不同信号的处理方式。在这个测控系统中,需要处理控制信号、姿态信号和输出信号的3个外部中断。此外,考虑到系统的响应速度快,控制指令周期短,在编写程序时,需要合理、准确地安排对外部器件存储器的读写时序以及单片机的中断。具体的流程如图1-6所示。图4-1 单片机端程序设计流程图 以下,通过测控程序中的单片机发送程序,了解图1-6所示的无线数据发送时的中断和串口数据传输的时序安排。以下程序省略了相关变量,具体代码请

34、参考后面附录中的源程序清单。4.2计算机端程序设计计算机的接收端程序主要是用来接收数据并处理。主要工作就是实时接收数据并将其图形化。在这个设计中以Visual Basic为编程语言,并利用MSComm控件实现对串口数据的实时读取的处理。计算机串口对无线收发模块收发状态转换的控制,由于实验中计算机采用的是Visual Basic的开发环境,可通过设置MSComm控件的RTSEnable属性来实现。RTSEnable属性设为False时,串口RTS输出高电平,电平转换后将PTR2000置为发射状态;RTSEnable属性设为True时,串口RTS输出低电平,电平转换后将PTR2000置为接收状态。

35、图1-7所示为计算机端的Visual Basic接收程序流程图。图4-2 计算机端程序设计流程图 4.3关键技术单片机和PTR2000组成的无线数据收发模块在设计时需要解决的问题在于两个方面,一是数据收发中的可靠性,另一种则是PTR2000和微机以及单片机的电路连接和信号控制。本例中的关键技术主要包括:l CRC校验提供单片机串行通信的一种简单协议,用以提高串行通信的数据可靠性,在这个设计中将介绍CRC校验方法,及该协议在单片机和微机通信中的使用和编程方法。l 接口电路- PTR2000无线数传模块和单片机以及微机的接口设计,以及单片机和微机对PTR2000模块的控制。接口电路部分由于和电路密

36、切相关,所以没有单独列入关键技术部分而是和电路设计一节放在一起,并在其中加以详细介绍。在此处只将CRC校验作为关键技术单独介绍。1.作用为了使系统能够可靠、稳定地通信,在编程时应设计通信协议,并应考虑数据的纠检错。在单片机和微机的数据传输过程中,由于传输距离、现场状况等诸多可能出现的因素影响,计算机与单片机之间的通信数据常会发生无法预测的错误。为了防止错误所带来的影响,一般在通信时采取数据校验的办法。采用数据校验是有效保证数据传输可靠性的一种方法。目前,较为简单的和流行的方法有以下三种:l 奇偶校验。l 校验和。l 循环冗余码校验(CRC校验)。2.方案串行数据在传输过程中,由于干扰可能引起信

37、息的出错,由于干扰,可能使传输的数据发生位错误,这种情况称为出现了“误码”。发现传播中错误叫“检错”,发现错误后,消除错误叫“纠错”。以下分别介绍3种较为简单的校验方法。1奇偶校验最简单的纠错方法是“奇偶校验”,即在传送字符的各位之外,在传送一位奇/偶校验位。可采用奇校验或偶校验。奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:10110, 010100110, 0001偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:10110, 010100110, 0001奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,两位及两位以上误码

38、不能检出),它不能纠错。只能要求重发。但由于其实现简单,仍得到了广泛使用。注意:奇偶校验容易实现、但却最不可靠,因为其只能发现奇数个错误,并且无法实现自动纠错。 2校验和另一种形式的错误检查是校验和。校验和是先将所有的字节相加,然后将结果截短到所需的位长,例如:4 字节1109 字节265 字节3204 字节4126 8位校验和注意:校验和能够检测到比奇偶校验更多的错误,但是当字节顺序颠倒时,校验和不能发现,因为其不能发现次序错误。3循环冗余码校验循环冗余码校验的英文为Cyclical Redundancy Check,简写为CRC。它是利用除法及余数的原理来作错误检测(Error Detec

39、ting)的。实际应用时发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通信出现错误。根据应用环境与习惯的不同,CRC又可分为以下4种标准:l CRC-12码。l CRC-16码。l CRC-CCITT码。l CRC-32码。CRC-12码通常用来传送6bit字符串。CRC-16及CRC-CCITT码则用来传送8bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。下面以最常用的CRC-16为例来说明其生成

40、过程。CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8bit的数据进行异或,之后对CRC寄存器从高位到低位进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高到低的移位8次,第一个8bit数据处理完毕,用此时CRC寄存器的值与下一个8bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值,下面为CRC的计算过程。设置CRC寄存器,并给其赋值FFFF(hex)。将数据第一个

41、8bit字符与16位CRC寄存器低8位进行异或,结果存入CRC寄存器。CRC寄存器向右移一位,MSB补零,移出并检查LSB。如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。重复第与第步知道8次移位全部完成,此时一个8bit数据处理完毕。重复第至第步直到所有数据全部处理完成。最终CRC寄存器的内容即为CRC值。3.具体实现由于这个设计中使用的上位计算机采用的是VB编程,下面就以VB语言来编写CRC的生成程序,其他语言只需要稍做修改即可。编写CRC校验程序的办法有计算法和查表法两种。1计算法计算法就是依据CRC校验码的产生原理来设计程序。其优点是模块代码少,修改灵活,可移植

42、性好。其缺点为计算量大。为了便于理解这里假定了3位数据,其多项式码为A001H。具体代码如下:For I =0 To U bound (data)CRC16Lo= CRC16Lo X or data( I )每个数据与CRC寄存器进行异或For Flag=0 To 7 Save Hi=CRC16HiCRC16Hi=&HFF Save Lo=CRC16LoCRC16Lo=&HFF CRC16Hi=CRC16Hi/2 高位右移一位 CRC16Lo=CRC16Lo/2 低位右移一位 If(Save Hi and & H1)&H1)Then 如果高位字节最后一位为1 CRC16Lo=CRC16Lo O

43、r &H80 则低位字节右移后前面补1 End if 否则自动补0 If (Save Lo and &Hi) =&H1) Then 如果LSB为1,则与多项式码进行异或 CRC16Hi=CRC16Hi X or CH CH=&HA0 CRC16Lo=CRC16Lo X or CL CL=&H1 End ifNext FlagNext iDim Return Data (1) As ByteReturn Data (0) = CRC16Hi CRC高位Return Data (1) = CRC16Lo CRC低位CRC16 = Return Data 2查表法查表法中,同样也采用VB语言进行编程

44、。具体方法是:生成0255个字节组成的CRC校验表,放在一组数中,在CRC校验表生成后,对通信数据的有效数据只需要进行查表工作,即可生成通信数据中的8位CRC校验码。下面写出了CRC校验表的VB生成程序,生成的校验表放在数组 crctable ()中。具体代码如下:For I = 0 To 255 Step 1 count = i For j = 0 To 7 Step 1 If (count And &H80) = 0 Then count = count * 2 用乘2来实现位的左移 Else count = count- &H80 count = (count * 2) X or &H4

45、5 与生成多项式g(x)=X8+X6+X2=1异或 End if Next j crctable(i) = countNext i第五章 仿真调试5.1调试时遇到问题及解决方法对于本设计而言,基于单片机和PTR2000无线收发模块的调试,主要集中在PTR2000模块和单片机与其接口电路的调试上。对在调试中会遇到的问题,这里给出一般的解决方法。l 乱码的解决方法解决这类问题时一般需要注意以下3点:检查试验方法是否合理,包括传输速度、传输条件等。系统的电源不要用开关电源。在检查时,手不可以触摸高频部分即芯片和外围元件。l PTR2000模块的简单测试过程发射一方:固定为发射方式,TXEN为高,PWR为高,通过单片机串口向PTR2000一直发送数据,建议不要发十六进制数,而发ASCII,如字符“A”。接收一方:固定为接收方式,TXEN为低,PWR为高,接收到的数据经232电平转换后送计算机端口,用任何计算机终端程序即可监视收到的ASCII数据。l

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922