《单片机原理与应用及上机指导》第9章:串行通信及接口
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.RS-232接口 2.RS-422与RS-485串行接口标准 3.3种标准的比较
1.RS-232接口
RS-232接口(又称 EIA RS-232 C)是目前最常用的一种串 行通信接口。它是在1962年由美国电子工业协会(EIA)联 合贝尔系统、调制解调器厂家及计算机终端生产厂家共 同制定的用于串行通信的标准。它的全名是“数据终端 设备(DTE)和数据通信设备(DCE)之间串行二进制数据交 换接口技术标准”该标准规定采用一个25个脚的 DB25连 接器,对连接器的每个引脚的信号内容加以规定,还对 各种信号的电平加以规定。 (1) 机械特性 (2) 电气特性
图9.7 异步通信的字符帧格式
9.3.2 同步通信
采用同步通信时,将许多字符组成一个信息组,这样字符可以一个接 一个地传输,每个数据块的头部和尾部都要附加一个特殊的字符或比 特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列 (如16位或32位CRC校验码),以便对数据块进行差错控制。所谓同 步传输是指数据块与数据块之间的时间间隔是固定的,必须严格规定 它们的时间关系。在没有信息要传输时,要填上空字符,因为同步传 输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。 当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。 这样,传输时按每n位划分为一个时间片,发送端在一个时间片中发 送一个字符,接收端则在一个时间片中接收一个字符。同步通信数据 格式 如图9.8所示。 根据同步通信规程,同步传输又分为面向字符的同步传输和面向位流 的同步传输。 1.面向字符的同步协议 2.面向位流的同步协议(ISO的HDLC) 3.同步通信的“0位插入和删除技术” 4.SDLC/HDLC异常结束
图9.8 同步通信数据格式
1.面向字符的同步协议
这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次 传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符 作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通 信控制字或控制字符。由于被传送的数据块是由字符组成的,故被称为面向字符 的协议。 控制字符的格式 如图9.9所示,它每位的含义如下:
SYN:同步字符(SYNchronous character),每一帧开始处都有SYN,加一个SYN 的称单同步,加两个SYN的称双同步。设置同步字符可起联络作用,传送数据时,接 收端不断检测,一旦出现同步字符,就知道是一帧开始了。 SOH:标题开始(Start Of Header)也称序始字符,它表示标题的开始。 标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。 STX:文始字符(Start of Text),它标志着传送的正文(数据块)开始。 数据块:正文(Text),被传送的正文内容,由多个字符组成。 ETB:块传输结束(End of Transmission Block)或组终字符,标识本数据块结束。 ETX:全文结束(End of Text)或文终字符(全文分为若干块传输)。 块校验:它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校 验或CRC。
9.3.1 异步通信
1.异步通信原理 简单来说,异步通信(Asynchronous Communication)就是以一个字符 为传输单位,用起始位表示字符的开始,用停止位表示字符结束,在异步 通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一 帧一帧地发送,每一帧数据均是低位在前,高位在后,通过传输线被接收 端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的 发送和接收,这两个时钟彼此独立,互不同步。 在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送, 何时结束发送的。字符帧格式是异步通信的一个重要指标。 异步传输格式亦称为起止异步协议,其特点如下: 起止式异步协议的特点是一个字符、一个字符传输,并且传送一个字符总 是以起始位开始,以停止位结束,因为发送与接收双方之间的数据处理速 度有可能不一样,因此在两个字符之间需一定的时间间隔。 异步传输格式字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止 位4部分组成,其格式 如图9.7所示。 NEXT
2.RS-422与RS-485串行接口标准
由于RS-232接口标准出现较早,难免有不足之处,主要 有以下4点。
(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接。 (2) 传输速率较低,在异步传输时,波特率为20kb/s。 (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形 式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性能弱。 (4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只 能 用在50m左右。 针对RS-232的不足,于是就不断出现了一些新的接口标准,RS422、RS-485就是比较有代表性的两种标准。
9.2.2 串行通信接口标准
所谓接口标准就是明确定义信号线,使接口电路标准化、 通用化。借助串行通信标准接口,不同类型的数据通信 设备可以很容易实现它们之间的串行通信连接。不同的 计算机系统或通信设备之间要顺利地实现通信,必须遵 循同一规则,这个规则就是一个标准。标准的异步串行 通信接口有RS-232C、RS-449、RS-422、RS-423和RS485。
9.2 串行通信的原理
所谓“串行通信”是指外设和计算机间使用一根数据信号线, 数据在一根数据信号线上按位进行传输,每一位数据都占据 一个固定的时间长度。这种通信方式使用的数据线少,在远 距离通信中可以节约通信成本。当然,其传输速度比并行传 输慢。数据接收设备将接收到的串行形式数据转换成并行形 式进行存储或处理,所以串行口的本质就是单片机与外围数 据设备的数据格式转换(或者称为串/并转换器),即当数据 从外围设备输入计算机时,数据格式由位(bit)转化为字节 数据;反之,当单片机发送下行数据到外围设备时,串口又 将字节数据转化为位数据。 9.2.1 串行通信的基本原理 9.2.2 串行通信接口标准
第9章 串行通信及接口
教学提示和教学目标 9.1 串行口的结构 9.2 串行通信的原理 9.3 通 信 协 议 9.4 单 机 通 信 9.5 多 机 通 信 9.6 上机指导:串行静态显示电路
教学提示和教学目标
教学提示:通信是人们传递信息的方式。计算机通信是将计算机技术和 通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息 交换。串行通信技术是构建单片机应用系统的关键技术,尤其是构建网 络控制单片机应用系统。 教学目标:复习80C51单片机串行接口结构;了解80C51单片机串行 接口原理;掌握80C51单片机串行接口的使用方法。
9.1 串行口的结构
计算机通信有两种方式:并行通信方式与串行通信方式。并 行通信是将数据字节的各位用多条数据线同时进行传送,并 行通信的特点是:控制简单,传输速度快,但传输线较多, 长距离传送时成本高且接收方的各位同时接收存在困难。串 行通信是将数据字节分成一位一位的形式,在一条传输线上 逐个地传送,串行通信的特点是:传输线少,长距离传送时 成本低,且可以利用电话网等现成的设备,但数据的传送控 制比并行通信复杂。80C51内部有一个串行通信I/O口,通 过它可以实现和其他单片机系统、PC系统的串行通信。
9.3.1 异步通信
Байду номын сангаас
2.异步传输的错误检测 由于线路或程序出错等原因,使得通信过程中经常产生传送错误。因为异 步通信的实质为字符的发送是随机的,所以接收方通常可检测到以下一些 错误。 (1) 奇偶错:在通信线路上因噪声干扰而引起的某些数据位的改变,则 会引起奇偶校验错。一般,接收方检测到奇偶错时,则要求发送方重新发 送。 (2) 超越错:在上一个字符还未被处理器读出之前,本次又接收到了一 个字符,则会引起超越错。如果处理器周期检测“接收数据就绪”的速率小 于串行接口从通信线上接收字符的速率,就会引起超越错。通常,接收方 检测到超越错时,可提高处理器周期检测的速率或者接收和发送双方重新 修改数据的传输速率。超越错也称为溢出错。 (3) 帧格式错:若接收方在停止位的位置上检测到一个空号(信息0),则 会引起一个帧格式错。一般来说,帧格式错的原因较复杂,可能是双方协 议的数据格式不匹配;或线路噪声改变了停止位的状态;因时钟不匹配或 不稳定未能按照协议装配成一个完整的字符帧等。通常,当接收方检测到 一个帧格式错时,应按各种可能性作相应的处理,如要求重 发等。
3.3种标准的比较
RS-232、RS-422和RS-485有关电气参数比较如表9.3所示。
9.3 通 信 协 议
所谓通信协议是指通信双方的一种约定。在约定中对数据格 式、同步方式、传送速度、传送步骤、检纠错方式及控制字 符定义等作出统一规定,通信双方必须共同遵守。因此,也 叫做通信控制规程,或称传输控制规程。 按照串行数据的时钟控制方式,串行通信可分为异步通信和 同步通信两类。 9.3.1 异步通信 9.3.2 同步通信 9.3.3 异步通信和同步通信的比较
图9.9 面向字符的同步协议
2.面向位流的同步协议(ISO的HDLC)
面向位流的同步协议中最具有代表性的是IBM的同步数据链路控制规程 SDLC(Synchronous Data Link Control),国际标准化组织 ISO(International Standard Organization)的高级数据链路控制规 程HDLC(High Level Data Link Control),美国国家标准协会 ANSI(Americal National Standard Institute)的先进数据通信规程 ADCCP(Advanced Data Communication Control Procedure)。这 些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位 组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向位流” 的协议。这种协议的一般帧格式 如图9.10所示。 这种协议的特点是:所传输的一帧数据可以是任意位而且它靠约定的位 组合模式,而不是靠特定字符来标志帧的开始和结束。帧信息的分段: SDLC/HDLC的一帧信息包括以下几个场(Field),所有场都是从有效位 开始传送。
9.2.1 串行通信的基本原理
单片机使用串行口进行异步通信时,其接收和发送过程 如下。
(1) 接收。串行口按设定的工作方式和波特率通过P3.0口串行移入 格式化数据到输入寄存器,待整帧数据接收完毕后进行反格式化 处理,然后送入数据缓冲器,形成中断请求RI,通知CPU读取数 据。 (2) 发送。当单片机CPU向串行口的发送数据缓冲寄存器移入所 需发送的数据后,串行口自动按设定的格式将数据组装成标准格 式帧,然后以规定的波特率,借助于发送缓冲器的移位功能通过 P3.1逐位移出。数据移完后,形成中断请求TI,通知CPU准备下 一帧数据的发送过程。
1.RS-232接口
RS-232接口(又称 EIA RS-232 C)是目前最常用的一种串 行通信接口。它是在1962年由美国电子工业协会(EIA)联 合贝尔系统、调制解调器厂家及计算机终端生产厂家共 同制定的用于串行通信的标准。它的全名是“数据终端 设备(DTE)和数据通信设备(DCE)之间串行二进制数据交 换接口技术标准”该标准规定采用一个25个脚的 DB25连 接器,对连接器的每个引脚的信号内容加以规定,还对 各种信号的电平加以规定。 (1) 机械特性 (2) 电气特性
图9.7 异步通信的字符帧格式
9.3.2 同步通信
采用同步通信时,将许多字符组成一个信息组,这样字符可以一个接 一个地传输,每个数据块的头部和尾部都要附加一个特殊的字符或比 特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列 (如16位或32位CRC校验码),以便对数据块进行差错控制。所谓同 步传输是指数据块与数据块之间的时间间隔是固定的,必须严格规定 它们的时间关系。在没有信息要传输时,要填上空字符,因为同步传 输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。 当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。 这样,传输时按每n位划分为一个时间片,发送端在一个时间片中发 送一个字符,接收端则在一个时间片中接收一个字符。同步通信数据 格式 如图9.8所示。 根据同步通信规程,同步传输又分为面向字符的同步传输和面向位流 的同步传输。 1.面向字符的同步协议 2.面向位流的同步协议(ISO的HDLC) 3.同步通信的“0位插入和删除技术” 4.SDLC/HDLC异常结束
图9.8 同步通信数据格式
1.面向字符的同步协议
这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次 传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符 作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通 信控制字或控制字符。由于被传送的数据块是由字符组成的,故被称为面向字符 的协议。 控制字符的格式 如图9.9所示,它每位的含义如下:
SYN:同步字符(SYNchronous character),每一帧开始处都有SYN,加一个SYN 的称单同步,加两个SYN的称双同步。设置同步字符可起联络作用,传送数据时,接 收端不断检测,一旦出现同步字符,就知道是一帧开始了。 SOH:标题开始(Start Of Header)也称序始字符,它表示标题的开始。 标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。 STX:文始字符(Start of Text),它标志着传送的正文(数据块)开始。 数据块:正文(Text),被传送的正文内容,由多个字符组成。 ETB:块传输结束(End of Transmission Block)或组终字符,标识本数据块结束。 ETX:全文结束(End of Text)或文终字符(全文分为若干块传输)。 块校验:它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校 验或CRC。
9.3.1 异步通信
1.异步通信原理 简单来说,异步通信(Asynchronous Communication)就是以一个字符 为传输单位,用起始位表示字符的开始,用停止位表示字符结束,在异步 通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一 帧一帧地发送,每一帧数据均是低位在前,高位在后,通过传输线被接收 端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的 发送和接收,这两个时钟彼此独立,互不同步。 在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送, 何时结束发送的。字符帧格式是异步通信的一个重要指标。 异步传输格式亦称为起止异步协议,其特点如下: 起止式异步协议的特点是一个字符、一个字符传输,并且传送一个字符总 是以起始位开始,以停止位结束,因为发送与接收双方之间的数据处理速 度有可能不一样,因此在两个字符之间需一定的时间间隔。 异步传输格式字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止 位4部分组成,其格式 如图9.7所示。 NEXT
2.RS-422与RS-485串行接口标准
由于RS-232接口标准出现较早,难免有不足之处,主要 有以下4点。
(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接。 (2) 传输速率较低,在异步传输时,波特率为20kb/s。 (3) 接口使用一根信号线和一根信号返回线而构成共地的传输形 式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性能弱。 (4) 传输距离有限,最大传输距离标准值为50英尺,实际上也只 能 用在50m左右。 针对RS-232的不足,于是就不断出现了一些新的接口标准,RS422、RS-485就是比较有代表性的两种标准。
9.2.2 串行通信接口标准
所谓接口标准就是明确定义信号线,使接口电路标准化、 通用化。借助串行通信标准接口,不同类型的数据通信 设备可以很容易实现它们之间的串行通信连接。不同的 计算机系统或通信设备之间要顺利地实现通信,必须遵 循同一规则,这个规则就是一个标准。标准的异步串行 通信接口有RS-232C、RS-449、RS-422、RS-423和RS485。
9.2 串行通信的原理
所谓“串行通信”是指外设和计算机间使用一根数据信号线, 数据在一根数据信号线上按位进行传输,每一位数据都占据 一个固定的时间长度。这种通信方式使用的数据线少,在远 距离通信中可以节约通信成本。当然,其传输速度比并行传 输慢。数据接收设备将接收到的串行形式数据转换成并行形 式进行存储或处理,所以串行口的本质就是单片机与外围数 据设备的数据格式转换(或者称为串/并转换器),即当数据 从外围设备输入计算机时,数据格式由位(bit)转化为字节 数据;反之,当单片机发送下行数据到外围设备时,串口又 将字节数据转化为位数据。 9.2.1 串行通信的基本原理 9.2.2 串行通信接口标准
第9章 串行通信及接口
教学提示和教学目标 9.1 串行口的结构 9.2 串行通信的原理 9.3 通 信 协 议 9.4 单 机 通 信 9.5 多 机 通 信 9.6 上机指导:串行静态显示电路
教学提示和教学目标
教学提示:通信是人们传递信息的方式。计算机通信是将计算机技术和 通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息 交换。串行通信技术是构建单片机应用系统的关键技术,尤其是构建网 络控制单片机应用系统。 教学目标:复习80C51单片机串行接口结构;了解80C51单片机串行 接口原理;掌握80C51单片机串行接口的使用方法。
9.1 串行口的结构
计算机通信有两种方式:并行通信方式与串行通信方式。并 行通信是将数据字节的各位用多条数据线同时进行传送,并 行通信的特点是:控制简单,传输速度快,但传输线较多, 长距离传送时成本高且接收方的各位同时接收存在困难。串 行通信是将数据字节分成一位一位的形式,在一条传输线上 逐个地传送,串行通信的特点是:传输线少,长距离传送时 成本低,且可以利用电话网等现成的设备,但数据的传送控 制比并行通信复杂。80C51内部有一个串行通信I/O口,通 过它可以实现和其他单片机系统、PC系统的串行通信。
9.3.1 异步通信
Байду номын сангаас
2.异步传输的错误检测 由于线路或程序出错等原因,使得通信过程中经常产生传送错误。因为异 步通信的实质为字符的发送是随机的,所以接收方通常可检测到以下一些 错误。 (1) 奇偶错:在通信线路上因噪声干扰而引起的某些数据位的改变,则 会引起奇偶校验错。一般,接收方检测到奇偶错时,则要求发送方重新发 送。 (2) 超越错:在上一个字符还未被处理器读出之前,本次又接收到了一 个字符,则会引起超越错。如果处理器周期检测“接收数据就绪”的速率小 于串行接口从通信线上接收字符的速率,就会引起超越错。通常,接收方 检测到超越错时,可提高处理器周期检测的速率或者接收和发送双方重新 修改数据的传输速率。超越错也称为溢出错。 (3) 帧格式错:若接收方在停止位的位置上检测到一个空号(信息0),则 会引起一个帧格式错。一般来说,帧格式错的原因较复杂,可能是双方协 议的数据格式不匹配;或线路噪声改变了停止位的状态;因时钟不匹配或 不稳定未能按照协议装配成一个完整的字符帧等。通常,当接收方检测到 一个帧格式错时,应按各种可能性作相应的处理,如要求重 发等。
3.3种标准的比较
RS-232、RS-422和RS-485有关电气参数比较如表9.3所示。
9.3 通 信 协 议
所谓通信协议是指通信双方的一种约定。在约定中对数据格 式、同步方式、传送速度、传送步骤、检纠错方式及控制字 符定义等作出统一规定,通信双方必须共同遵守。因此,也 叫做通信控制规程,或称传输控制规程。 按照串行数据的时钟控制方式,串行通信可分为异步通信和 同步通信两类。 9.3.1 异步通信 9.3.2 同步通信 9.3.3 异步通信和同步通信的比较
图9.9 面向字符的同步协议
2.面向位流的同步协议(ISO的HDLC)
面向位流的同步协议中最具有代表性的是IBM的同步数据链路控制规程 SDLC(Synchronous Data Link Control),国际标准化组织 ISO(International Standard Organization)的高级数据链路控制规 程HDLC(High Level Data Link Control),美国国家标准协会 ANSI(Americal National Standard Institute)的先进数据通信规程 ADCCP(Advanced Data Communication Control Procedure)。这 些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位 组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向位流” 的协议。这种协议的一般帧格式 如图9.10所示。 这种协议的特点是:所传输的一帧数据可以是任意位而且它靠约定的位 组合模式,而不是靠特定字符来标志帧的开始和结束。帧信息的分段: SDLC/HDLC的一帧信息包括以下几个场(Field),所有场都是从有效位 开始传送。
9.2.1 串行通信的基本原理
单片机使用串行口进行异步通信时,其接收和发送过程 如下。
(1) 接收。串行口按设定的工作方式和波特率通过P3.0口串行移入 格式化数据到输入寄存器,待整帧数据接收完毕后进行反格式化 处理,然后送入数据缓冲器,形成中断请求RI,通知CPU读取数 据。 (2) 发送。当单片机CPU向串行口的发送数据缓冲寄存器移入所 需发送的数据后,串行口自动按设定的格式将数据组装成标准格 式帧,然后以规定的波特率,借助于发送缓冲器的移位功能通过 P3.1逐位移出。数据移完后,形成中断请求TI,通知CPU准备下 一帧数据的发送过程。