前几天测试自己做的电路板在9600波特率正常使用,115200下存在波形错误问题的情况,一直在想是不是SP3485芯片的问题,部分电路板更换为MAX13487后波形正常,直接怀疑了芯片问题,今天再次检查,发现了问题的原因,还SP3485一个清白。
原电路图:
修改后的电路图:
修改后的电路采用13487芯片,自动方向控制,不存在波特率高出错的问题。
主要还是不死心想查出问题的真相,测试了mcu输出和485A脚的波形对比如下:
上面是MCU 串口TX输出波形,下图是485A脚波形,明显存在严重的滞后问题,尤其是下降沿,滞后达到3uS,导致输出数据混乱。
再次测试了MCU输出和三级管C极的波形对照图,如下:
上图可以看出,原来问题出在这个三极管上,由于三极管的选型不够仔细,使用了功率三极管SS8050,导致集电容引起的频率问题的存在。
上图是SS8050的图,该三极管的最大工作电流只有1500mA.
上图是MMBT3904的集电容的图,该三极管的最大工作电流只有200mA.
可见不同的运用场景必须选择合适的三极管,不要盲目使用。