RS232,RS485波形分析

阅读: 评论:0

RS232,RS485波形分析
经常遇到初学者,对单片机串行通讯出了问题不知道如何办的情况。其实最有效的调试方法是用示波器观察收发数据的波形。通过观察波形可以确定以下情况:
1.是否有数据接收或发送;
2.数据是否正确;
3.波特率是否正确;
一、串行数据的格式
稻壳发电异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。
起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反。
android游戏引擎      例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输)
图1 TTL电平的串行数据帧格式(55aah)
图2 RS-232电平的串行数据帧格式(55aah)
二、根据波形图计算波特率
如图3是图1在示波器中的显示示意,其中灰线是示波器的时间分度线,此时假设是200us/格。
高杨氏
图3 波特率计算示意图
      可以看了,第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms,这样可计算出其波特率约为:
10bit / 1.05ms X 1000 ≈ 9600 bit/s
      如果上图中的时间轴是100us/格,同样可以计算出波特率应是19200bit/s。
      当通讯不正常,又能观察到波形时,就可根据上述方法,从波形图计算一下波特率是否正确。
三、根据波形图判断RS-485收发数据的正确与否
      RS-485是一种半双工的串行通讯方式(RS-422为全双工),485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。
      RS-485发送数据时的正确时序如图4所示。
图4 RS-485的正确发送数据时序
智能回收机    在图4中,发送控制信号的宽度基本与数据信号的宽度一致,所以能保证发送数据的正确和发送后及时转为接收。
    图5 和图6 分别是控制信号太短和控制信号太长的情况。
图5 RS-485控制信号太短时的时序
图6 RS-485控制信号太短时的时序
    在图5中,由于控制信号关闭过早,则第二个字节的后两位将发送错误;在图6中,由于控制信号关闭过迟,使485芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则本单元将不能正确接收。33dxdx
    总结:只要掌握上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。
RS485电平和RS422电平:由于两者均采用差分传输(平衡传输)的方式,所以它们的电平方式,一般有两个引脚 A,B 发送端 AB间的电势差U为UB-UA: +2 ~ +6v : 1 ,-2 ~ -6v : 0 ,接收端 AB间的电势差U为:大于 +200mv: 1 ,小于 -200mv: 0 ,定义逻辑1为B>A的状态,定义逻辑0为B<A的状态 ,AB之间的电压差不小于200mv 。
USB电平:电源线是5V,为USB设备提供最大500mA的电流,它与数据线上的电平无关,数据线是差分信号,通常D+和D-在+400mV~-400mV间变化,在传统的单端(Single-ended)通信中,一条线路来传输一个比特位。高电平表示1,低电平表示0。倘若在数据传输过程中受到干扰,高低电平信号完全可能因此产生突破临界值的大幅度扰动,一旦高电平或低电平信号超出临界值,信号就会出错。在差分传输电路中,输出电平为正电压时表示逻辑“1”,输出负电压时表示逻辑“0”,而输出“0”电压是没有意义的,它既不代表“1”,也不代表“0”。而差分通信中,干扰信号会同时进入相邻的两条信号线中,在信号接收端,两个相同的干扰信号分别进入差分放大器的两个反相输入端后,输出电压为0。所以说,差分信号技术对干扰信号具有很强的免疫力。对于串行传输来说,LVDS能够低于外来干扰;而对于并行传输来说,LVDS可以不仅能够抵御外来干扰,还能够抵御数据传输线之间的串扰。因为上述原因,实际电路中只要使用低压差分信号(Low Voltage Differential Signal,
LVDS),350mV左右的振幅便能满足近距离传输的要求。假定负载电阻为100Ω,采用LVDS方式传输数据时,如果双绞线长度为10m,传输速率可达400 Mbps;当电缆长度增加到20m时,速率降为100 Mbps;而当电缆长度为100m时,速率只能达到10 Mbps左右。
RS232 可做到双向传输,全双工通讯 最高传输速率 20kbps 。
422    只能做到单向传输,半双工通讯,最高传输速率10Mbps 。
485    双向传输,半双工通讯, 最高传输速率10Mbps 。
包层模

本文发布于:2023-05-27 11:19:11,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/115920.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   数据   传输   电平   串行   控制   接收
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图