1 載波檢測 DCD Received Line Signal Detector (Data Carrier Detect)
2 接收數(shù)據(jù) RXD Received Data
3 發(fā)送數(shù)據(jù) TXD Transmit Data
4 數(shù)據(jù)終端準備好 DTR Data Terminal Ready
5 信號地 SG Signal Ground
6 數(shù)據(jù)準備好 DSR Data Set
7 請求發(fā)送 RTS Request To Send
8 清除發(fā)送 CTS Clear To Send
9 振鈴提示 RI Ring Indicator
串行通信接口標準經(jīng)過使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標準的基礎(chǔ)上經(jīng)過改進而形成的。所以,以RS-232C為主來討論。RS-232C標準是美國EIA(電子工業(yè)聯(lián)合會)與BELL等公司一起開發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s范圍內(nèi)的通信。這個標準對串行通信接口的有關(guān)問題,如信號線功能、電氣特性都作了明確規(guī)定。由于通信設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。
在討論RS-232C接口標準的內(nèi)容之前,先說明兩點:
終端
首先,RS-232-C標準最初是遠程通信連接數(shù)據(jù)終端設(shè)備DTE(Data Terminal Equipment)與數(shù)據(jù)通信設(shè)備DCE(Data Communicate Equipment)而制定的。因此這個標準的制定,并未考慮計算機系統(tǒng)的應(yīng)用要求。但目前它又廣泛地被借來用于計算機(更準確的說,是計算機接口)與終端或外設(shè)之間的近端連接標準。顯然,這個標準的有些規(guī)定和計算機系統(tǒng)是不一致的,甚至是相矛盾的。有了對這種背景的了解,我們對RS-232C標準與計算機不兼容的地方就不難理解了。
收發(fā)
其次,RS-232C標準中所提到的“發(fā)送”和“接收”,都是站在DTE立場上,而不是站在DCE的立場來定義的。由于在計算機系統(tǒng)中,往往是CPU和I/O設(shè)備之間傳送信息,兩者都是DTE,因此雙方都能發(fā)送和接收。
圖1 AT90S2313 MAX232 AVR微控制器串口電路圖
圖2 RS232接口電路圖
單片機的串口是TTL電平,在實際應(yīng)用時,需要將TTL電平轉(zhuǎn)換成RS232電平。RS232的接口芯片很多,最著名的當然是maxim公司的max232;跟這個芯片完全兼容的芯片很多,象LINEAR公司的LT1081、LT1181,HARRIS的ICL232等,都是十分著名且常用的芯片,LINEAR的串行接口轉(zhuǎn)換芯片在早期的電路設(shè)計中經(jīng)??梢砸姷?,但是近來好像比較少見了。ICL232比MAX232便宜。
看MAX232的原理框圖,需要注意到2點:
1)需要外接電容0.1u電容,或者1u的膽電解電容或電解電容,有一款232芯片不需要外接電容,但是因為在芯片中做一個達到電容效果的電路是比較難,所以也比較貴;所以一般都選用外接電容的;之所以需要電容,是因為RS232電平是工作在大約-9V~+9V之間,需要電容將5V電壓轉(zhuǎn)換成Rs232電平所需要的+10V和-10V;電路上叫電荷泵,很形象;
2)Rs232的邏輯和TTL是正好相反的。在框圖上,輸入和輸出之間的邏輯是反的;對于TTL電平,當沒有232信號發(fā)出時,是高電平;對于RS232來說,這時,TX端是-8~9V電壓,相對于0V來說;如果有了信號,那就是從 9V~-9V交錯變化的一系列信號,使用示波器可以看到信號的變化。
利用以上的特點,我們可以測試RS232接口電路的好壞。
1)判斷芯片是否正常,參見MAX232的框圖,使用萬用表測量2和6腳,只要2腳的電壓在+8V~+9V之間、6腳在-8V~-9V之間,就基本上可以斷定這個芯片是好的;
2)在Rs232沒有發(fā)信號時,看TX端電壓為Rs232的高電平,也就是-8V~-9V之間,當發(fā)信號時,數(shù)據(jù)在變化,這說明這個Rs232的端口是好的;這個方法也適用于測量本地的串口。
早起的RS232接口芯片是MC1488(發(fā)送)、MC1489。MC1489因為只有接收,所以是單5V電源工作;MC1488則需要正負12V電源;但是在工控機的板卡中,正負電源不是問題,所以在moxaC168等多串口卡中,仍然使用MC1488、MC1489,價格便宜成本低。這種芯片,motorola的居多。
RS232的驅(qū)動能力是比較強的,至少在10幾米以上,比較膽子大的,用在20~30米甚至更遠;這時,最好使用屏蔽線效果會更好一些。
由于RS232接口電路是PC機和用戶開發(fā)系統(tǒng)的唯一通路,因此,它是在線調(diào)試和下載功能實現(xiàn)的關(guān)鍵。在用戶系統(tǒng)的開發(fā)研制過程中,經(jīng)常會出現(xiàn)在線通信故障問題。導(dǎo)致該現(xiàn)象發(fā)生的原因有很多,但最有可能的是接口電路工作異常所產(chǎn)生。要判斷RS232接口電路工作是否正常,可按以下步驟逐一檢查RS232通信是否正常。
?、賄 和V-引腳電壓是否足夠高(分別超過+8V和-8V)。若電壓較低,則可能ADM202芯片已損壞。
?、赗1IN腳是否存在±12V的脈沖信號。若存在,則說明PC機方面通信發(fā)送信號正常。
③R1OUT腳是否存在 5V信號。若存在,則說明ADM202接收PC機信號工作正常。
?、躎1IN腳是否存在 5V信號。若存在,則說明ADμC812對PC機的通信產(chǎn)生響應(yīng);否則是ADμC812通信存在問題,說明ADμC812工作不正常。
⑤T1OUT腳是否存在±12V的脈沖信號。若存在,但ADμC812還無法進入在線調(diào)試狀態(tài),則說明DB9與PC機之間的串行接口電纜有問題。
1、用示波器觀察MAX232的TXD的波形是規(guī)則的0,1變化的波形,只是幅度很大;而RXD不是很規(guī)則的0,1變化,上升沿出現(xiàn)割角,斜邊電壓稍微有大小起伏??墒荰TL輸出都是規(guī)則的0,1變化波形!!
2、用萬用表測量電壓(VCC=5V):
第2腳有8.7V-9.3V的變化,
第6腳有-8.4--(-9.0V)變化;
1-3腳為4.9V-4.9V;
4-5腳為0.02V-3.9V
串口通訊的硬件電路如上圖所示,我們可以采用以下方法來判斷串口是否存在硬件問題,將MAX232的第9腳接地,測量一下串口的第3腳和第5腳之間是否輸出10V左右的直流電壓?將MAX232的第9腳接正5V,測量一下串口的第3腳和第5腳之間是否輸出-10V左右的直流電壓?這樣可以判斷MAX232是否完好和串口線的排線壓接處是否有接觸不良。