微处理器与接口技术:第九章 串行通信接口_第1页
微处理器与接口技术:第九章 串行通信接口_第2页
微处理器与接口技术:第九章 串行通信接口_第3页
微处理器与接口技术:第九章 串行通信接口_第4页
微处理器与接口技术:第九章 串行通信接口_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术第九章串行通信接口第9章微型计算机常用接口技术微机系统中多采用大规模集成接口芯片作为接口电路利用这种芯片构成的接口电路,在不改变硬件的情况下,可以通过编程改变其功能、工作方式,使用起来更灵活第9章微型计算机常用接口技术主要内容并行通信接口串行通信接口定时器/计数器DMA控制器A/D和D/A转换器串行通信接口主要内容串行通信基本概念串行通信协议RS-232C接口标准串行通信接口的任务和组成通用同步异步接收发送器8251ASTR710芯片内嵌的UART模块串行通信的应用串行通信基本概念串行通信方式计算机与外部设备以及计算机与计算机之间的信息传输可以通过一对传输线,将数据一位一位顺序地传送传输线少、成本低、速度慢,适合远距离通信特点一对通信线,既要传数据,又要传控制信息需要通信协议与TTL电平不兼容通信双方约定波特率,控制通信速率串行通信基本概念数据传送方式根据数据传送方向的不同,有三种方式单工方式只使用一个信道,并且只允许数据按照一个固定的方向传送

