再也不用担心串口通信扯皮了
大家好!我是付工。
我们做上位机通信调试下位机设备时,经常会需要对报文进行抓包分析。
以太网通信,很多人都知道可以使用Wireshark软件,如果是串口通信,我们如何抓取到报文,且不影响程序正常运行,今天给大家分享两种方案。
串口抓包的本质是通过旁路监听串口通信链路,实时捕获并解析传输的原始数据。
一、硬件方案
硬件方案的原理很简单,以我们常用的RS485为例,在原有通信设备的发送(TX)和接收(RX)线路上并联接入监听设备,这样就可以在不影响主链路通信的同时获取双向数据流。
最简单的做法是采用CH340(RS485转USB)直连TX/RX引脚,可以实现基础的抓包功能。
电脑端会多出一个端口号,通过串口助手打开该端口就可以看到报文的收发了。
如果要求较高,也可以通过专门的串口侦听硬件或者串口逻辑分析仪,原理如下:
二、软件方案
如果采用软件方案,串口也有很多专门的串口监听软件,比如Access Port、Device Monitoring Studio、Bus Hound等,我一直使用的是一款国产软件—CEIWEI CommMonitor串口监控精灵。曾经在做一个单片机通信的上位机项目时,就用这个软件快速抓取报文,省去了很多扯皮的时间。
这个软件本身是商业软件,其提供的免费功能基本可以满足日常使用,当然大家如果有更高需求,可以支持一下原作者。
软件获取方式,公众号后台回复:143
编者注:本站「软件下载」板块已改为直接提供百度网盘分享链接,代号 143 对应条目可点「复制网盘链接」,把分享文本复制到剪贴板后打开「百度网盘APP」即可获取,无需再回复代号。上面一句为原文表述,按文字快照口径原样保留。
安装软件后,打开界面如下所示:
选择需要监听的串口,点击开始监控即可。
我打开一个串口通信的上位机软件,端口号是COM9,如下所示:
然后在串口监控精灵中,勾选COM9,点击开始监控,效果如下:
这样就可以看到通信的报文了,通过对报文进行分析就可以针对性解决问题。