(强烈推荐)毕业论文设计基于C++的RS232通信协议模拟终端 联系客服

发布时间 : 星期四 文章(强烈推荐)毕业论文设计基于C++的RS232通信协议模拟终端更新完毕开始阅读ac777d5fa66e58fafab069dc5022aaea998f4181

图2-4 USB转RS232线的连接图

2.3.2 串口调试

实现个人计算机与外围设备间的串行通信必须将个人计算机上的串口调通,验证一下个人计算机上的串口是否好用。这就需要用到串口调试小助手。首先将一根USB转RS-232转换线的2、3引脚短接,然后将带有“驱动程序”的光盘放入个人计算机中,安装并运行与自己计算机相匹配的驱动程序,接着将转换线的USB端插入个人计算机的USB口,即完成了初步的安装。打开设备管理器,看一下所插入的转换线占的是哪个串口,因为在接下来调试串口要用到。

串口调试助手是一个专门用来调试串口程序的功能软件,要想测试串口是否可用,应先打开软件,选择串口号,打开串口,在发送区输入内容,点击发送按钮,若在接收区中有所发送的内容,则证明此串口可用。

2.4 本章小结

本章从原理上介绍了串行通信的基本原理,详细的阐述了RS232标准协议接口和与串行通信相关的一些知识。介绍了通信参数与串行通信的分类。为下文编写Windows应用程序实现两台PC机进行数据交换提供了基础。

第3章 CRC校验

3.1 CRC校验原理

3.1.1 CRC校验码的基本原理

在早期的通信中,由于通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),这样不可靠的通信就会带来“确认信息”的麻烦,造成一些事情的延误等。为了避免这一弊端,在进行数据交换,通信的过程中,对通信的可靠性检查就需要校验,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。

如早期一样目前在通信系统的数据传输过程中,由于信道中各种复杂因素的影响,使传输的信号受到干扰,造成传输过程中误码的出现。接收方为了检查所接收的数据是否有误码,可采用多种检测方法。差错控制编码是目前数据传输过程中普遍采用的一种提高数据通信可靠性的方法,而CRC是一种在实际通信中应用很广泛的差错控制编码,具有很强的检错能力。

CRC(Cyclic Redundancy Check)循环冗余校验码是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC循环冗余校验码的基本原理是任意一个由二进制位串组成的代码都可以和一个系数仅为?0?和?1?取值的多项式一一对应。例如:代码101011对应的多项式为码是在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。

CRC校验码的生成借助于多项式除法,其余数为校验字段。其中发送方发出传输字段,传输字段由两部分组成的,分别为信息字段和校验字段。接收方

使用相同的生成码进行校验,若接收到的字段或生成码(二进制除法)如果能够除尽,则说明在通信过程中,数据交换期间未受到其他因素的干扰,消息收发成功。

3.1.2 CRC校验码权的形式

CRC校验码有很多种权的行式,使用哪一种形式是根据通信双方共同制定的“规则”而定的,其中各种常用权的形式如下所示:

(3-1)

CRC?CCITT?X16?X12?X5?1 (3-2) CRC16?X16?X15?X5?1 (3-3) CRC12?X12?X11?X3?X2?1 (3-4) CRC32?X32?X26?X23?X22?X16?X12?X11?X10?

X8?X7?X5?X4?X2?X?1 (3-5)

以其中CRC-CCITT形式为例。图 3-1说明了 CRC 校验中 CRC 值是如何计算出来的,体现的多项式正是式(3-5)。从把数据移位开始计算,将数据位(从最低的数据位开始)逐位移入反向耦合移位寄存器。当所有数据位都这样操作后,计算结束。此时,16 位移位寄存器中的内容就是 CRC 码。图3-1中X 代表 Bit5,X 代表 Bit12,1 是代表 Bit0,比较特别,是指移位寄存器移入的数据。

图3-1 生成CRC-CCITT的移位寄存器的作用原理

3.2 CRC校验的实现

实现CRC校验有很多种算法和方式,最基本的算法应该是按位计算了,这个方法可以适用于所有长度的数据校验,是最为灵活的,但由于是按位计算,其效率并不是最迅速、最优的,只适用于对速度不敏感的场合。还有一种是按照字节计算CRC校验码,按字节校验是每次计算8位数据,多是基于查表的算法,首先要准备一个表,一共256项。在使用的时候,把计算出来的校验值放在最后两个字节里,将其发送出去,接收端对所有的数据进行相同的校验,如校验值为0我们则认为其数据没有出错。这个是按高位到低位的发送顺序时使用的校验方法。

3.3本章小结

本章介绍了通信中最常使用的校验方法,即CRC校验。分析了CRC校验原理、算法形式和算法的实现。并通过CRC校验实现通信中的检错。