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