历史上的今天
返回首页

历史上的今天

今天是:2025年06月01日(星期日)

2019年06月01日 | 示波器调试RS485通信波形图

2019-06-01 来源:eefocus

由于笔者在调试STM32移植的MODBUS协议的时候遇到了一些问题,需要借助示波器来看波形,而关于485通信波形相关的资料网上不多,所以把自己调试过程中的波形记录下来。 

硬件:STM32单片机,1个主机和10个从机,移植MODBUS协议,采用轮询机制,主机挨个询问从机,从机采集一些信息回复给主机。 

原理图:使用带隔离的芯片ADM2483,PA1,PA2,PA3指的是单片机的引脚,分别是使能,TXD和RXD。 

原理图

代码:基本上是http://www.openedv.com/forum.php?mod=viewthread&tid=98367&highlight=modbus 

根据自己的业务稍微做了简化和修改。 

以下是主机询问以及从机回答的波形,两组。测试的是AB两线的电压差 

这里写图片描述


以下是一组主机询问与从机回答的波形,中间间隔7ms左右。注意,MODBUS规定两组数据之间必须有3.5字符的间隔,我的单个字符时长大约1ms,所以这个间隔不得小于3.5ms。 

这里写图片描述


以下是一个命令的波形,可以看出一个命令用时约为8ms多一点,而一个命令是8个字符,通常情况下1个字符包括1位起始位、8位数据位(一般情况)、1位校验位(或者没有,本例子没有校验位)、1位停止位(一般情况下)。也就是一个字符是10位,由此可以推算出波特率:10bit / 1.05ms X 1000 ≈ 9600 bit/s 

这里写图片描述


以下两图是把波形进一步“放大”,尝试从波形里读出数据。约4格表示一个字符。 

此图是上图前四格的第一个字符,也就是10位,起始位总是低电平,而结束位是高电平,8个数据位,低位在前。可以看出,第一格式起始位的低电平,接下来是连续3个高电平和5个低电平,最后一格是结束位的高电平。中间的数据位是1110 0000,由于低位在前,所以实际是0000 0111,也就是0x07 


这里写图片描述
这里写图片描述

下图的黄色线是A线对地电压,蓝线是B线对地电压。为了方便观察,第一个图把两个波形完全分开了,第二个图的“地”在同一水平线上。而A减去B,也就是黄色减去蓝色,就可以得到465总线上的电压情况。可以看出,单个A或是B的波形都不是很理想,定时A-B的波形还不错。大概这就是485通信稳定的一个原因了吧。 

这里写图片描述
这里写图片描述

推荐阅读

史海拾趣

General Instrument Optoelectronics公司的发展小趣事
用于拆卸焊接在电路板上的元件。
Alpha Wire公司的发展小趣事
检查电源电路是否正常,电源是否稳定。
Fairchild (ON Semiconductor)公司的发展小趣事

2016年,Fairchild Semiconductor被ON Semiconductor收购。这一收购标志着Fairchild Semiconductor的发展进入了一个新的阶段。ON Semiconductor是一家全球领先的半导体公司,拥有广泛的产品线和强大的技术实力。通过整合Fairchild Semiconductor的技术和资源,ON Semiconductor进一步巩固了其在半导体行业中的领导地位,并继续为全球客户提供优质的半导体产品和服务。

Fibrefab Limited公司的发展小趣事

面对全球环境问题日益严峻的现状,Fibrefab积极响应环保号召,推动绿色生产和可持续发展。公司采用环保材料和生产工艺,降低产品生产和使用过程中的能耗和排放。同时,Fibrefab还积极参与环保公益活动和社会责任项目,为保护环境贡献自己的力量。这一举措不仅提升了Fibrefab的企业形象和社会责任感,也为其长期发展奠定了坚实基础。

Fortiming Corporation公司的发展小趣事

背景:随着公司规模的扩大和产品线的丰富,Fortiming开始寻求更广阔的市场空间。

发展:公司积极参加国内外电子展会,展示其最新技术和产品,吸引了众多客户的关注。同时,Fortiming还与国际知名电子企业建立了合作关系,共同开发新产品,开拓新市场。这些合作不仅提升了Fortiming的品牌影响力,还为公司带来了更多的商业机会。

Greenray Industries Inc公司的发展小趣事

GreenTech自成立以来,便专注于绿色能源技术的研发。公司早期投入大量资源于太阳能光伏技术的研发,成功开发出高效能的太阳能电池板。这一技术不仅提高了能源转换效率,还显著降低了生产成本,使得太阳能发电更加普及和经济。随着技术的不断成熟,GreenTech的太阳能产品逐渐进入国际市场,为全球能源转型贡献了一份力量。

问答坊 | AI 解惑

电阻器的选用经验介绍

电阻器的选用经验介绍      1.固定电阻器的选用  固定电阻器有多种类型,选择哪一种材料和结构的电阻器, 应根据应用电路的具体要求而定。 高频电路应选用分布电感和分布电容小的非线绕电阻器,例如碳膜电阻器、 ...…

查看全部问答>

上昨天做的调频无线话筒

调频无线话筒,只有一级放大,还没调试!!等下调试呵呵!! 开始调试啦!! …

查看全部问答>

LED灯和节能灯的区别--如何取代

LED灯可能最终都会取代节能灯的,我现在正在整理一些材料;关于LED灯壳的型号如何去取代节能灯的某个型号;   譬如 我说MR16,是不是意味着这有可能是LED驱动外壳,也有可能是节能灯的外壳。   谁有这方面的资料;还有E27 E26 LED灯 ...…

查看全部问答>

DM9000可以正确发送,可是接受到的数据包却大于1518B!!!

dmfe_packet_receive: DM9000\'s RxLen is: ffff 接收到的数据包长度为0xffff > 1518 可能原因是什麽啊?…

查看全部问答>

vxworks或tornado下怎么执行自己编写的tcl脚本?

此外,如果临时编译了一个tcl脚本文件放到文件系统内,怎么执行呢?…

查看全部问答>

求教

我想要这样的单片机,它的内置RC振荡频率是程序可以调整的,ATtiny13有这个功能,但是精度太差,恳请各路高手推荐一种mcu,不胜感谢.最好带AD和Flash [ 本帖最后由 812563438 于 2011-3-24 12:57 编辑 ]…

查看全部问答>

使用keil mdk 4.12 编译出错

使用keil mdk 4.12 编译出现这些错误,是为什么呢?ads1.2不会。。   S3C2440\\source\\2440init.s(456): error: A1516E: Bad symbol \'Image$$RO$$Base\', not defined or external S3C2440\\source\\2440init.s:   456 000003d ...…

查看全部问答>

关于Cortex m3的选型,很纠结,忘各位专家给予指点

近期要选一个ARM最好能代替单片机的芯片,我将范围定在cortex m3系列,cortex M3有三大系列,LM3S\\LPC17XX\\STM32,我将目标定在STM32系列,不知道各位有什么想法。 还有关于STM32系列的我不是很了解,想知道(1)它的指令周期和机器周期之间的关系 ...…

查看全部问答>

TI的UART源代码例子感觉用不了

//****************************************************************************** //   MSP430F5438 Demo - USCI_A0, 9600 UART, SMCLK, LPM0, Echo with over-sampling // //   Description: Echo a received characte ...…

查看全部问答>