资源描述:
《rs232串口通信协议详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、rs232串口通信协议详解篇一:RS232通讯协议RS232通讯协议基本结构波特率9600bit/s,8bit,1位停止,无校验位格式0EBH,地址,命令,长度(n),数据1,一数据n,冗余说明:0EBH为帧起始位长度小于输出端口数冗余=地址+命令+长度+数1+-+数n如果冗余=0EBH,为防止与帧起始位相同,则发送反码,即冗余=14H当接收正确时,1)在命令1,2,5,6时,回送0EBH,地址,命令,01H,0FAH,冗余,并执行命令。2)在命令3,4,7时,回送相应信息。当接收不正确时,1)地址正确,冗余不正确,回送0EBH,地
2、址,命令,01H,0F5H,冗余。2)地址不正确,不回送任何信息。串口通讯一通信协议所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'SOSI七层参考模型中的数据链路层。目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。一、物理接口标准1.串行通信接口的
3、基本任务(I)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。(2)进行串一并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。(2)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。(
4、3)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。2、串行通信接口电路的组成为了完成上述串行接
5、口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。3.有关串行通信的物理标准为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面
6、:传输率,电特性,信号名称和接口标准。1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200>4800、9600和19200。大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲区,所以可以按高达2400波特的速度接收打印信息。大多数接口的接收波特率和发送波特率可以分别设置,
7、而且,可以通过编程来指定。2、RS-232-C标准:RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义。RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将・5V〜-15V规定为“1”,+5V〜+15V规定为“0”。图1是TTL标准和RS-232-C标准之间的电平转换。图1二、软件协议1.OSI协议和TCP/IP协议图2(1)OSI协议OSI七层参考模型不是通讯标准,它只给出一个不会由于技术发展而必须修改的稳定模型,使有关标准和协议能在模型定义的范围内开发和相互配合。一
8、般的通讯协议只符合OSI七层模型的某几层,如:EIA-RS-232-C:实现了物理层。IBM的SDLC(同步数据通讯规程):数据链路层IBM的BSC(二进制同步通讯协议):数据链路层。应用层的电子邮件协议SMTP只负责寄信、POP3只