介紹了利用TL16C554和PLD電路設(shè)計四串口通信板的方法,電路板結(jié)構(gòu)緊湊,兼容性好,能實現(xiàn)RS-232和RS-485通信,RS-485通信還具有自動識別信號極性的功能。
關(guān)鍵詞:PC/104,PLD,RS-485,極性識別?
1 引言
PC/104嵌入式控制PC出現(xiàn)于80年代末,并于1992年形成IEEEP966.1標準,它既繼承了所有的PC資源,又在結(jié)構(gòu)、體積、功耗、可靠性等方面重新進行了設(shè)計,使之與IBM PC完全兼容,并具有了體積小、功耗低、工作溫度范圍寬、可靠性高等特點。PC/104嵌入式控制PC采用了獨特的“自棧式”總線連接,模塊化結(jié)構(gòu),使用起來靈活方便。它所采用的面向?qū)ο蟮挠布O(shè)計方法使得在PC/104標準上開發(fā)的擴展模塊具有更強的通用性和更長的生命期。同臺式PC機一樣,PC/104嵌入式控制PC也提供兩個RS-232串行口。串行通信端口在數(shù)據(jù)通信中一直扮演極重要的角色,它不僅沒有因為時代的進步而被淘汰,反而在規(guī)格上愈來愈向其極限挑戰(zhàn)。常用的串行通信接口有RS-232和RS-485兩種,近年來盛行的USB和IEEE 1394也屬于串行通信的延伸。RS-232主要用于點對點通信,特別是通過MODEM進行遠距離的兩點之間的通信;RS-485主要用于多機通信,采用平衡差分電路雙線傳輸,總線連接,距離在1km以內(nèi)時最大速率是100kbps,允許并聯(lián)32臺驅(qū)動器和32臺接收器以半雙工方式工作。
PC/104所提供的兩個串行口資源在很多情況下會不夠用,這是因為,不僅使用串行口的外設(shè)在增加,而且串行口的功能也在擴展。比如,有些PC/104可將接到串行口的設(shè)備作為系統(tǒng)控制臺使用,占用了寶貴的串行口資源;串行口通信所具有的優(yōu)點使其成為計算機之間通信的首選,隨著計算機之間通信需求的增加,尤其在多機通信中,串行口資源就不夠用;在一些PC/104中,兩個串口的地址往往是不能改變的,給使用帶來不便; PC/104不提供RS?442或RS-485串行口,在需要利用RS?485總線實現(xiàn)多機通信時就必須另外配備轉(zhuǎn)換器。針對這些困難,解決的方法就是按照PC/104標準開發(fā)擴展通信板。
本設(shè)計是根據(jù)實際系統(tǒng)的需求開發(fā)的,設(shè)計中利用集成異步通信單元結(jié)合外圍接口電路并按照PC/104標準設(shè)計開發(fā)了擴展串口通信板,板上提供了兩個RS-232串行口和兩個RS-485串行口,串行口地址和中斷請求號可由用戶選擇。設(shè)計中也考慮了擴展通信板的通用性,所設(shè)計的通信板符合PC/104標準,支持即插即用,用戶可根據(jù)需要和系統(tǒng)資源條件設(shè)置串行口地址和中斷請求號,因此,本設(shè)計也可作為開發(fā)PC/104標準串口通信板的參考。另外,在本設(shè)計中RS-485串行口的硬件電路中有一個獨特的結(jié)構(gòu),結(jié)合通信協(xié)議,可實現(xiàn)信號極性的自動識別和轉(zhuǎn)換。
2 通信板的設(shè)計方法
2.1 總體結(jié)構(gòu)
本設(shè)計的總體結(jié)構(gòu)原理如圖1所示。
圖中PC/104總線是兼容于PC/AT的ISA總線,設(shè)計中使用了8位數(shù)據(jù)信號D0~D7,它們通過數(shù)據(jù)緩沖電路連接異步通信單元;10根地址線A0~A9,讀寫控制信號IOR,IOW,地址使能信號AEN和復(fù)位信號RESET,這些信號同地址選擇電路以及PLD電路中設(shè)計的邏輯電路一起完成串行口的地址選擇和各種邏輯控制,對每一個串口的內(nèi)部寄存器的操作由地址的低3位A0,A1,A2選擇確定;中斷號選擇電路結(jié)合PLD電路提供了IRQ3,4,5,7,9,10,11,15 這8個中斷請求號供選擇。
異步通信單元使用TI公司的TL16C554,它包含了4個異步收發(fā)單元,每一個都與16550兼容,加上電平轉(zhuǎn)換電路就可構(gòu)成一個串行口。
RS-232電平轉(zhuǎn)換電路采用MAX213,它提供了5路232到TTL電平的轉(zhuǎn)換和4路TTL到232電平的轉(zhuǎn)換,一片MAX213就可實現(xiàn)完整的RS-232接口功能。
RS-485電平轉(zhuǎn)換電路采用SN75176,它提供了485標準電平與TTL電平之間的轉(zhuǎn)換,接收和發(fā)送部分可單獨控制。
數(shù)據(jù)緩沖由74HC245承擔,其傳輸方向由主機IOR信號控制,片選信號由PLD電路產(chǎn)生。
地址選擇電路提供用戶設(shè)置串行口地址,通過短路塊的連接將地址的高4位A6~A9置0或置1。
2.2 異步通信單元?
TL16C554是TI公司的產(chǎn)品,集成度高,性能穩(wěn)定。其內(nèi)部包含了4個可獨立操作的可編程異步收發(fā)單元16C550,它們共用了數(shù)據(jù)線D7~D0、內(nèi)部寄存器地址線A2~A0、讀寫信號線IOR和IOW、DMA讀寫控制TXRDY和RXRDY、復(fù)位RESET、時鐘XTL1和XTL2。每個收發(fā)單元都有自己的片選信號CS、中斷請求INT、數(shù)據(jù)輸出TX、數(shù)據(jù)輸入RX及MODEM邏輯控制信號CTS,DCD,DSR,DTR,RI,RTS。其內(nèi)部功能模塊如圖2所示。
每一個內(nèi)部的異步收發(fā)單元都等同于一個16550,它向下兼容16450,包含了16字節(jié)的先進先出寄存器,從而減少了對CPU的中斷次數(shù)??删幊淘O(shè)定的波特率最大可達1Mbps,接口的字符結(jié)構(gòu)可由用戶選擇,自動完成起始位、停止位、奇偶校驗位的加入和刪除,具有可程序化中斷控制和完整的MODEM控制邏輯功能。
2.3 PLD電路
考慮到104標準的尺寸限制,設(shè)計中應(yīng)盡量采用緊湊的結(jié)構(gòu),因此,用PLD電路來產(chǎn)生異步通信單元、數(shù)據(jù)緩沖電路的控制信號,還利用此電路實現(xiàn)485連接時信號極性的自動轉(zhuǎn)換。
PLD電路采用了ALTERA公司的EPM7064,它包含了4個邏輯陣列塊,64個宏單元,有1250個邏輯門可供使用。開發(fā)工具為MAX+PLUSⅡ。
PLD電路主要完成以下功能:?
·每一個異步收發(fā)單元的選擇。利用8根地址信號A9-A3和讀寫控制信號IOR,IOW之間的邏輯關(guān)系產(chǎn)生片選信號,其中,A9-A6位地址信號同地址選擇電路的信號一起先送到一個四位比較器中進行地址比較,地址選擇電路可由用戶設(shè)定,這樣就增加了用戶對地址的選擇范圍和使用的靈活性。
·雙向數(shù)據(jù)緩沖器的片選。利用A9-A6和讀寫控制信號產(chǎn)生。?
·485信號極性選擇。485采用總線方式連接,利用差分方式傳輸,兩根連接線之間的信號正負極性不同,使用時必須使同極性端相連。當節(jié)點之間比較遠,或者使用者并不清楚信號線的極性關(guān)系時,往往不能保證接線的正確,因此,我們設(shè)計了極性的自動轉(zhuǎn)換電路。基本思路是這樣的,設(shè)置一個電子開關(guān),在通信初始化期間由主機發(fā)一個固定的測試信號,如果從機發(fā)現(xiàn)接收到的信號不對,就切換電子開關(guān)換向,如果接收到的測試信號正確,就保持原來的連接。電子開關(guān)由異或門充當,它可以反轉(zhuǎn)或保持發(fā)送和接收的信號,即,當輸入端中的一個信號置1時就可使另一個輸入信號在輸出端反相,而當將其置0時輸出信號保持不變。電子開關(guān)的控制由D觸發(fā)器實現(xiàn),在初始化期間從機根據(jù)所接收信號的正誤,選通D觸發(fā)器,產(chǎn)生合適的電平,實現(xiàn)電子開關(guān)的控制。以上邏輯關(guān)系都由PLD電路完成。
3 結(jié)束語
本設(shè)計中,因高集成度串行口異步收發(fā)芯片和PLD電路的使用提升了電路的性能,所制作的印刷電路板結(jié)構(gòu)緊湊,抗干擾性好,在幾種不同型號104/PC機上使用時表現(xiàn)出了良好的兼容性和穩(wěn)定性。