串行通信协议设计

上传人:平*** 文档编号:47541945 上传时间:2018-07-02 格式:PPT 页数:17 大小:89.15KB
返回 下载 相关 举报
串行通信协议设计_第1页
第1页 / 共17页
串行通信协议设计_第2页
第2页 / 共17页
串行通信协议设计_第3页
第3页 / 共17页
串行通信协议设计_第4页
第4页 / 共17页
串行通信协议设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《串行通信协议设计》由会员分享,可在线阅读,更多相关《串行通信协议设计(17页珍藏版)》请在金锄头文库上搜索。

1、第四讲 异步串行通信(SCI)l通信协议基础l协议的分层l握手与应答l超时控制串行通信是CPU与外界进行信息交换的一种方式 ,是指数据一位一位地按顺序传送带通信方式 。串行通信的两种基本的工作方式:异步传送 方式同步传送 3.1通信协议基础l通信的内容是什么。l如何通信l何时通信l通信协议的内容l通信协议的功能通信协议就是对数据传送方式的规定,包括数 据格式定义和数据位定等。3.2 SCI协议的分层应用程序自定协议异步串行通信协议 电气接口与底层通信链路应用层中间层串行协议RS232这个就是今天 的主要内容提示:这个简单的协议后面马上要到! SCI字符数据的传送格式: 1、起始位:通信线上没有

2、数据被传输时处 于逻辑“1”状态。当发送设备要发送一 个字符数据时,首先发出一个逻辑“0” 电平,这个逻辑低电平就是起始位。起始 位通过通信线传向接收设备,接收设备检 测到这个低电平后,就开始准备接收数据 位信号。起始位的作用就是使设备同步, 通信双方必须在传送数据位前协调同步。2、数据位:当接收设备收到起始位后, 接着就会收到数据位。数据位的个数可以 是5、6、7、8、9位,这些数据位被接收到 移位寄存器中,构成传送数据字符。在字 符传送过程中,数据位从最低有效位开始 传送,依次在接收设备中被转换为并行数 据。3、奇偶校验位:数据发送完之后,便可以发送奇 偶校验位。奇偶校验用于有限差错检测,

3、通信 双方应约定一致的奇偶校验方式。 偶校验:数据位和奇偶位1的个数为偶数 奇校验:数据位和奇偶位1的个数为奇数4、停止位:在奇偶位或数据位后发送的是停止位 ,停止位是一个字符数据的结束标志,可以是1 位、1.5位、2位的低电平。接收设备收到停止 位后,通信线路上就恢复逻辑“1”状态,直到 下一个字符数据的起始位到来。5、波特率设置:通信线路上传输的所有位信号都保持 一致的持续时间,每一位的宽度都由数据 传送速率确定,而传送速率是以每秒多少 个二进制位来度量的,这个速率是波特率 。如果数据以每秒300个二进制位在通信 线路上传送,则其传输速率就位300波特 。12345687起始位数据位奇偶校

4、 验位停止位协调 同步低电平,标志 一个数据的结 束数据位数可位5、6 、7、8、9、何谓奇偶 校验?主机发送握手信号 并等待对方回应主机判断应答信息 后进行相应的处理主机发送“结束通信” 消息并等待回应接收到对方的确认 消息主机结束通信检测应答信息根据 回应进行相应处理接收到对方的应 答信息,连接建立主机接收数据并检 验后发送相应 消息通知发送方根据本机状态 发送回应给发送方收到“结束通信” 后发 送确认消息结束通信发送方接收方3.3 握手与应答握手与应答的使用是相当灵活的。在 保证链路可靠的情况下,发送发可以在发 出握手信号后就开始发送数据。在发送完 数据后不发送任何信号来表示通信结束。提

5、示程序分析:l/*=l发送子程序 l=*/ lvoid TxSCI(byte send_data) l byte i; l TXDATA=0; l Delay(200); /启动信号 l for(i=0;i=1; l Delay(200); l l TXDATA=1; /空闲时恢复高电平状态 l Delay(200); l发送开始位轮流发送8位数据发送奇偶校验位发送停止位12345687思考练习问题:l如果要求发送偶校验位(即8位数据位和 奇偶位1的个数为偶数),该怎样编写该 子程序? 提示: 1、添加一个局部变量 j 。 2、当TXDATA为1时,j加一。 3、发送完8位数据后,该发送第九位

6、数据(即奇 偶位)时,判断变量j的第0位是否为1,若为1 ,第九位发送1。若为0,第九位发送0。l/*=l接收子程序 l=*/ lbyte RxSCI() l l byte i; l byte rece_data=0; l while(RXDATA); l Delay(100); l if(RXDATA=1) /start l return 0; l for(i=1;i=1; l l Delay(200); /8 l if(RXDATA=0)l rece_datal else l rece_data|=0x80; l Delay(200); /end l if(RXDATA=0) l RxBu

7、f=0x00; l return 0; l l else l RxBuf=rece_data; l rece_data=0; l return 1; l l lTxSCI( )和RxSCI() 是SCI通信的基础, 所有上层通信协议是 建立在这个基础之上 。思考练习题:l如果发送端在第九位发送有奇偶校验位 。在接收端,怎样编写子程序。l提示:l1、设置一个局部变量j。l2、接收从1到9位数据时,如果为1,则j加一 。l3、停止位接收完毕后,检查变量j的第0位是 否为0。如果为0,则接收的数据正确。否则错 误。作业:1、请在读懂程序的基础上,要求发送一组8个数 据。(30分) 2、请SCI实现一个握手与应答通信过程。如主机 发送一个0x13给从机,从机受到0x13后,发送 一个0x31给主机。这时表示从机可以批量接受 数据了。(40分) 3、请用流程图说明本程序。(30分) 4、在完成1、2、题的基础上,利用握手与应答实 现一组8个数据的传送。首先由主机进行连接, 连接后,从机给出应答。主机接受到从机的应 答后,开始发送8个数据,从机接受完数据给出“ 确认信息”,通信结束。(附加题)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号