半双工方式只使用一个信道,允许数据在两个方向传输,但是不能同时在两个方向上传送,只能交替进行全双工方式使用两个信道,允许数据在两个方向传输,并且可以同时进行串行通信基本概念数据传送方式串行通信基本概念信号的调制和解调数字信号直接传输要求传输线的频带很宽在基本信号不产生畸变和失真的条件下,传输的最大距离取决于传输速度和传输线的电气性能对于特定的传输线,传输距离和传输速度相互制约直接传输只适用于近距离、速度较低的通信串行通信基本概念信号的调制和解调调制解调远距离通信时,发送端需要使用调制器把数字信号转换为适合在在传输线(电话线)上传输的模拟信号——调制;接收端要使用解调器把检测到的模拟信号还原成数字信号——解调调制解调器(MODEM)——应用于远距离通信串行通信基本概念信号的调制和解调调制解调的基本原理调制的过程就是利用数字信号去控制载波信号的参数,解调的过程就是检测载波信号的参数的变化,将数字信号分离出来常用的调制方式调频(频移键控方式FSK)调幅(ASK)调相(PSK)串行通信基本概念串行通信的检错和纠错串行通信中,由于线路长和各种干扰,会导致信息传输过程中出现错误串行通信对传输的信息采用检错、纠错编码技术,以便发现和纠正传输过程中可能出现的差错检错是指如何发现传输中的错误,一般是在发送信息中加入冗余位,使接收端能识别接收到的信息是否正确纠错是指发现错误之后,如何消除错误串行通信基本概念串行通信的检错和纠错基本通信协议检错方式奇偶检验方阵码检错纠错方式反馈重发方式高级通信协议检错方式:循环冗余校验(CRC)纠错方式:自动纠错方式串行通信协议串行通信基本方式“同步”:通信的双方要协调发送、接收之间的动作以确保发送、接收准确的信息通信协议:为了实现同步,通信的双方必须就同步方式、信息格式、传输控制步骤、差错检验方式等问题一组共同遵守的规定,这种规定称为通信协议按同步方式,串行通信有两种基本方式异步方式——异步通信协议同步方式——同步通信协议串行通信协议异步方式通信ASYNC起止式异步通信以字符为单位进行传输的,两个字符之间传输的时间间隔是不固定的,但在每一个字符内部的每一位是以固定的时间间隔来传送的收、发双方同步方法:在字符格式中设置起始位和停止位接收端利用极性相反的起始位和停止位检测新字符的开始串行通信协议异步方式通信ASYNC异步通信的数据格式注意:数据位、停止位的位数,校验位的设置在不同的传输系统中可根据需要进行不同的设置但在同一传输系统中,收放、发方的设置必须一致串行通信协议异步方式通信ASYNC异步通信的数据格式每个字符作一帧信息每帧信息由4部分构成1位起始位:规定为逻辑“0”,表示传输字符的开始数据位(5~8):构成一个字符,双方约定位数奇偶校验位(0或1):双方约定是否需要,若需要进一步确定采用何种校验方式(奇或偶校验)停止位(1、1.5、2):规定为逻辑“1”,双方约定位数每帧信息(字符)之间发送空闲位,规定为逻辑“1”串行通信协议异步方式通信ASYNC数据传输速率收、发双方还需要约定数据传输速率波特率:单位时间内传送二进制数据的位数(b/s),用来表示传输速率常用波特率位周期:波特率的倒数收、发双方的发送时钟、接收时钟无需使用同一时钟源选用相同频率的时钟信号,允许略有偏差每个字符的起始位重新校准,偏差不积累保证一个字符内的采样不出现错位现象串行通信协议异步方式通信ASYNC数据传输速率接收端时钟采用高于波特率的更高频率的时钟一般选用波特率的16、32或64倍的时钟,这个倍数又称为波特率因子举例:当波特率因子为16时,接收端检测起始位以及接收数据的过程(书P259)接收时钟高于波特率的作用提高采样的分辨率和抗干扰能力,更准确地检测到起始位每一位的采样在码元的中心进行,可最大限度避免收、发时钟偏差的影响串行通信协议异步方式通信ASYNC异步方式通信的效率根据采用的数据格式,每发送一个字符都要有附加的信息位(起始位、停止位、校验位),它们不是有效信息本身(额外开销),会降低通信效率异步方式通信适用于传输数据量较少传输速度要求不高举例:书P235,根据约定的数据格式、波特率等计算收、发时钟的频率、传输效率、每秒传送的字符数,画出传送字符E的波形图串行通信协议同步方式通信以数据块为单位进行传送。每个数据块为一帧,每帧包含若干个字符。不仅字符内部的位传送是同步的,而且字符和字符之间传送也必须是同步的因为每帧信息内部的每一位都要求同步,所以收、发两端必须使用同一时钟源作为时钟信号串行通信协议同步方式通信收、发双方的同步方法所传送的字符没有起始位和停止位,不是用起始位表示字符的开始同步方法可分为:外同步:采用专用控制线来实现收、发的同步操作内同步:每帧开始有同步字符或同步标志码单同步双同步同步方式通信时,每帧信息之间不允许有空隙,当线路空闲时,须发送同步字符(标志)串行通信协议同步方式通信同步通信协议面向字符的同步通信协议被传送的数据块是由字符组成的,并规定了若干个字符作为传输控制专用字符代表协议:IBM的BSC缺点:依赖于特定的字符集,不利于兼容当控制专用字符作为数据字符出现在数据块部分时,处理较复杂

