移远官网

串问通信异常问题分析归纳

客户在使用模组过程中遇到与MCU串口无法正常通信问题,对此我们提供如下分析思路:

  1. MCU端:确认MCU是否有成功发送数据(可用示波器观察MCU_TX是否有数据波形)。

  2. 电平转换电路部分:以MCU成功发送数据为前提,经过电平转换电路后,数据波形是否存在或电平转换后的波形是否失真(波形失真可能会导致乱码)。

  3. 模组端:确认模组的RX引脚是否接收到数据,若接收到数据后模组的TX引脚是否有数据响应。
    1.1. 排查步骤

在客户设调试电路过程中遇到MCU和模组无法正常通信可以尝试如下排查步骤:

  1. 检查通信设备之间的波特率,停止位,字节长度是否设置一致。

  2. 检查确保模组正常开机状态,检查模组是否处于睡眠状态(睡眠状态无法通信,海思NB模组除外),检查模组是否一致处于复位状态(RESET一直拉低),复位状态也无法进行串口通信。

  3. 检查确认MCU和模组串口电压域是否匹配,如果不匹配中间是否添加电平转换电路。大部分模组的串口电压域为1.8V,3.3V的MCU不能模组直连,直连可以会导致模组通信异常,还会损坏模组,

  4. 去除TX 、RX电路上的全部电容,再进行尝试能否正常通信或出现乱码。尤其是手焊电容器件,容值焊接错误风险很大。(应用中发现绝大多数客户出现电容容值焊接错误,并不易发现,这点排查希望引起大家关注)

  5. 使用USB转TTL电平代替MCU进行测试,看问题是否依旧存在,排查是否MCU导致问题。MCU导致的问题,可能晶体导致的时钟不准造成的。

1.2. 串口典型电路设计检查

1.2.1. 电平转换芯片电路设计

若客户主机系统电平和模组不匹配,则需在模块和主机的串口连接中增加电平转换器,推荐使用TI公司的TXS0108EPWR。下图为使用电平转换芯片的参考电路设计。

图1:电平转换芯片参考电路

使用电平转换芯片主要的优势:设计简单,支持多路转换,转换速率高等。
设计注意事项:

  1. VCCA电压小于VCCB。
  2. OE使能引脚电压域和VCCA保持一致,建议通过120K电阻下拉到GND,在VDD_EXT上电前使能引脚未打开,保持芯片处于非工作的状态。

1.2.2. 串口芯片电路典型案例

问题描述:某客户在使用SN74AVC4T245型号电平转芯片,发现模块VDD_EXT起来后约2.7s, 电平转换芯片3.3V_TXD端存在异常抖动,测试使用TXS0108EPWR无此问题。异常波形如下:
image
图2:3.3V_TXD端抖动异常波形

对比两者电平转换芯片内部结构,发现TXS0108EPWR内部存在上拉电阻,而SN74AVC4T245内部没有上拉电阻。模组开机过程中TX引脚为浮空状态,电平状态不固定,导致SN74AVC4T245转换芯片TX的输出端产生抖动。

TXS0108EPWR此型号电平转换芯片内部存在上拉,内部结构图如下:
image

图3:TXS0108EPWR内部结构图
1.2.3. 三极管典型电路设计检查

另一种三极管电平转换电路如下图所示:


图4:电平转换参考电路
三极管电平转换电路优势在于设计灵活,成本低,但是转换速率会受到三极管导通速率限制,波特率建议低于460Kbps。

设计检查注意事项:1nF电容主要用于改善波形质量,加速三极管的导通,此电容最大建议值1nF,容值过大会导致串口无法正常通信。

1.2.4. 三极管电路典型案例
问题描述:某客户在使用模组过程中发现MCU和模组之间串口无法正常通信,反复排查没有发现问题原因。

测量模组MCU端TX引脚波形如下:
image
图5:MCU端TX波形

结论:从波形可以看出,MCU的TX波形第一帧数据波形已经出现问题,检查客户硬件发现原理图上1nF电容,实际焊接1uF电容(焊接问题实际测试过程中本身很难发现),更换会1nF电容,通信恢复正常。

1 个赞

你好我想请教一下,我在使用串口通信的时候出现,发什么回什么。可能的原因是什么?以及我需要怎么去解决或者去排查问题呢?。例如:TX:at ;RX :at

1.如果发送方是串口工具可能开了回显
2.接收信息的设备有转发功能,直接把收到的消息原封不动转回来了
排查可以看看发送设备的RX有没有数据,如果有就是接收方转回来的,如果没有就是发送方自己回显的。

这种收发一样看起来确实是像开了回显或者RX TX短接了一样。

如果完全不通,已经就卡住了,无法发送了。