各位萌新在工作中,是否總是會遇到各種各樣的通信問題,小編今天以串口通信問題排查為例,介紹一下排查方向和步驟,希望能對你有所幫助。
1.示波器看波形
不管是單向通信還是雙向通信,必然存在兩個器件,所以我們需要重點關注這兩個,而兩者之間必然存在物理連接--導線(無線除外),遇到通信問題,應該首先保證導線連接正常、電壓正常。
串口雙向通信,一般會設計成主從方式,即一個主器件通過雙方約定好的協(xié)議主動向從機發(fā)起數(shù)據(jù)傳輸,并且從機永遠是被動應答。這樣保證在多從機通信的情況下,不會出現(xiàn)數(shù)據(jù)錯亂的情況。
這種情況下,可以讓主機定時發(fā)送固定數(shù)據(jù)幀,通過查看示波器來確定從機是否有返回數(shù)據(jù)。
這樣我們可以確定兩個問題:
一是,觀察主機發(fā)送引腳波形是否正常(串口平時一般為高電平,發(fā)數(shù)據(jù)時才會變化)、同時需要確定電壓是否正常、波特率可看可不看以及具體傳輸數(shù)據(jù),因為該階段只是從大的方向進行排查;二是,從機是否有回應。
2.根據(jù)波形,確定主從機器件發(fā)送、接收功能
如果上一步發(fā)現(xiàn)主機沒有正常傳輸波形產(chǎn)生,就要根據(jù)情況再確定一些問題。
(1)如果發(fā)現(xiàn)波形失真、變形、電壓不正常等情況,請呼叫硬件工程師一起排查。
(2)主機芯片發(fā)送引腳可以看到波形,但從機接收引腳看不到,請使用萬用表確定是否虛焊接。相反方向也排查一遍。
(3)主機或從機不能正常發(fā)送或接收。排查:發(fā)送、接收引腳時鐘是否開啟、輸入輸出模式是否配置正常,發(fā)送引腳一般復用輸出、接收一般上拉輸入;串口外設寄存器配置是否正常;查看DMA 配置是否正常;如果是特殊引腳,看是否需要關閉默認功能,開啟普通 GPIO 功能;如果是復映射功能,查看對應的映射寄存器是否配置正確,配置時,可能需要開啟對應的時鐘。
3.協(xié)議問題
排查雙方波特率是否匹配;上層協(xié)議是否匹配;雙方解析函數(shù)是否有問題。
相關文章推薦:
今天的分享就到這里啦,億佰特人每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的官網(wǎng)進行了解,還有客服在線答疑哦!