第7章微型机接口技术可编程定时/计数器√可编程并行接口√串行接口与串行通信DMA控制器接口模拟量输入/输出接口南京航空航天大学电子信息工程学院第7章微型机接口技术7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院22RD目的TD源01001011(4BH?)RDTDGNDGND例电平传输基本三线(T,R,GND)--握手如何保证正确收发串行(非本地,远程,中低速):(例COM1/2,UTP/BNC网卡)(数据)通信计算机与计算机、外设间交换信息的过程并行接口/通信(多本地1米,高速)位数=信号线数(例LPT并口:4位SPP,8位EPP)----回顾串行I/O:逐位串行方式(约定先低后高)接收0D2H移位发送t两种基本串行通信方式(协议):异步通信同步通信7.4.1串行通信的基本概念—(1)线路工作全双工通信分别用独立的接口和传输线来发送和接收信号,使发送和接收可同时进行半双工通信数据传输只能分时交替进行。(换向)单工通信它只允许单方向传送数据7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院第7章微型机接口技术图7-34异步通信格式7.4.1串行通信的基本概念—(2)同步/异步传输异步数据通信(AsynchronousDataCommunication):通信中收发双方没有共同的时间基准,往往以字符为单位一位一位进行传输、接收。发送和接收之间还需约定:波特率(Baudrate)传送数据位的速度,单位:位/秒(b/s),异步通信波特率:50~9600(19200)波特字符的格式7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院第7章微型机接口技术图7-35同步通信的一类格式7.4.1串行通信的基本概念—(2)同步/异步传输同步数据通信(SynchronousDataCommunication):通信中收发双方用精确的同步时钟来控制发送端和接收端之间的同步。在数据块开始处设置1~2个同步字符来进行判别,在串行数据线上,始终保持连续的字符,即使没有字符时,也要发送专用的“空闲”字符或同步字符。速度:几十到几百千波特乃至千兆波特HDLC,CSMA/CD7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院第7章微型机接口技术7.4.1串行通信的基本概念—(3)数据编码长线收发:传输抗干扰数据信号传输转换,适于在某种介质上高效传输的信号这一过程称为信号编码7.4串行接口与串行通信(SIO)图7-36单极性相位编码波形南京航空航天大学电子信息工程学院信号编码类型:单/双极性不归零(NonReturntoZero,NRZ)码、单/双极性归零码、差分编码、单极性相位编码(曼彻斯特码)和交替反转码等。归零编码中,正电平代表逻辑1,负电平代表逻辑0,每传输完一位数据,信号返回到0电平不归零编码则省去归零,对应的NRZI编码(Non-Return-to-ZeroInverted)用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑。第7章微型机接口技术7.4.1串行通信的基本概念—(4)信号调制/解调长距离通信,保证信号品质-传送的可靠性调制/解调器调制器(Modulator)源发送端:把数字信号转换为模拟信号解调器(Demodulator)目的接收端:检测模拟信号,再把它转换成数字信号.7.4串行接口与串行通信(SIO)图7-37信号的调制与解调实例示意图南京航空航天大学电子信息工程学院调制/解调的实现方法很多,如移频键控法(FSK)、幅移键控法(ASK)、相移键控法(PSK)、相移幅度调制(PAM)等。实例:电话传输线调制/解调器(FSK--1和0调制成不同频率)图7-38RS-232C信号7.4.1串行通信的基本概念—(5)总线接口7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院EIARS232C:DTE与DCE接口标准数据终端设备DTE(DataTerminalEquipment)数据通信设备DCE(DataCommunicationEquipment)第7章微型机接口技术7.4.1串行通信的基本概念—(5)总线接口7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院EIARS232C接口标准联络控制(握手)线:请求发送/RTS(RequestToSend)准许发送/CTS(ClearToSend)数据终端准备就绪/DTR(DataTerminalReady)数据装置准备就绪/DSR(DataSetReady)振铃指示器RI载波检测CD图7-39TTL电平与RS-232C电平转换(+5V供电)信号电平标准:负逻辑电平:1电平:-3V~-25V0电平:+3V~+25V第7章微型机接口技术7.4.1串行通信的基本概念—(5)总线接口7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院EIARS422/485接口标准RS422:平衡驱动/差分接收,抗共模干扰信号能力强;4线传输,P-P传输速率10Mb/s(传输距离为15m时);最大传输距离1200m(传输速率为90kb/s时)RS485:半双工,P-mP(点-多点)图7-40RS-485与RS-422A的连接形式信号电平标准:发送:+2+6V接收电位差:+200mV:1电平:-200mV:0电平:7.4.1串行通信的基本概念—(6)UART原理7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院UART(UniversalAsynchronousReceiver/Transmitter)通用异步接收器/发送器第7章微型机接口技术7.4.1串行通信的基本概念—(6)UART原理7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院UART:检测电路监视接收RxD线,确定起始位后,开始字符接收UART通过外接时钟来和接收数据同步图7-4216倍频时钟对字符再同步三种错误:Parity,Frame,OverRunError常用可编程通信接口芯片:I8251A;INS8250/NSCNS16450第7章微型机接口技术7.4.2可编程串行通信接口8251A—(1)性能与原理7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院可编程:工作在异步或同步方式。28脚DIP封装,支持全双工、双缓冲收发。同步方式:波特率最高64kb/s,传输格式5~8位数据位,内部自动检测同步字符,允许有奇/偶校验位。异步方式下,功能实用简单,波特率最高19.2kb/s,传输格式:1位起始位、1位奇/偶校验,5~8位数据位,1、1.5、2位停止位。第7章微型机接口技术7.4.2可编程串行通信接口8251A—(1)性能与原理7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院图7-44Intel8251A芯片内部结构图片内译码:C/D=0数据;=1控制/状态第7章微型机接口技术7.4.2可编程串行通信接口8251A—(2)控制字与工作方式7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院初始化:方式选择控制字操作:命令/状态控制字图7-45Intel8251A编程结构第7章微型机接口技术7.4.2可编程串行通信接口8251A—(2)控制字与工作方式7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院异步方式初始化(例):01111111B=7FH;将8251A定义为异步方式,8位数据,1位停止位,偶校验图7-468251A的方式选择控制字位结构第7章微型机接口技术7.4.2可编程串行通信接口8251A—(2)控制字与工作方式7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院TxEN:允许发送位;RxE:允许接收位。(=1有效)SBRK:发送终止字符位。SBRK=1,通过TxD线一直发送0ER:清除错误标志位。ER=1,PE、OE、FE标志同时清0。IR:内部复位信号。IR=1,回到接收方式选择控制字状态。图7-478251A的操作命令控制字位结构第7章微型机接口技术7.4.2可编程串行通信接口8251A—(2)控制字与工作方式7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院TxRDY:TxRDY=1只反映当前发送数据缓冲器已空RxRDY、TxEMPTY、SYNDET/BRKDET:同名引线端的状态完全相同,可供CPU查询。DSR=1:外设或Modem已准备好发送,输入引线端有效。图7-488251A的状态字位结构第7章微型机接口技术7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院查询方式、异步传送、半双工通信:按接收器和发送器初始化。发送器CPU查询到TxRDY有效,则向8251A输出1字符数据;接收端CPU查询到RxRDY有效,则从8251A并行输入1字符数据图7-50电路图第7章微型机接口技术7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院SNDINI:MOVDX,CTRL8251;发送端初始化程序MOVAL,7FH;将8251A定义为异步方式,OUTDX,AL;8位数据,1位停止位,偶校验,MOVAL,11H;取波特率系数为64,允许发送。OUTDX,ALMOVSI,OFFSETSBUF;发送数据块首址,置指针MOVCX,COUNT;发送数据块字节数/计数值发送端初始化程序:;CTRL8251为8251A控制/状态端口,DATA8251为数据端口;发送数据块首地址SBUF;发送数据块字节数/计数值COUNT7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院NEXT:MOVDX,CTRL8251;查询TxRDY有效否?INAL,DXANDAL,01HJZNEXTMOVDX,DATA8251MOVAL,[SI];向8251A输出1字节数据。OUTDX,ALINCSILOOPNEXT…发送端发送控制程序:;CTRL8251为8251A控制/状态端口,DATA8251为数据端口;发送数据块首地址SBUF,发送数据块字节数/计数值COUNT第7章微型机接口技术7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院RCVINI:MOVDX,CTRL8251;接收端初始化程序MOVAL,7FHOUTDX,AL;初始化8251A。MOVAL,04H;置接收数据块指针和计数值OUTDX,ALMOVDI,OFFSETRBUFMOVCX,COUNT接收端初始化程序:;CTRL8251为8251A控制/状态端口,DATA8251为数据端口;接收数据块首地址RBUF;接收数据块字节数/计数值COUNT第7章微型机接口技术7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院RCVNEXT:MOVDX,CTRL8251INAL,DXTESTAL,02H;查询RxRDY有效否?JZRCVNEXTMOVDX,DATA8251INAL,DX;输入1字节到接收数据块MOV[DI],ALINCDILOOPRCVNEXT……接收端接收控制程序:;CTRL8251为8251A控制/状态端口,DATA8251为数据端口;接收数据块首地址RBUF,发送数据块字节数/计数值COUNTTESTAL,08H;JZRCVERR;奇偶校验错第7章微型机接口技术7.4.2可编程串行通信接口8251A—(3)接口应用举例7.4串行接口与串行通信(SIO)南京航空航天大学电子信息工程学院TPμP-40S微型打印机:接口与RS-232C标准兼容,串行通信使用状态标志握手;与PC主机的8251A接口之间单工传输数据格式:8位数据、无校验。图7-