串行通信协议同步方式通信同步通信协议面向比特的同步通信协议一帧数据可以是任意位长的,不必是字符的整数倍,用特定的位组合模式来表示帧的开始、结束及定义控制信息代表协议:IBM的SDLC、ISO的HDLC“0”比特插入和删除技术保证除了标志码外其他的信息中出现这样的位组合时,不会被误认为标志码串行通信协议同步方式通信同步方式通信的效率同步方式采用同步字符(标志)进行一帧信息的同步。在连续发送字符时,添加的附加信息远远少于异步通信,有较高的通信效率同步方式通信中要求收、发时钟完全一致,和异步方式通信比较,它的技术复杂、硬件开销大同步方式通信适用于快速传送大量数据RS-232C接口标准RS-232C接口标准串行接口标准进行串行接口设计时,面向的是某种串行接口标准广泛采用RS-232C接口标准RS-232C标准EIA与BELL公司等一起开发,1969年公布的通信协议为连接DTE和DCE,实现远程通信而制定的计算机(DTE)和MODEM之间的连接计算机(DTE)与计算机(DTE)的近距离串行通信RS-232C接口标准RS-232C接口标准RS-232C标准使用的连接器25针D型连接器9针D型连接器(普遍使用)RS-232C接口标准RS-232C接口标准RS-232C信号线定义TXD:发送数据,输出RXD:接收数据,输入SG:信号地RTS:请求发送,输出CTS:允许发送,输入DSR:DCE就绪,输入DTR:DTE就绪,输出RI:振铃指示,输入DCD:载波检测,输入RS-232C接口标准RS-232C接口标准RS-232C信号线的连接和使用最大直接传输距离传输速率低于20Kb/s时,为15m远距离通信:需要加MODEMRS-232C接口标准RS-232C接口标准RS-232C信号线的连接和使用近距离通信:不需要加MODEM,直接连接RS-232C接口标准RS-232C接口标准RS-232C标准对逻辑电平(EIA电平)的定义在TXD和RXD数据上逻辑1(MARK)=-3~-15V逻辑0(SPACE)=+3~+15V在RTS、CTS、DTR、DSR等控制线上信号有效(ON状态)=+3~+15V信号无效(OFF状态)=-3~-15VEIA电平与TTL电平的转换(电平、逻辑关系)MC1488完成TTL电平到EIA电平的转换MC1489完成EIA电平到TTL电平的转换RS-232C接口标准RS-232C接口标准其他通用串行接口标准为克服RS-232C的缺点传输距离短、速度慢、易受地线干扰RS-423A单端发送、双端接收RS-422A双端发送、双端接收传输距离15m时,传输速度可达10Mb/s传输速度为90Kb/s时,最大传输距离达1200mRS-485A允许在电路中有多个发送器,多发送器标准串行通信接口的任务和组成串行通信接口的基本任务实现数据格式化进行串<->并转换控制数据传输速率进行错误检测提供符合EIA-RS-232C接口标准的信号线进行TTL电平与EIA电平转换串行通信接口的任务和组成串行通信接口的组成波特率发生器可编程串行接口芯片UART:INS8250USART:Intel8251A电平变换芯片地址译码电路串行通信接口的任务和组成PC机COM1组成示意图:通用同步异步接收发送器8251A基本性能通用同步异步接收发送器支持全双工数据传送方式可工作在同步、异步方式下,字符数据5~8个同步方式的传输速率0~64Kb/s;异步方式的传输速率0~19.2Kb/s异步方式时,可自动产生1位起始位、1~2位停止位具有奇偶错、溢出错、帧错误的检测能力同步方式时,可自动检测、插入同步字符通用同步异步接收发送器8251A8251A的引脚面向CPU的D0~D7

、、、RESET状态信号TXRDYRXRDYTXESYNDET通用同步异步接收发送器8251A8251A的引脚时钟信号CLK

面向调制解调器的接口信号TxDRxD

、、、通用同步异步接收发送器8251A8251A的内部结构通用同步异步接收发送器8251A8251A的内部结构数据总线缓冲器与系统总线相连,传送来自CPU的各种控制命令和发送的数据,以及8251A的状态字和接收到的数据读/写控制逻辑接收来自CPU的各种控制信号,并进行译码,从而确定操作的方式,实现8251A指定寄存器的读写操作调制/解调控制电路用来提供调制解调器需要的控制信号。但是需要注意,由于8251A采用的是TTL电平,所以在与调制解调器连接时,中间需使用TTL与EIA电平转换电路通用同步异步接收发送器8251A8251A的内部结构发送器在发送控制电路的控制下,把发送缓冲器中待发送的并行数据转换成所要求的帧格式,然后在的作用下,由TXD引脚一位一位地串行发送出去。发送完一帧数据后,TXRDY=1,通知CPU发送下一个数据接收器在作用下,接收RXD引脚上的帧格式串行数据,并转换成并行数据,进行校验。若发现错误在状态寄存器中保存标志,并行的数据放入接收缓冲器,发出RXRDY信号,通知CPU读取数据通用同步异步接收发送器8251A8251A的编程方式命令字指定8251A为异步还是同步方式,并按通信方式约定帧数据格式、规定了波特率因子写入控制口

