3V3TTL和5VTTL没做转换, 不能通讯

笔记

试验的板子上用到了以前同事做的一个模块板子.
4路TTL转485, 这板子上的电源都是5V.
MCU那边是3V3的STM32F407.
以前同事留下的料单, 485部分通讯正常的.
但是232部分, 以前从来没用过. 这次, 正好要用到2路232, 同事就说, 将2路485电路不焊接, 焊接上1路232电路. 但是232不通讯. 232收发都调换过, 没用.

拿一路出来看看

这一路包括2个485通讯, 一个232通讯.
现在不焊接485电路 ,焊接232电路.
在这里插入图片描述
因为是从来没验证过的电路, 我现在的同事从没见过这个模块上232电路被用过.

因为板子就在这, 又要用232, 就试一下.
不焊接485电路, 焊接232电路.
试了一下不好使.

分析

查了MAX13487, MAX3232的datasheet, 典型电路的接法, 外围元件都对.
看着比较奇怪的地方是RP1, 怎么能在232电平上用5V上拉呢?
应该不焊接这里.
在这里插入图片描述
不焊接RP1, 还是不好使.
将MCU端的上拉10K电阻焊接上(R2, R8, R9, R10), 接收到的是乱码.

分析

大概率是MCU的3V3TTL串口电平和5V串口芯片之间没做电平转换引起的.

为啥3V3的MCU可以和5V的MAX13487正常通讯就不知道了.
反正不做TTL的电平转换, 就不靠谱.

猜测原来板子的用途

以前同事既然留了这么个板子来, 肯定不会自己没测试过, 就将电路留在板子上.

估计以前他做试验时, 针对的是5VMCU(e.g. STC的5V单片机).
如果是这样, 就能说的通(为啥连电平转换都没有).
因为都是5V的TTL电平, 所以不需要电平转换…, 应该这就是根本的原因.

准备改板子

现在准备做一块模块板子, 保持接口不变, 将MCU端收发的3V3TTL电平变成5V后给串口通讯芯片.

3V3TTL转5V电平子电路

如果板子上有地方, 可以采用mos管来转换.
在这里插入图片描述

如果布局受限, 可以采用专门的电平转换IC. e.g. RS0102, RS0104, RS0108.

RS0102 有1副(2根线)转换线
RS0104 有2副(4根线)转换线.
RS0108 有4副(8根线)转换线.

我这个模块, 要用到4路TTL串口, 所以想采用 RS0108.
在这里插入图片描述
在这里插入图片描述
RS0108支持的电平转换范围挺宽的, 依赖于两边的参考电压.
左边是低电压, 参考电压1.65V~5.5V, 这边我用3.3V.
右边是高电压, 参考电压2.3V ~ 5.5V, 这边我用5V.
在这里插入图片描述

备注

从一个参考设计上看到了电阻分压将5VTTL转为3.3VTTL的用法, 超简单可靠的实现.
这是个老家伙产品上的实现, 经过多年验证的, NB.
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇

)">
下一篇>>