1. 程式人生 > >迪文串列埠屏的串列埠通訊問題處理(詳細)

迪文串列埠屏的串列埠通訊問題處理(詳細)

串列埠屏和電腦連線異常
原因分析1:
串列埠工具開啟後,重新整理不到串列埠號串列埠。
解決方法1:
大部分的桌上型電腦會有一個串列埠1,這個就是電腦的DB9出口,一般用DB9轉接延長線,是可以和db9的進行RS232通訊,現在大部分的膝上型電腦沒有串列埠1,通常用串列埠轉接線、轉接板,通過USB轉出TTL,RS232,RS485,開啟裝置管理器,需要更新串列埠驅動。通訊後,串列埠號不能選錯,一般的串列埠通訊工具,HEX傳送需要勾選,這個是通訊的前提。

原因分析2:
屏發出來的資料在 串列埠工具表現出來是亂碼,接收不到資料。
解決方法2:
波特率是否匹配、檢查串列埠電平是否錯誤,和轉接板晶片不匹配

原因分析3:
接線錯誤。
解決方法3:
在RS232或者 TTL通訊是需要3根線才能看到有接收、傳送互動的通訊的,地線G、收R或者發T,其中訊號地是一定要接的,通常串列埠屏發出來通常用DOUT、或者TXD、TX、T、232T 等英文縮寫表示,串列埠屏的接收用的DIN、RXD、RX、232R 等英文縮寫表示,訊號地是GND、G來表示。通常要交叉接線,也就是串列埠屏的R接電腦的T,串列埠屏的T接電腦的R。
在RS485接線中,也就是需要至少2根線,簡單的說就是A接A,B接B,RS-485半雙工模式接線時將T/R+接對方的A+、T/R-接對方的B-。

原因分析4:
DGUS屏開啟了校驗,或者升級、降級為其他的核心,導致通訊不上。
解決方法4:
檢查屏的系統配置,DGUS1的屏有必要在保證通訊正常的情況,用串列埠升級核心處理。

原因分析5:
DGUS2下載了cfg檔案之後就不能通訊了。
解決方法5:
檢查屏的CFG系統配置,06 07的位置寫了5AA5開啟了系統時間校準之後,就容易把屏通訊弄得波特率不對,在屏上電的時候,收到的指令不是傳送的校準的30個55之內的規定指令導致。一般使用者下載cfg的時候06 07位置都寫0000最好,如果是t5時鐘誤校準了,那麼從新按照正確的方法操作。

串列埠屏和微控制器通訊異常

原因分析1
接線錯誤。
解決方法1:
通常要交叉接線,也就是串列埠屏的R接微控制器的T,串列埠屏的T接微控制器的R。 GND接GND,在RS485接線中,也就是需要至少2根線,簡單的說就是A接A,B接B,RS-485半雙工模式接線時將T/R+接對方的A+、T/R-接對方的B-。

原因分析2
接ttl和RS232相容性電平選擇不對。
解決方法2:
電平匹配問題,串列埠屏的電平是TTL還是RS232,有的屏後面有短接處可以短接進行跳變如下圖紅框處。
一般的DGUS屏比如的C070_15wt 、C050_04wt 和使用者CPU的連線距離很短,為了提升波特率又方便接PC除錯,迪文的TTL/RS232相容介面,設計上就是用74系列晶片邏輯閘做了反向,傳送還是TTL電平,只是反過來,這個不是標準的RS232,一般這樣通訊距離不要超過半米,和電腦用DB9是可以進行RS232通訊的 ,屏後面的短接跳線短接後會變成3.3v TTL標準通訊電平。
迪文15/16/17/18 T系列帶外殼的產品(比如DMT64480T057_18WT),RS232串列埠是嚴格的RS232規範,輸出電平是+/-5V以上。這種屏通訊距離可以長很多(理想環境是10米)。
這裡寫圖片描述

通常情況,TTL/RS232相容介面的屏在距離超過1米以上就會發現資料丟失現象比較嚴重,如果使用者的微控制器是用了標準的RS232晶片,那麼如果進行長距離通訊呢,可以採用如下的辦法,屏上面短接為標準3.3v TTL通訊電平,使用者做一個TTL轉接RS232的標準小板子,或者改用迪文有標準RS232介面的屏。