通用同步异步接收发送器8251A8251A的编程工作命令字指定8251A进行某种操作或出于某种状态发送、接收、内部复位、检测同步字符写入控制口

通用同步异步接收发送器8251A8251A的编程状态字用于报告何时发送/接收数据用于报告接收数据有无错误从状态口读入通用同步异步接收发送器8251A8251A的编程状态字用于报告何时发送/接收数据用于报告接收数据有无错误奇偶错PE:检测出奇偶校验错,则PE置“1”溢出错OE:当前一个字符尚未被CPU取走,后一个字符又到来,则OE置“1”帧出错FE:仅用于异步方式,当一个字符后面没有收到规定的停止位,则FE置“1”通用同步异步接收发送器8251A8251A的编程初始化编程方式控制字和命令控制字送到8251A的同一个控制端口,所以在写入控制字时要按一定的顺序方式控制字必须紧跟在复位之后设置方式控制字后,随后是命令控制字如果是同步方式,在设置方式控制后,还要按照方式控制字的设置先送出同步字符如果命令控制字中IR=“0”,则进入数据传输阶段;如果IR=“1”,则8251A又将恢复到初始化状态通用同步异步接收发送器8251A8251A的编程初始化编程通用同步异步接收发送器8251A8251A的应用举例例9-4 用8251A作为串行通信接口,实现两台微机之间的串行通信。硬件连接译码电路的设计波特率发生器的设计根据约定的波特率、选定的波特率因子计算收/发时钟的频率选用8253提供所需收/法时钟信号,根据CLK输入时钟计算出计数初值EIA和TTL电平转换电路通用同步异步接收发送器8251A8251A的应用举例例9-4 用8251A作为串行通信接口,实现两台微机之间的串行通信。软件编程8253初始化程序段8251A初始化程序段发送/接收数据程序段(查询式)STR710芯片内嵌的UART模块STR710F的UART单元特性:全双工的异步传输用于接受和发送的两个内部的16字的FIFO支持8或9位数据位 奇偶校验和停止位

16bit的波特率发生器STR710芯片内嵌的UART模块八位数据格式:设置UART控制寄存器里Mode=001或011表示8位数据或(7位数据+1位校验)设置UART控制寄存器里ParityOdd选择奇校验或偶校验STR710芯片内嵌的UART模块九位数据格式:设置UART控制寄存器里Mode=100或111表示9位数据或(8位数据+1位校验)设置UART控制寄存器里ParityOdd选择奇校验或偶校验STR710芯片内嵌的UART模块UARTn波特率发生器寄存器UARTBaudRateRegister(UARTn_BR):Baudrate=PCLK1/(16*<UART_BaudRate>)STR710芯片内嵌的UART模块UARTn发送缓冲寄存器UARTTxBufferRegister(UARTn_TxBUFR)

:STR710芯片内嵌的UART模块UARTn接收缓冲寄存器UARTRxBufferRegister(UARTn_RxBUFR)

:Bit9=RX[9] 帧错误,当接收到的RX[8-0]的数据位错误时,置此位为1STR710芯片内嵌的UART模块UARTn控制寄存器UARTControlRegister(UARTn_CR):STR710芯片内嵌的UART模块UARTn中断允许寄存器UARTIntEnableRegister(UARTn_IER):STR710芯片内嵌的UART模块UARTn状态寄存器UARTStatusRegister(UARTn_SR)STR710芯片内嵌的UART模块UARTn发送重置寄存器 UARTTxResetRegister(UARTn_TxRSTR)

UARTn接收重置寄存器UARTRxResetRegister(UARTn_RxRSTR)

STR710芯片内嵌的UART模块发送过程:发送数据缓冲器TxFIFO是一个16个9比特的向量组只要发送缓冲区有数据,发送移位寄存器就工作缓冲器(FIFO)可以被禁止(设置控制寄存器的FIFOEnable位=0),此时缓冲器只能放一个字符。.当改变FIFOEnable位后,必须清空数据缓冲器(向UARTn_TXRST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论