筆記
試驗的板子上用到了以前同事做的一個模塊板子.
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.

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394059.html
標籤:其他
上一篇:生成串列,允許重復并符合條件
