数据通讯相关概念
数据通信系统的主要技术指标 数据传输速率 误码率 信道带宽 信道容量
1.数据传输速率 数据传输速率有两种度量单位: “波特率”和“比特率”。 波特率又称为波形速率或码元速率 比特率又称为信息速率 指数据通信系统中,线路上每秒传送的波形个数,其单位是"波特"(band)。 比特率又称为信息速率 反映一个数据通信系统每秒所传输的二进制位数,单位是每秒比特(位),以bit/s或bps表示。 注意:这里是小b, “b=bit”代表是数据传输的容量,而一般在存储数据的时候使用的是大B,"B=byte"
2.误码率 误码率是衡量通信系统线路质量的一个重要参数。它的定义为: 二进制符号在传输系统中被传错的概率,近似等于被传错的二进制符号数与所传二进制符号总数的比值。 计算机通信系统中,要求误码率低于10-6。
3.信道带宽 信道带宽(Bandwidth) 是指信道所能传送的信号的频率宽度,也就是可传送信号的最高频率与最低频率之差。 例如,一条传输线可以接受从300 Hz到3000 Hz的频率,则在这条传输线上传送频率的带宽就是2700 Hz。 信道的带宽由传输介质、接口部件、传输协议以及传输信息的特性等因素所决定。 它在一定程度上体现了信道的传输性能,是衡量传输系统的一个重要指标。 信道的容量、传输速率和抗干扰性等均与带宽有密切的联系。 通常,信道的带宽大,信道的容量也大,其传输速率相应也高。
4.信道容量 信道容量 是衡量一个信道传输数字信号的重要参数,信道容量是指单位时间内信道上所能传输数据的最大容量,单位是bps 信道容量和传输速率之间应满足以下关系: 信道容量>传输速率 否则高的传输速率在低信道上传输,其传输速率受信道容量所限制,肯定难以达到原有的指标。
在计算机领域中有两种数据通信方式: 串行通信和并行通信 并行通信:数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。 串行通信:数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,在串行传送中,1字节的数据要通过一条传输 线分8次由低位到高位按顺序一位一位地传送。 源 目的 T D0 D7 源 目的 0 1 1 0 1 0 1 0 8T
串并行隐喻 并行通讯 串行通讯
串行通信和并行通信比较 距离: 速度: 设备费用: 并行——近距离传送(通常小于30米) 串行——远距离传送(几米~数千公里) 传统观念:并行快得多。 最新观念:很难说,跟带宽有关。 设备费用: 对远距离通信而言,串行通信的费用显然会低得多。另一方面串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。
典型的并行通讯应用 CPU与存储器之间通讯 计算机板卡: ISA EISA PCI PCI Express AGP …… www.wondershare.com
典型的串行通讯应用 RS232 RS485 RS422 USB EtherNet 网络 …… www.wondershare.com
数据传输同步技术 在数据通信中,通信双方收发数据序列必须在时间上取得一致,这样才能保证接收的数据与发送的数据一致,这就是数据通信中的同步。 如果不采用数据传输的同步技术则有可能产生数据传输的误差。 在计算机网络中,实现数据传输的同步技术有以下两种方法:同步通信和异步通信。 同步传输方式 异步传输方式
1.同步传输方式 同步通信就是使接收端接收的每一位数据块或一组字符都要和发送端准确地保持同步,在时间轴上,每个数据码字占据等长的固定时间间隔,码字之间一般不得留有空隙,前后码字接连传送,中间没有间断时间。 收发双方不仅保持着码元(位)同步关系,而且保持着码字(群)同步关系。 如果在某一期间确实无数据可发,则需用某一种无意义码字或位同步序列进行填充,以便始终保持不变的数据串格式和同步关系。 否则,在下一串数据发送之前,必须发送同步序列(一般是在开始使用同步字符SYN“01101000”表示或一个同步字节“01111110”表示,并且在结束时使用同步字符或同步字节),以完成数据的同步传输过程 计算机 A B 01111110 10110101011101100...1111010110110100 同步通信传输
2.异步传输方式 计算机 A B 异步通信传输 所谓异步传输又称起止式传输。 即指发送者和接收者之间不需要合作。 发送者可以在任何时候发送数据,只要被发送的数据已经是可以发送的状态的话。 接收者则只要数据到达,就可以接受数据。 它在每一个被传输的字符的前、后各增加一位起始位、一位停止位,用起始位和停止位来指示被传输字符的开始和结束,在接收端,去除起、止位,中间就是被传输的字符。 这种传输技术由于增加了很多附加的起、止信号,因此传输效率不高 计算机 A B 异步通信传输 1 10110101 0 停止位 起始位 数据位
异步传输与同步传输的区别 异步传输是面向字符传输的,而同步传输是面向位传输的。 异步传输的单位是字符,而同步传输的单位是大的数据块。 异步传输通过传输字符的“起止位”和“停止位”而进行收发双方的字符同步,但不需要每位严格同步;而同步传输不但需要每位精确同步,还需要在数据块的起始与终止位置,进行一个或多个同步字符的双方字符同步的过程。 异步传输相对于同步传输有效率低、速度低、设备便宜、适用低速场合等特点。
7 串行通信接口 7.1 串行传送的基本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
7 串行通信接口 7.1 串行传送的基本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
串行通信是在单根导线上将二进制数一位一位地顺序传送 7 串行通信接口 7.1 串行传送的基本概念 串行通信是在单根导线上将二进制数一位一位地顺序传送 一、数据传送的方式 串行通信中,数据通常是在二个站(点对点)之间进行 传送,按照数据流的方向可分成三种传送模式: 1.全双工(Full Duplex) 数据的发送和接收分别由两根可以在两个不同的站点同 时发送和接收的传输线进行传送,通信双方都能在同一时刻 进行发送和接收操作,选择的传送方式称为全双工制。
发送器 接收器 A站 B站 图7.1 全双工方式示意图 特点:①每一端都有发送器和接收器 ②有二条传送线 应用:交互式应用,远程监测控制
使用同一根传输线,既可发送数据又可接收数据,但不能同时收送数据,这样的传送方式就是半双工(Half Duplex) 发送器 接收器 A站 B站 半双工方式示意图 特点:①每端需有一个收/发切换电子开关 ②因有切换,会产生时间延迟 应用:打印机串口,单向传送设备,发送器→接收器
3.单工(Single Duplex) 使用一根传输线,只能从A到B发送 特点:①每一端都有发送器和接收器 ②有一条传送线 应用:远程控制、单向传送设备 接收器 发送器 A站 B站 单工方式示意图
二、信号的调制和解调 计算机的通信是要求传送数字信号,而在进行远程数据通 信时,线路往往是借用现有的公用电话网,但是,电话网是为 音频模拟信号的设计的。一般为300~3400Hz,不适合于数据 信号。 因此需要对二进制信号进行调制,以适合在电话网上传输 相应的音频信号,在接收时,需要进行解调,还原成数字信号。 计算机 MODEM 模拟信号 数字信号 CRT 1 0 1 0 10 10 10 10 调制电话线 10 10 10 10
1. 什么叫调制? 调制就是进行波形变换,或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。 2. 作用: 调制器(Modulator)是一个波形变换器,它将基带数字的波形变换成适合于模拟信道传输的波形。 解调器(Demodulator)是一个波形识别器,将模拟信号恢复成原来的数字信号。 调制器 解调器 010010
3. 调制方法: 最基本的调制方法有以下几种: (1)调幅(AM) 0 1 0 0 1 1 即载波的振幅随基带数字信号而变化. “1”对应有载波 “0” 对应无载波 AM 0 1 0 0 1 1 (2)调频(FM) 即载波频率随数字信号而变化 “0”对应”f1” “1”对应“f2” f1 f2 FM 0度 180度 PM (3)调相(PM) 即载波初始相位随基带数字信号而变化. “ 0”对应相位0度 “1”对应相位180度
三、信息的检错与纠错 串行数据在传输过程中,由于干扰而引起误码是难免的, 这直接影响通信系统的可靠性,对通信中的检/纠错能力是衡量 一个通信系统的重要内容。 检错:如何发现传输中的错误,称为检错。 纠错:如何消除错误,称为纠错 例: (1)奇偶校验检错 (2)方阵码检错 (3)循环冗余码(CRC)检错 方阵码检错技术: 采用奇偶校验与“检验和”的综合。 ①7位编码后附加1位奇偶位。
②若干个字符组成一个数据块列成方阵,列向接位相加产生一个单字节检验和附加到数据块未尾。 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 奇偶位
7 串行通信接口 7.1 串行传送的基本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
面向字符(character Oriented) 7.2 串行通信的数据格式 通信协议: 是指通信双方的一种约定,包括对数据格式、同步方式,传 送速度、传送步骤、检纠错方式等问题作出统一规定,也称通信控制规程。 同步协议 异步协议 分类 面向字符(character Oriented) 面向比特(Bit) 面向字节计数
①每个字符总是以起始位开始(“0”),以停止位(“1”)结束。 一、起止式异步通信数据格式 1.格式 ①每个字符总是以起始位开始(“0”),以停止位(“1”)结束。 ②字符之间没有时间间隔要求 ③字符后一位校验位(可没有) 1 空 闲 位 起始位 数据位 低 高 校验位 停 止 应用:早期电传机 2.特点:是一个字符一个字符传输
二、面向字符的同步通信格式 1.功能: 是一次传送若干个字符组成的数据块,并且规定了10个特殊字符作为这个数据块的开头与结束标志以及整个传输过程的控 制信息。 2.数据格式(一帧) SYN SOH 标题 STX 数据块 ETB/ETX 块校验 SYN:同步字符(Synchronous),表示一帧的开始; SOH:序始字符(Start of Header),表示标题的开始; 标题:包括原地址,目的地址,路由指示等信息; STX:文始字符(Start of Text),表示正文开始。 ETX:组终/文终字符(End of Text) ETB: 块传输结束(End of Transmission Block)
二、面向字符的同步通信格式 3.特点: ①一次传送是一个数据块,传输效率提高了; ②采用了一些传输控制字,增加了通信控制能力和校验能力; ③存在问题:由于数据字符与特定字符可能代码相同,发生误解,因此,在数据字符前插入转义字符DLE,以示区别。这种方式称为“字符填充”。
三、面向比特的同步通信数据格式 1.最有代表性的是: ①IBM的SDLC(Synchronous Data Link Control),同步数据链路控制规程。 ②ANSI的ADCCP(Advanced Data Communication Control Procedure) ③ISO的HDLC(High Level Data link Control)高级数据链路控制规程。 ④DEC公司DDCMP(Digital Data Communication Message protocol)。
2.协议的特点: (1)所传输的一帧(frame)数据(或称数据包)可以是任意二进制位。 (2)通过约定的位组合模式(标志字节)来标志帧的开始和结束。 注意: ①HDLC作为国际标准ISO3309; ②ADCCP作为美国国家标准; ③我国相应国家标准GB-7496,这几个协议均大同小异。
3.HDLC 格式: 8位 8位 8位 ≥0位 16位 8位 01111110 A C 1 FC 开始标志 地址场 控制场 信息场 校验场 结束标志 (1)标志场: SDLC/HDLC规定所有信息传输必须以一个标志字节开始,且以同一个字节结束,这个字节为01111110,二个标志字节之间构成一个完整的信息单位,称为一帧(frame) (2)地址场:(Address Field)A场用来规定与之通信的次站的地址。 A场的宽度:8位-SDLC规定;任意长度-HDLC规定 (3)控制场:(Control Field)用来规定若干命令 (8位-SDLC规定;16位-HDLC规定) (4)信息场:(Information Field)包含有要传送的数据,当上场为0时,则这一帧主要是控制命令。 (5)帧校验场(FC,Frame Check)
存在问题:标志字节以01111110开始,为了把它们和数据区别开,采用了“0”位插入和删除技术。 3.实际应用时的两个技术问题 (1)“0”位插入/删除技术 存在问题:标志字节以01111110开始,为了把它们和数据区别开,采用了“0”位插入和删除技术。 方法:遇到连续5个“1”就自动插入一个“0”。 如: 原始 插入后 删除后 01111110 011111010 01111110 11111111 111110111 11111111 (2) SDLC/HDLC异常结束 若在发送过程中出现错误,则用异常结束符(A60H)结束。 如: HDLC 规定:7个连续“1”为失效字符; SDLC 规定:8个连续“1”为失效字符;
7 串行通信接口 7.1 串行传送的基 本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
7.3 串行接口标准 一、EIA-RS-232接口标准 RS-232标准是美国EIA(电子工业联合会)与BELL等公司一起开发的,1969年公布的通信协议,适合的数传率:0~20Kbps。 1.电气特性 RS-232对电气特性,逻辑电平和各种信号线的功能都作了规定。 逻辑“1”=-3V~-15V ; 逻辑 “0”=+3V~+15V
常用二种:①DB-25型,25脚,只用9个信号(2个数据线,6个控制线,1个地址),如下图所示。 2.机械特性 1)连接器(Connector) 常用二种:①DB-25型,25脚,只用9个信号(2个数据线,6个控制线,1个地址),如下图所示。 ②DB-9型 9针,9针全用,如下图。 1 2 3 4 DB-25型连接器 5 6 7 8 9 11 13 25 22 20 18 14 发送电流(-) 发送电流(+) DCD GND DSR CTS RTS RXD TXD (-)接收电流 (+)接收电流 1 2 3 4 5 6 7 8 9 DSR RTS CTS RI DCD RXD TXD DTR GND DB-9型连接器
RS-232直接连接的最大物理距离15M,通信速率<20Kbps。 3.信号线的连接 1)近距离连接(<15m) 2.电缆长度 RS-232直接连接的最大物理距离15M,通信速率<20Kbps。 3.信号线的连接 1)近距离连接(<15m) 只用3条线(发送线TXD,接收线RXD,信号地线) TXD RXD A机 B机 7 2 3 4 5 6 20
2)需用2~9条信号线(在接口与MODEM之间) 计 算 机 接 口 调 制 解 器 DCD RXD TXD RTS CTS SG DSR 终 端 专用电话线 2 ┇ 采用MODEM时RS-232信号线的使用
(1)采用平衡发送器和差动接收器,由于是双线传输,大大提 高了抗共模干扰的能力。 因为是两条传输线的电位差决定逻辑电平 二、RS-422/RS-423接口标准 1.特点: (1)采用平衡发送器和差动接收器,由于是双线传输,大大提 高了抗共模干扰的能力。 因为是两条传输线的电位差决定逻辑电平 AA´-BD ´ <-2V,表示“1”; AA´-BD ´ >+2V,表示“0” (2)传输速率 10Mbps(<15m时) 90Kbps(<1200m时) 2.连接 MC3487 MC3486 B TTL RS-422A电平 平衡发送器 差动接收器 B´ A A´
①采用单端发送器和差动接收器,由于是差动接收器,提高了抗 共模干扰能力。 ②数传率:100Kbps/90m时 1Kbps/1200m时 2)RS-423 1.连接: TTL RS-423A电平 单端发送器 差动接收器 + - 2.特点: ①采用单端发送器和差动接收器,由于是差动接收器,提高了抗 共模干扰能力。 ②数传率:100Kbps/90m时 1Kbps/1200m时 ③逻辑“1”,4V~6V 逻辑“0”,-4V~-6V
三、RS-485接口标准 1.特点: (1)兼容RS-422A,扩展RS-422A的功能; (2)允许在电路中有多个发送器和允许一个发送器驱动多个接收器,多达32个收/发器; (3)搞干扰能力强,传送距离远,传输速率高。 数传率:100Kbps <1.2Km 不用MODEM 6.6Kbps <15Km 10Mbps <15m
7串行通信接口 7.1 串行传送的基 本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
7.4 串行通信接口任务 一、串口的基本任务 (1)进行串、并转换 (2)实现串行数据格式化 (3)可靠性检验 7.4 串行通信接口任务 一、串口的基本任务 (1)进行串、并转换 (2)实现串行数据格式化 (3)可靠性检验 (4)实施接口与DCE(孔头)之间联络控制 二、串口电路的组成 可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器、地址译码电路
7 串行通信接口 7.1 串行传送的基 本概念 7.2 串行通信的数据格式 7.3 串行接口标准 7.4 串行通信接口任务 7.5 8251A串行接口
7.5 8251A串行接口 一、8251A的内部逻辑与外部信号 1.结构框图 8251A是通用同步异步接收/发送器 USART (Universal/Synchronous Asynchronous Receiver and Transmitter)
组成:接收器、发送器、调制控制、读/写控制、数据总线缓冲器 功能:异步起止协议; 同步面向字符协议 组成:接收器、发送器、调制控制、读/写控制、数据总线缓冲器 数据总线 缓冲器 读/写 控制逻辑 调制控制 发送缓冲器 发送控制 接收缓冲器 接收控制 TXD TXRDY TXE TXC RXD RXRDY SYNDET/BD RXC DTR DSR RTS CTS RESET CLK C/D RD WR CS
C/D :地址信号线(command/data):高电平为工作方式寄存器、工作命令寄存器、状态寄存器、单/双同步字符寄存器;低电平为数据寄存器 #RD #WR 具体操作 1 CPU从8251输入数据 CPU向8251输出数据 CPU读取8251的状态 CPU向8251写入控制命令
1.发送器 ①TXRDY(Transmitter Ready):发送器准备好,高电平有效 ②TXE(Transmitter Empty):发送器空,状态线,高有效 ③TXD:发送数据线 ④TXC:发送器输入时钟 2.接收器 ①RXD:接收数据线 ②RXRDY:接收器准备好 ③Syndet/BD:同步/间断 ④RXC:接收器输入时钟 3.与调制器的接口接号 ①DTR:数据终端准备好 ②RTS:请求发送 ③DSR:数据装置准备好 ④CTS:清除传送
二、8251的控制字与状态字 8251A使用前必须进行初始化,以确定工作方式、传送速率、字符格式以及停止位长度等;
8251初始化编程流程图 系统复位 输入方式指令 输入第一个同步字符 输入第二个同步字符 输入命令指令 传送数据 结束 Y 异步方式? N 一个同步字符? 内部复位? 完成? Y N 8251初始化编程流程图
a.作用:对8251A工作方式进行选择,是异步方式还是同步方式 b.格式: 1.工作方式字 约定双方的通信方式,数据格式,传送速率 a.作用:对8251A工作方式进行选择,是异步方式还是同步方式 b.格式: S1 S0 EP PEN L1 L0 B1 B0 D7 D6 D5 D4 D3 D2 D1 D0 停止位 奇偶校验 字符长度 波特因子 (同步) (异步) ×0=内同步 00=不用 ×1=外同步 01=1位 0×=双同步 10=1.5位 1×=单同步 11=2位 ×0=无校验 01=奇校验 11=偶校验 00=5位 01=6位 10=7位 11=8位 00=同步 01=×1 异步 10=×16 - 11=×64 -
例1:异步通信中,若帧数据格式为:字符长度8位,1位起始位,2位停止位,奇校验,波特率因数是16,则工作字是: 11 01 11 10 B=DEH MOV DX,309H ;8251命令口 MOV AL,0DEH ;异步工作方式字 OUT DX,AL 例2:同步通信中,若帧数据格式为:字符长度8位,双同步 字符,内同步方式,奇校验,则工作字是: 00 01 11 00 B=1CH MOV DX,309H ;8251命令口 MOV AL,1CH ;同步工作方式字 OUT DX,AL ;紧接着可以写同步字符(309H)
a.作用:是确定8251A的实际操作,迫使8251A进行某种操作或工作状态,以便接收或发送数据。 2.工作命令字 a.作用:是确定8251A的实际操作,迫使8251A进行某种操作或工作状态,以便接收或发送数据。 b.格式 EH IR RTS ER SBRK RXE DIR TXEN D7 D6 D5 D4 D3 D2 D1 D0 进入 搜索 方式 内部 复位 发送 请求 错误 标志 发 中止 字符 接收 允许 数据 终端 准备好 D7=1 有效; SYN D6=1 使8251 返回 指令 D5=1 有效 D4=1 所有 的错 误标 志位 D3=1,发中止字符(空号) =0,正常操作 D2=1,允许接收 =0,禁止接收 D0=1,允许发送 =0,禁止发送 D1=1,已准备好
例3:使8251内部复位,并且允许接收,又允许发送,则 程序段为: MOV DX,309H ;8251命令口 MOV AL,40H ;置D6=1,使内部复位 OUT DX,AL 。。。。。。。。。。。。。;写工作方式字 MOV AL,15H ;置D0=1,D2=1,允许接收和发送
a.作用:8251A执行命令进行数据传送后的状态字存放在状态寄 存器中,CPU通过读出状态字进行分析和判断,以决定下一步的 操作。 3.状态字 a.作用:8251A执行命令进行数据传送后的状态字存放在状态寄 存器中,CPU通过读出状态字进行分析和判断,以决定下一步的 操作。 b.格式: DSR SYNDET FE OE PE TXE RXRDY TXRDY D7 D6 D5 D4 D3 D2 D1 D0 数传机 就绪 同步 检出 格 式 错 溢 出 奇 偶 发送器 空 接收 准备好 发送
FE(格式错/成帧出错):当FE=1时,表示在异步方式工作中,接收器不能检测到停止位。它由命令字中的ER=1复位。FE不禁止8251的工作。 DSR SYNDET FE OE PE TXE RXRDY TXRDY D7 D6 D5 D4 D3 D2 D1 D0 数传机 就绪 同步 检出 格 式 错 溢 出 奇 偶 发送器 空 接收 准备好 发送 FE(格式错/成帧出错):当FE=1时,表示在异步方式工作中,接收器不能检测到停止位。它由命令字中的ER=1复位。FE不禁止8251的工作。 OE(溢出错):当OE=1时,表示接收器已接收好一个字符,但CPU尚未读走前一个字符,因此造成字符丢失。OE不能禁止8251的操作,只是指出“丢失字符”而已,它由命令字中的ER位复位。 PE(奇偶错/校验出错):当发现校验错误时,PE置位。同样,PE不禁止8251的操作,并且PE由命令字中的ER复位。
例4:若查询8251A接收器是否准备好,则用下列程序段: MOV DX,309H ;状态口 L: IN AL,DX ;读状态字 AND AL,02H ;查D1=1?(RXRDY=1?) JZ L ;未准备好,则等待 MOV DX,308H ;数据口 例5:检查出错信息,则用下列程序段 IN AL,DX TEST AL,38H ;检查D5D4D3三位(FE,OE,PE) JNZ ERROR ;若其中有一位为1,则出错
(1)方式字:约定双方通信的方式,数据格式,传送速率等参数。 4.8251A的方式字和命令的使用 (1)方式字:约定双方通信的方式,数据格式,传送速率等参数。 命令字:规定是发送数据,还是接收数据。 状态字:何时发/收、取决于状态字。 (2)使用的顺序: 写3个0 →复位→方式字→命令字1 →命令字2……
在甲乙二台PC之间进行串行通信,甲发送乙接收,要求把甲机上开发应用程序(其长度为2DH)传送到乙机中去。 三、8251A应用举例 1.要求 在甲乙二台PC之间进行串行通信,甲发送乙接收,要求把甲机上开发应用程序(其长度为2DH)传送到乙机中去。 采用: ①起止式异步方式; ②字符长度为8位; ③2位停止位; ④波特率因子为64,无校验; ⑤波特率为4800; ⑥CPU与8251A之间用查询方式交换数据口地址分配是:309H为状态命令/状态口,308H为数据口。 2.分析 由于是近距离传输,可以不设MODEM,直接互连,同时,是采用查询I/O方式,故收/发程序中只需检查发/收准备好的状态是否置位,即可收发1个字节。
3.设计 1)硬件连接 DTE(Data Terminal Equipment) 根据以上分析把二台PC机都当作数据终端设备DTE,它们之间只需TXD,RXD和地线GND三根线连接就能通信。 主要电路: ①8251串行口 ②TTL/EIA变换器 ③波特率发生器 ④地址译码电路
2)软件编程 ①发送程序:包括初始化,状态查询,I/O 发送方:工作方式字=CFH; 工作命令字=37H 接收方:工作方式字=CFH;工作命令字=14H
CSEG SEGMENT ASSUME CS:CSEG,DS:CSEG TRA PROC FAR START: MOV DX,309H ;命令口 MOV AL,00H ;空操作,向命令口送任意数 MOV CX,3 L: OUT DX,AL NOP LOOP L ;经常送3次 MOV AL,40H ;内部复位(使D6=1) OUT DX,AL MOV AL,0CFH ;工作方式字(异步,2位停止位,字符长度为8位,无校验,波特率因子为64个/位) OUT DX,AL
AND AL,01H ;查状态位D0 (TXRDY)=1? JZ L1 ;发送未准备好,则等待 MOV DX,308H ;数据口 MOV AL,37H ;工作命令字(RTS、ER、RXE、 DTR、TXEN均置1) OUT DX,AL MOV CX,2DH ;传送字节数 MOV SI,300H ;发送区首址 L1:MOV DX,309H ;状态口 IN AL,DX AND AL,01H ;查状态位D0 (TXRDY)=1? JZ L1 ;发送未准备好,则等待 MOV DX,308H ;数据口 MOV AL,[SI] INC SI ;内存地址加1 DEC CX ;字节数减1 JNZ L1 ;未发送完,继续
MOV AX,4C00H ;已送完,回DOS INT 21H TRA ENDP CSEG ENDS END START ②接收程序 先判错误? 再判是否准备好? 再读数据
SCEG SEGMENT ASSUME CS:SCEG,DS:CSEG REC PROC FAR START: MOV DX,309H ;命令口 MOV AL,00H ;空操作,向命令口送任意数 MOV CX,3 L: OUT DX,AL NOP LOOP L ;经常送3次 MOV AL,50H ;内部复位(使工作命令字D6=1; D4=1 ) OUT DX,AL MOV AL,0CFH ;工作方式字
AND AL,02H ;查状态位D1 ( RXRDY=1? ) JZ L2 ;接收未准备好,则等待 MOV DX,308H ;数据口 MOV AL,14H ;工作命令字 OUT DX,AL MOV CX,2DH ;传送字节数 MOV DI,400H ;接收区首址 L2:MOV DX,309H ;状态口 IN AL,DX TEST AL,38H ;查错误 JNZ ERR ;转出错处理 AND AL,02H ;查状态位D1 ( RXRDY=1? ) JZ L2 ;接收未准备好,则等待 MOV DX,308H ;数据口 IN AL,DX MOV [DI],AL INC DI ;内存地址加1 LOOP L2
ERR:略 MOV AX,4C00H ;已送完,回DOS INT 21H REC ENDP CSEG ENDS END START
课堂讨论: 例1:设异步通信数据格式为7位数据、1位奇校验位和1位停止位,则字符“C”的数据格式为: 1 “C”的ASCII码为43H=100 0011B 1
课堂讨论: 例2:串行通信接口每秒钟传送120个字符,而每个字符由10位数据位组成,则传送的波特率是多少? fd=10*120=1200bit/s=1200bps=1200波特