亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng)和方法

文檔序號(hào):6472153閱讀:232來源:國知局

專利名稱::具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng)和方法
技術(shù)領(lǐng)域
:本發(fā)明涉及外設(shè)接口通訊技術(shù),尤其涉及一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng)和方法。
背景技術(shù)
:片上系統(tǒng)(S0C)芯片是指在單芯片上集成微電子應(yīng)用產(chǎn)品所需的全部功能系統(tǒng),是一種實(shí)現(xiàn)產(chǎn)品系統(tǒng)最大包容的集成芯片,隨著SOC芯片技術(shù)的發(fā)展,單個(gè)芯片一般都需要支持相當(dāng)多的外設(shè)接口,比如串行外圍接口(SPI)、內(nèi)部集成電路(12C)、安全數(shù)字I/0(SDIO)、通用異步接收/發(fā)送裝置(UART)等。并且外部芯片往往需要通過對(duì)應(yīng)的這些外設(shè)接口訪問內(nèi)部模塊寄存器和內(nèi)存。目前,關(guān)于外部設(shè)備與內(nèi)部寄存器等進(jìn)行數(shù)據(jù)交互一般采用圖1所示的方式即,針對(duì)每一個(gè)外設(shè),對(duì)應(yīng)有一個(gè)外設(shè)接口模塊(例如圖中所示的外設(shè)l接口12、外設(shè)2接口14、外設(shè)n接口16等),其內(nèi)部需要實(shí)現(xiàn)對(duì)應(yīng)的接口協(xié)議轉(zhuǎn)換,然后再連接到內(nèi)部總線20上,從而實(shí)現(xiàn)各個(gè)外設(shè)與內(nèi)部總線20的通訊。但是,如果外設(shè)的主控方(例如圖1中與各個(gè)外設(shè)接口對(duì)應(yīng)的外設(shè)1主控端模塊2、外設(shè)2主控端模塊4、外設(shè)3主控端模塊6)與內(nèi)部數(shù)據(jù)交互的協(xié)議有更改,比如芯片內(nèi)部總線的地址總線位數(shù)發(fā)生變化,由16位更改為32位等。針對(duì)這些情況,各個(gè)外設(shè)接口模塊的接口協(xié)議轉(zhuǎn)換部分則分別需要重新修改,并且一一重新進(jìn)行驗(yàn)證,因此操作比較繁瑣復(fù)雜,降低了外設(shè)接口設(shè)計(jì)的一致性和重用性。
發(fā)明內(nèi)容本發(fā)明的目的旨在至少解決現(xiàn)有技術(shù)中的上述問題之一。為此,本發(fā)明的實(shí)施例提出一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng)和方法,以達(dá)到更好的設(shè)計(jì)一致性和重用性。根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明實(shí)施例提供了一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng),包括多個(gè)外設(shè)主控端模塊、多個(gè)外設(shè)接口模塊和接口轉(zhuǎn)換模塊;所述多個(gè)外設(shè)主控端模塊與所述多個(gè)外設(shè)接口模塊對(duì)應(yīng),并根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議預(yù)先定義命令字和數(shù)據(jù),并通過所述外設(shè)接口模塊傳輸;所述多個(gè)外設(shè)接口模塊,分別用于將對(duì)應(yīng)的所述命令字和所述數(shù)據(jù)傳輸?shù)剿鼋涌谵D(zhuǎn)換模塊;所述接口轉(zhuǎn)換模塊,按照所述數(shù)據(jù)交互協(xié)議解析和轉(zhuǎn)換所述命令字和所述數(shù)據(jù),以執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述接口轉(zhuǎn)換模塊包括接口轉(zhuǎn)換處理模塊,處理與所述外設(shè)接口模塊的信號(hào)交互,以采集和傳輸所述命令字和所述數(shù)據(jù);命令解析模塊,解析所述命令字;主控模塊,根據(jù)所述解析命令字進(jìn)行寫數(shù)據(jù)或讀數(shù)據(jù)控制;寫數(shù)據(jù)處理模塊,根據(jù)所述寫數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將所述數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的寫地址和寫數(shù)據(jù),并傳輸?shù)絻?nèi)部總線;讀數(shù)據(jù)處理模塊,根據(jù)所述讀數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將內(nèi)部總線返回的讀數(shù)據(jù)傳輸給所述接口轉(zhuǎn)換處理模塊;和總線接口模塊,提供所述寫數(shù)據(jù)處理模塊、所述讀數(shù)據(jù)處理模塊與內(nèi)部總線之間的連接和數(shù)據(jù)交互。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述多個(gè)外設(shè)主控端模塊根據(jù)所述數(shù)據(jù)交互協(xié)議的變化重新定義所述命令字和數(shù)據(jù),并且所述接口轉(zhuǎn)換模塊根據(jù)所述重新定義的所述命令字和數(shù)據(jù)進(jìn)行相應(yīng)的解析和轉(zhuǎn)換。根據(jù)本發(fā)明的另一方面,本發(fā)明實(shí)施例提出一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法,包括以下步驟根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議,在與多個(gè)外設(shè)接口對(duì)應(yīng)的多個(gè)外設(shè)主控端中預(yù)先定義用于數(shù)據(jù)交互的命令字和數(shù)據(jù);將通過所述多個(gè)外設(shè)接口對(duì)應(yīng)傳輸?shù)乃雒钭趾蛿?shù)據(jù)按照數(shù)據(jù)交互協(xié)議進(jìn)行解析和轉(zhuǎn)換;和根據(jù)解析和轉(zhuǎn)換的所述命令字和數(shù)據(jù),執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述命令字和數(shù)據(jù)的解析和轉(zhuǎn)換步驟包括解析所述命令字,并根據(jù)所述解析命令字進(jìn)行寫數(shù)據(jù)或讀數(shù)據(jù)控制;根據(jù)所述寫數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將所述數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的寫地址和寫數(shù)據(jù),并傳輸?shù)絻?nèi)部總線;根據(jù)所述讀數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議讀取內(nèi)部總線返回的數(shù)據(jù)。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,根據(jù)所述數(shù)據(jù)交互協(xié)議的變化重新定義所述多個(gè)外設(shè)主控端的所述命令字和數(shù)據(jù),并且根據(jù)所述重新定義的所述命令字和數(shù)據(jù)進(jìn)行相應(yīng)的解析和轉(zhuǎn)換。本發(fā)明將多個(gè)外設(shè)接口僅用于外設(shè)模塊的主控端命令字和數(shù)據(jù)的傳輸,使得各種外設(shè)接口僅專注與外部的交互,本身不再按照對(duì)應(yīng)數(shù)據(jù)交互協(xié)議執(zhí)行命令字和數(shù)據(jù)的解析和轉(zhuǎn)換。而是按照外設(shè)主控端與內(nèi)部總線的數(shù)據(jù)交互協(xié)議,對(duì)外設(shè)接口傳輸?shù)拿詈蛿?shù)據(jù)進(jìn)行解析和轉(zhuǎn)換,來執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。因此當(dāng)外設(shè)主控端和內(nèi)部總線的內(nèi)部數(shù)據(jù)交互協(xié)議有更改的時(shí)候,只需要按照變化的交互協(xié)議,單獨(dú)執(zhí)行一次修改和驗(yàn)證即可,而無需對(duì)多個(gè)外設(shè)接口分別進(jìn)行接口協(xié)議的轉(zhuǎn)換和對(duì)應(yīng)的多次重新驗(yàn)證,因此與現(xiàn)有技術(shù)相比,本發(fā)明簡化了多個(gè)外設(shè)模塊訪問內(nèi)部數(shù)據(jù)的驗(yàn)證工作,提高了代碼的重用性,可以達(dá)到更強(qiáng)的設(shè)計(jì)一致性和重用性,并提高可測性。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中圖1為現(xiàn)有技術(shù)具有多個(gè)外設(shè)接口的外部設(shè)備與內(nèi)部數(shù)據(jù)交互結(jié)構(gòu)示意圖;圖2為本發(fā)明的具有多個(gè)外設(shè)接口的外部設(shè)備與內(nèi)部數(shù)據(jù)交互系統(tǒng)方框圖;圖3為本發(fā)明實(shí)施例的外設(shè)模塊通過接口轉(zhuǎn)換模塊寫數(shù)據(jù)的協(xié)議示意圖;圖4為本發(fā)明實(shí)施例的外設(shè)模塊通過接口轉(zhuǎn)換模塊讀數(shù)據(jù)的協(xié)議示意圖;圖5為本發(fā)明實(shí)施例的接口轉(zhuǎn)換模塊的內(nèi)部結(jié)構(gòu)示意圖;圖6為本發(fā)明的具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法的總體流程圖;禾口圖7為本發(fā)明實(shí)施例的具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法的具體步驟流程圖。具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。請(qǐng)參考圖2,該圖顯示了本發(fā)明的具有多個(gè)外設(shè)接口的外部設(shè)備與內(nèi)部數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)。如圖所示,包括n個(gè)外設(shè)主控端模塊,例如外設(shè)1主控端模塊2'、外設(shè)2主控端模塊4'及外設(shè)n主控端模塊6'。這些外設(shè)主控端模塊分別與n個(gè)外設(shè)模塊對(duì)應(yīng),并且與n個(gè)外設(shè)接口模塊(例如圖中的外設(shè)l接口12'、外設(shè)2接口14'及外設(shè)n接口16')對(duì)應(yīng)。另外,如圖所示,各個(gè)外設(shè)接口12'、14'及16'與內(nèi)部總線20之間設(shè)置有一個(gè)接口轉(zhuǎn)換模塊30。從而,各個(gè)外設(shè)模塊通過對(duì)應(yīng)連接的外設(shè)接口以及接口轉(zhuǎn)換模塊30,實(shí)現(xiàn)對(duì)內(nèi)部總線的訪問和數(shù)據(jù)交互。上述多個(gè)外設(shè)模塊對(duì)應(yīng)的外設(shè)主控端模塊2'、4'及6'根據(jù)與內(nèi)部總線20的數(shù)據(jù)交互協(xié)議預(yù)先定義命令字和數(shù)據(jù),例如,當(dāng)內(nèi)部總線為16位地址總線,16位數(shù)據(jù)總線時(shí),外設(shè)主控端模塊可以定義如下協(xié)議寫寄存器的命令字為Oxl,讀寄存器的命令字為0x2;寫寄存器時(shí),后面緊跟的數(shù)據(jù)依次為地址高8位,地址低8位,數(shù)據(jù)高8位,數(shù)據(jù)低8位;讀寄存器時(shí),寫地址時(shí)緊跟的數(shù)據(jù)依次為地址高8位,地址低8位;后續(xù)讀操作時(shí)數(shù)據(jù)為數(shù)據(jù)高8位,數(shù)據(jù)低8位。當(dāng)然,根據(jù)與內(nèi)部總線數(shù)據(jù)交互協(xié)議的不同,外設(shè)主控端模塊可以自由更改這些命令字和數(shù)據(jù)。正如圖2所示,在多個(gè)外設(shè)接口的輸出端連接有接口轉(zhuǎn)換模塊30,接口轉(zhuǎn)換模塊30用來按照外設(shè)主控端模塊與內(nèi)部總線20的數(shù)據(jù)交互協(xié)議,解析和轉(zhuǎn)換外設(shè)主控端模塊對(duì)應(yīng)外設(shè)模塊發(fā)出的命令字和數(shù)據(jù),以執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。也就是說,這里多個(gè)外設(shè)接口12'、14'及16'僅僅將外設(shè)模塊的命令字和數(shù)據(jù)傳輸給接口轉(zhuǎn)換模塊30,不再按照對(duì)應(yīng)數(shù)據(jù)交互協(xié)議執(zhí)行命令字和數(shù)據(jù)的解析和轉(zhuǎn)換。并且,外設(shè)接口可以很容易產(chǎn)生與接口轉(zhuǎn)換模塊30的交互數(shù)據(jù)與控制信號(hào)。這樣,通過設(shè)置接口轉(zhuǎn)換模塊30,可以使得多個(gè)外設(shè)接口12'、14'及16'可以通過與一個(gè)一致的接口轉(zhuǎn)換模塊30進(jìn)行數(shù)據(jù)交互,并且當(dāng)外設(shè)主控端模塊和內(nèi)部總線20的內(nèi)部數(shù)據(jù)交互協(xié)議有更改的時(shí)候,只需要按照變化的交互協(xié)議,對(duì)接口轉(zhuǎn)換模塊30進(jìn)行一次修改和驗(yàn)證即可,而無需對(duì)應(yīng)多個(gè)外設(shè)接口12'、14'及16'分別進(jìn)行接口協(xié)議的轉(zhuǎn)換和對(duì)應(yīng)的多次重新驗(yàn)證,因此與現(xiàn)有技術(shù)相比,本發(fā)明簡化了操作流程,可以達(dá)到更強(qiáng)的設(shè)計(jì)重用性并提高可測性。下面,結(jié)合圖3至圖5對(duì)本發(fā)明的數(shù)據(jù)交互系統(tǒng)作出詳細(xì)描述。其中圖3為本發(fā)明實(shí)施例的外設(shè)模塊通過接口轉(zhuǎn)換模塊寫數(shù)據(jù)的協(xié)議示意圖,圖4為本發(fā)明實(shí)施例的外設(shè)模塊通過接口轉(zhuǎn)換模塊讀數(shù)據(jù)的協(xié)議示意圖,和圖5為本發(fā)明實(shí)施例的接口轉(zhuǎn)換模塊的內(nèi)部結(jié)構(gòu)示意圖。對(duì)于設(shè)置用于按照數(shù)據(jù)交換協(xié)議執(zhí)行與內(nèi)部總線20數(shù)據(jù)交互的接口轉(zhuǎn)換模塊30,其需要和n個(gè)外設(shè)模塊確定相應(yīng)的端口定義和端口協(xié)議。例如,接口轉(zhuǎn)換模塊30與外設(shè)模塊的端口定義如表1所示表l5<table>tableseeoriginaldocumentpage6</column></row><table>g卩,接口轉(zhuǎn)換模塊30與n個(gè)外設(shè)接口的交互信號(hào)包括表1所列的信號(hào)。另外,外設(shè)模塊通過接口轉(zhuǎn)換模塊寫數(shù)據(jù)的協(xié)議如圖3所示,其中BIF用于表示接口轉(zhuǎn)換模塊,CMD表示外設(shè)主控端模塊安裝內(nèi)部交互協(xié)議定義的命令字,DATA1...DATAn表示外設(shè)主控端模塊定義的數(shù)據(jù),包括寫地址和對(duì)應(yīng)的寫數(shù)據(jù)。圖4給出了外設(shè)模塊通過接口轉(zhuǎn)換模塊30讀數(shù)據(jù)的協(xié)議,其中DATA1...DATAn表示寫入的讀數(shù)據(jù)地址,Dl、D2、...Dn表示內(nèi)部總線20后續(xù)返回的讀數(shù)據(jù)?,F(xiàn)在,結(jié)合圖5實(shí)施例的接口轉(zhuǎn)換模塊30的各個(gè)部件對(duì)本發(fā)明的數(shù)據(jù)交互系統(tǒng)詳細(xì)說明如下。如圖所示,接口轉(zhuǎn)換模塊30包括接口轉(zhuǎn)換處理模塊302、命令解析模塊304、主控模塊306、寫數(shù)據(jù)處理模塊308、讀數(shù)據(jù)處理模塊310和總線接口模塊312。當(dāng)req信號(hào)為有效時(shí),說明外設(shè)接口模塊與接口轉(zhuǎn)換模塊30之間有數(shù)據(jù)交互,此時(shí),如果valid有電平翻轉(zhuǎn),說明該時(shí)刻有數(shù)據(jù)傳輸(高到低,低到高,各為一次有效數(shù)據(jù)傳輸)。接口轉(zhuǎn)換處理模塊302,處理與外設(shè)接口模塊的信號(hào)交互,因此采集外設(shè)接口模塊傳輸?shù)拿恳粋€(gè)數(shù)據(jù),并且將外設(shè)模塊發(fā)出的命令字和數(shù)據(jù)傳送給命令解析模塊304、寫數(shù)據(jù)處理模塊308。命令解析模塊304解析接收的第一個(gè)命令字(CMD),根據(jù)命令字的不同,驅(qū)動(dòng)主控模塊306進(jìn)入不同的操作流程執(zhí)行相應(yīng)的寫數(shù)據(jù)控制或者讀數(shù)據(jù)控制。例如,命令解析模塊304解析接收的命令字為寫寄存器,主控模塊306則控制寫數(shù)據(jù)處理模塊308對(duì)接收的數(shù)據(jù)執(zhí)行相應(yīng)的操作;若解析的命令字為讀寄存器,主控模塊306則控制寫數(shù)據(jù)處理模塊308和讀數(shù)據(jù)處理模塊執(zhí)行相應(yīng)的操作。寫數(shù)據(jù)處理模塊308用于根據(jù)主控模塊306的寫數(shù)據(jù)控制,按照數(shù)據(jù)交互協(xié)議將接口轉(zhuǎn)換處理模塊302傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的寫地址和寫數(shù)據(jù);根據(jù)主控模塊306的讀數(shù)據(jù)控制,則按照數(shù)據(jù)交互協(xié)議將接口轉(zhuǎn)換處理模塊302傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的讀地址。因此,寫數(shù)據(jù)處理模塊308根據(jù)讀/寫操作控制,將接收的數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的地址、數(shù)據(jù)等不同類型的數(shù)據(jù),并傳輸?shù)絻?nèi)部總線中。讀數(shù)據(jù)處理模塊310根據(jù)讀數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將內(nèi)部總線20返回的讀數(shù)據(jù)轉(zhuǎn)換為連續(xù)的字節(jié)流,并傳輸給接口轉(zhuǎn)換處理模塊302,從而通過接口轉(zhuǎn)換處理模塊302、對(duì)應(yīng)的外設(shè)接口將讀數(shù)據(jù)返回到對(duì)應(yīng)的外設(shè)模塊中。如圖3實(shí)施例所示,寫數(shù)據(jù)處理模塊308、讀數(shù)據(jù)處理模塊310與內(nèi)部總線20之間提供有總線接口模塊312,提供相應(yīng)部件之間的連接和數(shù)據(jù)交互,并處理與讀/寫數(shù)據(jù)處理模塊308/310之間的內(nèi)部讀/寫數(shù)據(jù)。一般來說,總線接口模塊312需要根據(jù)實(shí)際芯片采用的總線類型來定義,常用的有內(nèi)存訪問接口,高級(jí)外圍總線(APB,AdvancedPeripheralBUS)接口等。下面以上文所述芯片內(nèi)部總線為16位地址總線,16位數(shù)據(jù)總線,以及外設(shè)主控端模塊的命令字和數(shù)據(jù)定義為實(shí)施例,結(jié)合一個(gè)簡單的寄存器讀、寫例子,對(duì)本發(fā)明具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng)如何通過圖4和圖5對(duì)應(yīng)的協(xié)議來完成外設(shè)主控端模塊對(duì)芯片的操作作出詳細(xì)說明。假設(shè)外設(shè)主控端模塊要往芯片的0x2233的地址寫數(shù)據(jù)0x4455,則外設(shè)主控端模塊需要通過外設(shè)模塊寫如下數(shù)據(jù)0x01,0x22,0x33,0x44,0x55。相應(yīng)地,接口轉(zhuǎn)換模塊30的命令解析模塊304接收0x01的命令字,并且寫數(shù)據(jù)處理模塊308按照內(nèi)部數(shù)據(jù)交互協(xié)議,接收對(duì)應(yīng)的2個(gè)數(shù)據(jù)0x22,0x33作為寫地址,并接收0x44,0x55作為寫數(shù)據(jù),從而將外設(shè)模塊傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為相應(yīng)的寫地址和寫數(shù)據(jù),并寫入到內(nèi)部總線20中。假設(shè)外設(shè)主控端模塊要從芯片的0x6677的地址讀數(shù)據(jù),所要讀取的數(shù)據(jù)為0x8899,則外設(shè)主控端模塊需要通過外設(shè)模塊寫如下數(shù)據(jù)0x02,0x66,0x77。接口轉(zhuǎn)換模塊30的命令解析模塊304接收0x02的命令字,并且寫數(shù)據(jù)處理模塊308按照內(nèi)部數(shù)據(jù)交互協(xié)議,接收對(duì)應(yīng)的2個(gè)數(shù)據(jù)0x66,0x77作為讀地址,并寫入到內(nèi)部總線20中。讀數(shù)據(jù)處理模塊310將內(nèi)部總線20返回的讀數(shù)據(jù)轉(zhuǎn)換為0x88,0x99,從而通過接口轉(zhuǎn)換處理模塊302傳輸給外設(shè)模塊,則能獲得相應(yīng)的讀數(shù)據(jù)。因此,在該協(xié)議有所更改的情況下,比如地址和數(shù)據(jù)位從16位調(diào)整到32位,只需要外設(shè)主控端模塊更改相應(yīng)的寫數(shù)據(jù),以及接口轉(zhuǎn)換模塊30相應(yīng)修改對(duì)傳輸數(shù)據(jù)的解析和轉(zhuǎn)換,例如對(duì)16位的地址和數(shù)據(jù)總線,需要寫入2個(gè)數(shù)據(jù)作為地址,2個(gè)數(shù)據(jù)作為數(shù)據(jù),對(duì)于調(diào)整的32位的地址和數(shù)據(jù)位,相應(yīng)寫入4個(gè)數(shù)據(jù)作為地址,4個(gè)數(shù)據(jù)作為數(shù)據(jù)即可。通過上述模塊的相應(yīng)更改,則能夠?qū)崿F(xiàn)外設(shè)與內(nèi)部總線的數(shù)據(jù)交互,而無需再修改各個(gè)外設(shè)接口,從而降低測試的重復(fù)性?,F(xiàn)在,請(qǐng)參考圖6,圖6給出本發(fā)明的具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法的總體流程步驟。如圖所示,首先根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議,在與多個(gè)外設(shè)接口對(duì)應(yīng)的多個(gè)外設(shè)主控端中預(yù)先定義用于數(shù)據(jù)交互的命令字和數(shù)據(jù)(步驟102),然后,將通過所述多個(gè)外設(shè)接口對(duì)應(yīng)傳輸?shù)乃雒钭趾蛿?shù)據(jù)按照數(shù)據(jù)交互協(xié)議進(jìn)行解析和轉(zhuǎn)換(步驟104)。最后,根據(jù)解析和轉(zhuǎn)換的所述命令字和數(shù)據(jù),執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互(步驟106)通過上述方法,多個(gè)外設(shè)接口僅用于外設(shè)模塊的主控端命令字和數(shù)據(jù)的傳輸,僅使得各種外設(shè)接口專注與外部的交互,它們本身不再按照對(duì)應(yīng)數(shù)據(jù)交互協(xié)議執(zhí)行命令字和數(shù)據(jù)的解析和轉(zhuǎn)換。而是通過一個(gè)額外程序處理步驟,按照外設(shè)主控端與內(nèi)部總線的數(shù)據(jù)交互協(xié)議,解析和轉(zhuǎn)換外設(shè)主控端的命令字和數(shù)據(jù),來執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。因此當(dāng)外設(shè)主控端和內(nèi)部總線的內(nèi)部數(shù)據(jù)交互協(xié)議有更改的時(shí)候,只需要按照變化的交互協(xié)議,單獨(dú)執(zhí)行程序的一次修改和驗(yàn)證即可,不涉及太多的硬件開銷,而無需對(duì)多個(gè)外設(shè)接口分別進(jìn)行接口協(xié)議的轉(zhuǎn)換和對(duì)應(yīng)的多次重新驗(yàn)證,因此與現(xiàn)有技術(shù)相比,本發(fā)明簡化了多個(gè)外設(shè)模塊訪問內(nèi)部數(shù)據(jù)的驗(yàn)證工作,提高了代碼的重用性,可以達(dá)到更強(qiáng)的設(shè)計(jì)重用性并提高可測性。下面,結(jié)合圖7對(duì)本發(fā)明實(shí)施例的具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法的具體步驟給出詳細(xì)說明。在該實(shí)施例中,與外設(shè)進(jìn)行數(shù)據(jù)交互的內(nèi)部總線為16位地址總線,16位數(shù)據(jù)總線,外設(shè)主控端定義的協(xié)議如下寫寄存器的命令字為Oxl,讀寄存器的命令字為0x2;寫寄存器時(shí),后面緊跟的數(shù)據(jù)依次為地址高8位,地址低8位,數(shù)據(jù)高8位,數(shù)據(jù)低8位;讀寄存器時(shí),寫地址時(shí)緊跟的數(shù)據(jù)依次為地址高8位,地址低8位;后續(xù)讀操作時(shí)數(shù)據(jù)為數(shù)據(jù)高8位,數(shù)據(jù)低8位。根據(jù)與內(nèi)部總線數(shù)據(jù)交互協(xié)議的不同,外設(shè)主控端可以自由更改這些命令字和數(shù)據(jù)。首先,判斷數(shù)據(jù)傳輸請(qǐng)求是否有效(步驟402),若有效則說明外設(shè)接口有數(shù)據(jù)傳輸,接著進(jìn)一步判斷該請(qǐng)求是否為寫命令(步驟402),即外設(shè)主控端是否請(qǐng)求向內(nèi)部總線執(zhí)行數(shù)據(jù)讀/寫的地址和數(shù)據(jù)寫入。若是,則接收命令字(步驟408),然后解析命令字判斷接收的命令是否為寫數(shù)據(jù)命令(步驟410),從而進(jìn)行寫數(shù)據(jù)或讀數(shù)據(jù)控制。若為寫數(shù)據(jù)命令,執(zhí)行寫數(shù)據(jù)控制,對(duì)于該實(shí)施例的16位地址總線和16位數(shù)據(jù)總線的數(shù)據(jù)交互協(xié)議,接收2個(gè)數(shù)據(jù)作為地址(步驟412),并接收2個(gè)數(shù)據(jù)作為寫數(shù)據(jù)(步驟414)。然后,將數(shù)據(jù)寫入內(nèi)部總線(步驟416)。在寫入過程中,判斷數(shù)據(jù)傳輸請(qǐng)求是否無效(步驟418),以判斷數(shù)據(jù)是否已經(jīng)全部寫入。若請(qǐng)求有效,則需要等待,直至數(shù)據(jù)連續(xù)寫入到內(nèi)部總線;若無效,則完成寫入并進(jìn)入空閑狀態(tài)。在步驟410判斷為讀數(shù)據(jù)命令時(shí),則執(zhí)行讀數(shù)據(jù)控制,按照數(shù)據(jù)交互協(xié)議接收2個(gè)數(shù)據(jù)作為寫入的讀地址(步驟420),并發(fā)送讀數(shù)據(jù)請(qǐng)求到內(nèi)部總線(步驟422)。判斷內(nèi)部總線是否返回對(duì)應(yīng)的讀數(shù)據(jù)(步驟424),若返回則保存數(shù)據(jù)(步驟426)。然后,判斷請(qǐng)求是否無效(步驟428),等待到無效時(shí)將保存的數(shù)據(jù),并恢復(fù)空閑狀態(tài)。通過外設(shè)接口再次發(fā)出的數(shù)據(jù)傳輸請(qǐng)求(步驟402),以及通過步驟404判斷請(qǐng)求是否為寫命令,在不是寫命令的情況下,將內(nèi)部總線傳遞的保存讀數(shù)據(jù)返回給外設(shè)(步驟406)。在該協(xié)議更改的情況下,各個(gè)外設(shè)接口無需根據(jù)協(xié)議變化逐一進(jìn)行修改,只需要外設(shè)主控端更改相應(yīng)的寫數(shù)據(jù),以及步驟412、414和420相應(yīng)修改對(duì)傳輸數(shù)據(jù)的解析和轉(zhuǎn)換,例如對(duì)地址和數(shù)據(jù)位從16位調(diào)整到32位,只需要相應(yīng)地將寫入作為地址的2個(gè)數(shù)據(jù)、作為數(shù)據(jù)的2個(gè)數(shù)據(jù),修改為寫入4個(gè)數(shù)據(jù)作為地址,4個(gè)數(shù)據(jù)作為數(shù)據(jù)。通過上述相應(yīng)更改,則能夠?qū)崿F(xiàn)外設(shè)與內(nèi)部總線的數(shù)據(jù)交互,從而降低測試的重復(fù)性。通過以上方法,與現(xiàn)有技術(shù)相比,本發(fā)明進(jìn)行一次修改和驗(yàn)證即可,而無需對(duì)應(yīng)多個(gè)外設(shè)接口分別進(jìn)行接口協(xié)議的轉(zhuǎn)換和對(duì)應(yīng)的多次重新驗(yàn)證,因此簡化了多個(gè)外設(shè)接口修改和驗(yàn)證的操作,可以達(dá)到更強(qiáng)的設(shè)計(jì)重用性并提高可測性。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。權(quán)利要求一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng),其特征在于,包括多個(gè)外設(shè)主控端模塊、多個(gè)外設(shè)接口模塊和接口轉(zhuǎn)換模塊;所述多個(gè)外設(shè)主控端模塊與所述多個(gè)外設(shè)接口模塊對(duì)應(yīng),并根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議預(yù)先定義命令字和數(shù)據(jù),并通過所述外設(shè)接口模塊傳輸;所述多個(gè)外設(shè)接口模塊,分別用于將對(duì)應(yīng)的所述命令字和所述數(shù)據(jù)傳輸?shù)剿鼋涌谵D(zhuǎn)換模塊;所述接口轉(zhuǎn)換模塊,按照所述數(shù)據(jù)交互協(xié)議解析和轉(zhuǎn)換所述命令字和所述數(shù)據(jù),以執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。2.如權(quán)利要求1所述的數(shù)據(jù)交互系統(tǒng),其特征在于,所述接口轉(zhuǎn)換模塊包括接口轉(zhuǎn)換處理模塊,處理與所述外設(shè)接口模塊的信號(hào)交互,以采集和傳輸所述命令字和所述數(shù)據(jù);命令解析模塊,解析所述命令字;主控模塊,根據(jù)所述解析命令字進(jìn)行寫數(shù)據(jù)或讀數(shù)據(jù)控制;寫數(shù)據(jù)處理模塊,根據(jù)所述寫數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將所述數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的寫地址和寫數(shù)據(jù),并傳輸?shù)絻?nèi)部總線;讀數(shù)據(jù)處理模塊,根據(jù)所述讀數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將內(nèi)部總線返回的讀數(shù)據(jù)傳輸給所述接口轉(zhuǎn)換處理模塊;禾口總線接口模塊,提供所述寫數(shù)據(jù)處理模塊、所述讀數(shù)據(jù)處理模塊與內(nèi)部總線之間的連接和數(shù)據(jù)交互。3.如權(quán)利要求1或2所述的數(shù)據(jù)交互系統(tǒng),其特征在于,所述多個(gè)外設(shè)主控端模塊根據(jù)所述數(shù)據(jù)交互協(xié)議的變化重新定義所述命令字和數(shù)據(jù),并且所述接口轉(zhuǎn)換模塊根據(jù)所述重新定義的所述命令字和數(shù)據(jù)進(jìn)行相應(yīng)的解析和轉(zhuǎn)換。4.一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互方法,其特征在于,包括以下步驟根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議,在與多個(gè)外設(shè)接口對(duì)應(yīng)的多個(gè)外設(shè)主控端中預(yù)先定義用于數(shù)據(jù)交互的命令字和數(shù)據(jù);將通過所述多個(gè)外設(shè)接口對(duì)應(yīng)傳輸?shù)乃雒钭趾蛿?shù)據(jù)按照數(shù)據(jù)交互協(xié)議進(jìn)行解析和轉(zhuǎn)換;和根據(jù)解析和轉(zhuǎn)換的所述命令字和數(shù)據(jù),執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。5.如權(quán)利要求4所述的數(shù)據(jù)交互方法,其特征在于,所述命令字和數(shù)據(jù)的解析和轉(zhuǎn)換步驟包括解析所述命令字,并根據(jù)所述解析命令字進(jìn)行寫數(shù)據(jù)或讀數(shù)據(jù)控制;根據(jù)所述寫數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議將所述數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的寫地址和寫數(shù)據(jù),并傳輸?shù)絻?nèi)部總線;根據(jù)所述讀數(shù)據(jù)控制,按照所述數(shù)據(jù)交互協(xié)議讀取內(nèi)部總線返回的數(shù)據(jù)。6.如權(quán)利要求4或5所述的數(shù)據(jù)交互方法,其特征在于,根據(jù)所述數(shù)據(jù)交互協(xié)議的變化重新定義所述多個(gè)外設(shè)主控端的所述命令字和數(shù)據(jù),并且根據(jù)所述重新定義的所述命令字和數(shù)據(jù)進(jìn)行相應(yīng)的解析和轉(zhuǎn)換。全文摘要一種具有多個(gè)外設(shè)接口的數(shù)據(jù)交互系統(tǒng),包括多個(gè)外設(shè)主控端模塊、多個(gè)外設(shè)接口模塊和接口轉(zhuǎn)換模塊;所述多個(gè)外設(shè)主控端模塊與所述多個(gè)外設(shè)接口模塊對(duì)應(yīng),并根據(jù)與內(nèi)部總線的數(shù)據(jù)交互協(xié)議預(yù)先定義命令字和數(shù)據(jù),并通過所述外設(shè)接口模塊傳輸;所述多個(gè)外設(shè)接口模塊,分別用于將對(duì)應(yīng)的所述命令字和所述數(shù)據(jù)傳輸?shù)剿鼋涌谵D(zhuǎn)換模塊;所述接口轉(zhuǎn)換模塊,按照所述數(shù)據(jù)交互協(xié)議解析和轉(zhuǎn)換所述命令字和所述數(shù)據(jù),以執(zhí)行與內(nèi)部總線的數(shù)據(jù)交互。本發(fā)明能夠提高多個(gè)外設(shè)接口與內(nèi)部數(shù)據(jù)交互設(shè)計(jì)的一致性和重用性。文檔編號(hào)G06F13/42GK101770442SQ20081024688公開日2010年7月7日申請(qǐng)日期2008年12月30日優(yōu)先權(quán)日2008年12月30日發(fā)明者李曉強(qiáng)申請(qǐng)人:易視芯科技(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1