原因分析3
電平不完全匹配迪文屏是3.3V TTL,使用者有的 5V的串列埠電平微控制器。
解決方法3:
大部分晶片都相容3.3和5v,可以採用串接電阻直連的方法,電阻常用330或470歐姆(留個上拉做備用);也可以用串接高速二極體,或是用三極體做電平開關。也可以參考下圖的轉換電路。
下圖是3.3V和5V電平的TTL串列埠轉化電路,其中SS14可用其他壓降小於0.3V的肖特基二極體代替。
這裡寫圖片描述

原因分析4
通訊晶片本身問題。(如果使用者採購買的232晶片和之前一直用的不一樣,多半要考慮下這個問題的情況。)
解決方法4:
由於很多小公司沒有資源,很難從原廠拿貨,而MAX3232、MAX232假貨非常多,所以實際專案中對接使用者的控制器,可能會遇到這種情況,用示波器測量下232IC的輸入、輸出波形就清楚了。
1、先用串列埠助手單獨測評,測試一定時間後計算髮送和屏響應的資料,幀數是否一致,確定屏通訊是否有問題。
2、測試Max232晶片接收、傳送波形是否按程式設計的時間在走,發現是否存在丟波、波形對齊不整齊等現象。如下一個例子:圖左圖是不正常的232晶片,(UTC3232輸出就不對稱)的第1個位元組解調波形嚴重失真。右圖是正規的晶片波形是對稱的。
這裡寫圖片描述這裡寫圖片描述

原因分析5
波特率的誤位元速率太大,影響通訊
解決方法5:
如何降低誤位元速率,由於RS232/TTL 晶片(如MAX232)的旁路匹配電容,儲能能力不足,導致波形失真,建議使用4 顆105 電容。如圖。

這裡寫圖片描述

如果還是懷疑有波特率誤碼問題,串列埠屏和電腦通訊沒有問題,控制板和電腦通訊也沒有問題,但是控制板和串列埠屏通訊就不正常,需要使用者將二者的波特率用示波器測試出來,對比波形分析是否波特率誤碼,迪文屏是可以自定義波特率來修正二者的誤差的。

原因分析6
資料被幹擾,影響通訊,或者本身微控制器程式有問題了,傳送的指令錯誤,
解決方法6:
串列埠引線監測的辦法進行分析。這種方法聽上去難,其實需求的裝置極其簡單,非常容易操作。如圖所示,是市面上一款常見的USB轉TTL、RS232、RS485的通訊小板子,測試方法參考:例如測試某個ttl通訊的資料是否正常,將小板子和電腦的USB口插上,驅動安裝完成後,用杜邦線m接著轉接板的GND,用杜邦線n接著轉接板的RXD,杜邦線另外一頭最好用工頭的(方便用兩隻手可以戳著代測試引腳進行測量),將m和n兩根線另一頭分別接著串列埠屏的GND和RXD(或TXD),這樣控制板在給屏發資料的時候,就能夠捕捉到經過單片機發給屏的資料了,用串列埠工具收取之後進行分析檢視。(這種方法適用於分析、排查各類與通訊指令不正常的故障原因)
這裡寫圖片描述

原因分析7:
例如:TTL通訊屏和電腦能通訊、控制板和電腦也能通訊,但是屏和控制就是通訊不上。
解決方法7:
不妨用示波器測量下波形,如果電路輸出的高電平低於3.3V, 分一下a、b兩種情況去考慮。
a、這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值,上拉電阻也能增強抗干擾能力。一般情況下,串列埠通訊用TTL連線的時候,因這種連線的通訊距離很近(建議控制50cm以內),極易受到干擾。為了消除TTL線上的干擾,所以,除了兩個腳上加5-10K的上拉電阻,還再接一個小容量的電容,是可以濾到高頻干擾脈衝。這種接法可以看成是阻容濾波電路。
b、測量是否由於負載原因,給控制板通訊晶片供電電壓過低了,導致的輸出電平也變低。