專利名稱:從外設(shè)采集數(shù)據(jù)的數(shù)據(jù)處理裝置的改進(jìn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理裝置從與該數(shù)據(jù)處理裝置相連的外設(shè)進(jìn)行數(shù)據(jù)采集方面的改進(jìn),特別涉及用于從外設(shè)采集外設(shè)數(shù)據(jù)的CPU控制,外設(shè)數(shù)據(jù)采集的時(shí)間優(yōu)化,以及外設(shè)與數(shù)據(jù)處理裝置的連接方面的改進(jìn)。
隨著近年來(lái)計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)處理系統(tǒng),諸如電子游戲系統(tǒng)已經(jīng)廣泛傳播到家庭之中。
一般地,這種游戲系統(tǒng)包括一個(gè)能執(zhí)行各種數(shù)據(jù)處理,諸如圖象處理和聲音處理,并能控制外設(shè)的處理裝置,和多種與該處理裝置電連接的外部設(shè)備,諸如開(kāi)關(guān)控制器(操縱板或操縱桿)。一個(gè)電視接收器(下文指監(jiān)視器)與處理裝置相連,操作該處理裝置以在監(jiān)視器屏幕上顯示游戲的視頻圖象,從監(jiān)視器的一個(gè)聲音再生單元產(chǎn)生與游戲相匹配的聲音,從而可以玩想玩的游戲。
游戲系統(tǒng)的處理裝置基本上要包括一個(gè)運(yùn)行電路(CPU),它執(zhí)行各種處理,諸如圖象處理和音頻處理,并控制外部設(shè)備;一個(gè)存儲(chǔ)器或存儲(chǔ)區(qū),用于存儲(chǔ)各種游戲程序和其它所需的數(shù)據(jù);一個(gè)與外設(shè),例如開(kāi)關(guān)控制器相連的輸入/輸出單元;一個(gè)向監(jiān)視器提供視頻信號(hào)的視頻處理器,以及其它電路。
在這種游戲系統(tǒng)中,當(dāng)該游戲系統(tǒng)的電源被打開(kāi)并且從外設(shè)向處理裝置輸入一個(gè)所需運(yùn)行信號(hào)時(shí),該處理裝置按照存儲(chǔ)區(qū)中的程序開(kāi)始運(yùn)行以執(zhí)行以下處理過(guò)程。
當(dāng)處理裝置接收到來(lái)自開(kāi)關(guān)控制器的運(yùn)行信號(hào)時(shí),CPU根據(jù)此運(yùn)行信號(hào)讀出存儲(chǔ)區(qū)中所需的與字符的各種移動(dòng)狀態(tài)有關(guān)的數(shù)據(jù)項(xiàng),并執(zhí)行在監(jiān)視器顯示屏上的移動(dòng)字符的處理過(guò)程。CPU向視頻處理器發(fā)出一個(gè)視頻控制信號(hào),該處理器根據(jù)此視頻控制信號(hào)產(chǎn)生一個(gè)視頻信號(hào)并將其發(fā)送到監(jiān)視器,從而,該字符在監(jiān)視器顯示屏上的預(yù)定背景畫(huà)面中移動(dòng)了一段由開(kāi)關(guān)控制器指定的距離,例如在電子游戲系統(tǒng)中,CPU監(jiān)視操縱桿的操作狀態(tài)。當(dāng)用戶操作操縱桿時(shí),CPU讀取操縱桿狀態(tài)的改變以使飛機(jī)在監(jiān)視器屏幕上旋轉(zhuǎn)。
該游戲系統(tǒng)的處理裝置有一個(gè)帶有插口連接器的外設(shè)端口,各種外設(shè)根據(jù)游戲的應(yīng)用軟件,通過(guò)該端口連接到處理裝置上。例如,當(dāng)執(zhí)行一個(gè)飛行模擬游戲軟件時(shí),操縱桿一側(cè)的連接桿器被插入游戲設(shè)備側(cè)的插口連接器中,處理裝置讀來(lái)自相連外設(shè)的識(shí)別數(shù)據(jù)以自動(dòng)識(shí)別外設(shè)種類(lèi)并依據(jù)該種類(lèi)訪問(wèn)外設(shè)。
但是,傳統(tǒng)視頻游戲系統(tǒng)中的數(shù)據(jù)處理裝置有如下缺點(diǎn),從而難以高速而平穩(wěn)地使用該電子游戲系統(tǒng)。
首先,難以執(zhí)行象高速圖象控制這樣的數(shù)據(jù)處理。公知地,由于用于圖象處理的CPU直接訪問(wèn)和控制外設(shè),CPU控制外設(shè)需要時(shí)間,從而被迫減少了圖象處理所需的時(shí)間,例如,從一個(gè)標(biāo)準(zhǔn)操縱桿讀數(shù)據(jù)需要幾微秒的時(shí)間,從鼠標(biāo)器讀數(shù)據(jù)需要幾百微秒的時(shí)間。有很多種外設(shè)要與視頻游戲系統(tǒng)相連而且需要視頻游戲系統(tǒng)能采用所有的外部設(shè)備,因此,需要CPU能自動(dòng)識(shí)別與電子游戲系統(tǒng)相連的外部設(shè)備。如上所述,只要CPU訪問(wèn)一個(gè)外部設(shè)備,就需要CPU暫時(shí)中斷圖象控制的數(shù)據(jù)處理,直到對(duì)外部設(shè)備的訪問(wèn)結(jié)束。其結(jié)果是,出現(xiàn)了難以進(jìn)行高速圖象控制(數(shù)據(jù)處理)的問(wèn)題。
第二,難以將外設(shè)端的操作快速反映到數(shù)據(jù)處理,如圖象控制上。一般的,數(shù)據(jù)處理裝置,如視頻游戲系統(tǒng)有兩個(gè)幀緩沖器來(lái)存儲(chǔ)兩個(gè)圖象的圖象數(shù)據(jù)。當(dāng)顯示了存在其中一個(gè)幀緩沖器中的圖象時(shí),CPU控制存在另一個(gè)幀緩沖器中的圖象(三維操作,示意(delinaticn)等)。這種操作如下面圖23時(shí)序圖所示,兩個(gè)幀緩沖器作為存儲(chǔ)區(qū)包括相應(yīng)的幀或圖象A和B。例如,在執(zhí)行幀A的圖象的三維操作時(shí),幀B的圖象被顯示。而在下一場(chǎng)(field)執(zhí)行幀B的圖象的三維操作時(shí),幀A的圖象被顯示,而圖象的操作要在一場(chǎng)的周期內(nèi)得以執(zhí)行(從一個(gè)垂直消隱信號(hào)VINT信號(hào)的一個(gè)下降沿到該VINT信號(hào)的下一上升沿)。此時(shí),圖象的顯示要在一場(chǎng)的垂直操作周期內(nèi)執(zhí)行。如下述的圖24所示,根據(jù)使用的應(yīng)用軟件,以場(chǎng)為單位(通常為偶數(shù)個(gè)場(chǎng))執(zhí)行操作和顯示。
如圖24所示,象三維操作這樣的圖象控制(數(shù)據(jù)處理)必須在一個(gè)預(yù)定時(shí)間被執(zhí)行。而采集外設(shè)數(shù)據(jù)的時(shí)間不受控制,因此,當(dāng)采集外設(shè)數(shù)據(jù)的時(shí)間與CPU啟動(dòng)圖象控制(數(shù)據(jù)處理)操作的時(shí)間不一致時(shí),外設(shè)數(shù)據(jù)在被采集之后會(huì)有所改變。例如,如下面將要說(shuō)明的圖20所示,假設(shè)CPU已在時(shí)段“(1)”中采集了外設(shè)數(shù)據(jù)。此后,即使由于外設(shè)的用戶操作而引起了外設(shè)數(shù)據(jù)改變,CPU還是根據(jù)變化前采集的外設(shè)數(shù)據(jù)來(lái)執(zhí)行圖象控制。從而,所變化的外設(shè)數(shù)據(jù)并未用于圖象控制。當(dāng)采集外設(shè)數(shù)據(jù)的時(shí)間與啟動(dòng)圖象控制操作的時(shí)間不一致時(shí),將會(huì)延遲游戲?qū)ν庠O(shè)操作的響應(yīng)。例如,從用戶操作外設(shè)到發(fā)射出一枚導(dǎo)彈所用的時(shí)間延長(zhǎng),妨礙了游戲的執(zhí)行。
第三,由于不能正確地確定外設(shè)是否已經(jīng)與處理裝置相連接,從而出現(xiàn)了以錯(cuò)誤的識(shí)別數(shù)據(jù)錯(cuò)誤地識(shí)別外設(shè)的問(wèn)題。
例如,在一個(gè)視頻游戲系統(tǒng)的數(shù)據(jù)處理裝置中,在電源被接通的情況下,用戶可以將一個(gè)外設(shè)端插頭連接器插入到處理裝置插頭連接器中(熱插入(hot plug-in))或?qū)⑼庠O(shè)從處理裝置插頭連接器中拔出(熱拔出(hot plug-out)。當(dāng)處理裝置正在從外設(shè)讀取識(shí)別數(shù)據(jù)的同時(shí)進(jìn)行熱插入或熱拔出時(shí),處理裝置可能讀取錯(cuò)誤的識(shí)別數(shù)據(jù)。在這種情況下,由于處理裝置不能正確的確定外設(shè)是否已經(jīng)與處理裝置相連接,從而出現(xiàn)了處理裝置根據(jù)錯(cuò)誤的識(shí)別數(shù)據(jù)錯(cuò)誤地識(shí)別外設(shè)的問(wèn)題。
當(dāng)用戶將外設(shè)端插頭連接器斜插入處理裝置端插頭連接器中時(shí),插頭連接器中的一些針(terminel pins)將與處理裝置插頭連接器中的一些針不相連接,即便在這種情況下,處理裝置也不能確定外設(shè)是否已經(jīng)穩(wěn)定地連接在處理裝置上,從而將根據(jù)錯(cuò)誤的識(shí)別數(shù)據(jù)錯(cuò)誤地識(shí)別外設(shè)。
即使在處理裝置已正確識(shí)別了外設(shè)之后發(fā)生熱拔出,處理裝置還是不能確定是否與外設(shè)相連接。從而,將會(huì)發(fā)生下列問(wèn)題,當(dāng)在外設(shè)向處理裝置發(fā)送外設(shè)數(shù)據(jù)(代表外設(shè)的操作狀態(tài))的同時(shí)發(fā)生熱拔出時(shí),部分外設(shè)數(shù)據(jù)發(fā)生變化,以致處理裝置接收錯(cuò)誤的外設(shè)數(shù)據(jù)。其結(jié)果是造成一次寫(xiě)故障。在可能發(fā)生熱插入的家庭電子游戲系統(tǒng)中,這些問(wèn)題尤其嚴(yán)重。
因此,本發(fā)明的一個(gè)目的是通過(guò)解決上述問(wèn)題,提供一個(gè)視頻游戲系統(tǒng)中的最佳游戲環(huán)境。特別地,本發(fā)明的第一目的是提供一種能夠提供高速數(shù)據(jù)處理,如圖象控制的數(shù)據(jù)處理裝置。本發(fā)明的第二目的是提供一種數(shù)據(jù)處理裝置和一種數(shù)據(jù)處理方法,它能在數(shù)據(jù)處理,如圖象控制,中直接反映外設(shè)操作的內(nèi)容。本發(fā)明的第三目的是提供一種游戲處理裝置和數(shù)據(jù)處理方法,它通過(guò)確定外設(shè)是否已經(jīng)以穩(wěn)定的方式與游戲設(shè)備本體相連接來(lái)解決外設(shè)的錯(cuò)誤識(shí)別及游戲處理裝置誤操作的問(wèn)題和根據(jù)處理方法的錯(cuò)誤操作等問(wèn)題。
作為本發(fā)明的一個(gè)方面,提供了子操作裝置,用以根據(jù)來(lái)自主操作裝置的命令控制和處理到/從外設(shè)的輸入/輸出數(shù)據(jù)。從而,主操作裝置無(wú)需直接控制和處理到/從外設(shè)的輸入/輸出數(shù)據(jù),以便將主操作裝置分配給其它工作以執(zhí)行更大量的數(shù)據(jù)處理(視頻處理,音頻處理),因此,例如在諸如電子游戲系統(tǒng)的數(shù)據(jù)處理裝置中,以更高的速度提供視頻圖象控制的提供一個(gè)富有真實(shí)性的游戲。
子操作裝置通過(guò)從外設(shè)讀取識(shí)別數(shù)據(jù)來(lái)識(shí)別外設(shè)的類(lèi)型。輸出裝置向主操作裝置提供與外設(shè)類(lèi)型有關(guān)的數(shù)據(jù)。子操作裝置不僅執(zhí)行外設(shè)數(shù)據(jù)的輸入/輸出操作,而且用于識(shí)別外設(shè)。因此,主操作裝置能被分配處理外設(shè)以外的其它數(shù)據(jù),以使系統(tǒng)能夠處理更大量的數(shù)據(jù)。
連接轉(zhuǎn)換裝置能將外設(shè)有選擇地連接到主操作裝置和子操作裝置中的任一個(gè)上。因此,具有更高處理速度的主操作裝置能夠訪問(wèn)一個(gè)需要快速訪問(wèn)的外設(shè)。
連接轉(zhuǎn)換裝置將外設(shè)可選擇地連接到主操作裝置或子操作裝置上。當(dāng)子操作裝置與外設(shè)相連接時(shí),由子操作裝置來(lái)執(zhí)行到/從外設(shè)的數(shù)據(jù)輸入/輸出。在這種情況下,主操作裝置集中執(zhí)行數(shù)據(jù)處理,例如圖象處理。因此,本發(fā)明的數(shù)據(jù)處理裝置減少了主操作裝置的工作量以達(dá)到快速數(shù)據(jù)處理的目的。
連接轉(zhuǎn)換裝置根據(jù)一個(gè)來(lái)自主操作裝置的轉(zhuǎn)換信號(hào),將外設(shè)連接到主操作裝置或子操作裝置上。因此,根據(jù)包括外設(shè)類(lèi)型、主操作裝置的程序內(nèi)容等在內(nèi)的圖象處理環(huán)境的特性、內(nèi)容等將用于外設(shè)的圖象處理特性和數(shù)據(jù)輸入/輸出特性都保持在最佳狀態(tài)。
例如,當(dāng)該轉(zhuǎn)換裝置被轉(zhuǎn)換時(shí),根據(jù)外設(shè)的操作速度特性,當(dāng)該外設(shè)屬于低速型時(shí),連接轉(zhuǎn)換裝置將外設(shè)連接到子操作裝置上以減少主操作裝置的工作量。當(dāng)外設(shè)具有高速操作特性時(shí),通常具有高處理能力的主操作裝置負(fù)責(zé)到/從外設(shè)的數(shù)據(jù)輸入/輸出以保證到/從該外設(shè)的數(shù)據(jù)輸入/輸出。
這種連接轉(zhuǎn)換裝置最好通過(guò)一個(gè)多路轉(zhuǎn)換器來(lái)實(shí)現(xiàn),本發(fā)明的數(shù)據(jù)處理裝置被設(shè)計(jì)成根據(jù)主控制裝置所執(zhí)行的程序類(lèi)型、內(nèi)容等來(lái)控制連接轉(zhuǎn)換裝置,這樣,如果主控制裝置在執(zhí)行一個(gè)圖象處理程序時(shí)需要一個(gè)高速外設(shè),連接轉(zhuǎn)換裝置則受控將該外轉(zhuǎn)換到主控制裝置,否則連接轉(zhuǎn)換裝置連接該外設(shè)到子操作裝置。由于連接轉(zhuǎn)換裝置根據(jù)主控制裝置所執(zhí)行的程序類(lèi)型和內(nèi)容將所需外設(shè)連接到主操作裝置或子操作裝置,從而與圖象處理的類(lèi)型、內(nèi)容等要匹配的外設(shè)被迅速選擇,防止了外設(shè)的錯(cuò)誤選擇。
作為本發(fā)明的另一方面,對(duì)數(shù)據(jù)采集控制裝置加以控制以使其在包括圖象控制、聲音處理等在內(nèi)的數(shù)據(jù)處理的啟動(dòng)時(shí)間之前直接結(jié)束外設(shè)數(shù)據(jù)的采集。這樣,就可以直接根據(jù)數(shù)據(jù)處理啟動(dòng)時(shí)間之前的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理。例如,在一個(gè)包括電子游戲系統(tǒng)的數(shù)據(jù)處理裝置中,對(duì)用戶操作轉(zhuǎn)換控制器,例如一個(gè)操縱板(外設(shè))的圖象反應(yīng)被加速。
根據(jù)采集控制裝置確定數(shù)據(jù)采集起始時(shí)間,以便于在數(shù)據(jù)處理的啟動(dòng)時(shí)間之前結(jié)束外設(shè)數(shù)據(jù)的采集。因此,數(shù)據(jù)采集裝置在開(kāi)始數(shù)據(jù)采集的預(yù)定時(shí)間開(kāi)始采集外設(shè)數(shù)據(jù)。
假設(shè)數(shù)據(jù)采集裝置在數(shù)據(jù)處理啟動(dòng)時(shí)間之前結(jié)束了外設(shè)數(shù)據(jù)的上一次采集,在這種情況下,數(shù)據(jù)采集控制裝置根據(jù)上一次采集的外設(shè)數(shù)據(jù)確定外設(shè)數(shù)據(jù)采集的啟始時(shí)間這樣數(shù)據(jù)采集裝置可以在數(shù)據(jù)處理啟動(dòng)時(shí)間之前結(jié)束外設(shè)數(shù)據(jù)的采集。如果在數(shù)據(jù)處理開(kāi)始之前不能結(jié)束外設(shè)數(shù)據(jù)的上一次采集,數(shù)據(jù)采集啟動(dòng)時(shí)間確定裝置會(huì)提前外設(shè)數(shù)據(jù)采集的開(kāi)始時(shí)間。
如果數(shù)據(jù)處理開(kāi)始之前不能結(jié)束外設(shè)數(shù)據(jù)的采集,那么數(shù)據(jù)處理開(kāi)始時(shí)就不能使用這些外設(shè)數(shù)據(jù)。為避免這種情況,在本發(fā)明中,使數(shù)據(jù)采集開(kāi)始的時(shí)間提前以阻止外設(shè)數(shù)據(jù)采集在數(shù)據(jù)處理開(kāi)始的時(shí)間被中斷。
當(dāng)數(shù)據(jù)采集控制裝置重復(fù)這種處理時(shí),每次外設(shè)數(shù)據(jù)都在一個(gè)最佳時(shí)刻被采集。
數(shù)據(jù)采集控制裝置控制數(shù)據(jù)采集裝置中的數(shù)據(jù)采集時(shí)間以使數(shù)據(jù)采集裝置在數(shù)據(jù)處理啟動(dòng)時(shí)間之前完成外設(shè)數(shù)據(jù)的采集。例如,通過(guò)控制外設(shè)數(shù)據(jù)的傳送速度,可使數(shù)據(jù)處理開(kāi)始之前完成外設(shè)數(shù)據(jù)的采集。
作為本發(fā)明的另一方面,為達(dá)到本發(fā)明的第一和第二目的,開(kāi)始采集數(shù)據(jù)的時(shí)間被確定以使在數(shù)據(jù)處理開(kāi)始之前結(jié)束外設(shè)數(shù)據(jù)的采集。因此,主操作裝置能夠根據(jù)在數(shù)據(jù)處理開(kāi)始之前采集到的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理,并且用戶對(duì)外設(shè)的操作的內(nèi)容也能馬上在數(shù)據(jù)處理中有所反映。這樣,即使在用于數(shù)據(jù)處理的主操作裝置外,還提供了用于控制到/從外設(shè)的輸入/輸出的子操作裝置,在主操作和子操作的平穩(wěn)合作的基礎(chǔ)上,可實(shí)現(xiàn)所需的數(shù)據(jù)處理。
在本發(fā)明的數(shù)據(jù)處理裝置中,確定裝置確定外設(shè)的信號(hào)線是否已經(jīng)與數(shù)據(jù)處理裝置的端子相連,也就是,通過(guò)證實(shí)外設(shè)是否已經(jīng)與數(shù)據(jù)處理器相連,來(lái)保證產(chǎn)生數(shù)據(jù)處理,如圖象處理的最佳結(jié)果。
作為本發(fā)明的另一方面,確定開(kāi)始采集外設(shè)數(shù)據(jù)的時(shí)間以使在數(shù)據(jù)處理啟動(dòng)時(shí)間之前結(jié)束外設(shè)數(shù)據(jù)的采集,根據(jù)確定了的數(shù)據(jù)采集開(kāi)始時(shí)間,開(kāi)始外設(shè)數(shù)據(jù)的采集,因此,根據(jù)在數(shù)據(jù)處理開(kāi)始之前所現(xiàn)有的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理,從而加速圖象對(duì)外設(shè)操作的反應(yīng)。
假設(shè)數(shù)據(jù)采集裝置在數(shù)據(jù)處理開(kāi)始之前結(jié)束了上一次外設(shè)數(shù)據(jù)的采集,在這種情況下,根據(jù)上一次所采集的外設(shè)數(shù)據(jù)確定開(kāi)始數(shù)據(jù)采集的時(shí)間。如果在數(shù)據(jù)處理開(kāi)始之前沒(méi)有結(jié)束外設(shè)數(shù)據(jù)的上一次采集,則提前數(shù)據(jù)采集開(kāi)始的時(shí)間。因此,依據(jù)本發(fā)明,圖象對(duì)外設(shè)操作的反應(yīng)被提前并阻止了外設(shè)數(shù)據(jù)的采集在數(shù)據(jù)處理開(kāi)始的時(shí)間被中斷。
作為數(shù)據(jù)處理裝置的另一方面,數(shù)據(jù)處理裝置根據(jù)來(lái)自與裝置端子(插座連接器針)相連的外設(shè)的數(shù)據(jù)執(zhí)行數(shù)據(jù)處理。確定裝置確定外設(shè)的信號(hào)線是否已經(jīng)與裝置端子相連接。例如,當(dāng)由于熱插入等情況而導(dǎo)致一根或多根信號(hào)線沒(méi)有以穩(wěn)定的方式與裝置端子相連接時(shí),數(shù)據(jù)處理裝置接收到的數(shù)據(jù)(包括表示外設(shè)類(lèi)型的識(shí)別數(shù)據(jù)和表示外設(shè)狀態(tài)的外設(shè)數(shù)據(jù)等)很可能是錯(cuò)誤的。因此,數(shù)據(jù)處理裝置認(rèn)識(shí)到所接收的數(shù)據(jù)是錯(cuò)誤的,從而避免了由于使用錯(cuò)誤數(shù)據(jù)而導(dǎo)致外設(shè)的錯(cuò)誤識(shí)別和錯(cuò)誤操作。特別是,通信裝置要在預(yù)定的時(shí)間間隔內(nèi)多次讀取識(shí)別數(shù)據(jù)。在全部識(shí)別數(shù)據(jù)都一致的情況下,確定裝置確定外設(shè)的信號(hào)線是否已經(jīng)與裝置側(cè)端子相連接。例如,當(dāng)裝置端的電源被接通時(shí)和當(dāng)用戶將外設(shè)的信號(hào)線從裝置側(cè)端子拔掉時(shí),裝置側(cè)端子上的信號(hào)電平將發(fā)生變化。因此,多次讀出的識(shí)別數(shù)據(jù)會(huì)有不同的值,這樣,根據(jù)多次讀出的識(shí)別數(shù)據(jù)是否相互一致,可以確定外設(shè)側(cè)的信號(hào)線是否已經(jīng)與裝置側(cè)端子相連接。從而,依據(jù)本發(fā)明,通過(guò)確定信號(hào)線的連接狀態(tài)可以避免外設(shè)的錯(cuò)誤識(shí)別問(wèn)題。
當(dāng)外設(shè)或一根或多根信號(hào)線沒(méi)有連接起來(lái)時(shí),裝置側(cè)端子(插座連接器針)被提前上拉或下拉以便于輸出表示外設(shè)或信號(hào)線非連接狀態(tài)的預(yù)定數(shù)據(jù)。假設(shè)在一個(gè)預(yù)定時(shí)間,已經(jīng)從外設(shè)發(fā)送了包括預(yù)定數(shù)據(jù)反量(inverse)在內(nèi)的連接確認(rèn)數(shù)據(jù),在這種情況下,確定裝置確定通信裝置所接收到的連接確認(rèn)數(shù)據(jù)是否區(qū)別于表示外設(shè)或其信號(hào)線非連接狀態(tài)的預(yù)定數(shù)據(jù)反量。如果是,則確定裝置確定外設(shè)沒(méi)有與裝置側(cè)端子相連接。從而事先避免了外設(shè)的錯(cuò)誤識(shí)別問(wèn)題。
外設(shè)被如此設(shè)計(jì)以使其一個(gè)或多個(gè)端子(插頭連接器針)與其電源針和/或接地針(GND)相連。當(dāng)把插頭連接器插入裝置的外設(shè)端口時(shí),確定裝置檢測(cè)對(duì)應(yīng)于與外設(shè)電源針或接地針相連的插頭連接器針的裝置插座連接器針上的一個(gè)或多個(gè)信號(hào)電平。如果這一個(gè)或多個(gè)信號(hào)電平與預(yù)定的一個(gè)或多個(gè)信號(hào)電平(電源電平或接地電平)不同,確定裝置則確定該外設(shè)未被連接或插頭連接器針沒(méi)有準(zhǔn)確地與插座連接器針相連接。從而,防止了可能出現(xiàn)的外設(shè)的錯(cuò)誤識(shí)別。
在本發(fā)明的數(shù)據(jù)處理裝置中,通信裝置向外設(shè)發(fā)送一個(gè)需要外設(shè)傳送數(shù)據(jù)的信號(hào),如果通信裝置在發(fā)送了數(shù)據(jù)請(qǐng)求信號(hào)之后的預(yù)定時(shí)間沒(méi)有接收到響應(yīng)信號(hào),確定裝置則確定該外設(shè)沒(méi)有與裝置側(cè)端子相連接。從而,事先防止了由熱插入等導(dǎo)致的外設(shè)錯(cuò)誤識(shí)別。
在本發(fā)明的數(shù)據(jù)處理方法中,根據(jù)來(lái)自與裝置側(cè)端子相連的外設(shè)的數(shù)據(jù)(表示外設(shè)類(lèi)型的識(shí)別數(shù)據(jù),表示外設(shè)狀態(tài)等的外設(shè)數(shù)據(jù))執(zhí)行數(shù)據(jù)處理,并確定外設(shè)的信號(hào)線是否已經(jīng)與裝置側(cè)端子相連。從而事先防止了可能的數(shù)據(jù)錯(cuò)誤識(shí)別。
本發(fā)明所涉及的外設(shè)向數(shù)據(jù)處理裝置輸出有關(guān)外設(shè)側(cè)端子是否已經(jīng)與該裝置相連接的證實(shí)數(shù)據(jù)。與之相應(yīng),數(shù)據(jù)處理裝置確定從外設(shè)接收到的證實(shí)數(shù)據(jù)是否正確。因此,數(shù)據(jù)處理裝置能夠確定外設(shè)是否已經(jīng)以穩(wěn)定方式連接在該裝置上,從而避免了象錯(cuò)誤識(shí)別外設(shè)這樣的問(wèn)題。
外設(shè)輸出識(shí)別數(shù)據(jù)作為證實(shí)數(shù)據(jù)。也就是,數(shù)據(jù)處理裝置在預(yù)定的時(shí)間間隔不只一次地從外設(shè)讀取識(shí)別數(shù)據(jù)。確定裝置根據(jù)那些識(shí)別數(shù)據(jù)是否一致來(lái)確定外設(shè)是否已經(jīng)以穩(wěn)定方式連接于該裝置。
外設(shè)輸出連接確認(rèn)數(shù)據(jù)作為證實(shí)數(shù)據(jù)。也就是,數(shù)據(jù)處理裝置側(cè)端子被預(yù)先上拉或下拉以便于輸出表示外設(shè)與裝置側(cè)端不相連接并包含連接確認(rèn)數(shù)據(jù)反量(inverse)在內(nèi)的預(yù)定數(shù)據(jù)。假設(shè)在一個(gè)預(yù)定的時(shí)間,包括了預(yù)定數(shù)據(jù)的反量的連接確認(rèn)數(shù)據(jù)已從外設(shè)被傳送。在這種情況下,確定裝置確定通過(guò)通信裝置接收的連接確認(rèn)數(shù)據(jù)是否與預(yù)定數(shù)據(jù)的反量不同。如果是,則確定裝置確定外設(shè)沒(méi)有與裝置側(cè)端子相連接。從而預(yù)先避免了象錯(cuò)誤識(shí)別外設(shè)這樣的問(wèn)題。
外設(shè)輸出一個(gè)作為連接確認(rèn)數(shù)據(jù)的信號(hào)。也就是,外設(shè)的一些端子已經(jīng)被連接到電源或接地。因此,當(dāng)外設(shè)端子連接到數(shù)據(jù)處理裝置一側(cè)的端子上時(shí),該裝置側(cè)端子被置于一個(gè)預(yù)定的信號(hào)電平。當(dāng)裝置側(cè)端子的信號(hào)電平與預(yù)定的信號(hào)電平不同時(shí),確定裝置要確定外設(shè)端子是否已經(jīng)以穩(wěn)定的方式連接于裝置側(cè)端子,從而避免了在一個(gè)不穩(wěn)定連接中可能出現(xiàn)的外設(shè)的錯(cuò)誤識(shí)別問(wèn)題。
外設(shè)輸出響應(yīng)信號(hào)和外設(shè)數(shù)據(jù)作為連接確認(rèn)數(shù)據(jù)。即外設(shè)根據(jù)來(lái)自數(shù)據(jù)處理裝置的一個(gè)請(qǐng)求信號(hào)輸出響應(yīng)信號(hào)和外設(shè)數(shù)據(jù)。因此,當(dāng)數(shù)據(jù)處理裝置在向外設(shè)發(fā)出請(qǐng)求信號(hào)后的一段預(yù)定時(shí)間內(nèi)沒(méi)有接收到響應(yīng)信號(hào)時(shí),確定裝置確定外設(shè)沒(méi)有以穩(wěn)定方式連接于數(shù)據(jù)處理裝置,從而避免了錯(cuò)誤識(shí)別外的問(wèn)題。
為獲得上述有益效果,根據(jù)本發(fā)明的另一方面,提供了一個(gè)與外設(shè)相連接的數(shù)據(jù)處理裝置,包括一個(gè)處理來(lái)自外設(shè)的外設(shè)數(shù)據(jù)的主CPU;一個(gè)與主CPU相連的第一ROM;一個(gè)作為主CPU工作區(qū)的第一RAM;一個(gè)子CPU電路,它通過(guò)一條總線與主CPU相連并通過(guò)一個(gè)連接器可拆卸地連接于外設(shè);所述子CPU電路包括一個(gè)與總線相連的第一接口;一個(gè)與第一接口相連的CPU內(nèi)核和第二RAM;一個(gè)與CPU內(nèi)核相連的第二ROM;以及一個(gè)與CPU內(nèi)核和連接器都相連的第二接口,其中所述第一ROM存儲(chǔ)一個(gè)用于向子CPU電路發(fā)送一條從外設(shè)采集一個(gè)外設(shè)數(shù)據(jù)的指令的第一程序和一個(gè)用于通過(guò)子CPU電路讀取所采集的外設(shè)數(shù)據(jù)的第二程序;所述第二ROM存儲(chǔ)一個(gè)第三程序,該程序用于根據(jù)指令從外設(shè)采集外設(shè)數(shù)據(jù)并將采集到的外數(shù)據(jù)提供給主CPU。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種操作裝置,包括一個(gè)連接到外設(shè)并控制到/從外設(shè)輸入/輸出信號(hào)的第一接口;一個(gè)與一根用于向/從與操作裝置相連的主CPU輸入/輸出信號(hào)的總線相連的第二接口;一個(gè)通過(guò)內(nèi)部總線與第二接口相連的CPU內(nèi)核,它執(zhí)行一個(gè)來(lái)自主CPU的命令;一個(gè)存儲(chǔ)了命令處理所需程序的ROM;以及按照外設(shè)的類(lèi)型將第一接口可選擇地連接于CPU總線和內(nèi)部總線中的任一條。
圖1是作為本發(fā)明的一個(gè)實(shí)施例的電子游戲系統(tǒng)透視圖;圖2是作為實(shí)施例的電子游戲略圖;圖3是實(shí)施例的子CPU略圖;圖4表示了實(shí)施例外設(shè)端口附近的電路;圖5是實(shí)施例中的寄存器表;圖6表示實(shí)施例外設(shè)端口的信號(hào)線的名稱;圖7表示實(shí)施例的數(shù)據(jù)寄存器組;圖8是實(shí)施例的連接轉(zhuǎn)換裝置的方塊圖;圖9表示實(shí)施例的各個(gè)寄存器的真值表;圖10表示外設(shè)1D-1與外設(shè)名稱間的對(duì)應(yīng)關(guān)系;圖11表示外設(shè)1D-2與外設(shè)名稱間的對(duì)應(yīng)關(guān)系;圖12說(shuō)明了實(shí)施例中所用的確定通信系統(tǒng)的方法;圖13A到13C表示實(shí)施例外設(shè)插頭連接器連接器的針的排列;
圖14說(shuō)明實(shí)施例的TH/TR選擇通信模式;圖15說(shuō)明實(shí)施例的三線式信號(hào)交換通信模式,圖16說(shuō)明實(shí)施例的計(jì)時(shí)并行通信模式;圖17A和17B說(shuō)明實(shí)施例的計(jì)時(shí)串行通信模式;圖18表示數(shù)據(jù)處理裝置操作的簡(jiǎn)略順序圖;圖19表示電子游戲系統(tǒng)在主CPU直接方式下操作的流程圖;圖20表示沒(méi)有執(zhí)行最佳外設(shè)數(shù)據(jù)采集定時(shí)的時(shí)間圖;圖21是執(zhí)行了最佳外設(shè)數(shù)據(jù)采集定時(shí)的時(shí)間圖;圖22是一個(gè)實(shí)施例中的寄存器表;圖23是表示圖象顯示和控制的時(shí)間圖;圖24是表示圖象顯示和控制的時(shí)間圖;圖25是在子CPU控制模式下電子游戲系統(tǒng)操作的流程圖;圖26是表示外設(shè)數(shù)據(jù)來(lái)集定時(shí)最優(yōu)化的流程圖;圖27是表示外設(shè)數(shù)據(jù)采集定時(shí)最優(yōu)化的流程圖;圖28是表示外設(shè)數(shù)據(jù)采集定時(shí)最優(yōu)化的流程圖;圖29是表示外設(shè)數(shù)據(jù)采集定時(shí)最優(yōu)化的流程圖;圖30是表示外設(shè)數(shù)據(jù)采集定時(shí)最優(yōu)化的流程圖;圖31說(shuō)明實(shí)施例中外設(shè)連接狀態(tài)的確定;以及圖32A和32B說(shuō)明了實(shí)施例中外設(shè)連接狀態(tài)的確定。
本實(shí)施例的結(jié)構(gòu)(1)整體結(jié)構(gòu)圖1是作為本發(fā)明的一個(gè)實(shí)施例的電子游戲系統(tǒng)透視圖,在圖1中,符號(hào)1f表示該電子游戲系統(tǒng)的數(shù)據(jù)處理裝置,它的前部有一對(duì)雙外設(shè)端口27,每個(gè)外設(shè)端口27有一個(gè)插座連接器或插座連接器2as,外設(shè)2b的一個(gè)插頭連接器或插頭連接器2ap能可拆分地與之相連接。插頭連接器2ap通過(guò)一根電纜2c與外設(shè)2b相連接。插座連接器2as和插頭連接器2ap的連接組合在下文中被稱作連接器2a,外設(shè)2b包括控制鍵轉(zhuǎn)換部件,諸如操縱板,操縱桿,鍵盤(pán)或鼠標(biāo)器。這些轉(zhuǎn)換部件也可以被稱作一個(gè)控制器??梢圆捎妹绹?guó)專利申請(qǐng)S.N.08/245,446所公開(kāi)的控制器作為轉(zhuǎn)換部件。
在數(shù)據(jù)處理裝置1f的上表面上提供了一個(gè)數(shù)據(jù)盒1/Fle用以連接一個(gè)ROM數(shù)據(jù)盒和一個(gè)用來(lái)讀CD-ROM的CD-ROM驅(qū)動(dòng)器5a。在數(shù)據(jù)處理裝置1f的后部提供了一個(gè)視頻輸出端子和一個(gè)音頻輸出端子(圖中未示),數(shù)據(jù)處理裝置一側(cè)的視頻輸出端子通過(guò)一根電纜1g與電視3d的視頻輸入端子相連,并且電子游戲系統(tǒng)的音頻輸出端子通過(guò)一根電纜1h與電視3d的音頻輸入端子相連。在這樣的電子游戲系統(tǒng)中,用戶能在觀看出現(xiàn)在電視3d顯示屏上圖象的同時(shí),通過(guò)操作外設(shè)2d來(lái)玩游戲。
圖2是表明本實(shí)施例中電子游戲系統(tǒng)的簡(jiǎn)要方塊圖。其數(shù)據(jù)處理裝置由一個(gè)對(duì)整個(gè)系統(tǒng)提供控制的CPU塊1,一個(gè)處理視頻信號(hào)并控制在游戲顯示屏上顯示的圖象塊3,一個(gè)產(chǎn)生有效聲音等的語(yǔ)音塊4和一個(gè)控制CD-ROM驅(qū)動(dòng)器5a并讀CD-ROM的子系統(tǒng)5構(gòu)成。
CPU塊1由一個(gè)SCU(系統(tǒng)控制單元)1a,主CPU1b,RAM1c,ROM1d,數(shù)據(jù)盒1/Fle,子CPU2和CUP總線10構(gòu)成,主CPU1b控制整個(gè)游戲系統(tǒng),為了增強(qiáng)控制能力,主CPU1b由32位R1SC型高速CPU(兩個(gè)SH-2CPU芯片)組成并提供了經(jīng)改進(jìn)的與一個(gè)數(shù)字信號(hào)處理器(DSP)功能相似的高速運(yùn)算操作。RAM1c被用于主CPU1b的工作區(qū),ROM1d中寫(xiě)有一個(gè)用于初始化目的的初始程序。SCU1a通過(guò)控制總線10、11和12平穩(wěn)地在主CPU1b,VDP3a和3b,DSP4b以及CPU5c之間輸入/輸出數(shù)據(jù)。SCU1a有一個(gè)內(nèi)部DMA控制器,它在游戲過(guò)程中高速地向圖象塊3中的V-RAM傳送字符(子畫(huà)面)數(shù)據(jù)以執(zhí)行程序用的應(yīng)用軟件。數(shù)據(jù)盒1/F le以一個(gè)ROM數(shù)據(jù)盒的形式供給的定位應(yīng)用軟件中進(jìn)行輸入。
子CPU2被稱作SMPC(系統(tǒng)管理器及外設(shè)控制),它具有根據(jù)來(lái)自主CPU1b的請(qǐng)求,通過(guò)連接器2a從外設(shè)2b采集外設(shè)數(shù)據(jù)的功能,所述主CPU1b控制圖象,例如根據(jù)從子CPU2接收到的外設(shè)數(shù)據(jù)在游戲顯示屏上旋轉(zhuǎn)一架飛機(jī)。子CPU2還具有自動(dòng)識(shí)別與連接器2a(插座連接器端子)相連的外設(shè)類(lèi)型的功能并依據(jù)該類(lèi)型的外設(shè)所用的通信模式來(lái)采集外設(shè)數(shù)據(jù)。
圖象塊3由一個(gè)在電子游戲中描繪字符的VDP3a(圖象顯示處理器),一個(gè)描繪背景畫(huà)面的VDP3b構(gòu)成。VDP3sa和3b所描繪的圖象上的數(shù)據(jù)被存在一個(gè)幀存儲(chǔ)器中(圖中未示),然后將其輸出到一個(gè)編碼器3c中,其中通過(guò)附加一個(gè)同步信號(hào)到圖象數(shù)據(jù)上來(lái)產(chǎn)生一個(gè)視頻信號(hào),并輸出該視頻信號(hào)到電視機(jī)上以在電視上顯示游戲圖形。圖象塊3的詳細(xì)描述可以參照PCT/JP94/01068(1995年2月24日在美國(guó)申請(qǐng)),PCT/JP94/01067(1995年2月27日在美國(guó)申請(qǐng)),PCT/JP94/01066(1995年2月27日在美國(guó)申請(qǐng))。
語(yǔ)音塊4由一個(gè)按照PCM或FM系統(tǒng)執(zhí)行語(yǔ)音合成的DSP4b和一個(gè)控制DSP4b及其它操作的CPU4a組成。DSP4b產(chǎn)生的語(yǔ)音數(shù)據(jù)被一個(gè)D/A轉(zhuǎn)換器轉(zhuǎn)換成兩個(gè)通道信號(hào),然后將其輸出到揚(yáng)聲器4d。
子系統(tǒng)5由一個(gè)CD-ROM驅(qū)動(dòng)器5a,CD 1/F 5b,CPU5c,MPEG AUDIO 5d,MPEG V1DEO 5e等組成。子系統(tǒng)5讀取CD-ROM饋給的應(yīng)用軟件并再現(xiàn)一個(gè)動(dòng)畫(huà)。CD-ROM驅(qū)動(dòng)器5a從CD-ROM讀取數(shù)據(jù)。CPU5c控制CD-ROM驅(qū)動(dòng)器5a并校正讀出數(shù)據(jù)中可能有的錯(cuò)誤。從CD-ROM讀出的數(shù)據(jù)通過(guò)CD 1/F 5b,總線11和SCU1a被傳送到主CPU 1b并用作應(yīng)用軟件。MPEG AUDIO 5d和MPEG VIDEO5e恢復(fù)按MPEG(運(yùn)動(dòng)圖形專家組)標(biāo)準(zhǔn)壓縮的數(shù)據(jù)。通過(guò)利用MPEG AUDIO 5d和MPEG V1DEO 5e恢復(fù)寫(xiě)在CD-ROM中的MPEG壓縮數(shù)據(jù),動(dòng)畫(huà)圖象被再現(xiàn)。(2)子CPU的結(jié)構(gòu)圖3顯示了子CPU2的結(jié)構(gòu),子CPU2通過(guò)包括了地址和數(shù)據(jù)總線的總線10連接于主CPU1b,并作為主CPU的一個(gè)子CPU進(jìn)行操作,子CPU2由一個(gè)執(zhí)行從主CPU1b發(fā)送的命令的CPU內(nèi)核20,一個(gè)包括了一個(gè)譯碼器的1/F 21,寫(xiě)有用于執(zhí)行命令的程序的ROM22,用作工作區(qū)的RAM23,總線38,對(duì)時(shí)鐘計(jì)數(shù)的計(jì)數(shù)器24,一個(gè)根據(jù)主CPU1b的命令直接控制I/O接口26的多路轉(zhuǎn)換器36,轉(zhuǎn)換多路轉(zhuǎn)換器36和具有雙通道外設(shè)端口27的I/O接口的數(shù)據(jù)寄存器組35組成。在本發(fā)明中,多路轉(zhuǎn)換器36和數(shù)據(jù)寄存器組35構(gòu)成了連接轉(zhuǎn)換裝置40。子CPU2可做成一個(gè)半導(dǎo)體芯片上的集成電路。
如圖4所示,外設(shè)2b通過(guò)連接器2a和外設(shè)端口27與子CPU2電連接。通過(guò)將外設(shè)2b的插頭連接器連接器2ap插入數(shù)據(jù)處理裝置的插座連接器2as中。外設(shè)端口27的所有信號(hào)線就與外設(shè)2b電連接起來(lái)。<1/F 21,RAM23>
RAM23被用作CPU內(nèi)核20的一個(gè)工作區(qū)。1/F 21包括一個(gè)對(duì)地址和數(shù)據(jù)總線進(jìn)行譯碼的譯碼器。在1/F21中提供了一個(gè)寄存器表(圖中未示),它提供了主CPU1b和子CPU2之間的數(shù)據(jù)輸入/輸出。因此,經(jīng)由CPU總線10訪問(wèn)一個(gè)預(yù)定地址,主CPU1b可以訪問(wèn)寄存器表。
圖5顯示了寄存表的一個(gè)例子。在圖5中,一個(gè)命令寄存器(COMREG)用于向子CPU2傳送來(lái)自主CPU1b的命令并被看作主CPU1b的一個(gè)8位只寫(xiě)寄存器,例如,當(dāng)主CPU1b已將一個(gè)中斷返回命令(1NTBACK)“10H”寫(xiě)入了命令寄存器時(shí),CPU內(nèi)核20依據(jù)該命令采集外設(shè)數(shù)據(jù)。一個(gè)狀態(tài)寄存器(SR)指示已執(zhí)行命令后子CPV2的操作狀態(tài)。例如,它顯示雙通道I/O端口的使用狀態(tài),及存在/不存在還沒(méi)有傳送到主CPU1b的剩余外設(shè)數(shù)據(jù)。狀態(tài)寄存器被看主CPU1b的一個(gè)只讀寄存器。
狀態(tài)標(biāo)志(SF)指示子CPU2是否在執(zhí)行命令或是否可以接收命令,狀態(tài)標(biāo)志中的數(shù)“1”表示子CPU2處于忙狀態(tài)(在執(zhí)行命令),而“0”表示子CPU2能夠接收一個(gè)命令。主CPU1b在將命令寫(xiě)入命令寄存器之前設(shè)置(寫(xiě)入“1”)該狀態(tài)標(biāo)志,當(dāng)子CPU2完成了該命令的執(zhí)行時(shí),子CPU2將狀態(tài)標(biāo)志復(fù)位(寫(xiě)入“0”),在確認(rèn)子CPU2處于能夠執(zhí)行一個(gè)命令的狀態(tài)(狀態(tài)標(biāo)志為“0”后,主CPU1b向子CPU2發(fā)送一個(gè)命令。
每個(gè)輸入寄存器(IREG0-IREG6)是一個(gè)7字節(jié)寄存器,它為從主CPU1b發(fā)向子CPU2的命令給定一個(gè)固有命令參數(shù),并且該寄存器被看作主CPU1b的一個(gè)只寫(xiě)寄存器。
每個(gè)輸出寄存器(OREG0-OREG31)存儲(chǔ)從子CPU2向主CPU1b傳送的數(shù)據(jù),例如,子CPU2所采集的外設(shè)數(shù)據(jù),關(guān)于外設(shè)類(lèi)型的數(shù)據(jù)等被寫(xiě)入輸出寄存器。因此,通過(guò)訪問(wèn)輸出寄存器,主CPU1b能夠獲及外設(shè)數(shù)據(jù)。每個(gè)輸出寄存器被看作主CPU1b的只讀寄存器。<多路轉(zhuǎn)換器36>
多路轉(zhuǎn)換器36確定CPU內(nèi)核20和主CPU16哪一個(gè)應(yīng)該訪問(wèn)I/O接口26,由數(shù)據(jù)寄存器組35來(lái)執(zhí)行多路轉(zhuǎn)換器36的轉(zhuǎn)換。
通常,多路轉(zhuǎn)換器36處于如圖3所示的狀態(tài)并且CPU內(nèi)核20訪問(wèn)I/O接口26。如此,我們稱子CPU2依據(jù)來(lái)自主CPU16的命令得到外設(shè)數(shù)據(jù)的狀態(tài)為“子CPU控制模式”。
根據(jù)子CPU控制模式,可能會(huì)出現(xiàn)下列問(wèn)題。當(dāng)使用需要高速訪問(wèn)的外設(shè)2b時(shí),低操作速度的CPU內(nèi)核20不能訪問(wèn)外設(shè)數(shù)據(jù)。由于外設(shè)2b的訪問(wèn)協(xié)議是存在ROM22中,所以此訪問(wèn)協(xié)議是難以改變的。因此,雖然子CPU2能夠訪問(wèn)一個(gè)預(yù)先假定好要用的外設(shè)2b,但它不能訪問(wèn)沒(méi)有假定的外設(shè)2b。為解決這個(gè)問(wèn)題本發(fā)明打算提供一種數(shù)據(jù)處理裝置,它實(shí)現(xiàn)了高速圖象處理,多種圖象處理并優(yōu)化了外設(shè)控制。
在這些情況下,通過(guò)利用能執(zhí)行高速操作并具有高靈活性的主CPU1直接訪問(wèn)外設(shè)2b,獲得了外設(shè)數(shù)據(jù)。如此,我們稱主CPU1b直接訪問(wèn)外設(shè)的狀態(tài)為“主CPU直接模式”。<I/O接口26>
I/O接口26有雙通道外設(shè)端口27,每個(gè)雙通道外設(shè)端口27由7根信號(hào)線和電流線Vcc和地線GND構(gòu)成,各信號(hào)線的名稱和功能如圖6所示。如圖所示,參考字符TH,TR和TL表示主要用做控制線的信號(hào)線;R,L,D和U表示主要用做從外設(shè)延伸至I/O接口26的數(shù)據(jù)輸出線的信號(hào)線。如下所述,可以根據(jù)與數(shù)據(jù)處理裝置相連的外設(shè)的類(lèi)型來(lái)自由設(shè)置那些信號(hào)線的輸入/輸出方向。在定時(shí)并行和串行通信模式以外的通信模式中,這些信號(hào)線TR,TL能被用做數(shù)據(jù)線。
通過(guò)訪問(wèn)子CPU2中提供的數(shù)據(jù)寄存器35(圖3,7)來(lái)設(shè)定信號(hào)線的輸入/輸出方向。數(shù)據(jù)寄存器組的每個(gè)數(shù)據(jù)方向寄存器(DDR1,DDR2)是一個(gè)7位寄存器,它能設(shè)置每個(gè)通道的外設(shè)端口27的各個(gè)信號(hào)線的輸入/輸出方向。例如,當(dāng)主CPU1b通過(guò)CPU總線10在數(shù)據(jù)方向寄存器的每一位中寫(xiě)入“0”時(shí),各信號(hào)線被設(shè)置成數(shù)據(jù)輸入,而當(dāng)主CPU1b寫(xiě)入“1”時(shí),各信號(hào)線被設(shè)置成數(shù)據(jù)輸出。因此,實(shí)現(xiàn)了對(duì)各種外設(shè)的訪問(wèn)。
數(shù)據(jù)寄存器組的每個(gè)端口數(shù)據(jù)寄存器(PDR1,PDR2)是一個(gè)7位寄存器,其中存儲(chǔ)了每個(gè)通道的外設(shè)端口27中的數(shù)據(jù)。當(dāng)外設(shè)端口27已被設(shè)為數(shù)據(jù)輸出時(shí),通過(guò)將數(shù)據(jù)寫(xiě)入端口數(shù)據(jù)寄存器來(lái)將此數(shù)據(jù)輸出到外設(shè)端口27。當(dāng)外設(shè)端口27被設(shè)為數(shù)據(jù)輸入時(shí),通過(guò)讀端口數(shù)據(jù)寄存器中的數(shù)據(jù)來(lái)讀出外設(shè)端口27的端子狀態(tài)(“0”或“1”)。
每個(gè)I/O選擇寄存器(IOSEL1,IOSEL2)是一個(gè)標(biāo)志,它確定子CPU2和主CPU1b中的哪一個(gè)將訪問(wèn)外設(shè)端口27。當(dāng)將“0”寫(xiě)入I/O選擇寄存器時(shí),子CPU2能訪問(wèn)外設(shè)端口27,當(dāng)將“1”寫(xiě)入I/O選擇寄存器時(shí),主CPU1b能訪問(wèn)外設(shè)端口27。<數(shù)據(jù)寄存組35>
數(shù)據(jù)寄存器組35的具體結(jié)構(gòu)如圖3和8所示。在圖3中,數(shù)據(jù)寄存器組35通過(guò)一個(gè)多路轉(zhuǎn)換器30與I/O接口26相連。數(shù)據(jù)寄存器組35主要包括一個(gè)用于主CPU1b的寄存器組351,用于子CPU2的寄存器組352和I/O選擇寄存器353。
用于主CPU1b的寄存器組351的一個(gè)端子通過(guò)總線39和10與主CPU1b相連。寄存器組351的另一個(gè)端子與多路轉(zhuǎn)換器36的一個(gè)端子相連。
用于CPU內(nèi)核20的寄存器組352的一個(gè)端子通過(guò)總線38與CPU內(nèi)核20相連。寄存器352的另一個(gè)端子與多路轉(zhuǎn)換器36的另一個(gè)端子相連。
多路轉(zhuǎn)換器36的一個(gè)公用端子與I/O接口26相連,其依序與外設(shè)連接器2a相連。通過(guò)外設(shè)端口27與外設(shè)連接器2a相連的是兩個(gè)相應(yīng)的外設(shè)2b,例如操縱板。
多路轉(zhuǎn)換器36根據(jù)數(shù)據(jù)寄存器組35的I/O選擇寄存組353的設(shè)置,通過(guò)寄存器組352和總線38將外設(shè)2b連接于CPU內(nèi)核20或通過(guò)寄存器組351和總線39及10將外設(shè)2b連接于主CPU1b。
而在圖3的數(shù)據(jù)寄存器組35中,所說(shuō)明的多路轉(zhuǎn)換器36和I/O接口26是由用于雙通道的電路組成的,下面將說(shuō)明只用于一個(gè)通道的元件。
圖8是表示連接轉(zhuǎn)換裝置40的具體結(jié)構(gòu)的方塊圖。在圖8中,顯示了主CPU1b及其總線10,連接轉(zhuǎn)換裝置40,子CPU2中的CPU內(nèi)核20及總線38。
與主CPU1b相連的總線10由一個(gè)地址總線101,控制總線102和數(shù)據(jù)總線103組成。地址總線101和控制總線102通過(guò)一個(gè)譯碼器264與子CPU2的一個(gè)譯碼器251相連。從地址總線101向譯碼器251供給地址數(shù)據(jù)。
寄存器組351由6位端口數(shù)據(jù)寄存器(PDR1,2)355,6位端口數(shù)據(jù)方向寄存器(DDR1,2)和6位端口數(shù)據(jù)寄存器357組成。
來(lái)自數(shù)據(jù)總線103的數(shù)據(jù)被寫(xiě)入端口數(shù)據(jù)寄存器355和數(shù)據(jù)方向寄存器356中。譯碼器251的輸出端與端口寄存器355,數(shù)據(jù)方向寄存器356,端口數(shù)據(jù)寄存器357和I/O選擇寄存器組(IOSEL1,2)353相連。由譯碼器251的指示選擇,那些寄存器中的一個(gè)。
寄存器組352由一個(gè)6位端口數(shù)據(jù)寄存器358,6位數(shù)據(jù)方向寄存器359和6位端口數(shù)據(jù)寄存器360構(gòu)成。
與CPU內(nèi)核20相連的總線38由一根地址總線381,控制總線382和數(shù)據(jù)總線383構(gòu)成。數(shù)據(jù)總線383與端口數(shù)據(jù)寄存器358,數(shù)據(jù)方向寄存器359和端口數(shù)據(jù)寄存器360相連。地址總線381和控制總線382與譯碼器252相連,該譯碼器的輸出端與端口數(shù)據(jù)寄存器358,數(shù)據(jù)方向寄存器359和端口數(shù)據(jù)寄存器相連,根據(jù)譯碼器252的指示選擇,那些寄存器中的一個(gè)。
多路轉(zhuǎn)換器36由三態(tài)緩沖器361-365構(gòu)成,假設(shè)其中已存儲(chǔ)了所需的位數(shù)據(jù)。I/O選擇寄存器組353的輸出端與緩沖器361和363的非反相控制輸入端子及緩沖器362和364的反相控制輸入端子相連。當(dāng)I/O選擇寄存器組353的輸出端為“1”時(shí),緩沖器361和363被打開(kāi),而I/O選擇寄存組353的輸出端為“0”時(shí),緩沖器362和364被打開(kāi)。
端口數(shù)據(jù)寄存器組355的輸出端子與緩沖器361的一個(gè)輸入端子相連;數(shù)據(jù)方向寄存器組356的輸出端子與緩沖器363的一個(gè)輸入端子相連;端口數(shù)據(jù)寄存器358的輸出端子與緩沖器362的一個(gè)輸入端子相連;數(shù)據(jù)方向寄存器359的輸出端子與緩沖器364的一個(gè)輸入端子相連。
緩沖器361,362的輸出端子一起與緩沖器365的一個(gè)輸入端子相連。緩沖器365的非反相控制輸入端子與緩沖器363、364的輸出端子相連以控制開(kāi)/關(guān)緩沖器365,與I/O接口26相連的輸出端子及端口數(shù)據(jù)寄存器351,360。
圖9顯示了圖8中各個(gè)寄存器的真值表(從主CPU1b來(lái)看),并解釋了當(dāng)I/O選擇寄存器353已被設(shè)置為“0”時(shí)將訪問(wèn)I/O接口26的權(quán)利轉(zhuǎn)換給CPU內(nèi)核20的狀態(tài)。在這種情況下,圖9還顯示了I/O接口26的方向處于輸入狀態(tài)而不考慮數(shù)據(jù)方向寄存器組356的值,及由子CPU2確定緩沖器的狀態(tài)等而不考慮端口數(shù)據(jù)寄存器組355的值。這個(gè)表進(jìn)一步表明當(dāng)I/O接口26的輸入狀態(tài)是圖9所示8個(gè)上態(tài)中的任一個(gè)時(shí),可以通過(guò)端口數(shù)據(jù)寄存器357來(lái)讀取。<外設(shè)端口27>
圖4顯示了在外設(shè)端口27周?chē)碾娐贰H缟纤?,I/O接口26有兩個(gè)通道外設(shè)端口27。每個(gè)外設(shè)端口27的信號(hào)線D、U、TH、TR、TL、R和L通過(guò)相應(yīng)的電阻器271上拉到電源Vcc。這樣,當(dāng)沒(méi)有外設(shè)連接到這些信號(hào)線時(shí),這些信號(hào)線的電壓為Vcc(“1”)。因此,當(dāng)設(shè)置用于數(shù)據(jù)輸入的這些信號(hào)線(例如,R、L、D、U)都為“1”時(shí),子CPU2確定沒(méi)有外設(shè)已經(jīng)連接到外設(shè)端口27。<外設(shè)>
外設(shè)的種類(lèi)很多;控制器或操作板,鼠標(biāo),鍵盤(pán),等等。并且,因此,執(zhí)行依賴于各種外設(shè)的通信所需的處理。在本實(shí)施例中,這些外設(shè)由外設(shè)標(biāo)志ID-1、2表示,因而能夠自動(dòng)識(shí)別所連接的外設(shè)。外設(shè)標(biāo)志ID-1用于使子CPU2確定通信模式等。外設(shè)標(biāo)志ID-1不傳送到主CPU1b。外設(shè)標(biāo)志ID-2用于使主CPU1b執(zhí)行依賴于這種外設(shè)的圖象處理。因此,外設(shè)標(biāo)志ID-2從相關(guān)的外設(shè)讀出并傳送到主CPU1b。
外設(shè)標(biāo)志ID-1和外設(shè)名稱之間的關(guān)系顯示在圖10中,其中,根據(jù)當(dāng)子CPU2輸出“1”到信號(hào)線TH時(shí),信號(hào)線R、L、D、U的相應(yīng)值以及當(dāng)子CPU2輸出“0”到信號(hào)線TH時(shí),信號(hào)線R、L、D、U的相應(yīng)值來(lái)確定外設(shè)標(biāo)志ID-1的值。即,外設(shè)標(biāo)志ID-1為4比特并且其具體計(jì)算根據(jù)下式進(jìn)行外設(shè)標(biāo)志ID-1={(當(dāng)TH=1時(shí)的R)或(當(dāng)TH=1時(shí)的L)}×8h+{(當(dāng)TH=1時(shí)的D)或(當(dāng)TH=1時(shí)的U)}×4h+{(當(dāng)TH=0時(shí)的R)或(當(dāng)TH=0時(shí)的L)}×2h
+{(當(dāng)TH=0時(shí)的D)或(當(dāng)TH=0時(shí)的U)}×1h,這里,h表示16進(jìn)制的后綴。
子CPU2能夠自動(dòng)識(shí)別稱作外設(shè)標(biāo)志ID-1的外圍設(shè)備,并且確定與所識(shí)別的外設(shè)標(biāo)志ID-1相對(duì)應(yīng)的通信模式。例如,當(dāng)外設(shè)標(biāo)志ID-1的值是“Bh”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是一個(gè)控制板(controlPAD),例如,當(dāng)外設(shè)標(biāo)志ID-1的值是“3h”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是一個(gè)鼠標(biāo),另外,例如,當(dāng)外設(shè)標(biāo)志ID-1的值是“Dh”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是一個(gè)“3TRG/6TRG/PAD”(3/6按鈕的控制板),另外,例如,當(dāng)外設(shè)標(biāo)志ID-1的值是“7h”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是一個(gè)“用于許多外設(shè)連接的4P適配器”。
在某些外設(shè)中,信號(hào)線TR用作一輸出線。這樣,當(dāng)外設(shè)的信號(hào)線TR有一個(gè)低阻抗(輸出)時(shí),I/O接口26或在外設(shè)一側(cè)的設(shè)備存在被中斷的可能性,為了避免這一所不希望的情況,當(dāng)信號(hào)線R、L、D、U的值被讀取并計(jì)算外設(shè)標(biāo)志ID-1時(shí),信號(hào)線TR最好是處于高阻抗?fàn)顟B(tài)并上拉為高電平。
外設(shè)標(biāo)志ID-2是在通信模式已經(jīng)確定后的通信中從外設(shè)輸出的數(shù)據(jù)。此外設(shè)標(biāo)志ID-2通過(guò)輸出寄存器傳送到主CPU1b并且與主CPU1b的圖象控制有關(guān)。外設(shè)標(biāo)志ID-2和外設(shè)名稱之間的關(guān)系顯示在圖11中。例如,當(dāng)外設(shè)標(biāo)志ID-2的值為“1h”時(shí),主CPU1b確定外設(shè)是諸如操縱桿之類(lèi)的模擬設(shè)備,同時(shí),外設(shè)標(biāo)志ID-1的值變成“5h”表示外設(shè)輸出外設(shè)ID-2,即,只有當(dāng)外設(shè)標(biāo)志ID-1為“5h”時(shí),外設(shè)才輸出外設(shè)標(biāo)志ID-2。
如上所述,通過(guò)采用兩個(gè)外設(shè)標(biāo)志ID-1、2,一個(gè)用于電子游戲系統(tǒng)的在類(lèi)型上能夠與其它外設(shè)區(qū)別開(kāi)來(lái)的外設(shè)能夠用在下面的電子游戲系統(tǒng)中。例如,假定外設(shè)標(biāo)志ID-1分配給一常規(guī)類(lèi)型的外設(shè),在這種情況下,通過(guò)除ID-1之外還把外設(shè)標(biāo)志ID-2分配給一新型外設(shè),那么此新型外設(shè)能夠包含新型和舊型的外設(shè)的功能,因此,根據(jù)本實(shí)施例,能夠開(kāi)發(fā)一種新型外設(shè),而同時(shí)仍然保持此外設(shè)與其它外設(shè)的兼容。<在外設(shè)端口和外設(shè)之間的通信模式>
子CPU2根據(jù)下面的依賴外設(shè)類(lèi)型的通信模式進(jìn)行通信。如上所述,通信模式由外設(shè)標(biāo)志ID-1的值確定。
例如,當(dāng)外設(shè)標(biāo)志ID-1的值為“Dh”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是“3TRG/6TRGPAD”。在這種情況下,子CPU2選擇一種依賴于外設(shè)“3TRG/6TRGPAD”的并行通信模式。當(dāng)外設(shè)ID-1的值是“Bh”時(shí),子CPU2確定連接到外設(shè)端口27的外圍設(shè)備是一個(gè)控制板。在這種情況下,子CPU2根據(jù)外設(shè)標(biāo)志ID-1(=Bh)確定一種后面將要描述的TH/TR選擇通信模式。
當(dāng)外設(shè)標(biāo)志ID-1的值為“5h”時(shí),在對(duì)應(yīng)圖12的表的基礎(chǔ)上確定三線信號(hào)交換通信模式(handshake communcca-tion mode)、定時(shí)并行和串行通信模式的其中之一。圖12顯示了每根信號(hào)線和通信模式之間的關(guān)系。例如,當(dāng)子CPU2輸出TH=1和TR=1,外設(shè)輸出R=0、L=0、D=0和U=1時(shí),以及當(dāng)子CPU2輸出TH=0和TR=1,外設(shè)輸出R=0、L=0、D=0和U=1時(shí),子CPU2選擇三線信號(hào)交換通信模式。當(dāng)子CPU2輸出TH=1和TR=1,外設(shè)輸出R=0、L=0、D=1和U=0時(shí),以及當(dāng)子CPU2輸出TH=0和TR=1,外設(shè)輸出R=0、L=0、D=0和U=0時(shí),子CPU2選擇定時(shí)串行通信模式。當(dāng)子CPU2輸出TH=1和TR=1,外設(shè)輸出R=0、L=0、D=1和U=1時(shí),以及當(dāng)子CPU2輸出TH=0和TR=1,外設(shè)輸出R=0、L=0、D=1和U=1時(shí),子CPU2選擇定時(shí)并行通信模式。
在基于定時(shí)串行通信的外圍設(shè)備中,最好是信號(hào)線R、L連接到地(GND)而信號(hào)線D連接到電源Vcc。如圖13C中的插頭連接器2ap的針配置所示的那樣。因此,防止了通信模式選擇的錯(cuò)誤。在確定通信模式后,子CPU2根據(jù)適當(dāng)?shù)耐ㄐ畔到y(tǒng)訪問(wèn)外圍設(shè)備。
接下來(lái),下面將描述TH/TR選擇通信模式、三線信號(hào)交換通信模式和定時(shí)并行及串行通信模式的細(xì)節(jié)。
圖14說(shuō)明了TH/TR選擇通信模式,這種模式主要用于諸如控制板的外圍設(shè)備中,在圖14中,“RIGHT”,“LEFT”,“DOWN”,“UP”,“START”,“TRG-A至C”,“TRG-R”和“TRG-X至Z”表示在控制板中提供的各個(gè)鍵上的數(shù)據(jù)。在這種通信模式中,信號(hào)線TH、TR設(shè)置成數(shù)據(jù)輸出(用于從I/O接口26到外圍設(shè)備的信號(hào)傳輸),信號(hào)線TL、R、L、D和U設(shè)置成數(shù)據(jù)輸入(用于從外設(shè)到I/O接口26的信號(hào)傳輸)。如圖14所示,通過(guò)順序地改變?cè)谧覥PU2一側(cè)的信號(hào)線TH、TR的狀態(tài),外圍設(shè)備順序地輸出第一至第四數(shù)據(jù)到信號(hào)線R、L、D和U上。這樣,子CPU2讀取輸出到各個(gè)信號(hào)線R、L、D和U上的數(shù)據(jù)而采集外設(shè)數(shù)據(jù)(關(guān)于控制板的鍵盤(pán)的狀態(tài))。所采集的外設(shè)數(shù)據(jù)通過(guò)輸出寄存器送到主CPU1b。
當(dāng)外圍設(shè)備2b采用TH/TR選擇通信模式時(shí),其插頭連接器2ap的9根針的配置及其相互間的電隔離,如圖13A所示。
圖15說(shuō)明了三線信號(hào)交換通信模式,此模式用于諸如鼠標(biāo)等之類(lèi)的外圍設(shè)備中。在三線信號(hào)交換通信模式中,信號(hào)線TH、TR設(shè)置為數(shù)據(jù)輸出(用于從I/O接口26至外圍設(shè)備的信號(hào)傳輸)。信號(hào)線TL、R、L、D和U設(shè)置成數(shù)據(jù)輸入(用于從外圍設(shè)備至I/O接口的信號(hào)傳輸)。當(dāng)子CPU2已經(jīng)開(kāi)始訪問(wèn)外圍設(shè)備時(shí),信號(hào)線TH、TR和TL全為“1”。子CPU2讀取表示來(lái)自信號(hào)線R、L、D和U的用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的前半部分的4比特?cái)?shù)據(jù),子CPU2輸出“0”作為一個(gè)外設(shè)選擇信號(hào)到信號(hào)線TH并且讀取表示用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的后半部分的4比特?cái)?shù)據(jù)。
其后,當(dāng)子CPU2使信號(hào)線TR上的信號(hào)電平翻轉(zhuǎn)到“0”時(shí),在外設(shè)ID-2(ID0-ID3)上的4比特?cái)?shù)據(jù)從外設(shè)輸出到信號(hào)線R、L、D和U。這時(shí),外設(shè)使信號(hào)線TL翻轉(zhuǎn)到“0”以通知子CPU2輸出到信號(hào)線R、L、D和U的數(shù)據(jù)已經(jīng)被固定。在子CPU2已經(jīng)證實(shí)信號(hào)線TL的翻轉(zhuǎn)后,它讀取輸出到信號(hào)線R、L、D和U的關(guān)于外設(shè)標(biāo)志ID-2的數(shù)據(jù)。另外,當(dāng)子CPU2使信號(hào)線TR翻轉(zhuǎn)到“1”時(shí),外設(shè)輸出表示外設(shè)數(shù)據(jù)的各總字節(jié)數(shù)的數(shù)據(jù)量大小的信號(hào)(DSIZE0-DSIZE3)到信號(hào)線R、L、D和U上。子CPU2證實(shí)信號(hào)線翻轉(zhuǎn)到“0”后,讀取輸出到信號(hào)線R、L、D和U上的數(shù)據(jù)量大小信號(hào)。其后,子CPU2順序地翻轉(zhuǎn)信號(hào)線TR上電壓值從而使得外圍設(shè)備輸出外設(shè)數(shù)據(jù)(DATA)。外設(shè)標(biāo)志ID-2、數(shù)據(jù)量大小信號(hào)和外設(shè)數(shù)據(jù)通過(guò)輸出寄存器送到主CPU1b。
下一個(gè)輸出的外設(shè)數(shù)據(jù)(R=0、L=0、D=0和U=0)為連接證實(shí)數(shù)據(jù)。通過(guò)證實(shí)此數(shù)據(jù),子CPU2能夠確定外設(shè)端口是否已經(jīng)正確地連接。如果外圍設(shè)備的某些插頭端子脫出數(shù)據(jù)處理裝置的插座連接器,那么上拉信號(hào)線R、L、D和U的任意一個(gè)將為“1”,并且連接證實(shí)數(shù)據(jù)的值不是R=0、L=0、D=0和U=0。因此,通過(guò)參照連接證實(shí)數(shù)據(jù),在通信過(guò)程中子CPU2能夠確定外圍設(shè)備已經(jīng)脫出,從而預(yù)先防止錯(cuò)誤的外設(shè)數(shù)據(jù)反饋到主CPU1b。
當(dāng)外圍設(shè)備2b采用三線信號(hào)交換通信模式時(shí),其插頭連接器2ap的相互電隔離的9根針的配置顯示在圖13A中。
圖16說(shuō)明了定時(shí)并行通信模式。除了與用于前面的通信模式中的外設(shè)不同外,在此并行通信模式中用于輸入/輸出的各個(gè)信號(hào)線的設(shè)置與三線信號(hào)交換通信模式類(lèi)似。在插頭連接器2ap中的兩根數(shù)據(jù)信號(hào)線TR和TL短接,如圖13B所示,使得輸出到信號(hào)線TR的信號(hào)不加改變地輸入到信號(hào)線TL。當(dāng)子CPU2已經(jīng)開(kāi)始訪問(wèn)外圍設(shè)備時(shí),信號(hào)線TH、TR和TL全為“1”。這時(shí),子CPU2讀取表示來(lái)自信號(hào)線R、L、D和U的用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的前半部分的4比特?cái)?shù)據(jù)。子CPU2然后輸出“0”作為一個(gè)外設(shè)選擇信號(hào)到信號(hào)線TH并且讀取表示用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的后半部分的4比特?cái)?shù)據(jù)。子CPU2能夠根據(jù)計(jì)算出的外設(shè)標(biāo)志ID-1選擇定時(shí)通信模式。
當(dāng)子CPU2輸出“0”到信號(hào)線TR時(shí),4比特大小外設(shè)標(biāo)志ID-2數(shù)據(jù)從外圍設(shè)備輸出到信號(hào)線R、L、D和U。然后當(dāng)子CPU2輸出“1”到信號(hào)線TR時(shí),輸出4比特表示數(shù)據(jù)量大小的數(shù)據(jù)。然后,子CPU2順序地翻轉(zhuǎn)信號(hào)線TR以輸出外設(shè)數(shù)據(jù)。
外設(shè)標(biāo)志ID-1、ID-2、數(shù)據(jù)量大小數(shù)據(jù)、外設(shè)數(shù)據(jù)和連接證實(shí)數(shù)據(jù)都與前面的三線信號(hào)交換并行通信模式類(lèi)似。
圖17說(shuō)明了定時(shí)串行通信模式。其中信號(hào)線TH、TR設(shè)置為數(shù)據(jù)輸出而信號(hào)線U設(shè)置成數(shù)據(jù)輸入。當(dāng)子CPU2開(kāi)始訪問(wèn)外圍設(shè)備時(shí),信號(hào)線TH和TR都為“1”而信號(hào)線TL為“0”。子CPU2讀取表示來(lái)自信號(hào)線R、L、D和U的用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的前半部分的4比特?cái)?shù)據(jù)。子CPU2然后輸出“0”作為一個(gè)外設(shè)選擇信號(hào)到信號(hào)線TH并且讀取表示用于計(jì)算外設(shè)標(biāo)志ID-1的數(shù)據(jù)的后半部分的4比特?cái)?shù)據(jù)。根據(jù)依照這些數(shù)據(jù)計(jì)算出的外設(shè)標(biāo)志ID-1確定定時(shí)并行通信模式。
當(dāng)子CPU2訪問(wèn)外圍設(shè)備時(shí),子CPU2首先輸出“0”到信號(hào)線TH作為一外設(shè)選擇信號(hào)。當(dāng)子CPU2輸出一定時(shí)信號(hào)到信號(hào)線TR時(shí),外設(shè)輸出每一比特?cái)?shù)據(jù)到信號(hào)線U。如圖17所示,諸如外設(shè)標(biāo)志ID-2、數(shù)據(jù)量大小數(shù)據(jù)、和外設(shè)數(shù)據(jù)等數(shù)據(jù)以1比特為單位輸出。當(dāng)輸出到信號(hào)線TR的時(shí)鐘上升時(shí),子CPU2讀取輸出到信號(hào)線U上的數(shù)據(jù)。在定時(shí)串行通信模式中外設(shè)一側(cè)的插頭連接器端子顯示在圖13C中。在插頭連接器2ap中,信號(hào)線D連接到電源Vcc并且信號(hào)線TL、R和L連接到地(GND)。因此,當(dāng)根據(jù)定時(shí)串行模式進(jìn)行通信,并且信號(hào)線TL、R和L變成“1”時(shí),子CPU2確定沒(méi)有外設(shè)已經(jīng)連接到外設(shè)端口27。(操作)接下來(lái),下面將描述來(lái)實(shí)施例中的電子游戲系統(tǒng)的操作。
(1)在子CPU控制模式中執(zhí)行的過(guò)程的概述下面將概述在子CPU控制模式中執(zhí)行的過(guò)程。子CPU控制模式意味著一個(gè)操作狀態(tài),如上所述,根據(jù)來(lái)自主CPU1b的命令,在此操作狀態(tài)中子CPU2執(zhí)行外設(shè)數(shù)據(jù)的采集等等。在子CPU控制模式中的過(guò)程下面將參照?qǐng)D18的順序圖描述。<設(shè)置數(shù)據(jù)寄存器組>
首先,主CPU1b執(zhí)行一個(gè)在CD-ROM驅(qū)動(dòng)器5a中的CD-ROM設(shè)置或者執(zhí)行一個(gè)在插入在數(shù)據(jù)盒連接器1e中的ROM數(shù)據(jù)盒上的程序。當(dāng)主CPU1b確定此過(guò)程可能在子CPU2的控制模式下時(shí),主CPU1b觀察子CPU2的狀態(tài),當(dāng)轉(zhuǎn)換裝置40不在子CPU2一側(cè)時(shí),主CPU1b將預(yù)定數(shù)據(jù)寫(xiě)入數(shù)據(jù)寄存器組(圖7)中以設(shè)置外設(shè)端口27(T1)的輸入/輸出方向。
根據(jù)圖19中的流程圖執(zhí)行數(shù)據(jù)寄存器組的設(shè)置。主CPU1b輸出預(yù)定數(shù)據(jù)到地址總線101和控制總線102以便通過(guò)譯碼器251選擇數(shù)據(jù)方向寄存器(DDR)356。然后主CPU1b輸出例如“00H”到數(shù)據(jù)總線103并且將其設(shè)置到DDR 356中(步驟S 501)。主CPU1b輸出預(yù)定數(shù)據(jù)到地址總線101和控制總線102以便通過(guò)譯碼器251選擇I/O選擇寄存器353。然后主CPU1b輸出“0”到數(shù)據(jù)總線263并且設(shè)置“0”到I/O選擇寄存器(IOSEL)353(步驟S502)。通過(guò)如此操作,模式就變換到子CPU控制模式。
設(shè)置在子CPU2中的I/O選擇寄存器353,使得在處理系統(tǒng)電源接通的狀態(tài)時(shí),子CPU2一側(cè)被正常地選擇。因此,在這種情況下,轉(zhuǎn)換裝置40已被設(shè)置為連接到子CPU2,這樣就沒(méi)有轉(zhuǎn)換命令從主CPU1b輸出。
因?yàn)樵谧覥PU控制模式下I/O選擇寄存器(IOSEL)353的輸出端輸出“0”,因此緩沖器361、362打開(kāi)并且緩沖器362、364開(kāi)啟。因此,I/O接口26的訪問(wèn)權(quán)已經(jīng)屬于CPU內(nèi)核20。
圖9說(shuō)明了當(dāng)I/O選擇寄存器358已設(shè)置為“0”,對(duì)I/O接口26的訪問(wèn)權(quán)已經(jīng)轉(zhuǎn)換到CPU內(nèi)核20的情況。在這種情況下,圖9說(shuō)明了I/O接口26的方向設(shè)置為數(shù)據(jù)輸入而不管數(shù)據(jù)方向寄存器356的值,以及緩沖器的狀態(tài)等等已經(jīng)被子CPU2所確定而不管端口數(shù)據(jù)寄存器355的值。圖9還顯示了當(dāng)I/O接口26的輸入狀態(tài)為圖9上行狀態(tài)的任何一種時(shí),子CPU2能夠通過(guò)端口數(shù)據(jù)寄存器357讀取外設(shè)數(shù)據(jù)。
CPU內(nèi)核20設(shè)置“1”到數(shù)據(jù)方向寄存器359中作為請(qǐng)求通過(guò)端口數(shù)據(jù)寄存器358將所需數(shù)據(jù)送到外設(shè)并且通過(guò)端口數(shù)據(jù)寄存器360從外設(shè)采集數(shù)據(jù)。正如上所述,當(dāng)外圍設(shè)備已經(jīng)連接到CPU內(nèi)核20上時(shí),此外設(shè)為低速類(lèi)型且數(shù)據(jù)以一相對(duì)低的速度采集。因此,例如,用一控制板作為這種外設(shè)。
高速外設(shè)意味著由于CPU內(nèi)核20在外設(shè)上與來(lái)自監(jiān)視器3d的垂直同步信號(hào)同步地采集數(shù)據(jù),因此CPU內(nèi)核20在采集數(shù)據(jù)的時(shí)間內(nèi)需要采集比一預(yù)定數(shù)據(jù)量更多的數(shù)據(jù),而低速外設(shè)意味著CPU內(nèi)核20在采集數(shù)據(jù)的時(shí)間內(nèi)只需要采集比預(yù)定數(shù)據(jù)量少的數(shù)據(jù)。
CPU內(nèi)核20在外設(shè)上與一垂直同步信號(hào)同步地采集數(shù)據(jù)并且在此時(shí)間內(nèi)將采集到的數(shù)據(jù)通過(guò)輸出寄存器送到主CPU1b。因此,由于主CPU1b不需要執(zhí)行對(duì)外設(shè)的處理,因此減少了CPU1b的負(fù)荷,從而使得主CPU1b能夠集中于圖象處理并且以較高的速度執(zhí)行游戲系統(tǒng)的操作。<輸入寄存器的設(shè)置>
在設(shè)置完數(shù)據(jù)寄存器組35后,主CPU1b確定狀態(tài)標(biāo)志(SF)(圖5)是否已經(jīng)復(fù)位(子CPU2是否能夠接收命令)。如果狀態(tài)標(biāo)志已經(jīng)被置位(子CPU2在命令執(zhí)行的過(guò)程中),主CPU1b等待直到狀態(tài)標(biāo)志復(fù)位。當(dāng)主CPU1b確定此狀態(tài)標(biāo)志已經(jīng)復(fù)位,那么主CPU1b置位此狀態(tài)標(biāo)志,并且寫(xiě)一命令參數(shù)到一輸入寄存器中(IREG)(圖5)(T2)。由命令參數(shù)設(shè)置的內(nèi)容是,例如,稍后將描述的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的優(yōu)化應(yīng)該執(zhí)行或關(guān)于子CPU2的狀態(tài)數(shù)據(jù)應(yīng)該返回。<向后中斷(interrupt Back)命令的產(chǎn)生>
此外,主CPU1b寫(xiě)表示一個(gè)向后中斷數(shù)據(jù)命令的數(shù)據(jù)“10h”到一命令寄存器中(COMREG)(圖5)(T3)。此向后中斷命令用于使子CPU2獲取外設(shè)數(shù)據(jù)。產(chǎn)生向后中斷命令的時(shí)刻如圖20所示。在圖20中,向后中斷命令通常在視頻信號(hào)的垂直消隱期間(從V-BLANK-IN到V-BLANK-OUT)產(chǎn)生。<外設(shè)數(shù)據(jù)的采集>
在子CPU2通過(guò)命令寄存器接收到一向后中斷命令后的一預(yù)定時(shí)刻,子CPU2開(kāi)始采集外設(shè)數(shù)據(jù)(T4)。通常,主CPU1b在沒(méi)有圖象顯示的V-BLANK期間已經(jīng)讀取了外設(shè)數(shù)據(jù)。因此,如圖20和圖21所示,在子CPU2接收到向后中斷命令后最好在靠近V-BLANK-IN(T6)的時(shí)刻(T4-T5)采集外設(shè)數(shù)據(jù)。正如上所述,通過(guò)減小在開(kāi)始圖象控制(V-BLANK-IN)的時(shí)刻和采集外設(shè)數(shù)據(jù)的時(shí)刻之間的時(shí)間差,主CPU1b能夠采用每時(shí)每刻都在變化的外設(shè)數(shù)據(jù)的最新內(nèi)容。因此,游戲?qū)ν庠O(shè)操作的反應(yīng)加快了。例如,即使當(dāng)外設(shè)數(shù)據(jù)的內(nèi)容改變一個(gè)半幀(one field)時(shí),主CPU1b也能夠獲取最新外設(shè)數(shù)據(jù)而對(duì)外設(shè)的操作提供精確的圖象控制。這一處理稱為外設(shè)數(shù)據(jù)采集時(shí)間的優(yōu)化。
首先,在時(shí)刻T4,子CPU2的CPU內(nèi)核20通過(guò)I/O接口26讀取外設(shè)端口27的信號(hào)線R、L、D和U的信號(hào)電平。當(dāng)沒(méi)有外設(shè)連接到外設(shè)端口27時(shí),信號(hào)線R、L、D和U上拉到電源Vcc而全變?yōu)椤?”。在這種情況下,外設(shè)標(biāo)志ID-1變成一個(gè)非記錄值(在圖10中,外設(shè)標(biāo)志ID-1沒(méi)有分配給一個(gè)外設(shè),即“Fh”),因而子CPU2確定沒(méi)有連接外設(shè)。
當(dāng)由子CPU2讀取的外設(shè)標(biāo)志ID-1的值是一個(gè)記錄值時(shí),子CPU2自動(dòng)確定與外設(shè)標(biāo)志ID-1的值相對(duì)應(yīng)的外設(shè)已經(jīng)連接。這時(shí),子CPU2根據(jù)信號(hào)線R、L、D和U的值(圖12),自動(dòng)地從TH/TR選擇通信模式、三線信號(hào)交換通信模式、定時(shí)串行和并行通信模式等等中選擇一種適當(dāng)?shù)哪J健?br>
例如,當(dāng)TH=1、TR=1、R=0、L=0、D=0、U=1和TH=0、TR=1、R=0、L=0、D=0、U=1時(shí),子CPU2選擇三線信號(hào)交換通信模式,如圖15所示。子CPU2根據(jù)三線信號(hào)交換通信模式順序地從外設(shè)讀取外設(shè)標(biāo)志ID-2、數(shù)據(jù)量大小數(shù)據(jù)和外設(shè)數(shù)據(jù)。外設(shè)數(shù)據(jù)的讀周期如圖21B所示。讀取的數(shù)據(jù)存儲(chǔ)在子CPU2的輸出寄存器(OREG)中。<輸出寄存器的建立(creation)>
圖22顯示了在執(zhí)行向后中斷命令后的輸出寄存器的內(nèi)容。每個(gè)2通道外設(shè)端口27中的數(shù)據(jù)以相同的格式存儲(chǔ)在輸出寄存器中。在外設(shè)端口1中的數(shù)據(jù)401包括端口1的狀態(tài),外設(shè)1數(shù)據(jù),外設(shè)2數(shù)據(jù),。。。,外設(shè)m數(shù)據(jù),由參考數(shù)402所示。這些外設(shè)1數(shù)據(jù),外設(shè)2數(shù)據(jù),。。。表示通過(guò)轉(zhuǎn)接插座(連接器)連接到外設(shè)端口的許多外設(shè)的數(shù)據(jù)。關(guān)于連接到外設(shè)端口的轉(zhuǎn)接插座的ID數(shù)據(jù)和關(guān)于連接到外設(shè)端的外設(shè)數(shù)量的數(shù)據(jù)都寫(xiě)在端口1的狀態(tài)中,如參考數(shù)403所示。當(dāng)沒(méi)有外設(shè)連接到外設(shè)端口或一個(gè)非記錄外設(shè)連接到外設(shè)端口時(shí),關(guān)于連接器的數(shù)量的數(shù)據(jù)為“0h”。
另外,外設(shè)信息、修改的數(shù)據(jù)量大小數(shù)據(jù)和外設(shè)數(shù)據(jù)(第1-第n)被寫(xiě)入一個(gè)外設(shè)1數(shù)據(jù)段,如參考數(shù)404所示。當(dāng)連接了一個(gè)具有多于16字節(jié)的數(shù)據(jù)量大小的外設(shè)時(shí),修改的數(shù)據(jù)量大小數(shù)據(jù)就被加上。外設(shè)數(shù)據(jù)包括外設(shè)標(biāo)志ID-2和數(shù)據(jù)量大小數(shù)據(jù),如參考數(shù)405所示。在狀態(tài)寄存器SR中的NPE位表示已經(jīng)被傳送到主CPU1b的外設(shè)數(shù)據(jù)存在/不存在。當(dāng)沒(méi)有被傳送的外設(shè)數(shù)據(jù)時(shí),將“1”寫(xiě)入NPE而當(dāng)所有的外設(shè)數(shù)據(jù)都已傳送時(shí),將“0”寫(xiě)入NPE。這樣,就完成了寫(xiě)數(shù)據(jù)到輸出寄存器(圖11和圖18中的T5)。<輸出寄存器的獲取>
在圖18中,在完成將外設(shè)數(shù)據(jù)等等寫(xiě)入輸出寄存器后,子CPU2在時(shí)刻T6(T7)中斷主CPU1b。主CPU1b響應(yīng)此中斷而獲取寫(xiě)入輸出寄存器的外設(shè)數(shù)據(jù)。當(dāng)主CPU1b參考狀態(tài)寄存器中的NPE(指示剩余數(shù)據(jù)的存在/不存在)而確定有一些剩余外設(shè)數(shù)據(jù)時(shí),主CPU1b請(qǐng)求子CPU2寫(xiě)這些剩余外設(shè)數(shù)據(jù)到輸出寄存器(T7-T8)并中斷主CPU1b。需要注意的是,當(dāng)由于外設(shè)數(shù)據(jù)太大或者一個(gè)外設(shè)具有一個(gè)連接有許多外設(shè)的轉(zhuǎn)接插座等等時(shí),輸出寄存器容納不下外設(shè)數(shù)據(jù),因而主CPU1b產(chǎn)生一個(gè)CONTINUE請(qǐng)求。
同樣地,主CPU1b從輸出寄存器獲取剩余外設(shè)數(shù)據(jù)。這樣,在從V-BLANK-OUT至V-BLANK-IN期間,外設(shè)數(shù)據(jù)分成一些數(shù)據(jù)項(xiàng),然后順序傳送到主CPU1b。當(dāng)外設(shè)數(shù)據(jù)量小時(shí),所有外設(shè)數(shù)據(jù)都在垂直掃描期間傳送到主CPU1b。這樣,通過(guò)將所有的外設(shè)數(shù)據(jù)傳送到主CPU1b,完成了向后中斷數(shù)據(jù)命令的執(zhí)行過(guò)程(T9)。然后,主CPU1b根據(jù)來(lái)自外設(shè)的外設(shè)數(shù)據(jù)在V-BLANK-IN后的半幀時(shí)期內(nèi)提供諸如三維計(jì)算的圖象控制,并且將由圖象控制獲得的圖象數(shù)據(jù)寫(xiě)入兩個(gè)幀緩沖器的其中之一(例如,在幀A),如圖23所示。在下一半幀中,在子CPPU2從外設(shè)采集新的外設(shè)數(shù)據(jù)期間,顯示在幀A寫(xiě)入幀緩沖器中的圖象數(shù)據(jù)。根據(jù)所用的應(yīng)用軟件,上述顯示的圖象以許多半幀為單位切換(圖24)。
如上所述,通過(guò)使子CPU2采集外設(shè)數(shù)據(jù),主CPU1b不需要訪問(wèn)具有從幾微秒到幾百微秒的低數(shù)據(jù)傳輸率的外設(shè)。因此,圖象處理能夠高速執(zhí)行。
(2)在主CPU直接模式中的處理概述圖19是一個(gè)表示在直接模式中的主CPU操作的流程圖。
在此流程圖中,主CPU1b執(zhí)行在CD-ROM驅(qū)動(dòng)器5a中的CD-ROM組上的或者插在數(shù)據(jù)盒連接器1e中的ROM數(shù)據(jù)盒上的程序。當(dāng)主CPU1b確定除了主CPU1b的直接模式外沒(méi)有外設(shè)控制處理能夠執(zhí)行時(shí),它輸出預(yù)定數(shù)據(jù)到地址總線261和控制總線262以使其通過(guò)譯碼器251選擇端口數(shù)據(jù)寄存器(PDR)355。然后,主CPU1b輸出一個(gè)預(yù)定值到數(shù)據(jù)總線263并將其設(shè)置到端口數(shù)據(jù)寄存器(PDR)355(圖19中的S401)。然后,主CPU21輸出預(yù)定數(shù)據(jù)到地址總線101和控制總線102以通過(guò)譯碼器251選擇數(shù)據(jù)方向寄存器(DDR)356。
然后,主CPU1b輸出一預(yù)定值到數(shù)據(jù)總線103并且將其設(shè)置到數(shù)據(jù)方向寄存器356(圖19中的S402)。
另外,主CPU1b輸出預(yù)定數(shù)據(jù)到地址總線101和控制總線102以通過(guò)譯碼器251選擇I/O選擇寄存器353。然后,主CPU1b輸出例如“1”到數(shù)據(jù)總線103并將其設(shè)置到I/O選擇寄存器353(圖19中的S403)。
由于I/O選擇寄存器353的輸出端輸出“1”,因此緩沖器361和363開(kāi)啟而打開(kāi)緩沖器362和364。因此,對(duì)I/O訪問(wèn)的I/O權(quán)轉(zhuǎn)移到主CPU1b。
這里,圖9的底8行的狀態(tài)表示在每一狀態(tài)中,I/O選擇寄存器353已置為“1”并且I/O接口26的訪問(wèn)權(quán)已轉(zhuǎn)移到主CPU1b。
在這種情況下,當(dāng)數(shù)據(jù)方向寄存器的值為“0”時(shí),此值通過(guò)緩沖器363送到緩沖器365的控制輸入端。因此,緩沖器365處于打開(kāi)狀態(tài)并且I/O接口26的方向設(shè)置為數(shù)據(jù)輸入。根據(jù)端口寄存器359的值,多路轉(zhuǎn)換器36的CMOS晶體管的狀態(tài)等等的變化如圖9所示;即,當(dāng)端口數(shù)據(jù)寄存器359的值為“0”時(shí),CMOS晶體管的阻抗為高而當(dāng)寄存器359的值為“1”時(shí),上拉MOS晶體管導(dǎo)通。然后主CPU1b通過(guò)端口寄存器351讀取依賴于I/O接口26的輸入狀態(tài)的邏輯值。
當(dāng)數(shù)據(jù)方向寄存器356的值為“1”時(shí),此值通過(guò)緩沖器363送到緩沖器365的輸入端。因此,緩沖器365開(kāi)啟,因而I/O26的方向設(shè)置為數(shù)據(jù)輸出。多路轉(zhuǎn)換器36的CMOS晶體管的狀態(tài)等等根據(jù)端口寄存器355的值的變化如圖9所示;即,當(dāng)寄存器355的值為“0”時(shí),NMOS晶體管導(dǎo)通而當(dāng)端口數(shù)據(jù)寄存器355的值為“1”時(shí),上拉MOS和PMOS晶體管導(dǎo)通,并且從主CPU1b寫(xiě)到端口數(shù)據(jù)寄存器355的這個(gè)值通過(guò)I/O接口26送到外設(shè)。這時(shí),主CPU1b通過(guò)端口數(shù)據(jù)寄存器357讀取依賴于設(shè)置在端口數(shù)據(jù)寄存器355的值的一個(gè)邏輯值。當(dāng)模式從主CPU直接模式轉(zhuǎn)換到子CPU控制模式時(shí),圖25的流程圖需要重新執(zhí)行。
如上所述,在本實(shí)施例中,子CPU2能夠控制外設(shè)并且根據(jù)請(qǐng)求從外設(shè)采集數(shù)據(jù)。更具體地說(shuō),主CPU1b能夠直接控制外設(shè)并且根據(jù)請(qǐng)求從外設(shè)直接采集數(shù)據(jù)。主CPU也能直接將數(shù)據(jù)寫(xiě)入外設(shè)中。在這種情況下,可能的外設(shè)需要具備高速數(shù)據(jù)通信的能力。因此,適當(dāng)?shù)母咚偻庠O(shè)是存儲(chǔ)設(shè)備,例如擴(kuò)充存貯器、軟盤(pán)和硬盤(pán)、以及打印機(jī)。
因此,根據(jù)此直接控制模式,可得到下述的優(yōu)點(diǎn)。
(a)即使當(dāng)子CPU2不能管理和控制的外設(shè)連接到插座連接器2as時(shí),主CPU1b也能管理和控制它們。因?yàn)楫?dāng)大量的數(shù)據(jù)從外設(shè)輸出時(shí),連接轉(zhuǎn)換裝置能夠?qū)⑦@些外設(shè)連接到主CPU。因此,即使一個(gè)外設(shè)輸出大量的數(shù)據(jù)也能被控制;(b)數(shù)據(jù)能夠送到外設(shè),例如一些存儲(chǔ)設(shè)備,包括打印機(jī)、擴(kuò)充內(nèi)存、軟盤(pán)和硬盤(pán);(c)能夠控制以高于子CPU2的最大可能處理速度的速度請(qǐng)求訪問(wèn)的外設(shè);以及(d)即使當(dāng)在子CPU2中存在不能勝任的地方,主CPU1b也能直接控制外設(shè),從而克服了這一問(wèn)題。
(3)外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間優(yōu)化的詳述如上所述,在本實(shí)施例的電子游戲系統(tǒng)中,可以執(zhí)行外設(shè)數(shù)據(jù)采集時(shí)間的優(yōu)化。
此優(yōu)化主要分成三個(gè)過(guò)程。第一過(guò)程是初始化,如圖26的流程圖所示。此過(guò)程包括在圖27是時(shí)序中執(zhí)行的標(biāo)志初始化(例如,在接通電源的時(shí)刻)。第二過(guò)程是V-BLANK-IN中斷過(guò)程,如圖28的流程圖所示。此過(guò)程包括在時(shí)刻V-BLANK-IN的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的計(jì)算,如圖27所示。第三過(guò)程包括一個(gè)外設(shè)過(guò)程,如圖29的流程圖所示。此過(guò)程包括使一計(jì)時(shí)器計(jì)數(shù)直到在第二過(guò)程中計(jì)算的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間為止并且在此時(shí)采集外設(shè)數(shù)據(jù)。第三過(guò)程在第二過(guò)程結(jié)束后馬上開(kāi)始。在許多情況下,外設(shè)數(shù)據(jù)的采集在第三過(guò)程的后半部分的一個(gè)時(shí)刻(靠近V-BLANK-IN)。
下面將參照流程圖26、28、29及時(shí)序圖30描述第一至第三過(guò)程。
首先,當(dāng)電子游戲系統(tǒng)的電源接通時(shí),執(zhí)行第一過(guò)程(初始化)(圖30的T101)。第一過(guò)程的內(nèi)容由圖26的流程圖所示。首先,子CPU2將“0”送入標(biāo)志1以將其初始化(S101)。標(biāo)志1表示當(dāng)執(zhí)行下一外設(shè)過(guò)程時(shí),外設(shè)數(shù)據(jù)采集時(shí)間是否將要優(yōu)化。在此初始化中,標(biāo)志1為“0”(不優(yōu)化)。子CPU2將“1”送入標(biāo)志2以將其初始化(S102)。標(biāo)志2表示在外設(shè)數(shù)據(jù)的采集過(guò)程中一個(gè)超時(shí)(V-BLANK-IN)是否已經(jīng)產(chǎn)生。如果產(chǎn)生,則將“1”寫(xiě)入標(biāo)志2。接下來(lái),子CPU2將“0”送入變量A以初始化變量A(S103),變量A表示由子CPU2計(jì)算的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間和從V-BLANK-IN到外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間之間的時(shí)間。
當(dāng)在第一過(guò)程后(T102)產(chǎn)生V-BLANK-IN中斷時(shí),則執(zhí)行第二過(guò)程(V-BLANK-IN中斷過(guò)程)。此第二過(guò)程的內(nèi)容由圖28的流程圖所示。首先,子CPU2確定標(biāo)志1的內(nèi)容(S201)。這時(shí),由于在初始化時(shí)標(biāo)志1的內(nèi)容設(shè)置為“0”,因此,子CPU2執(zhí)行S205的過(guò)程。即子CPU2將計(jì)數(shù)器X的內(nèi)容改變?yōu)椤?”(T102)。計(jì)數(shù)器X由子CPU2的一個(gè)內(nèi)部計(jì)數(shù)器24(圖2)增加。
在第二過(guò)程結(jié)束之后,開(kāi)始執(zhí)行第三過(guò)程(外設(shè)處理)(T103)。第三過(guò)程的內(nèi)容示于圖29。首先,至CPU2替換“0”到標(biāo)志2中(S301)并確定標(biāo)志“1”的內(nèi)容是否表示應(yīng)執(zhí)行優(yōu)化(S302)。這時(shí),由于標(biāo)志1保持為“0”(在S302中“0”),至CPU2在S305和下面的步驟中執(zhí)行處理。
在步驟S305,子CPU2將計(jì)數(shù)器X的值送到變量A。即一個(gè)表示圖30中從時(shí)刻T102至T103的時(shí)間Y0的值送到變量A。其后,子CPU2開(kāi)始外設(shè)數(shù)據(jù)的采集(S306,T103)。接著,在繼續(xù)采集外設(shè)數(shù)據(jù)(S306-S309)的同時(shí),子CPU2確定當(dāng)前時(shí)刻是否已經(jīng)到達(dá)V-BLANK-IN(S307)。當(dāng)所有的外設(shè)數(shù)據(jù)的采集完成時(shí)(在S309的“是”,T104),子CPU2將采集的外設(shè)數(shù)據(jù)寫(xiě)入輸出寄存器(S310)。同時(shí),子CPU2將“0”送到計(jì)數(shù)器X(S311)。即,在時(shí)刻T104,復(fù)位計(jì)數(shù)器X的內(nèi)容并且重新開(kāi)始計(jì)數(shù)器X的計(jì)數(shù)操作。
當(dāng)產(chǎn)生一個(gè)V-BLANK-IN中斷時(shí)(T105),執(zhí)行第二過(guò)程。這時(shí),由于標(biāo)志1的內(nèi)容為“0”并且表示產(chǎn)生超時(shí)的標(biāo)志2的內(nèi)容也為“0”,因此子CPU2執(zhí)行S203中的過(guò)程,在此過(guò)程中,子CPU2將計(jì)數(shù)器X中的計(jì)數(shù)值加到變量X上并且將計(jì)數(shù)器X的計(jì)數(shù)值與變量A的加值和裕度(margin)α之間的差值送到變量A(S203)。這時(shí),變量A的值表示時(shí)間Y0而計(jì)數(shù)器X的計(jì)數(shù)據(jù)值表示時(shí)間Z0(圖30)。因此,變量A=Y(jié)0+Z0-α=Y(jié)1,Y1表示從當(dāng)前時(shí)刻T105到下次外設(shè)數(shù)據(jù)采集時(shí)刻(T106)的時(shí)間。因此,如果在當(dāng)前時(shí)刻(T105)后的時(shí)刻Y1采集外設(shè)數(shù)據(jù),那么外設(shè)采集時(shí)間能夠在接近V-BLANK-IN的地方產(chǎn)生而不會(huì)發(fā)生任何超時(shí)。如果下次外設(shè)采集時(shí)間(T106-T107)超過(guò)上次外設(shè)數(shù)據(jù)采集時(shí)間(T103-T104)一個(gè)裕度α以上,那么將產(chǎn)生一個(gè)超時(shí)。裕量α是一可允許的誤差時(shí)間(約1ms),它減少了產(chǎn)生超時(shí)的可能性。表達(dá)式“1FM=Y(jié)0+Z0+外設(shè)數(shù)據(jù)采集時(shí)間”成立,這里1FM是一個(gè)半幀時(shí)間(在NTSC的情況下約為16.6ms)。
其后,子CPU2將“1”送到標(biāo)志1以便在下一次外設(shè)處理(S204)中優(yōu)化外設(shè)數(shù)據(jù)采集時(shí)間并且復(fù)位計(jì)數(shù)器X(S205)。然后執(zhí)行第三過(guò)程。子CPU2將“0”送到標(biāo)志2(S301)并確定標(biāo)志1的內(nèi)容(S302)。這時(shí),由于標(biāo)志1為“1”,因此子CPU2執(zhí)行S303和S304中的處理。在S304的處理中,子CPU2確定計(jì)數(shù)器X的計(jì)數(shù)值是否已經(jīng)達(dá)到變量A的值(=Y(jié)1)(步驟S304)。當(dāng)當(dāng)前時(shí)刻還沒(méi)有到達(dá)外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間(在304中的“是”)時(shí),子CPU2繼續(xù)執(zhí)行S304中的處理。這樣,當(dāng)當(dāng)前時(shí)刻到達(dá)外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間(在S304中的“否”,T106)時(shí),在將計(jì)數(shù)器X的計(jì)數(shù)值設(shè)置給變量A(S305)后,子CPU2開(kāi)始采集外設(shè)數(shù)據(jù)(S306)。當(dāng)在外設(shè)數(shù)據(jù)的采集期間時(shí)刻到達(dá)V-BLANK-IN(S307中的“否”)之前,外設(shè)數(shù)據(jù)的采集已經(jīng)結(jié)束(S309中的“是”,T106)時(shí),子CPU2將外設(shè)數(shù)據(jù)寫(xiě)入輸出寄存器(S310)并復(fù)位計(jì)數(shù)器X而結(jié)束第二過(guò)程。
然后,同樣地,子CPU2重復(fù)第二和第三過(guò)程。即,在第二過(guò)程中(T108),子CPU2根據(jù)上次Y1、Z1和裕量α的值計(jì)算從時(shí)刻T108至下次外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間(T109)之間的時(shí)間Y2(=Y(jié)1+Z1-α)。在第三過(guò)程中,子CPU2在經(jīng)過(guò)時(shí)間Y2(T109-T110)后開(kāi)始采集外設(shè)數(shù)據(jù)。
在第二過(guò)程中(T111),子CPU2根據(jù)上次Y2。Z2和裕量α的值計(jì)算從時(shí)刻T111到下次外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間T112之間的時(shí)間Y3(=Y(jié)2+Z2-α)。當(dāng)上次外設(shè)數(shù)據(jù)采集時(shí)間(T109-T110)縮短時(shí),時(shí)間Y3則增加?,F(xiàn)在假設(shè)下次外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間T112延遲并且已經(jīng)產(chǎn)生一個(gè)超時(shí)(T113)。在這種情況下,在第三過(guò)程中,子CPU2確定在外設(shè)數(shù)據(jù)的采集過(guò)程中已經(jīng)產(chǎn)生一個(gè)V-BLANK-IN中斷(S307中的“是”)。然后,子CPPU 2將“1”送到表示產(chǎn)生超時(shí)的標(biāo)志2(S308)中。
因?yàn)樵诘诙^(guò)程中標(biāo)志2為“1”,因此不執(zhí)行S203和S204中的過(guò)程,從而使得標(biāo)志1繼續(xù)保持狀態(tài)“0”。在下次第三過(guò)程中,標(biāo)志1為“0”(S302),從而使得子CPU2立即開(kāi)始采集外設(shè)數(shù)據(jù)(S306-)。正如上所述,當(dāng)在上次外設(shè)數(shù)據(jù)的采集過(guò)程中產(chǎn)生一超時(shí)時(shí),子CPU2執(zhí)行一個(gè)為下次提供較早的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的過(guò)程,從而預(yù)先防止了繼續(xù)產(chǎn)生超時(shí)。
如上所述,通過(guò)外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的優(yōu)化,此開(kāi)始時(shí)間接近主CPU1的獲取外設(shè)數(shù)據(jù)的開(kāi)始時(shí)間。通過(guò)使外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間接近圖象控制開(kāi)始時(shí)間(V-BLANK-IN),加快了游戲?qū)ν庠O(shè)操作的反應(yīng)。例如,即使當(dāng)外設(shè)數(shù)據(jù)的內(nèi)容改變例如半幀時(shí),主CPU1b也能獲取最新外設(shè)數(shù)據(jù),從而對(duì)外設(shè)的操作實(shí)現(xiàn)了精確的圖象控制。
已執(zhí)行的外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的計(jì)算(第二過(guò)程的S203)與半幀時(shí)間無(wú)關(guān)。因此,外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間的優(yōu)化在執(zhí)行時(shí)能夠不依賴于視頻信號(hào)的標(biāo)準(zhǔn),例如NTSC和PAL。
在本實(shí)施例中,通過(guò)采用V-BLANK-IN(垂直消隱信號(hào))執(zhí)行優(yōu)化,而通過(guò)采用一個(gè)諸如V-BLANK-OUT的信號(hào)能夠?qū)崿F(xiàn)同樣的效果。在一個(gè)可執(zhí)行的過(guò)程中,根據(jù)來(lái)自主CPU1b的一個(gè)命令(當(dāng)產(chǎn)生一向后中斷數(shù)據(jù)命令時(shí)設(shè)置命令參數(shù))不執(zhí)行優(yōu)化。另外,可以設(shè)置兩通道外設(shè)端口27的每一個(gè)的外設(shè)數(shù)據(jù)是否將要獲取??梢赃x擇的是,優(yōu)化能以每幾個(gè)半幀為單位執(zhí)行,例如,每幀(=每?jī)蓚€(gè)半幀)(圖27的最下邊的部分)。
通過(guò)改變時(shí)鐘頻率,等等,用于讀取外設(shè)數(shù)據(jù)所需的時(shí)間(傳輸速率)也可以控制,它能在圖象控制開(kāi)始前立即結(jié)束(或優(yōu)化)外設(shè)數(shù)據(jù)的采集。
在本實(shí)施例中執(zhí)行的優(yōu)化不僅可用于圖象處理,而且可用于音頻處理和其它數(shù)據(jù)處理。因此可實(shí)現(xiàn)聲頻處理過(guò)程。例如,在快速響應(yīng)外設(shè)操作的電子游戲系統(tǒng)中。
(4)外設(shè)連接狀態(tài)的確定在電子游戲系統(tǒng)的電源已接通的一個(gè)狀態(tài)中,用戶能夠把外設(shè)插頭連接器插入數(shù)據(jù)處理裝置的插座連接器中(熱插入)或者從外設(shè)數(shù)據(jù)處理裝置的插座連接器拔出外設(shè)插頭連接器(熱拔出)。當(dāng)數(shù)據(jù)處理裝置正在從外設(shè)讀取標(biāo)識(shí)數(shù)據(jù)時(shí)熱插入或熱拔出,子CPU2可能讀取錯(cuò)誤的外設(shè)標(biāo)志ID-1。在這種情況下,由于子CPU2不能正確地確定外設(shè)是否已連接到游戲系統(tǒng),因此產(chǎn)生的一個(gè)嚴(yán)重問(wèn)題是子CPU2將根據(jù)錯(cuò)誤的外設(shè)標(biāo)志ID-1錯(cuò)誤地識(shí)別外設(shè)。
本實(shí)施例通過(guò)下面的過(guò)程自動(dòng)地確定外設(shè)連接狀態(tài),最好地解決了這些問(wèn)題。<采用外設(shè)標(biāo)志ID-1確定外設(shè)連接狀態(tài)>
當(dāng)訪問(wèn)一外設(shè)時(shí),子CPU2首先根據(jù)信號(hào)線TH、TR、R、L、D和U的狀態(tài)獲得外設(shè)標(biāo)志ID-1。在TH/TR選擇通信模式(圖14)、三線信號(hào)交換通信模式(圖15)、定時(shí)并行和串行通信模式(分別為圖16、17)中確定外設(shè)標(biāo)志ID-1的方法是相同的。即,對(duì)于所有的外設(shè),確定外設(shè)的連接狀態(tài)的方法是相同的。
圖31簡(jiǎn)述了采用外設(shè)標(biāo)志ID-1確定外設(shè)連接狀態(tài)的一個(gè)過(guò)程。已接收了一個(gè)向后中斷命令的子CPU2以半幀(在NTSC情況下為16.6ms)為單位訪問(wèn)外設(shè)??蛇x擇的是,子CPU可以以多于半幀的單位訪問(wèn)外設(shè)。
當(dāng)沒(méi)有外設(shè)連接到外設(shè)端口27(T200-T201)時(shí),上拉到電源Vcc的所有的信號(hào)線R、L、D和U都為“1”。子CPU2從信號(hào)R、L、D和U的狀態(tài)讀取表示外設(shè)數(shù)據(jù)ID-1的前半部分的4比特(第一)。然后讀取表示外設(shè)標(biāo)志ID-1的后半部分的4比特(第二)(T201)。這時(shí),由于沒(méi)有外設(shè)連接到外設(shè)端口,子CPU2確定外設(shè)標(biāo)志ID-1還“未連接”。因此,表示“未連接”的外設(shè)標(biāo)志ID-1傳送到主CPU1b。
其后,用戶將諸如控制板的外設(shè)插入數(shù)據(jù)處理裝置的插座連接器(T202)中。當(dāng)外設(shè)較深地插入插座連接器時(shí),連接的信號(hào)線數(shù)量逐漸增加。在上次訪問(wèn)時(shí)刻T201后16。6ms處的時(shí)刻T203,子CPU2讀取外設(shè)標(biāo)志ID-1。在此時(shí)刻,由于信號(hào)線的連接狀態(tài)非常不穩(wěn)定,因此僅有一些信號(hào)線已經(jīng)連接。因此,這時(shí)外設(shè)標(biāo)志ID-1的值與上次(T201)的值不同。因此,子CPU確定此連接狀態(tài)不穩(wěn)定并且將表示“現(xiàn)在未連接”的數(shù)據(jù)送回主CPU1b。在僅有一些信號(hào)線已連接的狀態(tài)中,外設(shè)標(biāo)志ID-1的值表示一個(gè)錯(cuò)誤的外設(shè)標(biāo)志ID-1。
在所有的信號(hào)線已連接后(T204-),信號(hào)線的狀態(tài)被穩(wěn)定,從而在時(shí)間T205的外設(shè)標(biāo)志ID-1得到正確值。需要注意的是,此時(shí)外設(shè)標(biāo)志ID-1的值與上次的值是不同的(T203)。因此,子CPU2確定信號(hào)線的連接狀態(tài)還不穩(wěn)定并且將表示“現(xiàn)在未連接”的數(shù)據(jù)送回主CPU1b。
在延遲16.6ms后的時(shí)刻T206,外設(shè)標(biāo)志ID-1讀出一個(gè)與上次相同的值(T205)。因此,子CPU2確定所有的信號(hào)線已經(jīng)連接并且將外設(shè)數(shù)據(jù)等等送回到主CPU1b。
上面描述了在熱插入時(shí)執(zhí)行的過(guò)程,而在熱拔出時(shí)也執(zhí)行類(lèi)似的過(guò)程。更具體地說(shuō),當(dāng)用戶開(kāi)始從連接器拔出外設(shè)時(shí),在時(shí)刻T207的外設(shè)標(biāo)志ID-1與時(shí)刻T209的不同。因此,子CPU2確定此時(shí)的連接狀態(tài)不穩(wěn)定。在時(shí)刻T209,由于一些信號(hào)線還連接著,因此外設(shè)標(biāo)志ID-1的值很可能是錯(cuò)的。當(dāng)所有的信號(hào)線都未連接時(shí)(T210),所有的上拉信號(hào)線都為“1”。因此,在這種情況下,子CPU2確定這些信號(hào)線未連接(T211)。
圖32分別顯示了在熱插入和熱拔出時(shí)連接狀態(tài)的穩(wěn)定時(shí)期。在圖32中,水平軸分別表示從產(chǎn)生熱插入和熱拔出到信號(hào)線的連接狀態(tài)穩(wěn)定(這里所有的信號(hào)線都已連接或未連接)的時(shí)期。垂直軸表示探測(cè)到的不穩(wěn)定狀態(tài)的總數(shù)(這里一些信號(hào)線未連接)。從圖中可以證實(shí),在發(fā)生熱插入和熱拔出后,連接狀態(tài)隨著時(shí)間的推移而穩(wěn)定。特別地,在延遲半幀時(shí)間后,探測(cè)到的不穩(wěn)定連接狀態(tài)總數(shù)大大減少。例如,在熱插入中穩(wěn)定的連接狀態(tài)為85%的可能性,而在熱拔出中穩(wěn)定的連接狀態(tài)為100%的可能性。因此,在上述過(guò)程中,當(dāng)外設(shè)數(shù)據(jù)以16.6ms的間隔連續(xù)兩次讀取同樣的值時(shí),可以認(rèn)為此連接狀態(tài)已經(jīng)穩(wěn)定。根據(jù)上述的確定過(guò)程,在熱插入和熱拔出中防止外設(shè)ID-1等等的錯(cuò)誤識(shí)別的可能性超過(guò)85%。<用一上拉信號(hào)線確定連接狀態(tài)>
所有的信號(hào)線TH、TR、TL、R、L、D和U已被相應(yīng)的電阻上拉到電源Vcc。因此,當(dāng)一原來(lái)應(yīng)輸出“0”的信號(hào)線輸出“1”時(shí),就可以確定沒(méi)有外設(shè)已經(jīng)連接到此信號(hào)線。例如,在三線信號(hào)交換通信模式(圖15)和定時(shí)并行通信模式(圖16)中,從外設(shè)輸出R=0、L=0、D=0、U=0作為外設(shè)數(shù)據(jù)之后的連接證實(shí)數(shù)據(jù)。因此,這些信號(hào)線的任何一根為“1”時(shí),子CPU2確定這些信號(hào)線中的某一些信號(hào)線未連接。在定時(shí)串行通信系統(tǒng)中,在外設(shè)一側(cè),信號(hào)線TL、R和L已連接到地(GND)。因此,當(dāng)信號(hào)線TL、R和L都為“1”時(shí),就能確定這些信號(hào)線示連接。信號(hào)線R、L、D、U可以下拉到地(GND)。在這種情況下,需要輸出R=1、L=1、D=1、U=1作為連接證實(shí)數(shù)據(jù)。<由控制信號(hào)線TR、TL實(shí)現(xiàn)的確定>
在三線信號(hào)交換通信模式中,(圖15),當(dāng)子CPU2請(qǐng)求外設(shè)輸出數(shù)據(jù)時(shí)(當(dāng)信號(hào)線TR翻轉(zhuǎn)時(shí)),此外設(shè)將一表示數(shù)據(jù)輸出的信號(hào)(響應(yīng)信號(hào))送回到信號(hào)線TL(信號(hào)線TL翻轉(zhuǎn))。如果信號(hào)線TR、TL至少有一根未連接,那么就沒(méi)有信號(hào)從此外設(shè)輸出給信號(hào)線TL。當(dāng)在子CPU2輸出一信號(hào)線信號(hào)線TR后的預(yù)定時(shí)間內(nèi)外設(shè)未使信號(hào)線TL翻轉(zhuǎn)時(shí),子CPU2能夠確定信號(hào)線TR、TL的任意之一未連接。因此,子CPU2能夠確定沒(méi)有外設(shè)穩(wěn)定地連接到插座連接器,因而避免了外設(shè)的錯(cuò)誤識(shí)別問(wèn)題。
將上述的采用外設(shè)標(biāo)志ID-1確定外設(shè)的連接狀態(tài)、通過(guò)上拉信號(hào)線確定連接狀態(tài)、以及通過(guò)控制信號(hào)線TR、TL確定連接狀態(tài)結(jié)合起來(lái),能夠更精確地確定連接狀態(tài)。本發(fā)明不限于上述實(shí)施例,并且在不脫離本發(fā)明的精神和范圍的情況下也能實(shí)現(xiàn)本發(fā)明。
如上所述,根據(jù)本實(shí)施例所產(chǎn)生的優(yōu)點(diǎn)如下首先,包括圖象控制的數(shù)據(jù)處理可以高速執(zhí)行。通過(guò)使子操作裝置執(zhí)行外設(shè)數(shù)據(jù)的采集,主操作不需要訪問(wèn)具有低數(shù)據(jù)傳輸率的外設(shè)。即,由于連接轉(zhuǎn)換裝置根據(jù)來(lái)自主操作裝置的一轉(zhuǎn)換信號(hào)連接一外設(shè)到主操作裝置或者子操作裝置,因此,根據(jù)圖象處理環(huán)境的內(nèi)容和特性,包括此種外設(shè)的內(nèi)容、主操作裝置程序的內(nèi)容等等,數(shù)據(jù)處理裝置能夠在圖象處理特性和對(duì)外設(shè)的數(shù)據(jù)輸入/輸出特性之間保持最佳的兼容性。當(dāng)開(kāi)關(guān)裝置根據(jù)外設(shè)的操作速度特性轉(zhuǎn)換時(shí),連接轉(zhuǎn)換裝置將具有低操作速度特性的外設(shè)連接到子操作裝置,因而減少了主操作裝置的負(fù)載。當(dāng)一個(gè)外設(shè)具有高操作速度特性時(shí),通常具有高速處理能力的主操作裝置管理輸入數(shù)據(jù)到外設(shè)和從外設(shè)輸出數(shù)據(jù)。因而保證實(shí)現(xiàn)其目的。因此,主操作裝置能夠執(zhí)行較大量的工作并且提供加速的圖象處理。特別地,在實(shí)時(shí)控制特性等等中需要控制高速移動(dòng)圖象的電子游戲中。
在數(shù)據(jù)處理裝置中,連接轉(zhuǎn)換裝置由主操作裝置執(zhí)行的程序控制。例如,當(dāng)主操作裝置執(zhí)行一圖象處理程序時(shí),如果需要一高速外設(shè),那么連接轉(zhuǎn)換裝置被控制,使得將一外設(shè)連接到主操作裝置,而如果相反,則連接轉(zhuǎn)換裝置將一外設(shè)連接到子操作裝置。因此,保證了適應(yīng)圖象處理的種類(lèi)、內(nèi)容等等的合適的外設(shè)的選擇。
第二,外設(shè)操作的內(nèi)容立即反映到包括圖象控制的數(shù)據(jù)處理中。使采集外設(shè)數(shù)據(jù)的時(shí)間盡可能地接近開(kāi)始圖象控制的時(shí)間。因此,例如,在包括飛機(jī)戰(zhàn)斗的電子游戲中,從外設(shè)的用戶操作到發(fā)射導(dǎo)彈的時(shí)間被最短化,使得用戶能夠享受具有自然感覺(jué)的電子游戲。
第三,能夠確定一外設(shè)是否穩(wěn)定地連接到數(shù)據(jù)處理裝置,因而避免了諸如外設(shè)的錯(cuò)誤識(shí)別的問(wèn)題。例如,當(dāng)連續(xù)讀取的外設(shè)數(shù)據(jù)相互不同時(shí),就能確定外設(shè)的連接狀態(tài)不穩(wěn)定。另外,外設(shè)的連接狀態(tài)能夠根據(jù)數(shù)據(jù)處理裝置接收的數(shù)據(jù)是否與外設(shè)輸出的正確數(shù)據(jù)相一致來(lái)確定。例如,當(dāng)由于熱插入等等而確定一信號(hào)線還未連接到數(shù)據(jù)處理裝置的連接器端子時(shí),存在很大的可能性的就是由圖象控制裝置接收的數(shù)據(jù)(關(guān)于一種外設(shè)的識(shí)別數(shù)據(jù)、關(guān)于外設(shè)狀態(tài)的外設(shè)數(shù)據(jù)等等)是錯(cuò)誤的。因此,圖象控制裝置識(shí)別出接收的數(shù)據(jù)是錯(cuò)誤的。因而避免了可能的錯(cuò)誤識(shí)別以及由于采用錯(cuò)誤數(shù)據(jù)的外設(shè)操作。
因此,在一電子游戲系統(tǒng)等等中提供了最佳的游戲環(huán)境。
權(quán)利要求
1.一種與一個(gè)外設(shè)相連接的數(shù)據(jù)處理裝置,包括主操作裝置,用于數(shù)據(jù)處理;以及子操作裝置,用于按照主操作裝置的一個(gè)命令向/從外設(shè)輸入/輸出外設(shè)數(shù)據(jù)。
2.如權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中子操作裝置通過(guò)讀取來(lái)自外設(shè)的識(shí)別數(shù)據(jù)來(lái)識(shí)別外設(shè)的類(lèi)型并向主操作裝置輸出有關(guān)被識(shí)別的外設(shè)類(lèi)型的數(shù)據(jù)。
3.如權(quán)利要求1或2所述的數(shù)據(jù)處理裝置,包括連接轉(zhuǎn)換裝置,用于將外設(shè)連接到主操作裝置和子操作裝置中的任何一個(gè)上。
4.如權(quán)利要求1或2所述的數(shù)據(jù)處理裝置,其中連接轉(zhuǎn)換裝置被控制以使得根據(jù)一個(gè)來(lái)自主操作裝置的轉(zhuǎn)換信號(hào)將外設(shè)連接到主操作裝置和子操作裝置中的任何一個(gè)上。
5.如權(quán)利要求1或2所述的數(shù)據(jù)處理裝置,其中連接轉(zhuǎn)換裝置根據(jù)外設(shè)的類(lèi)型而被控制。
6.如權(quán)利要求5所述的數(shù)據(jù)處理裝置,其中當(dāng)外設(shè)的操作速度特性為高速型時(shí),連接轉(zhuǎn)換裝置受控將外設(shè)連接于主操作裝置,而當(dāng)外設(shè)的操作速度特性為低速型時(shí),連接轉(zhuǎn)換裝置受控將外設(shè)連接于子操作裝置。
7.如權(quán)利要求3-6中任一數(shù)據(jù)處理裝置,其中根據(jù)一個(gè)由主操作裝置所執(zhí)行的程序控制連接轉(zhuǎn)換裝置。
8.一種與外設(shè)相連接的數(shù)據(jù)處理裝置,包括數(shù)據(jù)采集裝置,用于從外設(shè)采集外設(shè)數(shù)據(jù);數(shù)據(jù)處理裝置,用于在預(yù)定的時(shí)間間隔,根據(jù)所采集到的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理;以及數(shù)據(jù)采集控制裝置,用于控制數(shù)據(jù)采集裝置以使得在數(shù)據(jù)處理開(kāi)始之前由數(shù)據(jù)采集裝置完成外設(shè)數(shù)據(jù)的采集。
9.如權(quán)利要求8所述的數(shù)據(jù)處理裝置,其中數(shù)據(jù)采集控制裝置確定由數(shù)據(jù)采集裝置采集外設(shè)數(shù)據(jù)開(kāi)始的時(shí)間,以使得在數(shù)據(jù)處理開(kāi)始之前由數(shù)據(jù)采集裝置完成外設(shè)數(shù)據(jù)的采集。
10.如權(quán)利要求9所述的數(shù)據(jù)處理裝置,其中數(shù)據(jù)采集控制裝置確定采集外設(shè)數(shù)據(jù)開(kāi)始的時(shí)間,其根據(jù)為一個(gè)處理過(guò)程(1),用于當(dāng)上一次外設(shè)數(shù)據(jù)的采集已在數(shù)據(jù)處理開(kāi)始之前完成時(shí),根據(jù)上一次外設(shè)數(shù)據(jù)采集的時(shí)間確定外設(shè)數(shù)據(jù)采集開(kāi)始的時(shí)間以使得在數(shù)據(jù)處理開(kāi)始之前由數(shù)據(jù)采集裝置完成外設(shè)數(shù)據(jù)的采集;以及一個(gè)處理過(guò)程(2),用于在上一次外設(shè)數(shù)據(jù)的采集沒(méi)有在數(shù)據(jù)處理開(kāi)始之前完成時(shí),提前外設(shè)數(shù)據(jù)采集的開(kāi)始時(shí)間。
11.如權(quán)利要求10所述的處理裝置,其中數(shù)據(jù)采集控制裝置重復(fù)執(zhí)行處理過(guò)程(1)和(2)。
12.如權(quán)利要求8所述的數(shù)據(jù)處理裝置,其中數(shù)據(jù)采集控制裝置控制一個(gè)數(shù)據(jù)采集裝置中的數(shù)據(jù)采集時(shí)間以使得在數(shù)據(jù)處理開(kāi)始之前由數(shù)據(jù)采集裝置完成外設(shè)數(shù)據(jù)的采集。
13.如權(quán)利要求1-7中任一所述的數(shù)據(jù)處理裝置,其中子操作裝置包括數(shù)據(jù)采集裝置,用于在一個(gè)預(yù)定時(shí)間開(kāi)始采集外設(shè)輸出的外設(shè)數(shù)據(jù);數(shù)據(jù)處理裝置,用于在預(yù)定的時(shí)間間隔根據(jù)所采集的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理;以及數(shù)據(jù)采集控制裝置,用于確定外設(shè)數(shù)據(jù)采集的開(kāi)始時(shí)間以使得在數(shù)據(jù)處理開(kāi)始之前由數(shù)據(jù)采集裝置完成外設(shè)數(shù)據(jù)的采集。
14.如權(quán)利要求1-13中任一所述的數(shù)據(jù)處理裝置,包括確定裝置,用于確定外設(shè)的一根信號(hào)線是否與數(shù)據(jù)處理裝置的一個(gè)端子相連接。
15.一種數(shù)據(jù)處理方法,包括步驟在一個(gè)預(yù)定的數(shù)據(jù)采集開(kāi)始時(shí)間,開(kāi)始采集從一個(gè)外設(shè)輸出的外設(shè)數(shù)據(jù);在預(yù)定的時(shí)間間隔,根據(jù)所采集的外設(shè)數(shù)據(jù)執(zhí)行數(shù)據(jù)處理;以及確定外設(shè)數(shù)據(jù)采集的開(kāi)始時(shí)間以使得在數(shù)據(jù)處理開(kāi)始之前完成外設(shè)數(shù)據(jù)的采集。
16.如權(quán)利要求15所述的數(shù)據(jù)處理方法,其中確定步驟執(zhí)行下列處理過(guò)程當(dāng)上一次外設(shè)數(shù)據(jù)采集已在數(shù)據(jù)處理開(kāi)始之前完成時(shí),根據(jù)上一次外設(shè)數(shù)據(jù)采集的時(shí)間確定外設(shè)數(shù)據(jù)采集開(kāi)始的時(shí)間以使得在根據(jù)上一次外設(shè)數(shù)據(jù)采集時(shí)間的數(shù)據(jù)處理開(kāi)始時(shí)間之前完成外設(shè)數(shù)據(jù)的采集;以及在上一次外設(shè)數(shù)據(jù)的采集沒(méi)有在上一次數(shù)據(jù)處理開(kāi)始之前完成時(shí),提前外設(shè)數(shù)據(jù)采集的開(kāi)始時(shí)間。
17.一種數(shù)據(jù)處理裝置包括一個(gè)連接器端子,與一個(gè)外設(shè)相連接;用于根據(jù)來(lái)自與連接器端子相連接的外設(shè)的數(shù)據(jù)執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)處理裝置;以及用于確定外設(shè)的一根信號(hào)線是否已經(jīng)連接于連接器端子的確定裝置,還包括通信裝置,用于在通過(guò)連接器端子讀取有關(guān)外設(shè)類(lèi)型識(shí)別的識(shí)別數(shù)據(jù)后,將外設(shè)數(shù)據(jù)傳送到外設(shè),在預(yù)定的時(shí)間間隔,所有的識(shí)別數(shù)據(jù)同時(shí)被通信裝置不止一次地讀出的情況下,確定裝置確定外設(shè)的信號(hào)線是否已經(jīng)與連接器端子相連接。
18.一種數(shù)據(jù)處理裝置包括一個(gè)連接器端子可與一個(gè)外設(shè)相連接;用于根據(jù)來(lái)自與連接器端子相連接的外設(shè)的數(shù)據(jù)執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)處理裝置;以及用于確定外設(shè)的一根信號(hào)線是否已經(jīng)連接于連接器端子的確定裝置;當(dāng)外設(shè)與連接器端子不相連接時(shí),連接器端子被上拉或下拉以使得從外設(shè)輸出表示一個(gè)外設(shè)的非連接狀態(tài)的預(yù)定數(shù)據(jù),數(shù)據(jù)處理裝置包括用于通過(guò)連接器端子將外設(shè)數(shù)據(jù)傳送給外設(shè)的通信裝置,當(dāng)包括了一個(gè)表示外設(shè)的非連接狀態(tài)的預(yù)定數(shù)據(jù)的反量在內(nèi)的連接確認(rèn)數(shù)據(jù)已從外設(shè)被傳送并且通信裝置所接收的連接確認(rèn)數(shù)據(jù)與表示外設(shè)的非連接狀態(tài)的預(yù)定數(shù)據(jù)的反量不同時(shí),確定裝置確定外設(shè)與連接器端子不相連接。
19.一種數(shù)據(jù)處理包括一個(gè)插座連接器端子,可與一個(gè)外設(shè)相連接;用于根據(jù)來(lái)自與插座連接器端子相連接的外設(shè)的數(shù)據(jù)執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)處理裝置;以及用于確定外設(shè)的一根信號(hào)線是否已經(jīng)連接于插座連接器端子的確定裝置的數(shù)據(jù)處理裝置,所述插座連接器端子可被連接到具有插頭連接器端子的外設(shè)上,其中之一與一個(gè)電源和地線(GND)之一相連接,數(shù)據(jù)處理裝置包括用于通過(guò)插座連接器端子和插頭連接器端子將外設(shè)數(shù)據(jù)傳送給外設(shè)的通信裝置,當(dāng)相應(yīng)于連接在電源或地線(GND)上的插頭連接器端子的插座連接器端子上的信號(hào)電平不同于前述的插頭連接器端子上的一個(gè)信號(hào)電平時(shí),確定裝置確定外設(shè)與插座連接器端子不相連接。
20.一種數(shù)據(jù)處理裝置,包括一個(gè)連接器端子,與一個(gè)外設(shè)相連接;用于根據(jù)來(lái)自與連接器端子相連接的外設(shè)的數(shù)據(jù)執(zhí)行數(shù)據(jù)處理的數(shù)據(jù)處理裝置;以及用于確定外設(shè)的一根信號(hào)線是否已經(jīng)連接于連接器端子的確定裝置,還包括通信裝置,用于在通信裝置已向外設(shè)傳送了一個(gè)數(shù)據(jù)請(qǐng)求信號(hào)之后接收一個(gè)來(lái)自外設(shè)的響應(yīng)信號(hào)和外設(shè)數(shù)據(jù),當(dāng)通信裝置在傳送了數(shù)據(jù)請(qǐng)求信號(hào)之后的一個(gè)預(yù)定時(shí)間內(nèi)沒(méi)有接收到響應(yīng)信號(hào)時(shí),確定裝置確定外設(shè)與連接器端子不相連接。
21.一種從一個(gè)外設(shè)向一個(gè)數(shù)據(jù)處理裝置傳送數(shù)據(jù),并根據(jù)來(lái)自外設(shè)的數(shù)據(jù)處理數(shù)據(jù)的數(shù)據(jù)處理方法,包括根據(jù)該數(shù)據(jù)來(lái)確定外設(shè)的一根信號(hào)線是否與數(shù)據(jù)處理裝置的一個(gè)連接器端子相連接的步驟。
22.一種用于向一個(gè)數(shù)據(jù)處理裝置輸出要被處理的數(shù)據(jù)的外設(shè),包括一個(gè)與數(shù)據(jù)處理裝置相連的連接器端子;該外設(shè)輸出用于確認(rèn)所述該端子已與處理裝置相連的數(shù)據(jù)。
23.如權(quán)利要求22所述的外設(shè),用于至少輸出權(quán)利要求17所述的識(shí)別數(shù)據(jù),權(quán)利要求18所述的連接確認(rèn)數(shù)據(jù),權(quán)利要求19所述的信號(hào),權(quán)利要求20所述的響應(yīng)信號(hào)或外設(shè)數(shù)據(jù)中的一個(gè)。
24.一種數(shù)據(jù)處理裝置,它與一個(gè)外設(shè)相連接,包括一個(gè)處理外設(shè)提供的外設(shè)數(shù)據(jù)的主CPU;一個(gè)與主CPU相連的第一ROM;一個(gè)用做主CPU工作區(qū)的第一RAM;以及一個(gè)通過(guò)一根總線與主CPU相連并通過(guò)一個(gè)連接器可拆卸地連接于外設(shè)的子CPU電路;所述CPU電路包括一個(gè)與總線相連的第一接口,一個(gè)CPU內(nèi)核和一個(gè)第二RAM,它們均與第一接口相連接,一個(gè)與CPU內(nèi)核相連接的第二ROM,以及一個(gè)與CPU內(nèi)核和連接器相連的第二接口;其中所述第一ROM存儲(chǔ)一個(gè)用于向子COU電路發(fā)送一個(gè)自外設(shè)采集一個(gè)外設(shè)數(shù)據(jù)的指令的第一程序和一個(gè)用于讀取子CPU電路所采集的外設(shè)數(shù)據(jù)的第二程序;以及所述第二ROM存儲(chǔ)一個(gè)用于根據(jù)指令從外設(shè)采集外設(shè)數(shù)據(jù)并向主CPU提供所采集的外設(shè)數(shù)據(jù)的第三程序。
25.如權(quán)利要求24所述的數(shù)據(jù)處理裝置,其中所述連接器具有一個(gè)插座連接器,其上包括按照第一到第九的順序排列在一行中的九根針,它們與從外設(shè)伸出的插頭連接器的九根針可拆卸地相連接,所述插座連接器的第五針?lè)峙浣o電源和地保護(hù)中的一個(gè),所述插座連接器的第九針?lè)峙浣o其他的電源和地保護(hù),所述插座連接器的第二、三、七和八針?lè)峙溆糜趥魉蛿?shù)據(jù)信號(hào),所述插座連接器的第四和五針?lè)峙溆糜趥魉涂刂菩盘?hào),以及所述第二ROM存儲(chǔ)一個(gè)用于根據(jù)通過(guò)插座連接器的第二、三、七和八針提供的數(shù)據(jù)信號(hào)來(lái)識(shí)別設(shè)置在外設(shè)上的固有通信模式。
26.權(quán)利要求25所述的數(shù)據(jù)處理裝置,還包括一個(gè)多路轉(zhuǎn)換器,用于有選擇性地將接有主CPU的總線和CPU內(nèi)核連接到第二接口,其中所述的第一接口包括用于控制多路轉(zhuǎn)換器的轉(zhuǎn)換的裝置。
27.權(quán)利要求24所述的數(shù)據(jù)處理裝置,其中所述的第一接口有一個(gè)在主CPU和CPU內(nèi)核之間接收和傳送數(shù)據(jù)的寄存器表。
28.權(quán)利要求27所述的數(shù)據(jù)處理裝置,其中所述的寄存器表包括一個(gè)命令寄存器,主CPU將命令寫(xiě)入此命令寄存器以便將此命令傳送給CPU內(nèi)核;一個(gè)狀態(tài)寄存器,主CPU讀出其中的數(shù)據(jù)用于檢查在CPU內(nèi)核執(zhí)行上述命令后CPU內(nèi)核的一個(gè)狀態(tài);一個(gè)狀態(tài)標(biāo)志,通過(guò)在主CPU將命令寫(xiě)入命令寄存器之前置位此狀態(tài)標(biāo)志以及在CPU內(nèi)核執(zhí)行完命令后復(fù)位此狀態(tài)標(biāo)志,來(lái)表示CPU內(nèi)核是否在執(zhí)行命令的過(guò)程中;一個(gè)輸入寄存器,主CPU將與命令有關(guān)的命令參數(shù)寫(xiě)入此寄存器以便將此命令參數(shù)傳送到CPU內(nèi)核;以及一個(gè)輸出寄存器,CPU內(nèi)核將數(shù)據(jù)寫(xiě)入此輸出寄存器以便將此數(shù)據(jù)傳送到主CPU。
29.權(quán)利要求28所述的數(shù)據(jù)處理裝置,其中所述的由主CPU執(zhí)行的第一程序周期性地確定上述的狀態(tài)標(biāo)志是否被CPU內(nèi)核復(fù)位,然后,不僅當(dāng)此狀態(tài)標(biāo)志沒(méi)有復(fù)位時(shí)等待,而且當(dāng)此狀態(tài)標(biāo)志復(fù)位時(shí)置位此狀態(tài)標(biāo)志,然后將命令參數(shù)寫(xiě)入輸入寄存器以便采集外設(shè)數(shù)據(jù),并且將命令寫(xiě)入命令寄存器以便采集外設(shè)數(shù)據(jù);所述的由CPU內(nèi)核執(zhí)行的第三程序從命令寄存器中讀出命令以便采集外設(shè)數(shù)據(jù),然后,在每一特定的時(shí)期,不僅識(shí)別外設(shè)類(lèi)型和與此外設(shè)通信的通信模式,而且根據(jù)此通信模式從外設(shè)讀出外設(shè)數(shù)據(jù),并且將讀出的外設(shè)數(shù)據(jù)寫(xiě)入輸出寄存器;以及所述的由主CPU執(zhí)行的第二程序在每一特定的時(shí)期讀出存儲(chǔ)在輸出寄存器中的外設(shè)數(shù)據(jù)。
30.一種數(shù)據(jù)處理裝置,一個(gè)外設(shè)連接到其上,此數(shù)據(jù)處理裝置包括處理來(lái)自所述外設(shè)的外設(shè)數(shù)據(jù)的主CPU;一個(gè)第一ROM連到主CPU;一個(gè)第一RAM作為主CPU的一個(gè)工作區(qū);以用一個(gè)子CPU電路,通過(guò)一個(gè)總線連到主CPU并通過(guò)一連接器可拆卸地連到上述外設(shè)。所述子CPU電路包括一個(gè)連到上述總線的第一接口,一個(gè)CPU內(nèi)核和一個(gè)第二RAM,二者都連到上述的接口,一個(gè)連接到CPU內(nèi)核的第二ROM,以及一個(gè)連接到CPU內(nèi)核和連接器的第二接口,其中所述的第二ROM存儲(chǔ)一個(gè)程序,此程序采集來(lái)自外設(shè)的外設(shè)數(shù)據(jù)以響應(yīng)由主CPU給出的命令,并且然后將采集到的外設(shè)數(shù)據(jù)送到主CPU,其中采集外設(shè)數(shù)據(jù)的開(kāi)始時(shí)間被優(yōu)化在每一個(gè)特定時(shí)刻,使得采集外設(shè)數(shù)據(jù)的結(jié)束時(shí)間與在主CPU中處理外設(shè)數(shù)據(jù)的開(kāi)始時(shí)間一致。
31.權(quán)利要求30所述的數(shù)據(jù)處理裝置,有一監(jiān)視器連到其上,此監(jiān)視器用于顯示由主CPU執(zhí)行的對(duì)外設(shè)數(shù)據(jù)的處理結(jié)果,其中所述的特定時(shí)刻由用于監(jiān)視器的垂直消隱信號(hào)的第一轉(zhuǎn)變和最后一個(gè)轉(zhuǎn)變的其中任何一個(gè)確定。
32.權(quán)利要求31所述的數(shù)據(jù)處理裝置,其中所述的程序包括第一步驟,用于初始化一個(gè)標(biāo)志和一個(gè)變量,二者與采集外設(shè)數(shù)據(jù)的開(kāi)始時(shí)間的優(yōu)化有關(guān);第二步驟,跟在第一處理步驟之后,用于計(jì)算在響應(yīng)一個(gè)采集指令時(shí)的中斷的開(kāi)始時(shí)間;以及第三步驟,不僅用于等待著計(jì)算開(kāi)始時(shí)間,而且用于當(dāng)計(jì)算開(kāi)始時(shí)間結(jié)束時(shí)采集外設(shè)數(shù)據(jù)。
33.權(quán)利要求32所述的數(shù)據(jù)處理裝置,其中所述的標(biāo)志包括一個(gè)第一標(biāo)志和一個(gè)第二標(biāo)志,第一標(biāo)志用于標(biāo)識(shí)在下一個(gè)外設(shè)數(shù)據(jù)采集周期中上述的開(kāi)始時(shí)間是否將優(yōu)化,第二標(biāo)志用于標(biāo)識(shí)在由CPU內(nèi)核執(zhí)行的外設(shè)數(shù)據(jù)的采集過(guò)程中已經(jīng)出現(xiàn)的垂直消隱信號(hào)是否產(chǎn)生了超時(shí);并且所述的變量表示開(kāi)始時(shí)間,其中所述的第一標(biāo)志在上述的第一步驟中設(shè)置成邏輯“0”,表示開(kāi)始時(shí)間的優(yōu)化將不執(zhí)行,并且,第二標(biāo)志在第一步驟中設(shè)置成邏輯“1”,表示上述的超時(shí)已經(jīng)產(chǎn)生。
34.權(quán)利要求33所述的數(shù)據(jù)處理裝置,在其中所述的第二步驟中,當(dāng)?shù)谝缓偷诙?biāo)志的任何一個(gè)為邏輯值“1”時(shí),清除一個(gè)計(jì)數(shù)器的值;而當(dāng)?shù)谝缓偷诙?biāo)志都為邏輯值“0”時(shí),用變量的當(dāng)前值、一個(gè)計(jì)數(shù)器的值和一個(gè)時(shí)間范圍值的加值代替此變量的值;設(shè)置第一標(biāo)志為邏輯值“1”并清除計(jì)數(shù)器的值。
35.權(quán)利要求34所述的數(shù)據(jù)處理裝置,在其中所述的第三步驟中,設(shè)置第二標(biāo)志為邏輯值“0”,僅當(dāng)?shù)谝粯?biāo)志為邏輯值“1”時(shí)設(shè)置第一標(biāo)志為邏輯值“0”,等待直到計(jì)數(shù)器的值達(dá)到變量值為止,用計(jì)數(shù)器的當(dāng)前值替換變量的值,當(dāng)在外設(shè)數(shù)據(jù)采集期間發(fā)生超時(shí)時(shí),不僅采集外設(shè)數(shù)據(jù)以將其送到主CPU,而且設(shè)置第二標(biāo)志為邏輯值“1”,然后清除計(jì)數(shù)器的值。
36.一種數(shù)據(jù)處理裝置,具有一插頭連接器的一外設(shè)連接到其上,此數(shù)據(jù)處理裝置包括處理來(lái)自所述外設(shè)的外設(shè)數(shù)據(jù)的主CPU;一個(gè)第一ROM連到主CPU;一個(gè)第一RAM作為主CPU的一個(gè)工作區(qū);通過(guò)一總線與主CPU相連接的子CPU;以及一個(gè)與上述總線相連接的插座連接器,上述外設(shè)的插頭連接器可拔插地與此插座連接器相連接。所述子CPU電路包括一個(gè)連到上述總線的第一接口,一個(gè)CPU內(nèi)核和一個(gè)第二RAM,二者都連到上述的接口,一個(gè)連接到CPU內(nèi)核的第二ROM,以及一個(gè)連接到CPU內(nèi)核和插座連接器的第二接口;其中所述的第二ROM存儲(chǔ)一個(gè)程序,此程序用于當(dāng)子CPU電路響應(yīng)來(lái)自主CPU的命令而采集來(lái)自外設(shè)的數(shù)據(jù)時(shí),自動(dòng)識(shí)別外設(shè)的插頭連接器到上述插座連接器的連接狀態(tài)。
37.權(quán)利要求36所述的數(shù)據(jù)處理裝置,其中所述的插座連接器包括9根針,從第一到第九針順序地排列成一列,所述的第一針被分配作為電源和地的其中之一,并且所述的第九針被分配作為電源和地的另一個(gè),所述的第二、三、七和八針被分配作為傳輸數(shù)據(jù)信號(hào);而所述的第四至六針被分配作為傳輸控制信號(hào);以及所述的插頭連接器包括另外一組排列成一列的9根針,第一至第九針的每一個(gè)可拔插地連接到插座連接器的第一至第九針的每一相應(yīng)針。
38.權(quán)利要求37所述的數(shù)據(jù)處理裝置,其中連接到所述的插座連接器的第二至第八針的每根信號(hào)線通過(guò)一個(gè)寄存器被連接到表示邏輯值“1”的電源上。
39.權(quán)利要求38所述的數(shù)據(jù)處理裝置,其中所述的由第二ROM存儲(chǔ)的程序包括一個(gè)過(guò)程,當(dāng)分別用“1”和“0”表示電源和零電位時(shí),對(duì)于控制信號(hào)“1”和“1”分別通過(guò)第四和五針供給的狀態(tài)和控制信號(hào)“0”和“1”分別通過(guò)第四和五針供給的狀態(tài),在這兩個(gè)狀態(tài)的任一狀態(tài)中,上述的過(guò)程在第一特定時(shí)間計(jì)算一個(gè)用通過(guò)第七、八、二、三針來(lái)自外設(shè)的數(shù)據(jù)信號(hào)的識(shí)別數(shù)據(jù);并且此過(guò)程在一些特定時(shí)間,當(dāng)識(shí)別數(shù)據(jù)的計(jì)算值表示出插頭連接器到插座連接器的一個(gè)連接狀態(tài)時(shí),確定外設(shè)到數(shù)據(jù)處理裝置的一個(gè)完整的連接。
40.權(quán)利要求39所述的數(shù)據(jù)處理裝置,其中所述的由第二ROM存儲(chǔ)的程序包括另一過(guò)程,當(dāng)在當(dāng)前特定時(shí)間的識(shí)別數(shù)據(jù)不同于上一特定時(shí)間的計(jì)算值時(shí),此過(guò)程確定外設(shè)到數(shù)據(jù)處理裝置的一個(gè)非連接狀態(tài)。
41.一個(gè)操作裝置,包括連接到外設(shè)的第一接口,用于控制輸入信號(hào)到此外設(shè)和從此外設(shè)輸出信號(hào);連接到CPU總線的第二接口,用于輸入信號(hào)到連接有上述操作裝置的主CPU和從此連接有上述操作裝置的主CPU輸出信號(hào);一CPU內(nèi)核,通過(guò)一內(nèi)部總線連接到上述第二接口,以便執(zhí)行由主CPU提供的命令;一個(gè)ROM,存儲(chǔ)命令處理所需的程序;以及一個(gè)裝置,用于根據(jù)外設(shè)的類(lèi)型有選擇地將上述CPU總線和內(nèi)部總線的其中之一連接到上述第一接口。
42.權(quán)利要求41所述的操作裝置,其中所述的可選擇地連接的裝置包括一個(gè)寄存器電路和一個(gè)多路轉(zhuǎn)換器,此寄存器電路位于主CPU和CPU內(nèi)核之間,此多路轉(zhuǎn)換器位于第一接口和CPU總線、內(nèi)部總線之間,并且根據(jù)設(shè)置到寄存器的控制數(shù)據(jù)可選擇地將CPU總線和內(nèi)部總線的其中之一連接到第一接口。
43.權(quán)利要求42所述的操作裝置,其中所述的寄存器電路包括一個(gè)主CPU可訪問(wèn)的第一寄存器組、一個(gè)CPU內(nèi)核可訪問(wèn)的第二寄存器組和一個(gè)主CPU可訪問(wèn)的I/O選擇寄存器,此I/O選擇寄存器用于確定主CPU和CPU內(nèi)核的其中之一獲得對(duì)第一接口的訪問(wèn)權(quán)。
44.權(quán)利要求43所述的操作裝置,其中所述的第一和第二寄存器組的每一組包括一個(gè)數(shù)據(jù)方向寄存器和一個(gè)端口數(shù)據(jù)寄存器,此數(shù)據(jù)方向寄存器用于設(shè)置任一通道的外設(shè)端口的每根信號(hào)線的輸入/輸出數(shù)據(jù)的方向,此端口數(shù)據(jù)寄存器用于存儲(chǔ)在外設(shè)端口上的數(shù)據(jù)。
45.權(quán)利要求42所述的操作裝置,其中所述的多路轉(zhuǎn)換器包括許多三態(tài)緩沖器,這些三態(tài)緩沖器響應(yīng)設(shè)置在I/O選擇寄存器中的控制數(shù)據(jù)而打開(kāi)和關(guān)閉。
46.權(quán)利要求41所述的操作裝置,其中所述的存儲(chǔ)在ROM中的程序是這樣的一個(gè)程序,當(dāng)CPU內(nèi)核從主CPU接收一個(gè)通知開(kāi)始采集外設(shè)數(shù)據(jù)的命令時(shí),此程序從外設(shè)采集外設(shè)數(shù)據(jù)并將這些外設(shè)數(shù)據(jù)送到主CPU。
47.權(quán)利要求46所述的操作裝置,其中所述的第二接口有一個(gè)寄存器表,在主CPU和CPU內(nèi)核之間的數(shù)據(jù)通信通過(guò)此寄存器表實(shí)現(xiàn)。
48.權(quán)利要求47所述的操作裝置,其中所述的寄存器表包括一個(gè)命令寄存器,主CPU寫(xiě)一命令到此命令寄存器中以便將此命令傳送給CPU內(nèi)核,還包括一狀態(tài)寄存器,由主CPU讀出此狀態(tài)寄存器的數(shù)據(jù)以檢查在CPU內(nèi)核執(zhí)行上述命令后CPU內(nèi)核的一個(gè)狀態(tài),還包括一狀態(tài)標(biāo)志,通過(guò)在主CPU寫(xiě)命令到命令寄存器之前設(shè)置狀態(tài)寄存器和在CPU內(nèi)核執(zhí)行完命令后復(fù)位狀態(tài)寄存器,此標(biāo)志表示CPU內(nèi)核是否在命令執(zhí)行的過(guò)程中;還包括一個(gè)輸入寄存器,主CPU將與命令有關(guān)的參數(shù)寫(xiě)入此輸入寄存器中以便將這些參數(shù)傳送到CPU內(nèi)核;以及一個(gè)輸出寄存器,CPU內(nèi)核在其中寫(xiě)數(shù)據(jù)并將數(shù)據(jù)傳送到主CPU。
全文摘要
一種數(shù)據(jù)處理裝置,實(shí)現(xiàn)了高速圖象控制和快速響應(yīng)外設(shè)操作內(nèi)容的圖象控制,并避免了外設(shè)的錯(cuò)誤識(shí)別的可能性。一子CPU通過(guò)一CPU總線連接到一提供圖象控制等等的主CPU。當(dāng)主CPU通過(guò)一寄存器表將命令送到子CPU時(shí),子CPU確定外設(shè)數(shù)據(jù)采集開(kāi)始時(shí)間并且在此開(kāi)始時(shí)間從外設(shè)采集外設(shè)數(shù)據(jù)。此主CPU通過(guò)寄存器表接收由子CPU采集的外設(shè)數(shù)據(jù)。子CPU接收外設(shè)數(shù)據(jù)ID-1(識(shí)別數(shù)據(jù))兩次。如果這些外設(shè)數(shù)據(jù)的兩次的值不同,則主CPU確定此外設(shè)還未連接到外設(shè)端口。
文檔編號(hào)G06F13/14GK1136849SQ9519102
公開(kāi)日1996年11月27日 申請(qǐng)日期1995年10月11日 優(yōu)先權(quán)日1994年10月12日
發(fā)明者小泉昌弘, 新妻直樹(shù), 川瀨泰久, 池部元, 川堀昌樹(shù) 申請(qǐng)人:世雅企業(yè)股份有限公司