專利名稱:Cd-rom驅(qū)動(dòng)器的接口電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于光盤(CD)只讀存儲(chǔ)器(ROM)驅(qū)動(dòng)器的接口電路,更具體地,涉及用于IDE型CD—ROM驅(qū)動(dòng)器的接口電路,通過(guò)把IDE(綜合驅(qū)動(dòng)電子設(shè)備)作為硬盤驅(qū)動(dòng)器接口標(biāo)準(zhǔn),這種IDE型CD—ROM驅(qū)動(dòng)器可和個(gè)人計(jì)算機(jī)連接起來(lái)。
一般的CD—ROM驅(qū)動(dòng)器接口通過(guò)把一塊獨(dú)立的CD—ROM驅(qū)動(dòng)器接口板或者把一塊例如SCSI標(biāo)準(zhǔn)總線的公用接口板和個(gè)人計(jì)算機(jī)的一個(gè)ISA(工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))接插件相連接來(lái)實(shí)現(xiàn)CD—ROM驅(qū)動(dòng)器和個(gè)人計(jì)算機(jī)之間的接口。同時(shí),在一般的個(gè)人計(jì)算機(jī)系統(tǒng)里,兩個(gè)硬磁盤驅(qū)動(dòng)器,一個(gè)作為主設(shè)備而另一個(gè)作為從設(shè)備,直接連接到一個(gè)40針接插件上,該40針接插件是通過(guò)IDE接口從計(jì)算機(jī)的機(jī)架上提供的。
在上述的一般CD—ROM驅(qū)動(dòng)器接口里,CD—ROM驅(qū)動(dòng)器接口是通過(guò)把它自身的接口板或者一塊公用接口板與個(gè)人計(jì)算機(jī)的ISA接插件相連來(lái)實(shí)現(xiàn)的,因此需要一塊專用接口板。并且,把這塊板和ISA接插件相連是不方便的,此外,因?yàn)樵摻涌诎逭紦?jù)了計(jì)算機(jī)板上的一個(gè)插槽空間,計(jì)算機(jī)的應(yīng)用性受到削弱。
另一方面,因?yàn)閭€(gè)人計(jì)算機(jī)通常只使用一個(gè)硬磁盤驅(qū)動(dòng)器,所以一個(gè)IDE接口接插件是未利用的。
本發(fā)明的一個(gè)目的是提供一種CD—ROM驅(qū)動(dòng)器接口電路,這種接口電路通過(guò)把CD—ROM驅(qū)動(dòng)器和個(gè)人計(jì)算機(jī)硬磁盤驅(qū)動(dòng)器的IDE接口連接起來(lái)使得CD—ROM驅(qū)動(dòng)器可被利用。
為了達(dá)到上述目的,在本發(fā)明的用于CD—ROM驅(qū)動(dòng)器的接口電路里硬磁盤機(jī)作為主設(shè)備連接而CD—ROM驅(qū)動(dòng)器作為從設(shè)備通過(guò)IDE接口和個(gè)人計(jì)算機(jī)相連,該接口電路包括一個(gè)驅(qū)動(dòng)器選擇電路,用以當(dāng)一個(gè)驅(qū)動(dòng)位從IDE接口寫入到一個(gè)端口地址時(shí)啟動(dòng)一個(gè)緩沖器門信號(hào);一個(gè)控制電路,用來(lái)在該緩沖器門信號(hào)被啟動(dòng)后接收一個(gè)IDE端口地址、一個(gè)輸入/輸出讀信號(hào)、一個(gè)輸入/輸出寫信號(hào)和一個(gè)復(fù)位信號(hào),用來(lái)向CD—ROM驅(qū)動(dòng)器輸出一個(gè)命令信號(hào)、一個(gè)驅(qū)動(dòng)器讀信號(hào)、一個(gè)驅(qū)動(dòng)器寫信號(hào)和一個(gè)驅(qū)動(dòng)器復(fù)位信號(hào),用來(lái)接收一個(gè)“握手”信號(hào)和用來(lái)向IDE接口輸出一個(gè)“握手”信號(hào);一個(gè)由緩沖器門信號(hào)啟動(dòng)的數(shù)據(jù)緩沖器,用來(lái)向根據(jù)驅(qū)動(dòng)器讀信號(hào)所確定的數(shù)據(jù)發(fā)送方向發(fā)送數(shù)據(jù);以及一個(gè)主—從通信電路,用來(lái)從IDE接口接收一個(gè)復(fù)位信號(hào)、產(chǎn)生通信信號(hào)并向IDE接口輸出這些通信信號(hào),從而用來(lái)和硬磁盤驅(qū)動(dòng)器進(jìn)行通信。
在其中該CD—ROM驅(qū)動(dòng)器通過(guò)一個(gè)硬磁盤驅(qū)動(dòng)器接口的IDE接口簡(jiǎn)單地和個(gè)人計(jì)算機(jī)相連。
通過(guò)參考附圖對(duì)最優(yōu)實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的上述目的和優(yōu)點(diǎn)將變得更加清楚,這些附圖是
圖1是一個(gè)示意圖,表示根據(jù)本發(fā)明的實(shí)施例的采用CD—ROM驅(qū)動(dòng)器接口電路的個(gè)人計(jì)算機(jī)系統(tǒng);圖2是一個(gè)方框圖,表示根據(jù)本發(fā)明的CD—ROM接口電路;圖3是一個(gè)電路圖,表示圖2中的驅(qū)動(dòng)器選擇電路;圖4是一個(gè)電路圖,表示圖2中的主一從通信電路;以及圖5是一個(gè)示意圖,表示根據(jù)本發(fā)明的另一個(gè)實(shí)施例。
參見(jiàn)圖1,個(gè)人計(jì)算機(jī)系統(tǒng)包括個(gè)人計(jì)算機(jī)1,IDE接口總線2,硬磁盤驅(qū)動(dòng)器(HDD)3,具有一個(gè)IDE接口部分4—1與一個(gè)CD—ROM驅(qū)動(dòng)器4—2的用于IDE的CD—ROM驅(qū)動(dòng)器4和用于為IDE接口部分4—1和CD—ROM驅(qū)動(dòng)器4—2接口的總線5。
個(gè)人計(jì)算機(jī)1是一個(gè)通用的設(shè)備(IBM—PC兼容),帶有系統(tǒng)軟件并可和外設(shè)一起使用。在IDE接口里,硬磁盤驅(qū)動(dòng)器具有磁盤驅(qū)動(dòng)控制器里的磁盤驅(qū)動(dòng)器接口部分。個(gè)人計(jì)算機(jī)向磁盤驅(qū)動(dòng)器接口提供一個(gè)進(jìn)入ISA接插件的部分信號(hào)并提供一個(gè)通過(guò)一個(gè)緩沖器從個(gè)人計(jì)算機(jī)的輸入/輸出(I/O)控制器(例如,82C710)輸出的解碼信號(hào)。
也就是說(shuō),IDE接口總線2是硬磁盤驅(qū)動(dòng)器的接口總線,該接口總線2和個(gè)人計(jì)算機(jī)的母板上所提供的40針接插件連接并且支持兩個(gè)硬磁盤驅(qū)動(dòng)器,兩個(gè)硬磁盤驅(qū)動(dòng)器包括一個(gè)主設(shè)備和一個(gè)從設(shè)備。IDE接口是公知的工業(yè)標(biāo)準(zhǔn)。
HDD3是一個(gè)通用的能和IDE接口總線相連的IDE型硬磁盤驅(qū)動(dòng)器。
用于IDE的CD—ROM驅(qū)動(dòng)器4包含以和IDE接口總線2相連的接口部分4—1并且重現(xiàn)記錄在大容量光盤(例如CD盤)上的信息,因此和個(gè)人計(jì)算機(jī)1交換信息。為了把CD—ROM驅(qū)動(dòng)器4—2和用于連接HDD3的IDE接口相連,在IDE CD—ROM驅(qū)動(dòng)器里需要一個(gè)接收該IDE接口里所使用的信號(hào)并解釋該信號(hào)的部分。圖1中所示的IDE接口部分4—1實(shí)現(xiàn)這個(gè)功能。
利用安裝在個(gè)人計(jì)算機(jī)1里的軟件,圖1里的個(gè)人計(jì)算機(jī)1經(jīng)過(guò)IDE接口總線2從HDD3讀出數(shù)據(jù)或者向HDD3寫進(jìn)數(shù)據(jù)并且給出命令或者讀出狀態(tài)信號(hào)和對(duì)IDE CD—ROM驅(qū)動(dòng)器讀寫數(shù)據(jù)。
圖2是一個(gè)方框圖,說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例用于CD—ROM的一個(gè)接口電路,該電路包括一個(gè)驅(qū)動(dòng)器選擇電路10,一個(gè)數(shù)據(jù)緩沖器20,一個(gè)控制電路30和一個(gè)主一從通信電路50。其中控制電路30還包括一個(gè)命令和狀態(tài)端口譯碼器31,一個(gè)數(shù)據(jù)端口譯碼器32,一個(gè)狀態(tài)門信號(hào)發(fā)生器33,一個(gè)命令信號(hào)發(fā)生器34,一個(gè)驅(qū)動(dòng)器讀信號(hào)發(fā)生器35,一個(gè)驅(qū)動(dòng)器寫信號(hào)發(fā)生器36,一個(gè)狀態(tài)緩沖器37,一個(gè)命令緩沖器38,一個(gè)“或”門39,一個(gè)反相器40和一個(gè)“握手”譯碼器41。圖2的電路對(duì)應(yīng)于圖1中所示的IDE接口部分4—1。
現(xiàn)在,將描述圖2電路的工作。
首先,為了利用IDE接口驅(qū)動(dòng)CD—ROM驅(qū)動(dòng)器4—2,在IDE接口里所使用的信號(hào)和輸入/輸出(I/O)端口1F0H—1F7H、3F6H和3F7H必須被使用。但是,如果原封不動(dòng)地使用這個(gè)信號(hào),該信號(hào)將被在HDD3里使用的信號(hào)所覆蓋,因而破壞正常操作。為解決這個(gè)問(wèn)題,主使用的硬磁盤機(jī)和用于IDE的CD—ROM驅(qū)動(dòng)器4必須分別按主設(shè)備和從設(shè)備運(yùn)行。這樣,為了采用主—從概念驅(qū)動(dòng)用于IDE的CD—ROM驅(qū)動(dòng)器4,當(dāng)HDD3被訪問(wèn)時(shí)用于IDE的CD—ROM驅(qū)動(dòng)器4不應(yīng)該被訪問(wèn)而當(dāng)用于IDE的CD—ROM驅(qū)動(dòng)器4被訪問(wèn)時(shí)HDD3不應(yīng)該被訪問(wèn)。
為了獨(dú)立地操作HDD3和用于IDE的CD—ROM驅(qū)動(dòng)器4,硬件是這樣設(shè)立的,即,使用一個(gè)驅(qū)動(dòng)位(D4),當(dāng)該驅(qū)動(dòng)位為一種邏輯狀態(tài)(例如“0”)時(shí)HDD3被訪問(wèn),而當(dāng)該驅(qū)動(dòng)位為另一邏輯狀態(tài)(例如“1”)時(shí)用于IDE的CD—ROM驅(qū)動(dòng)器4被訪問(wèn)。
這樣,驅(qū)動(dòng)選擇電路10接收經(jīng)過(guò)IDE接口一端上數(shù)據(jù)總線的數(shù)據(jù)線D4的驅(qū)動(dòng)位,接收一個(gè)端口地址信號(hào)(/CS0,A0—A2),和一個(gè)I/O信號(hào)/IOW,并向數(shù)據(jù)緩沖器20的門(G)端口輸出一個(gè)緩沖器門信號(hào),這個(gè)緩沖器門信號(hào)也輸出到狀態(tài)門信號(hào)發(fā)生器33、驅(qū)動(dòng)器讀信號(hào)發(fā)生器35和驅(qū)動(dòng)器寫信號(hào)發(fā)生器36。當(dāng)個(gè)人計(jì)算機(jī)1通過(guò)訪問(wèn)I/O端口1F6H在數(shù)據(jù)線D4上送入一個(gè)邏輯“1”時(shí)該緩沖器門信號(hào)被激活。
另一方面,當(dāng)HDD3和用于IDE的CD—ROM驅(qū)動(dòng)器4可被獨(dú)立地選擇時(shí),用來(lái)接口IDE的CD—ROM驅(qū)動(dòng)器4內(nèi)的控制信號(hào)必須通過(guò)利用一個(gè)IDE I/O端口來(lái)形成。這樣,用來(lái)接口IDE的CD—ROM驅(qū)動(dòng)器4的控制信號(hào)是命令信號(hào)(/CMD)、驅(qū)動(dòng)器讀信號(hào)(/HRD)、驅(qū)動(dòng)器寫信號(hào)(/HWR)和復(fù)位驅(qū)動(dòng)器信號(hào)(/RESETDRV),這些信號(hào)是從個(gè)人計(jì)算機(jī)發(fā)送給用于IDE的CD—ROM驅(qū)動(dòng)器4的,以及由用于IDE的CD—ROM驅(qū)動(dòng)器4產(chǎn)生的用于信號(hào)握手的狀態(tài)允許信號(hào)(/STN)和數(shù)據(jù)允許信號(hào)(/DTN)。
這樣,為了建立這樣的接口,必須指定I/O端口,用于接收來(lái)自用于IDE的CD—ROM驅(qū)動(dòng)器4的數(shù)據(jù),接收命令和狀態(tài)數(shù)據(jù)(即,讀端口讀作為狀態(tài)的數(shù)據(jù)和寫作為命令的數(shù)據(jù))和接收來(lái)自CD—ROM驅(qū)動(dòng)器4—1的握手信號(hào)/STN和/DTN。在IDE接口里可使用的I/O端口是1F0—1FH、3F6H和3F7H。但是,因?yàn)槎丝?F6H用于驅(qū)動(dòng)器選擇電路10,該接口當(dāng)然使用其它的端口地址。
下面的表1表示一個(gè)把I/O端口指定給用于IDE的CD—ROM驅(qū)動(dòng)器4的例子。這里,端口地址是用來(lái)使個(gè)人計(jì)算機(jī)通過(guò)IDE接口訪問(wèn)用于IDE的CD—ROM驅(qū)動(dòng)器4的輸入/輸出端口地址,并且端口地址由個(gè)人計(jì)算機(jī)上的I/O控制器譯碼從而確定特定的端口地址。
表1端口地址 CS0 CS1 /IOR /IOW功能1H6HL H — L 選擇驅(qū)動(dòng)器1F2HL H L—讀狀態(tài)— L寫命令1F4HL H L—讀數(shù)據(jù)3F6HH L L—讀“握手”在根據(jù)本發(fā)明的最佳實(shí)施例里,端口地址1F6H用于選擇一個(gè)驅(qū)動(dòng)器。同時(shí),端口地址1F2H指定為命令和狀態(tài)端口,用于在I/O寫操作(/IOW為低)期間寫入命令和在I/O讀操作(/IOR為低)期間讀出CD—ROM驅(qū)動(dòng)器4—2的狀態(tài)數(shù)據(jù),端口地址1F4H指定用于讀出數(shù)據(jù)以及端口地址3F6H指定給“握手”譯碼器41。在用于IDE的CD—ROM驅(qū)動(dòng)器4里使用的端口地址可由設(shè)計(jì)者在IDE的端口地址中進(jìn)行選擇。
另一方面,CD—ROM驅(qū)動(dòng)器4—2通過(guò)命令傳輸、數(shù)據(jù)傳輸和狀態(tài)傳輸?shù)钠陂g發(fā)送數(shù)據(jù)。各個(gè)期間是根據(jù)上述接口信號(hào)的操作實(shí)現(xiàn)的。表2表示當(dāng)端口地址按表1指定時(shí)為進(jìn)行一個(gè)給定操作所需的控制信號(hào)。
表2信號(hào)命令傳輸數(shù)據(jù)傳輸狀態(tài)傳輸/CMD L H L/HRD — L L/HWR L ——/DTN — L —/STN — — L參見(jiàn)表2,在命令傳輸期間,信號(hào)/CMD轉(zhuǎn)為低而且根據(jù)信號(hào)/HWR該命令數(shù)據(jù)被寫入CD—ROM驅(qū)動(dòng)器4—2。在數(shù)據(jù)傳輸期間,CD—ROM驅(qū)動(dòng)器4—2的狀態(tài)被讀出,當(dāng)信號(hào)/DTN為低時(shí)信號(hào)/CMD轉(zhuǎn)為高并且根據(jù)信號(hào)/HRD把數(shù)據(jù)從CD—ROM驅(qū)動(dòng)器4—2中讀出。在狀態(tài)傳輸期間,CD—ROM驅(qū)動(dòng)器4—2的狀態(tài)被讀出,當(dāng)信號(hào)/STN為低時(shí)信號(hào)/CMD轉(zhuǎn)為低并且根據(jù)信號(hào)/HRD把狀態(tài)數(shù)據(jù)從CD—ROM驅(qū)動(dòng)器4—2中讀出。
控制電路30把控制信號(hào),例如/CMD、/HRD、/HWR和/RE-SET DRV,輸出到CD—ROM驅(qū)動(dòng)器4—2,以進(jìn)行表2中接口信號(hào)的操作。
參見(jiàn)表1,I/O端口地址1F2H被指定給命令和狀態(tài)端口譯碼器31。如果來(lái)自IDE接口4—1的信號(hào)A0、A1和A2分別為邏輯“0”、“1”和“0”,并且信號(hào)CS0和CS1分別為邏輯“0”和“1”,則命令和狀態(tài)端口譯碼器31被選擇,從而起動(dòng)輸出信號(hào)(即命令和狀態(tài)端口選擇信號(hào))。同樣,I/O端口地址1F4H被指定給數(shù)據(jù)端口譯碼器32。如果來(lái)自IDE接口4—1的信號(hào)A0、A1和A2分別為邏輯“0”、“0”和“1”,并且信號(hào)CS0和CS1分別為邏輯“0”和“1”,則該數(shù)據(jù)端口譯碼器被選擇,從而起動(dòng)輸出信號(hào)(即,數(shù)據(jù)端口選擇信號(hào))。
命令信號(hào)發(fā)生器34接收命令和狀態(tài)端口譯碼器31的輸出,即命令和狀態(tài)端口選擇信號(hào),并且產(chǎn)生命令信號(hào)/CMD。這樣,當(dāng)個(gè)人計(jì)算機(jī)1訪問(wèn)輸入/輸出端口1F2H時(shí)命令信號(hào)/CMD被啟動(dòng)(低態(tài)有效)。
同時(shí),驅(qū)動(dòng)器讀信號(hào)發(fā)生器35接收命令和狀態(tài)端口譯碼器31的輸出和數(shù)據(jù)端口譯碼器32的輸出的邏輯“或”結(jié)果、接收緩沖器門信號(hào)和I/O讀信號(hào)/IOR,并且產(chǎn)生驅(qū)動(dòng)器讀信號(hào)/HRD。這時(shí),當(dāng)個(gè)人計(jì)算機(jī)1在把用于IDE的CD—ROM驅(qū)動(dòng)器4設(shè)定為一個(gè)從設(shè)備之后通過(guò)訪問(wèn)命令和狀態(tài)端口1F2H或數(shù)據(jù)端口1F4H執(zhí)行一個(gè)讀操作時(shí),也就是說(shuō),通過(guò)訪問(wèn)I/O端口地址1F6H把一個(gè)邏輯“1”寫入到數(shù)據(jù)總線的線D4上,執(zhí)行一個(gè)讀操作時(shí),驅(qū)動(dòng)器讀信號(hào)/HRD被啟動(dòng)。驅(qū)動(dòng)器讀信號(hào)/HRD被輸入到數(shù)據(jù)緩沖器20的方向端口(DIR)里,并且確定雙向數(shù)據(jù)緩沖器20的信號(hào)方向。也就是說(shuō),如果個(gè)人計(jì)算機(jī)1執(zhí)行I/O讀操作,驅(qū)動(dòng)器讀信號(hào)/HRD通過(guò)數(shù)據(jù)緩沖器20從用于IDE的CD—ROM驅(qū)動(dòng)器4發(fā)送到IDE接口總線2,而如果I/O寫操作被執(zhí)行,該信號(hào)(/HRD)被反方向地發(fā)送,即經(jīng)過(guò)數(shù)據(jù)緩沖器40從IDE接口總線2到用于IDE的CD—ROM驅(qū)動(dòng)器4。
通過(guò)接收緩沖器信號(hào)、命令和狀態(tài)端口譯碼器31的輸出和I/O寫信號(hào)/IOW,驅(qū)動(dòng)器寫信號(hào)發(fā)生器36產(chǎn)生驅(qū)動(dòng)器寫信號(hào)/HWR。這樣,當(dāng)個(gè)人計(jì)算機(jī)1在緩沖器門信號(hào)啟動(dòng)之后訪問(wèn)I/O端口地址1F2H和執(zhí)行I/O寫操作時(shí)驅(qū)動(dòng)器寫信號(hào)/HWR被啟動(dòng)。
狀態(tài)門信號(hào)發(fā)生器33接收“握手”譯碼器41的輸出、緩沖器門信號(hào)和I/O讀信號(hào)/IOR,并且向狀態(tài)緩沖器37輸出狀態(tài)門信號(hào)。
如果狀態(tài)門信號(hào)被啟動(dòng),狀態(tài)緩沖器37把來(lái)自CD—ROM驅(qū)動(dòng)器4—2的“握手”信號(hào)/DTN和/STN裝入到數(shù)據(jù)總線的一個(gè)特定位上。根據(jù)本發(fā)明的一個(gè)最佳實(shí)施例,“握手”信號(hào)/DTN裝入到數(shù)據(jù)總線的線D1而“握手”信號(hào)/STN裝入到數(shù)據(jù)總線的線D2上。這樣,如果個(gè)人計(jì)算機(jī)1通過(guò)訪問(wèn)I/O端口地址3F6H執(zhí)行I/O讀操作,“握手”信號(hào)/DTN和/STN可通過(guò)數(shù)據(jù)總線的線D1和線D2讀出。
這時(shí),如果信號(hào)/DTN為“0”,則意味著個(gè)人計(jì)算機(jī)可以讀數(shù)據(jù),因?yàn)镃D—ROM驅(qū)動(dòng)器4已準(zhǔn)備好用于數(shù)據(jù)傳輸。如果信號(hào)/STN為“0”,則意味著人個(gè)計(jì)算機(jī)可以讀狀態(tài)數(shù)據(jù),因?yàn)镃D—ROM驅(qū)動(dòng)器4已準(zhǔn)備好用于狀態(tài)數(shù)據(jù)傳輸。因此,個(gè)人計(jì)算機(jī)通過(guò)對(duì)這兩個(gè)信號(hào)的判斷可以識(shí)別經(jīng)該數(shù)據(jù)端口讀出的數(shù)據(jù)是純粹的數(shù)據(jù)或是狀態(tài)數(shù)據(jù)。
復(fù)位信號(hào)是經(jīng)過(guò)反相器40反相的,因此產(chǎn)生用于復(fù)位CD—ROM驅(qū)動(dòng)器4—2的復(fù)位驅(qū)動(dòng)器信號(hào)(/RESET DRV)。命令緩沖器38用于緩沖命令信號(hào)/CMD、驅(qū)動(dòng)器讀信號(hào)/HRD、驅(qū)動(dòng)器寫信號(hào)/HWR和復(fù)位驅(qū)動(dòng)器信號(hào)/RESET SRV,并把結(jié)果輸出到CD—ROM驅(qū)動(dòng)器4—2。
如果緩沖器門信號(hào)被啟動(dòng),控制電路30接收信號(hào)A0、A1、A2、/CS0、/CS1、/IOR、/IOW和RESET,并且輸出命令信號(hào)/CMD、驅(qū)動(dòng)器讀信號(hào)/HRD、驅(qū)動(dòng)器寫信號(hào)/HWR和復(fù)位驅(qū)動(dòng)器信號(hào)(/RESET DRV)。此外,該控制電路接收來(lái)自CD—ROM驅(qū)動(dòng)器4—2的信號(hào)/DTN和/STD,并接收經(jīng)數(shù)據(jù)總線的線D0—D7到IDE接口總線2的被接收信號(hào)。
主—從通信電路50接收來(lái)自IDE接口總線2的復(fù)位信號(hào),輸出到IDE接口總線2的通信信號(hào)/DASP和/PDIAG。
通過(guò)正確地設(shè)備主設(shè)備和從設(shè)備,IDE接口可以把硬磁盤驅(qū)動(dòng)器擴(kuò)展到兩個(gè)。在驅(qū)動(dòng)器設(shè)置為主設(shè)備和從設(shè)備的情況下,通信是根據(jù)IDE接口規(guī)約進(jìn)行的。
這種通信方法的例子有ISA原始法、ATT/CAM法、CON-NER法和ALTERNATE法。根據(jù)本發(fā)明的最佳實(shí)施例遵循ATT/CAM通信法。在通信中所使用的信號(hào)是信號(hào)/PDI AG和/DASP。在通信中所使用的一個(gè)寄存器是錯(cuò)誤寄存器。
主設(shè)備和從設(shè)備之間的通信是通過(guò)硬件復(fù)位(當(dāng)施加系統(tǒng)電源時(shí)出現(xiàn)的“電源接通”復(fù)位信號(hào))、軟件復(fù)位和診斷命令的形成來(lái)進(jìn)行的。這里,當(dāng)IDE接口施加到用于IDE的CD—ROM驅(qū)動(dòng)器4時(shí),產(chǎn)生軟件復(fù)位和診斷命令,不需要通信。原因在于,因?yàn)橛糜贗DE的CD—ROM驅(qū)動(dòng)器4是按IDE接口的從設(shè)備運(yùn)行的并且這個(gè)結(jié)果的返回不具任何意義,所以不需要軟件復(fù)位的初始化。但是,因?yàn)橹黩?qū)動(dòng)器要確認(rèn)從驅(qū)動(dòng)器的存在,產(chǎn)生硬件復(fù)位信號(hào)需要通信。
圖3是一個(gè)電路圖,表示圖2中所示的驅(qū)動(dòng)器選擇電路10。這里,驅(qū)動(dòng)器選擇電路由一個(gè)D觸發(fā)器和邏輯電路組成。
在圖3里,D觸發(fā)器的數(shù)據(jù)端口接收第四位D4,其時(shí)鐘端口接收信號(hào)A0、/A1、/A2、/CS0和/IOW的邏輯“或非”結(jié)果。因?yàn)轵?qū)動(dòng)器/磁頭寄存器的I/O端口地址是1F6H,如果該驅(qū)動(dòng)位(D4)在I/O端口被寫為邏輯“1”,即CD—ROM驅(qū)動(dòng)器被選擇為從設(shè)備,“或非”門的輸出從低變化到高,并且該結(jié)果被送到時(shí)鐘端口,這樣D觸發(fā)器的輸出在(輸入到該時(shí)鐘端口的一個(gè)信號(hào)的上升邊變?yōu)檫壿嫛?”(反相的驅(qū)動(dòng)器位值)。該輸出變成數(shù)據(jù)緩沖器的一個(gè)門信號(hào)并且如果該信號(hào)是低的,該緩沖器被允許。
圖4是一個(gè)電路圖,表示圖2里所示的通信電路,該電路簡(jiǎn)單地用一個(gè)多諧振蕩器來(lái)實(shí)現(xiàn),參見(jiàn)圖4,由電阻(R)和電容(C)設(shè)定其脈沖寬度的脈沖信號(hào)/PDIAG和/DASP在復(fù)位信號(hào)的上升邊被輸出。
這里,脈沖寬度必須遵循ATT/CAM方法。信號(hào)/DASP的產(chǎn)生是用來(lái)告訴主設(shè)備存在者從設(shè)備,而信號(hào)/PDIAG的結(jié)束(在生成之后)表示該主設(shè)備已準(zhǔn)備接收命令。
圖5是一個(gè)示意圖,表示根據(jù)本發(fā)明的另一個(gè)最佳實(shí)施例的結(jié)構(gòu)。該最佳實(shí)施例包括一個(gè)個(gè)人計(jì)算機(jī)51。一個(gè)IDE接口總線52和一個(gè)IDE的CD—ROM驅(qū)動(dòng)器54。
參見(jiàn)圖5,個(gè)人計(jì)算機(jī)51是一個(gè)通用計(jì)算機(jī),IDE接口總線52和根據(jù)圖1所描述的IDE接口總線2相同,并且用于IDE的CD—ROM驅(qū)動(dòng)器54具有一個(gè)IDE接口部分54—1、一個(gè)CD—ROM驅(qū)動(dòng)器54—2和總線55,用于IDE的CD—ROM驅(qū)動(dòng)器54和根據(jù)圖1所描述的用于IDE的CD—ROM驅(qū)動(dòng)器4是一樣的。在圖5中所示的根據(jù)本發(fā)明的最佳實(shí)施例不使用硬磁盤驅(qū)動(dòng)器并只使用直接和IDE接口總線52相連的CD—ROM驅(qū)動(dòng)器54。
如上面所述,本發(fā)明的用于CD—ROM驅(qū)動(dòng)器的接口簡(jiǎn)單地把CD—ROM驅(qū)動(dòng)器和個(gè)人計(jì)算機(jī)連接起來(lái),而不必為了與硬磁盤驅(qū)動(dòng)器進(jìn)行接口而通過(guò)一個(gè)標(biāo)準(zhǔn)的IDE接口提供一個(gè)額外的接口板,因此為接口增加了方便性和降低了成本。
權(quán)利要求
1.一種CD—ROM驅(qū)動(dòng)器接口電路,在該電路里一個(gè)硬磁盤驅(qū)動(dòng)器作為主設(shè)備和一個(gè)CD—ROM驅(qū)動(dòng)器作為從設(shè)備經(jīng)過(guò)一個(gè)IDE接口和一個(gè)個(gè)人計(jì)算機(jī)相連,該CD—ROM驅(qū)動(dòng)器接口電路包括一個(gè)驅(qū)動(dòng)器選擇電路,用于當(dāng)從所述IDE接口向一個(gè)端口地址寫入一個(gè)驅(qū)動(dòng)位時(shí)啟動(dòng)一個(gè)緩沖器門信號(hào);一個(gè)控制電路,用于在該緩沖器門信號(hào)被啟動(dòng)后接收一個(gè)IDE端口地址、一個(gè)輸入/輸出讀信號(hào)、一個(gè)輸入/輸出寫信號(hào)和一個(gè)復(fù)位信號(hào),用于向CD—ROM驅(qū)動(dòng)器輸出一個(gè)命令信號(hào)、一個(gè)驅(qū)動(dòng)器讀信號(hào)、一個(gè)驅(qū)動(dòng)器寫信號(hào)和一個(gè)驅(qū)動(dòng)器復(fù)位信號(hào),以及用于通過(guò)接收來(lái)自所述CD—ROM驅(qū)動(dòng)器的“握手”信號(hào)向所述CD—ROM驅(qū)動(dòng)器和向所述IDE接口輸出一個(gè)已接收信號(hào);一個(gè)由緩沖器門信號(hào)啟動(dòng)的數(shù)據(jù)緩沖器,用于向根據(jù)驅(qū)動(dòng)器讀信號(hào)所確定的數(shù)據(jù)發(fā)送方向發(fā)送數(shù)據(jù);以及一個(gè)主—從通信電路,用于從所述IDE接口接收一個(gè)復(fù)位信號(hào)、產(chǎn)生通信信號(hào)并向所述IDE接口輸出這些通信信號(hào)和用于與硬磁盤驅(qū)動(dòng)器進(jìn)行通信,在其中所述CD—ROM驅(qū)動(dòng)器經(jīng)過(guò)一個(gè)硬磁盤驅(qū)動(dòng)器接口的所述IDE接口簡(jiǎn)單地和個(gè)人計(jì)算機(jī)相連。
2.如權(quán)利要求1所述的CD—ROM驅(qū)動(dòng)器接口,其特征在于所述驅(qū)動(dòng)器選擇電路包括一個(gè)觸發(fā)器,其用于接收經(jīng)過(guò)所述IDE接口的端口信號(hào)、接收經(jīng)過(guò)觸發(fā)器上時(shí)鐘端口的一個(gè)邏輯門的輸入/輸出寫信號(hào)、接收在觸發(fā)器的數(shù)據(jù)部分處的一個(gè)驅(qū)動(dòng)位并接收在觸發(fā)器的清除端口處的所述復(fù)位信號(hào),并且用于經(jīng)過(guò)觸發(fā)器的反相輸出端口輸出緩沖器門信號(hào)。
3.如權(quán)利要求1所述的CD—ROM驅(qū)動(dòng)器接口,其特征在于所述控制電路包括一個(gè)命令和狀態(tài)端口譯碼器,用于當(dāng)輸入一個(gè)指定給命令和狀態(tài)傳輸?shù)亩丝诘刂窌r(shí)啟動(dòng)一個(gè)輸出信號(hào);一個(gè)數(shù)據(jù)端口譯碼器,用于當(dāng)輸入一個(gè)指定給數(shù)據(jù)傳輸?shù)亩丝诘刂窌r(shí)啟動(dòng)一個(gè)輸出信號(hào);一個(gè)“握手”譯碼器,用于當(dāng)輸入一個(gè)為訪問(wèn)“握手”信號(hào)而指定的端口地址時(shí)啟動(dòng)一個(gè)輸出信號(hào);一個(gè)命令信號(hào)發(fā)生器,用于通過(guò)接收該命令和狀態(tài)端口譯碼器的輸出來(lái)產(chǎn)生一個(gè)命令信號(hào);一個(gè)驅(qū)動(dòng)器讀信號(hào)發(fā)生器,用于接收所述緩沖器門信號(hào),接收一個(gè)代表命令和狀態(tài)端口譯碼器的輸出與數(shù)據(jù)端口譯碼器的輸出的邏輯和的信號(hào),和接收輸入/輸出讀信號(hào),以及用于輸出驅(qū)動(dòng)器讀信號(hào);一個(gè)驅(qū)動(dòng)器寫信號(hào)發(fā)生器,用于通過(guò)接收緩沖器門信號(hào)、命令和狀態(tài)端口譯碼器的輸出和輸入/輸出寫信號(hào)來(lái)產(chǎn)生驅(qū)動(dòng)器寫信號(hào);一個(gè)狀態(tài)門信號(hào)發(fā)生器,用于通過(guò)接收緩沖器門信號(hào)、“握手”譯碼器的輸出和輸入/輸出讀信號(hào)來(lái)產(chǎn)生一個(gè)狀態(tài)門信號(hào);以及一個(gè)狀態(tài)緩沖器,用于根據(jù)狀態(tài)門信號(hào)接收“握手”信號(hào)。
4.如權(quán)利要求1所述的CD—ROM驅(qū)動(dòng)器接口電路,其特征在于所述主—從通信電路包括一個(gè)電阻和電容網(wǎng)絡(luò),用于建立一個(gè)預(yù)定的時(shí)間常數(shù);一個(gè)多諧振蕩器,用于通過(guò)接收復(fù)位信號(hào)產(chǎn)生一個(gè)其脈沖寬度等于預(yù)定時(shí)間常數(shù)的信號(hào),和用于經(jīng)過(guò)其非反相的輸出端口輸出第一通信信號(hào)以及經(jīng)過(guò)其反相的輸出端口輸出第二通信信號(hào)。
5.一種具有一個(gè)IDE接口部分的IDE型CD—ROM驅(qū)動(dòng)器,該IDE接口部分經(jīng)過(guò)該IDE接口和CD—ROM驅(qū)動(dòng)器相連,以把硬磁盤驅(qū)動(dòng)器和個(gè)人計(jì)算機(jī)連接起來(lái),其特征在于所述IDE接口部分包括一個(gè)驅(qū)動(dòng)器選擇電路,用于當(dāng)從該IDE接口向一特定端口地址寫入一個(gè)驅(qū)動(dòng)位時(shí)啟動(dòng)一個(gè)緩沖器門信號(hào);一個(gè)控制電路,用于在該緩沖器門信號(hào)被啟動(dòng)后接收一個(gè)IDE端口地址、一個(gè)輸入/輸出讀信號(hào)、一個(gè)輸入/輸出寫信號(hào)和一個(gè)復(fù)位信號(hào),用于向該CD—ROM驅(qū)動(dòng)器輸出一個(gè)命令信號(hào)、一個(gè)驅(qū)動(dòng)器讀信號(hào)、一個(gè)驅(qū)動(dòng)器寫信號(hào)和一個(gè)驅(qū)動(dòng)器復(fù)位信號(hào),用于從該CD—ROM驅(qū)動(dòng)器接收“握手”信號(hào),以及用于向該IDE接口輸出這些“握手”信號(hào);一個(gè)由緩沖器門信號(hào)啟動(dòng)的數(shù)據(jù)緩沖器,用于向根據(jù)該驅(qū)動(dòng)器讀信號(hào)所確定的數(shù)據(jù)發(fā)送方向發(fā)送數(shù)據(jù);以及一個(gè)主—從通信電路,用于通過(guò)從該IDE接口接收復(fù)位信號(hào)來(lái)產(chǎn)生通信信號(hào)和用于通過(guò)向該IDE接口輸出通信信號(hào)來(lái)和所述硬磁盤驅(qū)動(dòng)器通信。
全文摘要
一種IDE型CD-ROM驅(qū)動(dòng)器的接口電路,包括一個(gè)用來(lái)啟動(dòng)緩沖器門信號(hào)的驅(qū)動(dòng)器選擇電路;一個(gè)用來(lái)通過(guò)接收IDE端口地址以產(chǎn)生命令信號(hào)、驅(qū)動(dòng)器讀信號(hào)、驅(qū)動(dòng)器寫信號(hào)和驅(qū)動(dòng)器復(fù)位信號(hào)和用來(lái)通過(guò)接收“握手”信號(hào)以向該IDE接口輸出已接收信號(hào)的控制電路;一個(gè)用來(lái)沿根據(jù)驅(qū)動(dòng)器讀信號(hào)所確定的數(shù)據(jù)發(fā)送方向發(fā)送數(shù)據(jù)的數(shù)據(jù)緩沖器;以及一個(gè)用來(lái)通過(guò)接收來(lái)自該IDE接口的復(fù)位信號(hào)以產(chǎn)生通信信號(hào)的主-從通信電路。
文檔編號(hào)G06F13/10GK1122472SQ9411892
公開(kāi)日1996年5月15日 申請(qǐng)日期1994年11月18日 優(yōu)先權(quán)日1993年11月20日
發(fā)明者樸茂欽 申請(qǐng)人:三星電子株式會(huì)社