本帖最后由 bestdesign11 于 2024-11-25 17:02 编辑
#申请原创# @@21小跑堂 在系统电路设计中使用MCU和SOC往往不在同一个电平系统上,例如SOC的IO电压一般都是1.8V,而MCU的IO电压一般为3.3V,两个系统为了能实现通信,就需要在两个系统之间增加电平转换电路.如下图所示是一个电平转换IC的电路,我用这个电路在SOC的串口输出上.把SOC的1.8V串口信号转换为3.3V;
实际电路出来后,测试发现有如下问题,当串口接上串口线时候,发现在UART_RX上有干扰波形存在,导致系统上电异常.用示波器测试发现UART_RX信号波形如下:
在上图中可以看到在UART_RX有一个小的波动的时候,在SOC_RX(电平转换的输出端)就会产生一个比较大的脉冲.这个脉冲会导致SOC系统异常;
那么这个脉冲是怎么产生的呢?于是打开电平转换器件的规格书可以看到内部电路是如下:
电平转换器内部其实是一个正反馈电路:即输出一个高电平,会通过内部驱动到输出驱动电路,然后再反馈到输入端,把输入电平维持住;如果输入是从高电平转变为低电平,同样,低电平到达输出端后,还会反馈到输入端.做一个闭环控制;
通过以上,可以分析出,当电平转换器输入端有一个小的信号波动,立刻会被内部驱动放大并推动到输出端,再反馈到输入,把输入端也拉高.这样就形成了一个干扰波形变为一个脉冲波形的过程.
知道这个过程后,我们就要从源头避免这个干扰问题.那么这个干扰是怎么形成的呢?
当串口接入串口线后,相当于串口接了一个比较长的天线,这个就是产生干扰的原因,但如何去掉这个干扰呢.我尝试了在UART_RX端口处并联电容的做法,1nF电容,如下:
这个可行,测量UART_RX波形如下图:
上图可以看到虽然输入还有一个干扰波动,但电平转换输出端没有那个异常的脉冲了.
经过测试.虽然这个并联的1nF可以减少干扰对于电平转换IC的异常动作,但对于输出信号还是有影响的.因为串口速率如果是高频的,会概率性不识别输出的串口命令.
经过调试,把1nF电容修改为10K电阻,可以有效改善干扰.且不影响串口的使用.
|