硬件篇
Q:串口工具打開(kāi)后,刷新不到串口號(hào)。
A:大部分的臺(tái)式機(jī)會(huì)有一個(gè)串口1,這個(gè)就是電腦的DB9出口,一般用DB9轉(zhuǎn)接延長(zhǎng)線,是可以和DB9的進(jìn)行RS232通訊,現(xiàn)在大部分的筆記本電腦沒(méi)有串口1,通常用串口轉(zhuǎn)接線、轉(zhuǎn)接板,通過(guò)USB轉(zhuǎn)出TTL,RS232,RS485,打開(kāi)設(shè)備管理器,需要更新串口驅(qū)動(dòng)。通訊后,串口號(hào)不能選錯(cuò),一般的串口通信工具,HEX發(fā)送需要勾選,這個(gè)是通訊的前提。
Q:屏發(fā)出來(lái)的數(shù)據(jù)在串口工具表現(xiàn)出來(lái)是亂碼,接收不到數(shù)據(jù)。
A:波特率是否匹配,串口電平是否錯(cuò)誤,轉(zhuǎn)接板芯片是否匹配。
Q:接線錯(cuò)誤。
A:在RS232或者TTL通訊是需要3根線才能看到有接收、發(fā)送交互的通訊的,地線G、收R或者發(fā)T,其中信號(hào)地是一定要接的,通常發(fā)出來(lái)通常用DOUT、或者TXD、TX、T、232T等英文縮寫(xiě)表示,串口屏的接收用的DIN、RXD、RX、232R等英文縮寫(xiě)表示,信號(hào)地是GND、G來(lái)表示。通常要交叉接線,也就是串口屏的R接電腦的T,串口屏的T接電腦的R。
在RS485接線中,也就是需要至少2根線,簡(jiǎn)單的說(shuō)就是A接A,B接B,RS-485半雙工模式接線時(shí)將T/R+接對(duì)方的A+、T/R-接對(duì)方的B-。
B:通常要交叉接線,也就是串口屏的R接單片機(jī)的T、串口屏的T接單片機(jī)的R、GND接GND。在RS485接線中,需要至少2根線,A接A,B接B。RS-485半雙工模式接線時(shí)將T/R+接對(duì)方的A+、T/R-接對(duì)方的B-。
Q:接 TTL和RS232兼容性電平選擇不對(duì)。
A:電平匹配問(wèn)題,串口屏的電平是TTL還是RS232,有的屏后面有短接處可以短接進(jìn)行跳變?nèi)缦聢D紅框處。
DGUSI屏,比如C070_15WT、C050_04WT,和用戶CPU的連接距離很短。為了提升波特率又方便接PC調(diào)試,迪文的TTL/RS232兼容接口在設(shè)計(jì)上用了74系列芯片邏輯門(mén)做反向,發(fā)送還是TTL電平,只是反過(guò)來(lái)。這個(gè)不是標(biāo)準(zhǔn)的RS232,一般這樣通訊距離不要超過(guò)半米。和電腦用DB9是可以進(jìn)行RS232通訊的,屏后面的短接跳線短接后會(huì)變成3.3V TTL 標(biāo)準(zhǔn)通訊電平。
迪文DGUSI 15/16/17/18WT 系列帶外殼的產(chǎn)品(比如DMT64480T057_18WT),RS232串口是嚴(yán)格的RS232規(guī)范,輸出電平是+/-5V以上。這種屏通訊距離可以長(zhǎng)很多(理想環(huán)境是10米)。
通常情況,TTL/RS232兼容接口的屏在距離超過(guò)1米以上就會(huì)發(fā)現(xiàn)數(shù)據(jù)丟失現(xiàn)象比較嚴(yán)重,如果用戶的單片機(jī)用了標(biāo)準(zhǔn)的RS232芯片,那么如果進(jìn)行長(zhǎng)距離通訊呢,可以采用如下辦法:屏上面短接為標(biāo)準(zhǔn)3.3V TTL 通訊電平,用戶做一個(gè)TTL轉(zhuǎn)接RS232的標(biāo)準(zhǔn)小板子,或者改用迪文有標(biāo)準(zhǔn)RS232接口的屏。
Q:電平不完全匹配,迪文屏是3.3V TTL,有些用的5V的串口電平單片機(jī)。
A:大部分芯片都兼容3.3和5V,可以采用串接電阻直連的方法,電阻常用330或470歐姆(留個(gè)上拉做備用);也可以用串接高速二極管,或是用三極管做電平開(kāi)關(guān)。也可以參考下圖的轉(zhuǎn)換電路。
下圖是3.3V和5V電平的TTL串口轉(zhuǎn)化電路,其中SS14可用其他壓降小于0.3V的肖特基二極管代替。
Q:通訊芯片本身問(wèn)題。(用戶更換232芯片物料時(shí)容易出現(xiàn)這一問(wèn)題)
A:MAX3232、MAX232假貨非常多,可以用示波器測(cè)量下232IC的輸入、輸出波形驗(yàn)證:先用串口助手單獨(dú)測(cè)評(píng),測(cè)試一定時(shí)間后計(jì)算發(fā)送和屏響應(yīng)的數(shù)據(jù),幀數(shù)是否一致,確定屏通信是否有問(wèn)題;測(cè)試Max232芯片接收、發(fā)送波形是否按程序設(shè)計(jì)的時(shí)間在走,發(fā)現(xiàn)是否存在丟波、波形對(duì)齊不整齊等現(xiàn)象。
如下例子:圖左圖是不正常的232芯片,(UTC3232輸出就不對(duì)稱)的第1個(gè)字節(jié)解調(diào)波形嚴(yán)重失真。右圖是正規(guī)的芯片波形是對(duì)稱的。
Q:波特率的誤碼率太大,影響通訊。
A:如何降低誤碼率,由于RS232/TTL芯片(如MAX232)的旁路匹配電容,儲(chǔ)能能力不足,導(dǎo)致波形失真,建議使用4顆105 電容。如圖。
如果還是懷疑有波特率誤碼問(wèn)題,串口屏和電腦通訊沒(méi)有問(wèn)題,控制板和電腦通訊也沒(méi)有問(wèn)題,但是控制板和串口屏通訊就不正常,需要用戶將二者的波特率用示波器測(cè)試出來(lái),對(duì)比波形分析是否波特率誤碼,迪文屏是可以自定義波特率來(lái)修正二者的誤差的。
Q:TTL通訊屏和電腦能通訊、控制板和電腦也能通訊,但是屏和控制就是通訊不上。
A:用示波器測(cè)量下波形,如果電路輸出的高電平低于3.3V, 分一下a、b兩種情況去考慮。
a、這時(shí)就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值,上拉電阻也能增強(qiáng)抗干擾能力。一般情況下,串口通信用TTL連接的時(shí)候,因這種連接的通信距離很近(建議控制50cm以內(nèi)),極易受到干擾。為了消除TTL線上的干擾,所以,除了兩個(gè)腳上加5-10K的上拉電阻,還再接一個(gè)小容量的電容,是可以濾到高頻干擾脈沖。這種接法可以看成是阻容濾波電路。
b、測(cè)量是否由于負(fù)載原因,給控制板通訊芯片供電電壓過(guò)低了,導(dǎo)致的輸出電平也變低。
軟件篇
Q:DGUS屏開(kāi)啟了校驗(yàn),或者升級(jí)、降級(jí)為其他的內(nèi)核,導(dǎo)致通訊不上。
A:檢查屏的系統(tǒng)配置,DGUS屏有必要在保證通訊正常的情況,用串口升級(jí)內(nèi)核處理。
Q:DGUSII屏下載了CFG文件之后就不能通訊了。
A:檢查屏的CFG系統(tǒng)配置,0607的位置寫(xiě)了5AA5開(kāi)啟了系統(tǒng)時(shí)間校準(zhǔn)之后,可能把屏通訊弄得波特率不對(duì),在屏上電的時(shí)候,收到的指令不是發(fā)送的校準(zhǔn)的30個(gè)55之內(nèi)的規(guī)定指令導(dǎo)致。一般用戶下載CFG的時(shí)候0607位置都寫(xiě)0000最好,如果是DGUSII屏?xí)r鐘誤校準(zhǔn)了,那么重新按照正確的方法操作。
Q:數(shù)據(jù)被干擾,影響通訊,或者本身單片機(jī)程序有問(wèn)題了,發(fā)送的指令錯(cuò)誤。
A:用串口引線監(jiān)測(cè)法。
工具可以是常見(jiàn)的USB轉(zhuǎn)TTL、RS232、RS485的通訊小板子。測(cè)試方法參考:測(cè)試某個(gè)TTL通訊的數(shù)據(jù)是否正常:將小板子和電腦的USB口插上,驅(qū)動(dòng)安裝完成后,用杜邦線m接著轉(zhuǎn)接板的GND,用杜邦線n接著轉(zhuǎn)接板的RXD,杜邦線另外一頭最好用工頭的(方便用兩只手可以戳著代測(cè)試引腳進(jìn)行測(cè)量),將m和n兩根線另一頭分別接著串口屏的GND和RXD(或TXD),這樣控制板在給屏發(fā)數(shù)據(jù)的時(shí)候,就能夠捕捉到經(jīng)過(guò)單片機(jī)發(fā)給屏的數(shù)據(jù)了,用串口工具收取之后進(jìn)行分析查看。(這種方法適用于分析、排查各類(lèi)與通訊不正常的故障原因)