欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《串行通信接口技术》PPT课件.ppt

    • 资源ID:5577655       资源大小:264.50KB        全文页数:40页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《串行通信接口技术》PPT课件.ppt

    第3章 串行通信接口技术,PC机通常作为上位机,单片机作为下位机上位机与下位机一般采用串行通信技术常用的有RS-232C,RS422,RS485,3.1 串行通信基础,串行通信概念数据流从源节点依次逐位历经传输介质到达目的节点的传输过程串行通信有效性的方法数据格式,连接握手,数据确认,中断或轮询,差错检验等,3.1.1 串行异步通信数据格式,串行异步通信报文帧结构“起始”位(帧头)+“数据”位+“停止”位(帧尾)“起始”位(帧头)通知接收方有数据到达给接收者一段准备接收数据、缓存数据和做出其它响应所需要的时间可设置一个或多个起始字节作为帧头“停止”位(帧尾)告知接收方本次传输过程的终止可设置一个或其他规定字节作为帧尾,串行异步通信数据格式,3.1.2 通信的连接握手,连接握手从发出连接请求到确认收发双方已经建立了连接关系的过程通信伙伴双方已经做好准备,可以进入数据收发的状态 可以通过软件和硬件来实现,软件连接握手发送者通过发送一个特定字节表明它想要发送数据接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据当发送者看到这个信息时就知道它已完成连接,可以发送数据了接收者还可以通过一个另外的编码来告诉发送者停止发送。,硬件连接握手 接收者在准备好了后将相应的端口线带入到某个规定的电平状态,如高电平发送者从串行接口监测到这个信号的电平变化,便开始发送数据接收者可以在任何时候将这根端口线带入到低电平;当发送者检测到这个低电平,就停止发送,3.1.3 确认,概念接收者向发送者发送一个回复信息,表明数据已经正确收到,这个过程称为确认。确认报文可以是一个的特别定义的报文,例如标识接收者地址或编号,表明哪个接收者已正确接收报文发送方根据是否接收到确认报文,采取相应的措施,或结束本次通信,或重发,或开始下一个通信过程,3.1.4 中断,中断请求:中断是用于通知CPU有任务需要立即响应的一个信号中断处理:中断响应服务程序用于在中断发生时执行所期望的相应操作节点可以通过中断请求与处理进入串行通信处理过程,3.1.5 轮询,通过周期性地获取特征或信号来读取数据或发现是否有事件发生的工作过程称为轮询为了不遗失数据需要足够频繁的轮询在没有分配中断的端口使用轮询,3.1.6 差错检验,差错检验的含义根据接收端接收到的冗余信息特征,判断报文在传输中是否出错的过程,称为差错检测。只能判断是否出错,不能确定哪个或哪些位出现了错误,也不能纠正传输中的差错。差错检验的方法冗余数据校验奇偶校验 校验和,冗余数据校验,概念:发两次,接收方进行比较特征:花两倍时间,适合短报文红外线使用该方法,奇偶校验,校验方法在每个单位数据域(如字符)中加上一个校验位(奇偶校验位),使得包括该校验位在内的各单位数据域中1的个数是偶数(偶校验),或者是奇数(奇校验)。奇偶校验的特点方法简单,检验效率高可以检测出所有单比特错误但也有可能漏掉许多错误,校验和,校验方法:加入检验字节检验和的典型方法:所有字节相加,取结果的最低字节适合长报文的传输求和校验能检测出95的错误比奇偶校验方法的计算量大,更可靠CRC循环冗余校验,出错的简单处理,两种常用的纠错方法:自动重传当检测到一个错误时,接收端自动请求重新传输技术简单,但确认、重发过程可能造成通信障碍前向差错纠正在接收端检测和纠正差错,无需请求重发将一些额外的位按照某种方式进行编码,加入到通信数据中。根据这些位的状态可检测到一定数量的错误并进行纠正。增加这些额外的位增加了通信开支,同时也增加了计算量,3.2 RS-232C串行通信接口,两种插头(25针或9针),DB-9连接器外形信号含义见表3-1,3.2.1 RS-232C端子,信号含义:,计算机到MODEM控制信号:DTR(数据终端准备好接收),RTS(请求发送)MODEM到计算机控制信号:DSR(数据设备准备好接收),CTS(准备好发送)RI(振铃信号),DCD(数据信号检测)数据信号:TXD,RXD,,电气特性:,RS-232C数据通信的特点 接口为非平衡式,共用一根地线信号传输距离最大15米数据的最大传送速率在20Kbps 只适合于两台设备之间的数据传输 RS-232C的信号电平采用负逻辑以-5V-15V电平表示逻辑“1”以+5V+15V表示逻辑“0”与TTL电平不兼容,需要电平转换,3.2.2 通信接口的连接,通信节点间端口直接连接(无Modem),3.2.3 RS-232C电平转换器,用途:实现TTL电平接口与RS-232C连接转换芯片:MAX232A等MAX232基本原理和功能:充电泵,两路收发MAX232引脚(16脚),图3-5MAX232应用电路,图3-6(书上错,换成1uF电容),3.3 RS-485串行通信接口,用于通信节点多,位置分散,通信距离远,要求采用最少的连线完成的通信任务允许一对线路上连接多达32个发送器和接收器采用二线差分平衡传输,图3-7,抑制噪声没有规定数据链路协议没有规定连接器使用方便,价格便宜,3.3.1 RS-485接口标准,EIA-485与EIA-232主要技术参数比较,3.3.2 RS-485收发器,芯片举例:MAX485,SN75LBC184(引脚兼容)SN75LBC184引脚定义,图3-8,3.3.3 应用电路,图3-9总线拓扑结构,需要终端电阻,图3-10,3.4 Modbus通信协议,Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。,3.4.1 概述,Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。,3.4.2 两种传输方式,下表是ASCII协议和RTU协议进行的比较:,ASCII模式原理:每8bit字节用两个16进制字符ASCII发送代码系统:由16进制字符ASCII码组成每个字节的位:1个起始符,7个数据位,1个奇偶校验位(或无校验),1个停止位(无检验时2个)错误检验域:LCR(纵向冗余检测),RTU模式代码系统:8位二进制数每个字节的位:1个起始位,8个数据位,1个奇偶校验位(或无校验),1个停止位(无校验时2位)错误检验域:CRC,3.4.3 Modbus消息帧,ASCII帧图3-15,“:”开始,回车换行结束RTU帧至少3.5个字符时间的停顿开始图3-16,地址域:ASCII(2字符),RTU(1字节)地址0用作广播地址功能域:ASCII(2字符),RTU(1字节)主设备用功能码告知从设备需要执行的动作从设备用功能码指示响应是否正确,异常响应的功能码最高位置1。,数据域功能代码03H(读一组寄存器),数据域指定起始寄存器以及数量功能代码10H(写一组寄存器),数据域指明起始寄存器以及数量错误检验域ASCII:LRCRTU:CRC字符的连续传输使用ASCII字符帧时:图3-17,7位数据,先低位后高位使用RTU字符帧时:图3-18,8位数据,先低位后高位,3.4.4 错误检测方法,奇偶校验LRC检测CRC检测,LRC检测,LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。下面是它的VC代码:,BYTE GetCheckCode(const char*pSendBuf,int nEnd)/获得校验码 BYTE byLrc=0;char pBuf4;int nData=0;for(i=1;iend;i+=2)/i初始为1,避开“开始标记”冒号/每两个需要发送的ASCII码转化为一个十六进制数 pBuf 0=pSendBuf i;pBuf 1=pSendBuf i+1;pBuf 2=0;sscanf(pBuf,%x,CRC检测,CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。,CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。CRC添加到消息中时,低字节先加入,然后高字节。下面是它的VC代码:,WORD GetCheckCode(const char*pSendBuf,int nEnd)/获得校验码 WORD wCrc=WORD(0 xFFFF);for(int i=0;i=1;wCrc=0 xA001;else wCrc=1;return wCrc;,3.4.5 Modbus的编程方法,在RTU方式下至上3.5字符时间的间隔传输过程中每个字符之间不能超过1.5字符的时间字符时间的设定数据帧接收的编程:通过串口的中断接收数据,启动定时器实现时序判断,

    注意事项

    本文(《串行通信接口技术》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开