- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它技巧]第11章串行通信及接口电路
第11章 串行通信及接口电路 11.1 串 行 通 信 11.1.1 概述 1.串行通信的优点 2.同步通信与异步通信 (1)非同步(异步)通信(Asynchronous Data Communication,ASYNC) ① 字符格式 ② 数据信号传送速率 假如数据传送的速率是120个字符/秒,而每一字符包含10个数据位,则每秒传送的二进制位数为 10??×??120?=?1?200bit/s 则每一位的传送时间即为 Td?=?1/1?200?=?0.833ms ③ 波特率(Baud rate) (2)同步传送 3.数据传送方向 (1)半双工(Half Duplex) (2)完全双工(Full Duplex) 4.信号的调制和解调 5.串行I/O的实现 6.串行通信的校验方法 常用的校验方法有:奇偶校验、循环冗余校验CRC(Cyclic Redundancy Check)等。 ① 软件奇偶校验 在8086中,有判断字符奇偶性的标志及相应的转移指令。所以,用软件产生奇偶校验位(发送时),或进行奇偶校验(接收时)是比较方便的。 若每字符为7位,用偶校验,产生奇偶校验位的程序如下: MOV AL, DATA ;取出要发送的数据 AND AL, AL ;检查数据本身的奇偶性 JPE TRANS ;若“1”的个数已为偶数则直接发送 OR AL, ;否则,置最高位为“1” TRANS: OUT (UART), AL ;输出 进行奇偶较验的程序如下: IN AL, UART ;输入接收的数据 AND AL, AL ;检查“1”的个数的奇偶性 JPO ERROR ;若“1”的个数为奇数, 转至出错处理 MOV DATA, AL ;否则存入内存 ② 硬件奇偶校验 目前有专门的奇偶发生器/校验器器件,可对7位或8位字符进行奇偶校验。 这是一种中规模TTL集成电路如SN54/74280 9位奇偶发生器/校验器(8个数据位加1个校验位)和SN54 /74180 8位奇偶发生器/校验器(7个数据位加1个校验位)。 但在实际的串行通信中,通常采用可编程的串行通信接口芯片,如Intel 8251A或Z80 SIO。 芯片中就包含硬件的奇偶校验和产生电路,可用程序选择是否用奇偶校验,或选择是奇校验还是偶校验。 11.1.2 串行接口标准EIA RS-232C接口 11.2 Intel 8251A可编程通信接口 11.2.1 8251的基本性能 (1)可用于同步和异步传送。 (2)同步传送:5~8bit/字符,内部或外部同步,可自动插入同步字符。 (3)异步传送:5~8bit/字符,时钟速率为通信波特率的1、16或64倍。 (4)可产生中止字符(Break Character);可产生1、 或2个位的停止位;或检查假启动位,自动检测和处理中止字符。 (5)波特率: DC—19.2K(异步);DC—64K(同步)。 (6)完全双工,双缓冲器发送和接收器。 (7)出错检测:具有奇偶、溢出和帧错误等检测电路。 11.2.2 8251的方框图 1.接收器 2.发送器 发送器接收CPU送至的并行数据,加上起始位、奇偶校验位和停止位,然后由TxD脚发送。 3.I/O控制 11.2.3 接口信号 1.与CPU的接口信号 2.与装置的接口信号 11.2.4 8251的编程 11.2.5 8251应用举例 我们以两台微机之间进行双机串行通信的硬件连接和软件编程来说明8251在实际中是如何应用的。 (1)要求 在A、B两台微机之间进行串行通信,A机发送、B机接收。 要求把A机上开发的应用程序(其长度为2DH)传送到B机中去。 采用异步方式,字符长度为8位,2个停止位,波特率因子为64,无校验,波特率为4800。 CPU与8251之间采用查询方式交换数据。 端口地址分配是:命令/状态口为309H,数据口为308H。 (2)分析 由于是近矩离传输,可以不用MODEM,而直接互连。 同时采用查询方式,故收/发程序中只需检查发/收的准备好状态位是否置位,在准备
文档评论(0)