• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2026智能趋势论坛 菲尼克斯电气二级-以太网
现场总线

RS232与RS485时序分析

  2016年09月23日  

  经常遇到初学者,对单片机串行通讯出了问题不知道如何办的情况。其实最有效的调试方法是用示波器观察收发数据的波形。通过观察波形可以确定以下情况:

  ● 是否有数据接收或发送

  ● 数据是否正确

  ● 波特率是否正确

  一、串行数据的格式

  异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。

  起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1。对于负逻辑(如RS-232电平)则相反。

  例如,对于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芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则本单元将不能正确接收。

  总结:只要掌握上述波形分析方法,任何异步串行数据的接收和发送问题,基本都可以得到解决。

标签:RS232  RS485  我要反馈
最新视频
教程 | 和利时脱硫工况异常处置Agent   
施耐德电气“创赢计划”:为AI落地产业提速   
绿电直连 算力新局——AIDC算电协同线上沙龙
工业 AI 赋能电子/半导体产业 智能制造升级
PTC Creo 13 设计未来型产品
PTC Codebeamer
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
投票进行时 | 智造·影响力年度评奖活动
投票进行时 | 智造·影响力年度评奖活动

IIANEWS 发起 2025-2026「智造·影响力」评选,旨在发掘和呈现产业发展中标杆。目前,评选已进入网络投票阶段

投票进行时 | 智造·影响力年度评奖活动
投票进行时 | 智造·影响力年度评奖活动

IIANEWS 发起 2025-2026「智造·影响力」评选,旨在发掘和呈现产业发展中标杆。目前,评选已进入网络投票阶段

在线会议
热门标签

社区

null null /info/industrial-network/bus/technical-article/ABC00000000000253952.html