微机原理与接口技术PPT课件-第12章 串行通信接口.ppt_第1页
微机原理与接口技术PPT课件-第12章 串行通信接口.ppt_第2页
微机原理与接口技术PPT课件-第12章 串行通信接口.ppt_第3页
微机原理与接口技术PPT课件-第12章 串行通信接口.ppt_第4页
微机原理与接口技术PPT课件-第12章 串行通信接口.ppt_第5页
免费预览已结束,剩余62页可下载查看

下载本文档

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

文档简介

第第 12 12 章章 第12章 串行通信接口 教学重点 n 异步通信协议和rs232c接口 n 8250的内部结构和编程 n 异步通信程序 12.1 串行通信基础 n串行通信:将数据分解成二进制位用一 条信号线,一位一位顺序传送的方式 n串行通信的优势:用于通信的线路少, 因而在远距离通信时可以极大地降低成 本 n串行通信适合于远距离数据传送,也常 用于速度要求不高的近距离数据传送 npc系列机上有两个串行异步通信接口、 键盘、鼠标器与主机间采用串行数据传 送 1. 异步通信 n串行通信时的数据、控制和状态信息都 使用同一根信号线传送 n收发双方必须遵守共同的通信协议(通 信规程),才能解决传送速率、信息格 式、位同步、字符同步、数据校验等问 题 n串行异步通信以字符为单位进行传输, 其通信协议是起止式异步通信协议 起止式异步通信协议 n起始位每个字符开始传送的标志, 起始位采用逻辑0电平 起始位校验位停止位空闲位数据位 低位 高位 字符 0/1 0/10/10/110111 数据位数据位紧跟着起始位传送。 由58个二进制位组成,低位先传送 校验位用于校验是否传送正确;可 选择奇检验、偶校验或不传送校验位 停止位表示该字符传送结束。停止 位采用逻辑1电平,可选择1、1.5或2位 空闲位传送字符之间的逻辑1电平, 表示没有进行传送 数据传输速率 n数据传输速率也称比特率(bit rate) n每秒传输的二进制位数bps n字符中每个二进制位持续的时间长度都一样,为数 据传输速率的倒数 n当进行二进制数码传输,且每位时间长度相等 时,比特率还等于波特率(baud rate) n过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高 2. 同步通信 n以一个数据块(帧)为传输单位,每个数据块附 加1个或2个同步字符,最后以校验字符结束 n同步通信的数据传输效率和传输速率较高,但硬 件电路比较复杂 n串行同步通信主要应用在网络当中 n最常使用高级数据链路控制协议hdlc 同步字符数据数据数据校验字符 3. 传输制式 全双 工 站a站b 站a站b 站a站b 半双工 单工 示例 4. 调制解调器 n调制(modulating) n把数字信号转换为电话线路传送的模拟信号 n解调(demodulating) n将电话线路的模拟信号转换为数字信号 n调制解调器modem n具有调制和解调功能的器件合制在一个装置 示例 12.2 串行接口标准rs-232c n美国电子工业协会eia制定的通用标准串行接 口 n1962年公布,1969年修订 n1987年1月正式改名为eia-232d n设计目的是用于连接调制解调器 n现已成为数据终端设备dte(例如计算机)与 数据通信设备dce(例如调制解调器)的标准 接口 n可实现远距离通信,也可近距离连接两台微机 n属于网络层次结构中的最低层:物理层 12.2.1 rs-232c的引脚定义 n232c接口标准使用一个25针连接器 n绝大多数设备只使用其中9个信号,所以 就有了9针连接器 n232c包括两个信道:主信道和次信道 n次信道为辅助串行通道提供数据控制和 通道,但其传输速率比主信道要低得多 ,其他跟主信道相同,通常较少使用 rs-232c的引脚(1) ntxd:发送数据 n串行数据的发送端 nrxd:接收数据 n串行数据的接收端 rs-232c的引脚(2) nrts:请求发送 n当数据终端设备准备好送出数据时,就发出有效的 rts信号,用于通知数据通信设备准备接收数据 ncts:清除发送(允许发送) n当数据通信设备已准备好接收数据终端设备的传送 数据时,发出cts有效信号来响应rts信号 nrts和cts是数据终端设备与数据通信设备间 一对用于数据发送的联络信号 rs-232c的引脚(3) ndtr:数据终端准备好 n通常当数据终端设备一加电,该信号就有效,表明 数据终端设备准备就绪 ndsr:数据装置准备好 n通常表示数据通信设备(即数据装置)已接通电源 连到通信线路上,并处在数据传输方式 ndtr和dsr也可用做数据终端设备与数据通信 设备间的联络信号,例如应答数据接收 rs-232c的引脚(4) ngnd:信号地 n为所有的信号提供一个公共的参考电平 ncd:载波检测(dcd) n当本地调制解调器接收到来自对方的载波信 号时,该引脚向数据终端设备提供有效信号 nri:振铃指示 n当调制解调器接收到对方的拨号信号期间, 该引脚信号作为电话铃响的指示、保持有效 rs-232c的引脚(5) n保护地(机壳地) n起屏蔽保护作用的接地端,一般应参照设备 的使用规定,连接到设备的外壳或大地 ntxc:发送器时钟 n控制数据终端发送串行数据的时钟信号 nrxc:接收器时钟 n控制数据终端接收串行数据的时钟信号 12.2.2 rs-232c的连接 n微机利用232c接口连接调制解调器,用 于实现通过电话线路的远距离通信 n微机利用232c接口直接连接进行短距离 通信。这种连接不使用调制解调器,所 以被称为零调制解调器(null modem) 连接 连接调制解调器 电话线 modem微机 2 3 4 5 6 7 8 20 22 2 3 4 5 6 7 8 20 22 modem 2 3 4 5 6 7 8 20 22 数据装置准备好dsr 数据终端准备好dtr 发送数据txd 接收数据rxd 请求发送rts 允许发送cts 信号地gnd 载波检测cd 振铃指示ri 微机 2 3 4 5 6 7 8 20 22 不使用联络信号的3线相连方式 微机 txd rxd gnd 微机 为了交换信息,txd和rxd应当交叉连接 程序中不必使rts和dtr有效 也不应检测cts和dsr是否有效 “伪”使用联络信号的3线相连方式 rts和cts各自互接,dtr和dsr各自互接 表明请求传送总是允许、数据装置总准备好 微机 dsr dtr txd rxd rts cts gnd 微机 使用联络信号的多线相连方式 通信比较可靠 所用连线较多,不如前者经济 微机 dsr dtr txd rxd rts cts gnd 微机 12.2.3 rs-232c的电气特性 n232c接口采用eia电平 n高电平为3v15v n低电平为3v15v n实际常用12v或15v n标准ttl电平 n高电平:2.4v5v n低电平:0v0.4v 相互转换 12.3 通用异步接收发送器8250 n串行传输,需要并行到串行和串行到并 行的转换,并按照传输协议发送和接收 每个字符(或数据块) n这些工作可由软件实现,也可用硬件实 现 n通用异步接收发送器uart是串行异步通 信的接口电路芯片 nibm pc/xt机的uart芯片是ins 8250 n后来使用ns16550 12.3.1 8250的内部结构 n8250实现了起止式串行异步通信协议, 支持全双工通信 n通信字符可选择数据位为58位 n停止位1、1.5或2位 n可进行奇偶校验 n具有奇偶、帧和溢出错误检测电路 n8250支持的数据传输速率为509600bps 1. 串行数据的发送 并行数据 加入起始位、 校验位、停止位 串行数据 cpu 发送保持寄存器 发送移位寄存器 同步控制 8250 sout 0/1 0/10/10/1 双缓冲寄存器结构 保证数据的连续发送 2. 起始位的检测 起始检测确定已检测到起始位采样数据 起 始 位 时钟 (rclk) 数据线 (sin) t 16 t 16 t8 t 数据接收时钟频率是数据传输频率的16倍 正确识别起始位,防止因干扰引起的误识 别 3. 串行数据的接收 并行数据 检测接收错误 删除起始位、 校验位、停止位 串行数据 cpu 接收缓冲寄存器 接收移位寄存器 同步控制 8250 sin 0/1 0/10/10/1 双缓冲寄存器结构 保证数据的连续接收 4. 接收错误的处理 n奇偶错误pe(parity error) n若接收到的字符的“1”的个数不符合奇偶校验要求 n帧错误fe(frame error) n若接收到的字符格式不符合规定(如缺少停止位) n溢出错误oe(overrun error) n若接收移位寄存器接收到一个数据,并送至输入缓 冲器时,cpu还未取走前一个数据,就会出现数据 溢出 n若接收缓冲器的级数多,则溢出错误的几率就少 12.3.2 8250的引脚 n分成连接cpu的部分和连接外设的部分 n注意:8250不是intel公司的产品,所 以该芯片引脚名称与前面学习的8253、 8255等intel产品有所不同,但是引脚 功能却是类似的 1. 处理器接口引脚(1) n数据线d0d7:在cpu与8250之间交换信息 n地址线a0a2:寻址8250内部寄存器 n片选线:8250设计了3个片选输入信号cs0、 cs1、cs2*和一个片选输出信号csout。3个 片选输入都有效时,才选中8250芯片,同时 csout输出高电平有效。 n地址选通信号ads*:当该信号低有效时,锁 存上述地址线和片选线的输入状态,保证读写 期间的地址稳定 1. 处理器接口引脚(2) n读控制线 n数据输入选通distr(高有效)和distr*(低有效 )有一个信号有效,cpu从8250内部寄存器读出数 据 n相当于i/o读信号 n写控制线 n数据输出选通dostr(高有效)和dostr*(低有 效)有一个有效,cpu就将数据写入8250内部寄存 器 n相当于i/o写信号 n8250读写控制信号有两对,每对信号作用完全 相同,只不过有效电平不同而己 1. 处理器接口引脚(3) n驱动器禁止信号ddis:cpu从8250读取 数据时,ddis引脚输出低电平,用来禁 止外部收发器对系统总线的驱动;其他 时间,ddis为高电平 n主复位线mr:硬件复位信号reset n中断请求线intrpt:8250有4级共10个 中断源,当任一个未被屏蔽的中断源有 请求时,intrpt输出高电平向cpu请求 中断 2. 时钟信号 n时钟输入引脚xtal1:8250的基准工作时钟 n时钟输出引脚xtal2:基准时钟信号的输出端 n波特率输出引脚baudout*:基准时钟经 8250内部波特率发生器分频后产生发送时钟 n接收时钟引脚rclk:接收外部提供的接收时 钟信号;若采用发送时钟作为接收时钟,则只 要将rclk引脚和baudout*引脚直接相连 3. 串行异步接口引脚 8250 数据装置准备好dsr* 数据终端准备好dtr* 发送数据sout 接收数据sin 请求发送rts* 允许发送cts* 信号地gnd 载波检测rlsd* 振铃指示ri* 4. 输出线 nout1*和out2*: n两个一般用途的输出信号 n由调制解调器控制寄存器的d2和d3使其输 出低电平有效信号 n复位使其恢复为高 12.3.3 8250的寄存器 n8250内部有9种可访问的寄存器,除数 寄存器是16位的,占用两个连续的8位端 口 n内部寄存器用引脚a0a2来寻址;同时 还要利用通信线路控制寄存器的最高位 ,即除数寄存器访问位dlab,来区别共 用两个端口地址的不同寄存器(表12.2) 1. 接收缓冲寄存器rbr 存放串行接收后转换成并行的数 据 cpu 接收缓冲寄存器 接收移位寄存器 同步控制 8250 sin 2. 发送保持寄存器thr 包含将要串行发送的并行数据 cpu 发送保持寄存器 发送移位寄存器 同步控制 8250 sout 3. 除数寄存器 除数寄存器保存设定的分频系数 分频系数基准时钟频率(16比特率) 起 始 位 时钟 (rclk) 数据线 (sin) t 16 t 16 t8 t 4. 通信线路控制寄存器lcr dlabd6 d5 d4 d3d2d1 d0 寄存器选择 0 正常值 1 除数寄存器 中止字符 0 无作用 1 发送中止字符 校验位设置 0 无校验位 001 设置奇校验 011 设置偶校验 101 校验位为1 111 校验位为0 停止位个数 0 1位 1 1.5位(数据位为5位时) 1 2位(数据位为68位时) 数据位个数 00 5位 01 6位 10 7位 11 8位 指定串行异步通信的字符格式 5. 通信线路状态寄存器lsr 0d6 d5 d4 d3d2d1 d0 为1,表示发送移位寄存器空; 当数据由发送保持寄存器移入 发送移位寄存器时,该位为0 提供串行异步通信的当前状态 供cpu读取和处理 为1,表示发送保持寄存器空, 当cpu将字符写入发送保持 寄存器后,该位为0 为1,表示正在传输中止字符为1,表示出现帧错误为1,表示出现奇偶错为1,表示出现溢出错为1,表示接收数据缓冲器收到 一个数据,既接收数据准备好; 当cpu读走数据后,该位为0 为1使dtr*引脚为低 否则为高 6. 调制解调器控制寄存器mcr 设置8250与数据通信设备之间 联络应答的输出信号 0 0 0loop out2out1rts dtr 为1使rts*引脚为低 否则为高 为1使out1*引脚为低 否则为高 为1使out2*引脚为低 否则为高 为1使8250为循环工作方式 否则为正常工作方式 7. 调制解调器状态寄存器msr n反映4个控制输入信号的当前状态及其变化 nmsr高4位中某位为1,说明相应输入信号当前 为低有效,否则为高电平 nmsr低4位中某位为1,则说明从上次cpu读取 该状态字后,相应输入信号已发生改变,从高 变低或反之 nmcr低4位任一位置1,均产生调制解调器状态 中断,当cpu读取该寄存器或复位后,低4位 被清零 4级中断 n接收线路状态中断 n奇偶错、溢出错、帧错和中止字符 n接收器数据准备好中断 n发送保持寄存器空中断 n调制解调器状态中断 n清除发送状态改变 n数据终端准备好状态改变 n振铃接通变成断开 n接收线路信号检测状态改变 优先权高优先权高 优先权低 8. 中断允许寄存器ier n8250设计有2个中断寄存器和4级中断 n4级中断的优先权,是按照串行通信过程 中事件的紧迫程度安排的、是固定不变 的 n用户可利用中断允许或禁止进行控制 n中断允许寄存器的低4位控制8250这4级 中断是否被允许 n某位为1,则对应的中断被允许 n否则,被禁止 9. 中断识别iir 保存正在请求中断的优先权最 高 的中断级别编码 0 0 0 0 0id1 id0ip 0 有中断 1 无中断 id1id0优先权中断类型 1 1 1 0 0 1 0 0 1 2 3 4 接收线路状态 接收数据准备好 发送保持寄存器空 调制解调器状态 12.4 异步通信适配器 nibm pc/xt机的串行异步通信适配器 n以8250为核心 n完成发送时的并转串和接收时的串转并以及 相应的控制工作 n配置了ttl电平与eia电平转换电路等 n展开异步通信适配器的 n硬件电路 n软件编程 rclk baudout irq4 irq3 reset +5v a8 aen a3a7a9 ior iow a0a2 mr xtal1 out1 out2 intrpt distr dostr a0a2 cs2 8250ls245 d0d7d0d7 j9 j10 j11 j12 dir 1.8432mhz cs0 cs1 ads distr dostr 5v 12.4.1 异步通信适配器的接口电路 注意:j9j11跨接器 和out2*的作用 12.4.2 异步通信适配器的初始化编程 n对8250的内部控制寄存器进行编程写入 写入除数寄存器 n设置传输率 写入通信线路控制寄存器 n设置字符格式 写入调制解调器控制寄存器 n设置工作方式 写入中断允许寄存器 n设置中断允许或屏蔽位 设置传输率 mov al,80h mov dx,3fbh out dx,al ;写入通信线路控制寄存器,使dlab1 mov ax,96 ;分频系数:1.8432mhz(120016)9660h mov dx,3f8h out dx,al ;写入除数寄存器低8位 mov al,ah inc dx out dx,al ;写入除数寄存器高8位 写入除数寄存器 设置字符格式 mov al,00001010b mov dx,3fbh out dx,al;写入通信线路控制寄存器 ;这段程序同时使dlab0 写入通信线路控制寄存器 设置工作方式 n设置查询通信方式 mov al,03h ;控制out2*为高,dtr*和rts*为低 mov dx,3fch out dx,al;写入调制解调器控制寄存器 n设置中断通信方式 mov al,0bh ;控制为out2*低,允许intrpt产生请求 mov dx,3fch out dx,al 写入调制解调器控制寄存器 设置中断允许或屏蔽位 mov al,0;禁止所有中断 mov dx,3f9h out dx,al ;写入中断允许寄存器(此时dlab0) 写入中断允许寄存器 12.4.3 异步通信程序 n程序循环读取8250的通信状态寄存器 n数据传输错误就显示一个问号“?” n接收到数据就显示出来 n可以发送数据就从键盘输入发送字符(用户 没有输入字符就不发送) n如果按下esc键返回dos 查询通信线路状态 statue:mov dx,2fdh ;读通信线路状态寄存器 in al,dx test al,1eh;接收有错误否? jnz error;有错,则转错误处理 test al,01h;接收到数据吗? jnz receive;是,转接收处理 test al,20h;保持寄存器空吗? jz statue;不能,循环查询 异步通信程序 检测键盘输入 mov ah,0bh;检测键盘有无输入字符 int 21h cmp al,0 jz statue;无输入字符,循环等待 mov ah,0;有输入字符,读取字符 int 16h ;采用01号dos功能调用,则有回显 cmp al,1bh jz done;是esc键,程序返回dos 异步通信程序 发送数据 mov dx,2f8h ;将字符输出给发送保持寄存器 out dx,al;串行发送数据 jmp statue;继续查询 异步通信程序 接收数据 receive: mov dx,2f8h ;从输入缓冲寄存器读取字符 in al,dx and al,7fh ;传送标准ascii码(7个数据位) ;所以仅取低7位 push ax;保存数据

温馨提示

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

评论

0/150

提交评论