文章目錄
- 開發環境
- 發現問題
- 問題出現的原因
- 我們分析一下電路設計人員為啥會這樣設計(猜測)
- 解決辦法
開發環境
- 系統:win10
- 開發板:聯盛德 HLK-W801開發板
- 程式下載方式:基于串口的Upgrade_Tools_V1.4.8下載工具
發現問題
- usb鏈接電腦,用官方提供的Upgrade_Tools_V1.4.8下載工具,當打開點擊打開串口的時候,芯片會復位,
- 當我想用MobaXterm串口除錯芯片的時候,發現根本無法使用,只要打開串口,w801就會停止作業,
問題出現的原因
通過查看電路圖發現一個非常有意思的問題,如圖:



沒錯,串口芯片ch340N的RTS引腳竟然和w801的reset引腳接在一起,
普及一下知識:我們平時使用串口一般只是用 TX、RX、GND這三根線,所以有很多人認為串口就三根線,但是其實串口通信還有兩根線,RTS 和 CTS,我們一般稱它們為流控線,在串口發展的早期,為了提高異步通信的速度,這兩根線非常重要,
RTS (Require ToSend,發送請求)為輸出信號,用于指示本設備準備好可接收資料,低電平有效,低電平說明本設備可以接收資料,
CTS (Clear ToSend,發送允許)為輸入信號,用于判斷是否可以向對方發送資料,低電平有效,低電平說明本設備可以向對方發送資料,
正常的時候,甲的RTS 和乙的 CTS連接,當甲將RTS電平拉低,用于通知乙,甲是可以接收資料的,這樣乙就可以給甲發資料了,拉高就表示甲繁忙,乙不可以給甲發資料,
但是隨著處理器的迅速發展,串口傳輸的速度完全處理的過來,所以這兩根線也就不怎們使用了,
對于本板卡,當usb接到電腦上,用官方提供的Upgrade_Tools_V1.4.8下載工具首次打開串口的時候,CH340N的RTS會先拉低在拉高,這將導致w801的reset出現一次上升沿,導致芯片復位,
而使用MobaXterm的時候,打開串口,串口為表示自己已經可以接收資料,RTS將一直是低電平,這將導致reset一直是低電平,w801將停止作業,所以MobaXterm這類的工具就沒辦法使用了,
可能有人會問,同樣打開串口,為啥這兩種軟體會有不一樣的效果,通過查看CH340的資料手冊對RTS引腳有兩處重要說明,如圖:


這就說明CH340的RTS的引腳是可以被軟體配置的,猜測Upgrade_Tools_V1.4.8下載工具重新配置了RTS引腳,使它能拉低在拉高,
我們分析一下電路設計人員為啥會這樣設計(猜測)
W801在下載程式的時候,是需要按一下復位reset引腳的,通過RTS和reset相連,就可以在下載的時候不按reset,非常的方便,
但是這樣做會帶來兩個致命問題:
- 當芯片運行的時候,想通過串口看一下列印的log日志,結果usb接上,打開串口,芯片復位了,
- Upgrade_Tools_V1.4.8下載工具做串口除錯的時候很難用,想用一個高級的串口工具,跟本不行,
解決辦法
只要將聯盛德 HLK-W801開發板的R7電阻去除,這樣RTS和RESET引腳就沒有了關系,如圖:
(本人懶得照照片,于是在網上找了個照片,標了一下,)

這樣下載和使用的方法就變成:
- 用Upgrade_Tools_V1.4.8下載的時候,按一下reset按鍵,就會正常下載,
- 當芯片運行的時候,可以通過任意串口工具看一下列印的log日志,不用擔心復位和芯片不作業,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413608.html
標籤:其他
