- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理 第七章 串行通信接口技术讲解.ppt
可编程串行通信接口芯片8251A 在串行通信时,收发双方要解决的问题: 以何种速率进行数据的发送和接收(波特率) 采用何种数据格式(帧格式) 接收方如何得知一批数据的开始和结束(帧同步) 接收方如何从位流中正确地采样到位数据(位同步) 接收方如何判断收到数据的正确性(数据校验) 收发出错时如何处理(出错处理) 同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的。 在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是收/发时钟的频率必须严格地一致。 每个字符不增加任何附加位,而是连续发送 调制和解调 长距离通信时,常需要利用电话线路,它的频带则只有300Hz~3400Hz。为了通过电话线路传输数字信号,必须先把数字信号转换为适合在电话线路上传送的模拟信号,这就是调制;经过电话线路传输后,在接收端再将模拟信号转换为数字信号,这就是解调。 调制方法 : 移频键控(FSK) 移相键控PSK 振幅键控(ASK) RS-232C信号定义的说明 RS-232C的25个插脚仅定义22个。在微机通信中,通常使用的RS-232C接口信号只有9根引脚(P299,图7-37) RS-232C总线的电气规范 RS-232C标准与TTL标准之间的转换 常用于将TTL电平转换为RS-232C电平的芯片,除MC1488外还有75188,75150等;用于将RS-232C电平转换为TTL电平,除MC1489外,还有75189,75154等 RS-232C的应用 使用MODEM连接 直接连接 计算机通常使用UART来实现数据的串/并和并/串转换 UART的基本原理(P301,图7-39、7-40) UART的工作过程 常用的错误标志 奇偶校验错 帧错误 溢出(丢失)错误 可编程异步通信接口INS8250 8250的基本功能: 全双工、双缓冲器接收和发送 15种波特率,50-9600bps 可编程的异步通信格式 提供奇偶、溢出和帧校验等错误检测 片内具有优先权中断控制逻辑 8250查询方式发送 查询方式接收 8250中断方式通信 中断通信方式初始化 修改中断向量:按使用的端口COM1或COM2,接管中断0CH或中断0BH(保存原中断向量,将新的中断向量替换上去,注意程序结束时恢复原中断向量) 确定通信协议:设置波特率及数据传输格式,设置中断允许寄存器相应位的允许或禁止 开放通信中断:对8259A中断控制器的屏蔽寄存器编程(OCW1),允许中断IRQ4或IRQ3 通信中断服务程序 首先读中断识别寄存器IIR,判断中断源,然后转向对应的处理子过程(程序)。 当中断识别寄存器D2D1=11时,表明接收出错中断,需要再读取线路状态寄存器,分析错误原因,再进行错误处理 可能出现多个中断源同时引发中断。因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测D0是否为“0”,当D0=0时,表明还有未决中断,应该继续分析中断源并进行中断处理。 中断程序返回的条件是中断识别寄存器的D0=1。 可编程串行通信接口芯片8251A 8251A基本性能: 全双工、双缓冲器 两种传送方式:同步和异步传送 同步传送:5~8位/字符,内部或外部同步,可自动插人同步字符 异步传送:5~8位/字符,时钟速率为通信波特率的1、16或64倍 可自动产生、检测和处理终止字符,可产生1、1.5或2位的停止位 波特率在同步方式时为0~64Kbps,异步方式时为0~19.2Kbps 出错检测:具有奇偶、溢出和帧错误等检测电路 (1) 接收缓冲寄存器RBR (3F8H) :“读” 存放串行接收后转换成并行的数据 CPU 接收缓冲寄存器 接收移位寄存器 同步控制 8250 SIN (2)波特率除数寄存器BRD(3F8H,3F9H) 除数寄存器保存设定的分频系数 BRD=基准时钟频率÷(16×波特率) 起 始 位 时钟 (RCLK) 数据线 (SIN) T 16 T 16 T 8 T 例:计算波特率为1200bps的波特率除数。 当使用UART的内部时钟为1.8432MHz时(或由外部通过XTAL1引脚输入), BRD=1843200/(16×1200)=0060H (3) 通信线路控制寄存器LCR(3FBH) D5 D4 D3 D6 D1 D0 D2 DLAB 寄存器选择 0 正常值 1 除数寄存器 中止字符 0 无作用 1 发送中止字符 校验位设置 ××0 无校验位 001 设置奇校验 011 设置偶校验 101 校验位为1 111 校验位为0 停止位个数 0 1位 1 1.5位(数据位为5位时) 1 2位(数据位为6~8位时) 数据位个数
文档评论(0)