專利名稱:多口競(jìng)爭(zhēng)串行通信共享器的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型屬于計(jì)算機(jī)通信領(lǐng)域,涉及一種串行通信共享設(shè)備,尤其是涉及一種多口競(jìng)爭(zhēng)串行通信共享器。
串行通信是一種點(diǎn)到點(diǎn)的通信協(xié)議,在現(xiàn)有技術(shù)中,使用串口的設(shè)備及資源只能獨(dú)占使用,而獨(dú)占的設(shè)備往往使用率低,造成設(shè)備和資源的浪費(fèi)。中國(guó)專利ZL94240723.7公開(kāi)了一種“串行通信打印機(jī)共享服務(wù)器”,它采用將所有串行口的數(shù)據(jù)線(TXD和RXD)都接到一起的方法,實(shí)現(xiàn)多臺(tái)計(jì)算機(jī)通過(guò)串行口共享一臺(tái)串口打印機(jī),但在兩臺(tái)或兩臺(tái)以上計(jì)算機(jī)同時(shí)使用共享的串口打印機(jī)時(shí)傳輸?shù)臄?shù)據(jù)將會(huì)嚴(yán)重沖突導(dǎo)至傳輸?shù)臄?shù)據(jù)嚴(yán)重錯(cuò)誤,甚至?xí)龤в?jì)算機(jī)或共享打印機(jī)的串行接口硬件,實(shí)用性差。
本實(shí)用新型的目的是提供一種多口競(jìng)爭(zhēng)串行通信共享器,能夠通過(guò)發(fā)送請(qǐng)求(RTS)競(jìng)爭(zhēng)方式準(zhǔn)確地實(shí)現(xiàn)多臺(tái)數(shù)據(jù)終端設(shè)備(DTE)與一臺(tái)共享的數(shù)據(jù)通信設(shè)備(DCE)之間的串行通信,具有設(shè)計(jì)巧妙、實(shí)施容易、通信準(zhǔn)確、使用安全、方便靈活、成本低的優(yōu)點(diǎn),特別適合于計(jì)算機(jī)遠(yuǎn)程通信網(wǎng)絡(luò)。
本實(shí)用新型實(shí)現(xiàn)的技術(shù)方案是它由DTE串口接頭組、DTE串口驅(qū)動(dòng)電路組、CPU、三個(gè)數(shù)字開(kāi)關(guān)組、DCE串口驅(qū)動(dòng)電路和DCE串口接頭構(gòu)成,DTE串口接頭組中的串口接頭個(gè)數(shù)和DTE串口驅(qū)動(dòng)電路組中的串口驅(qū)動(dòng)電路個(gè)數(shù)以及三個(gè)數(shù)字開(kāi)關(guān)組中每組的數(shù)字開(kāi)關(guān)個(gè)數(shù)相等,三個(gè)數(shù)字開(kāi)關(guān)組為T(mén)XD數(shù)字開(kāi)關(guān)組、RXD數(shù)字開(kāi)關(guān)組和CTS數(shù)字開(kāi)關(guān)組,其特征在于DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路的RTS端與CPU的一根I/O口線對(duì)應(yīng)相連,CPU的另外一根I/O口線與DCE串口驅(qū)動(dòng)電路的RTS端相連;DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路的TXD端與TXD數(shù)字開(kāi)關(guān)組中對(duì)應(yīng)的一個(gè)數(shù)字開(kāi)關(guān)輸入端相連,TXD數(shù)字開(kāi)關(guān)組中每個(gè)數(shù)字開(kāi)關(guān)輸出端均與DCE串口驅(qū)動(dòng)電路的TXD端相連;DCE串口驅(qū)動(dòng)電路的RXD端與RXD數(shù)字開(kāi)關(guān)組中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,RXD數(shù)字開(kāi)關(guān)組中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組中的一個(gè)串口驅(qū)動(dòng)電路的RXD端對(duì)應(yīng)相連;DCE串口驅(qū)動(dòng)電路的CTS端與CTS數(shù)字開(kāi)關(guān)組中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,CTS數(shù)字開(kāi)關(guān)組中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組中的一個(gè)串口驅(qū)動(dòng)電路的CTS端對(duì)應(yīng)相連;TXD數(shù)字開(kāi)關(guān)組、RXD數(shù)字開(kāi)關(guān)組和CTS數(shù)字開(kāi)關(guān)組每組中的對(duì)應(yīng)數(shù)字開(kāi)關(guān)控制端相連后與CPU的一根I/O口線相連。
本實(shí)用新型的基本原理如下三個(gè)數(shù)字開(kāi)關(guān)組相當(dāng)于三組選通開(kāi)關(guān),CPU的I/O端口的作用分成三種第一種用于查詢DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路RTS輸出端狀態(tài),它們與DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路的RTS端對(duì)應(yīng)相連,這種CPU的I/O端口是用作信號(hào)輸入端,其I/O口線數(shù)量與DTE串口接頭組中的串口接頭個(gè)數(shù)相等;第二種用于控制三個(gè)數(shù)字開(kāi)關(guān)組中對(duì)應(yīng)開(kāi)關(guān)的通斷,它們與TXD數(shù)字開(kāi)關(guān)組、RXD數(shù)字開(kāi)關(guān)組和CTS數(shù)字開(kāi)關(guān)組每組中的對(duì)應(yīng)數(shù)字開(kāi)關(guān)控制端相連,這種CPU的I/O端口是用作控制信號(hào)輸出端,其I/O口線數(shù)量也與DTE串口接頭組中的串口接頭個(gè)數(shù)相等;第三種用于向DCE輸出競(jìng)爭(zhēng)上DTE的RTS信號(hào),這種CPU的I/O端口只有一根口線,用作信號(hào)輸出端。CPU不斷查詢DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路的RTS輸出是否有效,若某口的RTS輸出有效,且此時(shí)DCE正好空閑,則CPU受理此口的RTS請(qǐng)求(即此口競(jìng)爭(zhēng)上),并通過(guò)第三種I/O端口的口線向DCE串口驅(qū)動(dòng)電路的RTS端發(fā)出此口RTS信號(hào),同時(shí)CPU禁止再查詢其它串口驅(qū)動(dòng)電路的RTS輸出,僅查詢此口的RTS狀態(tài)是否保持有效,并通過(guò)第二種I/O端口中對(duì)應(yīng)的一根I/O口線控制三組數(shù)字開(kāi)關(guān)中對(duì)應(yīng)的三個(gè)數(shù)字開(kāi)關(guān)接通,使競(jìng)爭(zhēng)上的DTE與共享的DCE之間的數(shù)據(jù)和狀態(tài)傳輸通道接通;共享的DCE響應(yīng)后將回送有效的CTS信號(hào)經(jīng)CTS數(shù)字開(kāi)關(guān)到DTE串口驅(qū)動(dòng)電路組中的已競(jìng)爭(zhēng)上的串口驅(qū)動(dòng)電路CTS端,已競(jìng)爭(zhēng)上的DTE收到有效的CTS信號(hào)之后,發(fā)送的數(shù)據(jù)經(jīng)相應(yīng)的串口驅(qū)動(dòng)電路的TXD端和已接通的TXD數(shù)字開(kāi)關(guān)組中對(duì)應(yīng)的數(shù)字開(kāi)關(guān)及DCE串口驅(qū)動(dòng)電路的TXD端到DCE;DCE回傳的數(shù)據(jù)經(jīng)DCE串口驅(qū)動(dòng)電路的RXD端和已接通的RXD數(shù)字開(kāi)關(guān)組中對(duì)應(yīng)的數(shù)字開(kāi)關(guān)及DTE串口驅(qū)動(dòng)電路組中已競(jìng)爭(zhēng)上的串口驅(qū)動(dòng)電路RXD端到DTE。這樣保證了已競(jìng)爭(zhēng)上的DTE與共享DCE之間數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和安全性。當(dāng)已競(jìng)爭(zhēng)上的DTE的數(shù)據(jù)傳輸通信任務(wù)結(jié)束時(shí),該DTE的RTS信號(hào)變?yōu)闊o(wú)效,CPU隨即查詢出該口RTS無(wú)效,立即通過(guò)第二種I/O端口中對(duì)應(yīng)的那根I/O口線控制三組數(shù)字開(kāi)關(guān)中對(duì)應(yīng)的三個(gè)數(shù)字開(kāi)關(guān)關(guān)斷,斷開(kāi)已競(jìng)爭(zhēng)上的DTE與共享的DCE之間的數(shù)據(jù)和狀態(tài)傳輸通道,并通過(guò)第三種I/O端口的口線向DCE串口驅(qū)動(dòng)電路的RTS端發(fā)出無(wú)效的RTS信號(hào),此后,CPU將恢復(fù)查詢DTE串口驅(qū)動(dòng)電路組中的每個(gè)串口驅(qū)動(dòng)電路RTS輸出端狀態(tài)。
以下將結(jié)合附圖對(duì)本實(shí)用新型作進(jìn)一步描述。
圖1是本實(shí)用新型的原理框圖。
圖2是本實(shí)用新型實(shí)施例的電路圖。
圖3是本實(shí)用新型實(shí)施例的軟件流程圖。
參見(jiàn)圖1,本實(shí)用新型由DTE串口接頭組1、DTE串口驅(qū)動(dòng)電路組2、CPU3、TXD數(shù)字開(kāi)關(guān)組4、RXD數(shù)字開(kāi)關(guān)組5、CTS數(shù)字開(kāi)關(guān)組6、DCE串口驅(qū)動(dòng)電路7和DCE串口接頭8構(gòu)成;DTE串口接頭組1由串口接頭1-1、…、1-n構(gòu)成、DTE串口驅(qū)動(dòng)電路組2由串口驅(qū)動(dòng)電路2-1、…、2-n構(gòu)成、TXD數(shù)字開(kāi)關(guān)組4由數(shù)字開(kāi)關(guān)4-1、…、4-n構(gòu)成、RXD數(shù)字開(kāi)關(guān)組5由數(shù)字開(kāi)關(guān)5-1、…、5-n構(gòu)成、CTS數(shù)字開(kāi)關(guān)由數(shù)字開(kāi)關(guān)6-1、…、6-n構(gòu)成,CPU3的I/O端口包括I/O-1輸入、I/O-2輸出和I/O-3單根輸出三種端口,每組中器件的個(gè)數(shù)及CPU3中I/O-1輸入和I/O-2輸出的端口口線數(shù)相等、均為n、且一一對(duì)應(yīng)。DTE串口驅(qū)動(dòng)電路組2中的每個(gè)串口驅(qū)動(dòng)電路的RTS端與CPU3中I/O-1的一根I/O口線對(duì)應(yīng)相連(如2-1與I/O-1的第一根口線相連),CPU3中I/O-3的一根I/O口線與DCE串口驅(qū)動(dòng)電路7的RTS端相連;DTE串口驅(qū)動(dòng)電路組2中的每個(gè)串口驅(qū)動(dòng)電路的TXD端與TXD數(shù)字開(kāi)關(guān)組4中對(duì)應(yīng)的一個(gè)數(shù)字開(kāi)關(guān)輸入端相連(如2-1與4-1相連),TXD數(shù)字開(kāi)關(guān)組4中每個(gè)數(shù)字開(kāi)關(guān)輸出端均與DCE串口驅(qū)動(dòng)電路7的TXD端相連;DCE串口驅(qū)動(dòng)電路7的RXD端與RXD數(shù)字開(kāi)關(guān)組5中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,RXD數(shù)字開(kāi)關(guān)組5中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組2中的一個(gè)串口驅(qū)動(dòng)電路的RXD端對(duì)應(yīng)相連(如5-1與2-1相連);DCE串口驅(qū)動(dòng)電路7的CTS端與CTS數(shù)字開(kāi)關(guān)組6中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,CTS數(shù)字開(kāi)關(guān)組6中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組2中的一個(gè)串口驅(qū)動(dòng)電路的CTS端對(duì)應(yīng)相連(如6-1與2-1相連);TXD數(shù)字開(kāi)關(guān)組4、RXD數(shù)字開(kāi)關(guān)組5和CTS數(shù)字開(kāi)關(guān)組6相當(dāng)于三組數(shù)字選通開(kāi)關(guān),所有數(shù)字開(kāi)關(guān)的選通由CPU3中I/O-2的輸出進(jìn)行控制,每組數(shù)字開(kāi)關(guān)中對(duì)應(yīng)數(shù)字開(kāi)關(guān)的控制端相連后與CPU3中I/O-2的一根I/O口線相連(如4-1、5-1和6-1相連后與I/O-1的第一根口線)。
參見(jiàn)圖2、圖1,其中圖2為本實(shí)用新型以8個(gè)DTE共享一個(gè)DCE為實(shí)施例的電路圖,DTE串口接頭組1中的串口接頭數(shù)、DTE串口驅(qū)動(dòng)電路組2中的串口驅(qū)動(dòng)電路個(gè)數(shù)、三個(gè)數(shù)字開(kāi)關(guān)組4、5、6中每組的數(shù)字開(kāi)關(guān)個(gè)數(shù)以及CPU3中的I/O端口的I/O-1和I/O-2的口線數(shù)均為8,DTE串口接頭組1中的串口接頭1-1、…、1-8可采用8個(gè)DB9(或DB25)接頭,DTE串口驅(qū)動(dòng)電路組2中的串口驅(qū)動(dòng)電路2-1、…、2-8可采用8片UA1488和8片UA1489為主構(gòu)成,CPU3可采用INTEL8751,TXD數(shù)字開(kāi)關(guān)組4中的數(shù)字開(kāi)關(guān)4-1、…、4-8可采用兩片74LS126(每片74LS126有4個(gè)獨(dú)立的數(shù)字選通開(kāi)關(guān))為主構(gòu)成,RXD數(shù)字開(kāi)關(guān)組5中的數(shù)字開(kāi)關(guān)5-1、…、5-8也可采用兩片74LS126為主構(gòu)成,CTS數(shù)字開(kāi)關(guān)組6中的數(shù)字開(kāi)關(guān)6-1、…、6-8同樣可采用兩片74LS126為主構(gòu)成,DCE串口驅(qū)動(dòng)電路7可采用1片UA1488和1片UA1489為主構(gòu)成、DCE串口接頭8可采用1個(gè)DB9(或DB25)接頭,CPU3中I/O-1輸入端口可選用INTEL8751的P1端口,CPU3中I/O-2輸出控制端口可選用INTEL8751的P2端口,CPU3中I/O-3輸出端口可選用INTEL8751的P0端口中的P07口線。
參見(jiàn)圖3、圖2,本實(shí)用新型以8個(gè)DTE共享一個(gè)DCE為實(shí)施例的軟件流程為加電初始化后,CPU3中P1端口的8根端口線設(shè)置為輸入方式,以對(duì)8個(gè)DTE的RTS進(jìn)行輸入查詢;CPU3中P2口的8根端口線設(shè)置為輸出方式并輸出0,控制數(shù)字開(kāi)關(guān)組4、5、6中的所有開(kāi)關(guān)關(guān)斷;然后,CPU3查詢P1端口的所有輸入狀態(tài),并判斷是否有串口的RTS有效,若無(wú),則繼續(xù)查詢P1端口的所有輸入狀態(tài),若有,則CPU3將P2端口對(duì)應(yīng)于該串口RTS的數(shù)字開(kāi)關(guān)控制線輸出1,使數(shù)字開(kāi)關(guān)組4、5、6中對(duì)應(yīng)于該串口的數(shù)字開(kāi)關(guān)打開(kāi),同時(shí)CPU3將P0端口的P07口線輸出有效RTS,之后,CPU3將只查詢與該串口RTS對(duì)應(yīng)的P1端口線的輸入狀態(tài)是否保持有效,若仍有效,則繼續(xù)查詢?cè)摽诰€的輸入狀態(tài),若無(wú)效,則CPU3將P2端口對(duì)應(yīng)于該串口RTS的數(shù)字開(kāi)關(guān)控制線輸出0,使數(shù)字開(kāi)關(guān)組4、5、6中對(duì)應(yīng)于該串口的數(shù)字開(kāi)關(guān)關(guān)斷,同時(shí)CPU3將P0端口的P07輸出無(wú)效RTS,此后,CPU3將恢復(fù)查詢P1端口的所有輸入狀態(tài),重復(fù)上述過(guò)程直到關(guān)機(jī)。
權(quán)利要求1.一種多口競(jìng)爭(zhēng)串行通信共享器,由DTE串口接頭組1、DTE串口驅(qū)動(dòng)電路組2、CPU3、TXD數(shù)字開(kāi)關(guān)組4、RXD數(shù)字開(kāi)關(guān)組5和CTS數(shù)字開(kāi)關(guān)組6、DCE串口驅(qū)動(dòng)電路7和DCE串口接頭8構(gòu)成,DTE串口接頭組1中的串口接頭個(gè)數(shù)和DTE串口驅(qū)動(dòng)電路組2中的串口驅(qū)動(dòng)電路個(gè)數(shù)以及三個(gè)數(shù)字開(kāi)關(guān)組4、5、6中每組的數(shù)字開(kāi)關(guān)個(gè)數(shù)相等,其特征在于a、DTE串口驅(qū)動(dòng)電路組2中的每個(gè)串口驅(qū)動(dòng)電路的RTS端與CPU3的一根I/O口線對(duì)應(yīng)相連,CPU3的另外一根I/O口線與DCE串口驅(qū)動(dòng)電路7的RTS端相連;b、DTE串口驅(qū)動(dòng)電路組2中的每個(gè)串口驅(qū)動(dòng)電路的TXD端與TXD數(shù)字開(kāi)關(guān)組4中對(duì)應(yīng)的一個(gè)數(shù)字開(kāi)關(guān)輸入端相連,TXD數(shù)字開(kāi)關(guān)組4中每個(gè)數(shù)字開(kāi)關(guān)輸出端均與DCE串口驅(qū)動(dòng)電路7的TXD端相連;c、DCE串口驅(qū)動(dòng)電路7的RXD端與RXD數(shù)字開(kāi)關(guān)組5中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,RXD數(shù)字開(kāi)關(guān)組5中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組2中的一個(gè)串口驅(qū)動(dòng)電路的RXD端對(duì)應(yīng)相連;d、DCE串口驅(qū)動(dòng)電路7的CTS端與CTS數(shù)字開(kāi)關(guān)組6中的每個(gè)數(shù)字開(kāi)關(guān)的輸入端相連,CTS數(shù)字開(kāi)關(guān)組6中的每個(gè)數(shù)字開(kāi)關(guān)的輸出端與DTE串口驅(qū)動(dòng)電路組2中的一個(gè)串口驅(qū)動(dòng)電路的CTS端對(duì)應(yīng)相連;e、TXD數(shù)字開(kāi)關(guān)組4、RXD數(shù)字開(kāi)關(guān)組5和CTS數(shù)字開(kāi)關(guān)組6每組中的對(duì)應(yīng)數(shù)字開(kāi)關(guān)控制端相連后與CPU3的一根I/O口線相連。
專利摘要本實(shí)用新型公開(kāi)了一種多口競(jìng)爭(zhēng)串行通信共享器,由DTE串口接頭組1、DTE串口驅(qū)動(dòng)電路組2、CPU3、三個(gè)數(shù)字開(kāi)關(guān)組4、5、6、DCE串口驅(qū)動(dòng)電路7和DCE串口接頭8構(gòu)成,DTE串口驅(qū)動(dòng)電路組2中的TXD、RXD、CTS端口通過(guò)相應(yīng)的數(shù)字開(kāi)關(guān)組后與DCE串口驅(qū)動(dòng)電路7對(duì)應(yīng)端口相連,能夠?qū)崿F(xiàn)多臺(tái)DTE與一臺(tái)共享的DCE之間的串行通信,設(shè)計(jì)巧妙、實(shí)施容易、通信準(zhǔn)確和靈活,特別適合于計(jì)算機(jī)遠(yuǎn)程通信網(wǎng)絡(luò)。
文檔編號(hào)G06F3/00GK2316669SQ97251379
公開(kāi)日1999年4月28日 申請(qǐng)日期1997年12月29日 優(yōu)先權(quán)日1997年12月29日
發(fā)明者秦石喬, 黃勇, 蘇勇, 張欽, 楊凱軍, 王省書(shū) 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)