專(zhuān)利名稱(chēng):資源總線接口的制作方法
本申請(qǐng)與本申請(qǐng)同日申請(qǐng)的申請(qǐng)?zhí)枮镹o.----,題目為“HeaderEncoding Method and Apparatus for Packet-Based Bus”,(代理文件編號(hào)No.9623-019100)和申請(qǐng)?zhí)枮镹o.----,題目為“ImageSensor Based Vignetting Correction”,(代理文件編號(hào)No.9623-019000)的這兩個(gè)申請(qǐng)有關(guān),這兩個(gè)申請(qǐng)?jiān)诖艘C供參考。
本發(fā)明涉及任何總線結(jié)構(gòu),例如通用的串行總線(USB),特別涉及在與這種總線直接和間接耦接的器件間的通信。
計(jì)算機(jī)變得越來(lái)越普遍。隨著計(jì)算機(jī)的作用變得更強(qiáng),其應(yīng)用也不斷增長(zhǎng)。事實(shí)上,計(jì)算機(jī)迅速地取代了諸如電話(huà)、電視、攝象機(jī)之類(lèi)的其它設(shè)備的功能作用。圖象數(shù)據(jù)的操縱是消費(fèi)者和公司等相當(dāng)熱衷的新領(lǐng)域中的一個(gè)領(lǐng)域??膳c任何計(jì)算機(jī)連接的相對(duì)便宜的攝象機(jī)的出現(xiàn)推動(dòng)了這種發(fā)展。Logitech,Inc.,of FremontCalifornia,即本申請(qǐng)的受讓人處于該技術(shù)的前列,給計(jì)算機(jī)用戶(hù)提供了許多解決方法。
將圖象捕獲裝置連接到計(jì)算機(jī)上的一個(gè)簡(jiǎn)單方法是通過(guò)USB接口。一般USB提供插頭并支持多于100個(gè)的外圍設(shè)備而無(wú)明顯用戶(hù)交互作用。在本申請(qǐng)中引證供參考的USB規(guī)格說(shuō)明修訂版1.1(1998年9月23日發(fā)布)中可找到有關(guān)USB的詳細(xì)信息。
一種對(duì)USB提供附加端口的方法是使用USB網(wǎng)絡(luò)集線器(hub)。可是,這些網(wǎng)絡(luò)集線器只提供利用USB接口與計(jì)算機(jī)的附加物理連接。因此,USB網(wǎng)絡(luò)集線器不能提供對(duì)USB互連附加額外功能性所需要的智能或靈活性。
由于圖象數(shù)據(jù)的使用變得越來(lái)越普遍,因而在電子系統(tǒng)內(nèi)有更多功能性和靈活性的要求增加。附加功能性和靈活性可包括更多的圖象處理路由或與新的附加接口的連通性。此外,由于引入了不同的圖象處理標(biāo)準(zhǔn)和通信接口,因而要求容易適當(dāng)實(shí)現(xiàn)的需要增加。
因此,期望一種技術(shù),可按各種模式操作數(shù)據(jù)處理裝置,并且能夠更快更有效和更容易地用于許多現(xiàn)在和將來(lái)的數(shù)據(jù)處理標(biāo)準(zhǔn)和通信協(xié)議。
本發(fā)明提供一種在數(shù)據(jù)總線上傳送數(shù)據(jù)的新的改進(jìn)方法和裝置。本發(fā)明在一個(gè)實(shí)施例中提供包括外部共用總線、外部總線接口和資源總線的總線系統(tǒng)。配置外部總線接口,以便在外部共用總線與資源總線之間可傳送數(shù)據(jù)。該總線系統(tǒng)還可包括與資源總線耦接的數(shù)據(jù)處理流水線。該數(shù)據(jù)處理流水線可包括處理數(shù)據(jù)的多個(gè)部件。一些數(shù)據(jù)處理部件可與資源總線耦接。
在另一個(gè)實(shí)施例中,總線系統(tǒng)可包括數(shù)據(jù)采集模塊。配置數(shù)據(jù)采集模塊,以便從與資源總線耦接的器件采集信息。
在又一個(gè)實(shí)施例中,本發(fā)明提供自動(dòng)調(diào)整數(shù)據(jù)流水線以避免將非法數(shù)據(jù)(artifact)引入正在被數(shù)據(jù)處理流水線處理的數(shù)據(jù)中。該方法包括從數(shù)據(jù)處理流水線內(nèi)的一部件采集信息。然后處理所采集的信息以確定是否調(diào)整數(shù)據(jù)處理流水線。如果確定要對(duì)數(shù)據(jù)處理流水線進(jìn)行調(diào)整,那么在進(jìn)行調(diào)整之前確定觸發(fā)事件。然后在進(jìn)行調(diào)整之前該方法等待所確定的觸發(fā)事件。
在再一個(gè)實(shí)施例中,本發(fā)明提供同步總線系統(tǒng)中操作的方法。該方法接收數(shù)據(jù),將接收的數(shù)據(jù)裝入遮蔽存儲(chǔ)器中,并確定是否用遮蔽存儲(chǔ)器中的裝入數(shù)據(jù)更新有源存儲(chǔ)器。如果確定不進(jìn)行用遮蔽存儲(chǔ)器中的裝入數(shù)據(jù)更新有源存儲(chǔ)器,那么該方法等待下一個(gè)確定步驟。一旦確定要用遮蔽存儲(chǔ)器中的裝入數(shù)據(jù)更新有源存儲(chǔ)器,那么該方法從遮蔽存儲(chǔ)器將裝入的數(shù)據(jù)傳送給有源存儲(chǔ)器。以這種方式,由等待步驟而提供的延遲可避免將非法數(shù)據(jù)引入正在處理的數(shù)據(jù)中。
本發(fā)明的一個(gè)優(yōu)點(diǎn)是,允許數(shù)據(jù)處理流水線快速、有效和容易地適用于各種方法。例如,外部總線接口可被修改以適應(yīng)與資源總線連接的模塊的變化,例如在數(shù)據(jù)處理流水線中的那些變化。同樣地,對(duì)于外部共用總線的不同類(lèi)型,也可以只對(duì)外部總線接口進(jìn)行改變。
本發(fā)明的另外的優(yōu)點(diǎn)包括提供對(duì)數(shù)據(jù)處理流水線的所選部件的自動(dòng)調(diào)整,由此可避免將非法數(shù)據(jù)引入正被數(shù)據(jù)處理流水線處理的數(shù)據(jù)中。這些調(diào)整可基于從數(shù)據(jù)處理流水線的所選部件所采集的數(shù)據(jù)。此外,在任何數(shù)據(jù)操縱之前可在數(shù)據(jù)捕獲端進(jìn)行上述調(diào)整。例如,如果使用有損耗的(lossy)壓縮方法壓縮數(shù)據(jù),那么這將允許更精確的校正。此外,在數(shù)據(jù)捕獲端進(jìn)行調(diào)整可減少將數(shù)據(jù)傳送到處理主機(jī)所需要的帶寬。
為了更好地理解本發(fā)明的特征和優(yōu)點(diǎn),參考結(jié)合附圖進(jìn)行的下列描述。
圖1展示用于執(zhí)行本發(fā)明實(shí)施例方法的計(jì)算機(jī)系統(tǒng)的實(shí)例;圖2展示用于執(zhí)行本發(fā)明實(shí)施例方法的典型計(jì)算機(jī)系統(tǒng)100的簡(jiǎn)略系統(tǒng)方框圖;圖3展示本發(fā)明實(shí)施例的系統(tǒng)300的簡(jiǎn)略方框圖;圖4展示本發(fā)明實(shí)施例的視頻流水線400的簡(jiǎn)略方框圖,表示圖3的視頻流水線塊306的進(jìn)一步細(xì)節(jié);圖5展示本發(fā)明實(shí)施例的計(jì)算機(jī)接口系統(tǒng)500的簡(jiǎn)略方框圖,表示圖3的計(jì)算機(jī)接口308的進(jìn)一步細(xì)節(jié);圖6展示本發(fā)明實(shí)施例的示例性同步方法600;和圖7A和7B展示本發(fā)明實(shí)施例的示例性定時(shí)圖700和750。
圖1展示用于執(zhí)行本發(fā)明軟件的計(jì)算機(jī)系統(tǒng)的實(shí)例。圖1表示包括監(jiān)視器104、屏幕102、機(jī)柜108、鍵盤(pán)214(見(jiàn)圖2)和鼠標(biāo)器110的計(jì)算機(jī)系統(tǒng)100。鼠標(biāo)器110可具有一個(gè)或多個(gè)如鼠標(biāo)器按鈕112等的按鈕。機(jī)柜108可裝入用于存儲(chǔ)和恢復(fù)包括本發(fā)明的軟件程序的CD-ROM驅(qū)動(dòng)器106和硬盤(pán)驅(qū)動(dòng)器(未示出)。盡管CD-ROM106作為可移動(dòng)介質(zhì)示出,但也可使用包括軟盤(pán)、磁帶驅(qū)動(dòng)器、ZIP_驅(qū)動(dòng)器和閃爍存儲(chǔ)器等的其它有形介質(zhì)。機(jī)柜108還裝有如處理器、存儲(chǔ)器等的為人熟知的計(jì)算機(jī)部件(未示出)。
圖2展示用于執(zhí)行本發(fā)明實(shí)施例軟件的典型計(jì)算機(jī)系統(tǒng)100的簡(jiǎn)略系統(tǒng)方框圖。如圖1所示,計(jì)算機(jī)系統(tǒng)100包括監(jiān)視器104。計(jì)算機(jī)系統(tǒng)100還可包括如I/O控制器204、系統(tǒng)存儲(chǔ)器206、中央處理器208、揚(yáng)聲器210、可移動(dòng)磁盤(pán)212、鍵盤(pán)214、固定磁盤(pán)216和網(wǎng)絡(luò)接口218之類(lèi)的子系統(tǒng)。適用于本發(fā)明的其它計(jì)算機(jī)系統(tǒng)可包括另外的或更少的子系統(tǒng)。例如,另一計(jì)算機(jī)系統(tǒng)可包括多于一個(gè)的處理器208(即,多處理器系統(tǒng))或高速緩沖存儲(chǔ)器。用例如220的箭頭表示計(jì)算機(jī)系統(tǒng)100的系統(tǒng)總線結(jié)構(gòu)。可是,這些箭頭220表示用于鏈接子系統(tǒng)的任何互連圖形。
例如,可以使用局部總線以連接中央處理器208與系統(tǒng)存儲(chǔ)器206。再有,圖象捕獲裝置(例如電荷耦合器件(CCD)攝象機(jī))可以與計(jì)算機(jī)系統(tǒng)100連接,用于捕獲圖象數(shù)據(jù)。圖象捕獲裝置可以通過(guò)相同或另一總線結(jié)構(gòu)例如USB、增強(qiáng)并行端口(EPP)、擴(kuò)大容量端口(ECP)、IEEE 1394(火線)等與計(jì)算機(jī)系統(tǒng)100連接。利用與裝置驅(qū)動(dòng)器的數(shù)據(jù)庫(kù)匹配的標(biāo)識(shí)號(hào),USB可以提供插頭和支持多于100的連接的外圍設(shè)備。在一些實(shí)施例中,USB提供12Mb/sec帶寬。
USB還可以通過(guò)I/O控制器204或網(wǎng)絡(luò)接口218與計(jì)算機(jī)系統(tǒng)100連接。此外,可以構(gòu)成計(jì)算機(jī)系統(tǒng)100來(lái)通過(guò)例如I/O控制器204或網(wǎng)絡(luò)接口218與因特網(wǎng)通信。因此,利用各種裝置,例如因特網(wǎng)上的裝置,數(shù)據(jù)可以被往復(fù)傳送給計(jì)算機(jī)系統(tǒng)100。圖2所示的計(jì)算機(jī)系統(tǒng)100僅是適合本發(fā)明使用的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)例。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),很容易找到適合本發(fā)明使用的子系統(tǒng)的其它結(jié)構(gòu)。
圖3表示本發(fā)明實(shí)施例的系統(tǒng)300的簡(jiǎn)略方框圖。圖象傳感器302捕獲圖象數(shù)據(jù)。圖象傳感器302可以從捕獲圖象的許多裝置中選擇,包括CCD、互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)等。在一些實(shí)施例中,圖象傳感器302可以包括將模擬數(shù)據(jù)轉(zhuǎn)換成數(shù)字?jǐn)?shù)據(jù)的電路。圖象傳感器302還可以是某用途特定的集成電路(ASIC)。來(lái)自圖象傳感器302的捕獲圖象數(shù)據(jù)被提供給傳感器接口304??梢詷?gòu)成傳感器接口304把來(lái)自圖象傳感器302的串行發(fā)送數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)包。例如,傳感器接口304可以把來(lái)自不同類(lèi)型傳感器的數(shù)據(jù)格式化成視頻流水線塊306使用的格式。數(shù)據(jù)的格式包括可以被視頻流水線塊306內(nèi)的部件共用的信息。共用信息可以包括視頻幀開(kāi)始、視頻幀結(jié)束、有效視頻行、有效象素等。數(shù)據(jù)幀可以是任意尺寸,但最好為352×288象素。幀也可以是320×240象素塊、176×144象素塊或160×120象素塊。在一些實(shí)施例中,數(shù)據(jù)幀可以是640×480象素塊。
視頻流水線塊306根據(jù)選定的規(guī)則處理圖象數(shù)據(jù)。例如,圖象數(shù)據(jù)可以被壓縮、編碼、校正顏色、校正灰度(gamma)等。利用霍夫曼、差分析(parse)碼調(diào)制(DPCM)、其它類(lèi)型的熵編碼等可以進(jìn)行解壓。
系統(tǒng)300還可以包括音頻流水線塊307。音頻流水線塊307可以接收來(lái)自例如麥克風(fēng)傳感器等音頻傳感器(未示出)的音頻信息。音頻流水線塊307根據(jù)選擇的標(biāo)準(zhǔn)處理音頻數(shù)據(jù)。例如,音頻數(shù)據(jù)可以被壓縮、編碼、轉(zhuǎn)換等。音頻流水線還可以包括音量調(diào)節(jié)、音頻采樣等的部件。音頻流水線還可以具有帶存儲(chǔ)器的緩沖管理器。根據(jù)任何已知的音頻數(shù)據(jù)格式化標(biāo)準(zhǔn),例如運(yùn)動(dòng)圖象專(zhuān)家組音頻等級(jí)7(MP3),音頻流水線可以處理音頻數(shù)據(jù)。
接著,處理過(guò)的圖象和音頻數(shù)據(jù)可以提供給計(jì)算機(jī)接口308。計(jì)算機(jī)接口308提供接口,用于在視頻流水線塊306、音頻流水線塊307和計(jì)算機(jī)310之間的通信。計(jì)算機(jī)310可以是例如圖1和圖2的系統(tǒng)100這樣一個(gè)系統(tǒng)。例如,計(jì)算機(jī)接口308可以把來(lái)自視頻流水線塊306的圖象數(shù)據(jù)提供給計(jì)算機(jī)310。同樣,計(jì)算機(jī)接口308可以提供接口,用于把來(lái)自計(jì)算機(jī)310的命令、指令、設(shè)置和其它類(lèi)型的數(shù)據(jù)傳送給視頻流水線塊306。
資源總線312使計(jì)算機(jī)接口308與視頻流水線塊306和音頻流水線塊307耦接。資源總線312可以從本領(lǐng)域技術(shù)人員所熟知的各種選項(xiàng)中選擇,最好是雙向的,并有共用總線結(jié)構(gòu)。例如,資源總線312可以是單主機(jī)多從屬總線接口。從屬部件(slave)可以是視頻流水線塊306內(nèi)形成的部件或功能元件。在一些實(shí)施例中,主機(jī)可以與例如計(jì)算機(jī)310等主機(jī)接口連接。
如圖3所示,計(jì)算機(jī)接口308可以直接與圖象傳感器302通信。通信例如可以包括圖象傳感器302設(shè)置的改變。另一方面,計(jì)算機(jī)接口308通過(guò)資源總線312可以與圖象傳感器302通信。
外部共用總線314耦接計(jì)算機(jī)310和計(jì)算機(jī)接口308。外部共用總線314可以是雙向的,并從本領(lǐng)域技術(shù)人員所熟知的許多類(lèi)型的連接器或總線結(jié)構(gòu)中選擇。例如,外部共用總線314可以是USB連接。由于該連接是目前可提供達(dá)到500mA和5V的有源總線,所以一些實(shí)施例優(yōu)選USB連接。USB提供的電源可以用于運(yùn)行與總線耦接的裝置,例如圖象傳感器302、傳感器接口304、視頻流水線塊306(和/或其部件)和計(jì)算機(jī)接口308。此外,USB可以低成本地實(shí)現(xiàn)。在一些實(shí)施例中,USB不能提供與例如火線等其它快速總線結(jié)構(gòu)相同的帶寬。因此,當(dāng)例如在USB上的傳送之前數(shù)據(jù)首先在視頻流水線塊306內(nèi)壓縮的情況下,可以使用USB。
再有,計(jì)算機(jī)310可以是任何輸出裝置,包括打印機(jī)、顯示器、例如Palm Computing_裝置等的便攜式裝置、任何電子或光學(xué)輸出裝置等。系統(tǒng)300還包括存儲(chǔ)器316,該存儲(chǔ)器可以為計(jì)算機(jī)接口308提供存儲(chǔ)。存儲(chǔ)器316最好是非易失性存儲(chǔ)裝置,例如硬盤(pán)或可移動(dòng)介質(zhì)。但是,存儲(chǔ)器316可以是任何類(lèi)型的存儲(chǔ)器,例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、擴(kuò)展輸出DRAM(EDO DRAM)、同步DRAM(SDRAM)、視頻RAM(VRAM)、靜態(tài)RAM(SRAM)、只讀存儲(chǔ)器(ROM)、可刪除編程的ROM(EPROM)、可電刪除編程的ROM(EEPROM)、閃爍存儲(chǔ)器等。存儲(chǔ)器316還可以對(duì)系統(tǒng)300的其它部件例如視頻流水線塊306和音頻流水線塊307提供存儲(chǔ)。另一方面,系統(tǒng)300的部件可以有它自己的局部存儲(chǔ)器,當(dāng)需要時(shí)使用存儲(chǔ)器316進(jìn)行其存儲(chǔ)。系統(tǒng)300的部件還可以包括緩沖器,用于正被各部件處理的數(shù)據(jù)的存儲(chǔ)。此外,系統(tǒng)300的各部件可以包括存儲(chǔ)器,用于存儲(chǔ)設(shè)置和其它與結(jié)構(gòu)有關(guān)的信息。
圖4表示視頻流水線400的簡(jiǎn)略方框圖。視頻流水線400表示本發(fā)明實(shí)施例的圖3所示的視頻流水線塊306的細(xì)節(jié)。圖4中出現(xiàn)的上述圖中具有的部分用最初使用的相同參考標(biāo)號(hào)來(lái)表示。圖象傳感器302捕獲圖象數(shù)據(jù),并把捕獲的圖象數(shù)據(jù)提供給傳感器接口304。傳感器接口304可以把接口提供給市場(chǎng)上可得到的圖象傳感器。傳感器接口304可以把來(lái)自圖象傳感器302的圖象數(shù)據(jù)處理成合適的格式,以便在視頻流水線400內(nèi)使用或被其它裝置使用。例如,來(lái)自圖象傳感器302的原始的捕獲數(shù)據(jù)可以是8比特字格式、10比特格式、4+4比特格式等。
在一些實(shí)施例中,傳感器接口304把捕獲的原始數(shù)據(jù)格式化成10比特格式并將其傳給透鏡校正塊406。傳感器接口304還可以把選通脈沖信號(hào)提供給透鏡校正塊406,以指示具有要由透鏡校正塊406處理的新數(shù)據(jù)。這種選通脈沖信號(hào)例如可以指示圖象數(shù)據(jù)新幀的開(kāi)始。透鏡校正塊406可以對(duì)捕獲的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)校正處理。例如,對(duì)于暈光(vignetting)問(wèn)題的校正來(lái)說(shuō),遠(yuǎn)離圖象中心的象素可以被校正,而圖象中心周?chē)南笏乜梢圆贿M(jìn)行校正。這一特性在使用廉價(jià)透鏡或具有不同光剖面的多個(gè)透鏡捕獲圖象的情況下特別有用。與暈光問(wèn)題校正有關(guān)的進(jìn)一步信息可以在相關(guān)的共同擁有的申請(qǐng)?zhí)枮镹o.----題目為“Image Sensor Based VignettingCorrection”(代理編號(hào)No.9623-019100)中找到,該申請(qǐng)與本申請(qǐng)同日申請(qǐng),并在此參考供引證。
在這方面,原始數(shù)據(jù)的各象素可以包括有關(guān)單色例如紅色、綠色或藍(lán)色的信息。因此,視頻流水線400還可以包括其它塊(未示出),以評(píng)價(jià)各象素的其他兩顏色。例如,如果一個(gè)象素僅包括紅色信息,那么也可以計(jì)算該象素的綠色和藍(lán)色信息。
在透鏡校正塊406處理數(shù)據(jù)后,數(shù)據(jù)可以傳送到色分離塊408。色分離塊408根據(jù)指定的標(biāo)準(zhǔn)計(jì)算顏色。例如,色分離塊408可以抽取紅-綠-藍(lán)(RGB)數(shù)據(jù)等。接著,色分離數(shù)據(jù)可以傳送到用于灰度校正的灰度校正塊410?;叶刃U龎K410可以存取灰度存儲(chǔ)器412,該存儲(chǔ)器可以從許多存儲(chǔ)裝置中選擇,例如上述關(guān)于存儲(chǔ)器316所述的那些存儲(chǔ)器。在該階段,灰度校正數(shù)據(jù)可以被轉(zhuǎn)換成YUV格式,其中,Y是亮度,U是紅色色度,V是藍(lán)色色度。數(shù)據(jù)也可以被刪剪,以便與指定的標(biāo)準(zhǔn)一致,例如共用交換格式(CIF)、四分之一CIF(QCIF)等。例如,當(dāng)YUV數(shù)據(jù)在范圍外時(shí)就可以這樣作。
接著,數(shù)據(jù)被提供給可以對(duì)正在處理的數(shù)據(jù)進(jìn)行調(diào)整的用戶(hù)調(diào)整塊414。這些調(diào)整可以包括增益、偏置、顏色調(diào)整等。增益和偏置的值可以由外部源來(lái)提供,例如計(jì)算機(jī)用戶(hù)、驅(qū)動(dòng)軟件、因特網(wǎng)命令等。隨后,用戶(hù)調(diào)整的數(shù)據(jù)被提供給壓縮塊416。可以構(gòu)成壓縮塊416用于利用本領(lǐng)域技術(shù)人員所熟知的損耗技術(shù)或無(wú)損耗技術(shù)來(lái)壓縮來(lái)自用戶(hù)調(diào)整塊414的數(shù)據(jù)。例如,壓縮塊416可以進(jìn)行離散余弦變換、子波變換、矢量量化、霍夫曼編碼、可變長(zhǎng)度編碼(VLC)、其它類(lèi)型的熵編碼、算術(shù)編碼等。
壓縮塊416還可以訪問(wèn)用于存儲(chǔ)用途的壓縮存儲(chǔ)器418。壓縮存儲(chǔ)器418可以是任何類(lèi)型的存儲(chǔ)器,例如上述關(guān)于存儲(chǔ)器316所述的那些存儲(chǔ)器。接著,將壓縮數(shù)據(jù)提供給視頻多路復(fù)用器(multiplexer))420。視頻多路復(fù)用器420還可以接收輸入節(jié)點(diǎn)422上的數(shù)據(jù)。輸入節(jié)點(diǎn)422可以提供例如來(lái)自傳感器接口304的數(shù)據(jù)、其它原始數(shù)據(jù)或部分處理過(guò)的數(shù)據(jù)等。接著,從視頻多路復(fù)用器420選擇的輸入數(shù)據(jù)可以提供給視頻流水線管理器424。視頻流水線管理器424可以訪問(wèn)可以是任何類(lèi)型存儲(chǔ)器的視頻存儲(chǔ)器426,包括有關(guān)存儲(chǔ)器316所述的那些存儲(chǔ)器。
視頻流水線400的所有或選擇的部件可以通過(guò)連接器428與資源總線312耦接。連接器428可以是任何適當(dāng)?shù)倪B接器。在一些實(shí)施例中,對(duì)于與資源總線312耦接的不同部件來(lái)說(shuō),可以使用不同類(lèi)型的連接器428。另一方面,連接器428可以是資源總線312本身的一部分。資源總線312可以從本領(lǐng)域技術(shù)人員所熟知的各種選項(xiàng)中選擇,例如單主機(jī)多從屬總線。由于資源總線312上數(shù)據(jù)流的速率可以與流水線開(kāi)始的速率不同,流水線例如從圖象傳感器302開(kāi)始直至視頻多路復(fù)用器420,所以在把數(shù)據(jù)提供給資源總線312之前視頻流水線管理器424可以臨時(shí)存儲(chǔ)捕獲的數(shù)據(jù)和處理過(guò)的數(shù)據(jù)。
例如,在資源總線312按可和USB標(biāo)準(zhǔn)適配的速度運(yùn)行的實(shí)施例中,視頻存儲(chǔ)器426可以有大約2k字節(jié)的大小。這種結(jié)構(gòu)將提供當(dāng)前USB標(biāo)準(zhǔn)所需要的2毫秒延遲。顯然,視頻存儲(chǔ)器426的大小將取決于預(yù)定的實(shí)施。視頻流水線管理器424還可以把選擇信號(hào)(未示出)提供給視頻多路復(fù)用器420,以便指示應(yīng)該選擇到視頻多路復(fù)用器420的多個(gè)輸入中的一個(gè)。
視頻流水線400還可以包括其它類(lèi)型的模塊,例如數(shù)據(jù)采集模塊432。數(shù)據(jù)采集模塊可以有取決于預(yù)定實(shí)施的不同設(shè)計(jì)。因此,在視頻流水線400內(nèi)可以使用不同類(lèi)型的數(shù)據(jù)采集模塊。在一些實(shí)施例中,可以構(gòu)成這些附加模塊,以與其它部件并行工作。這可以確保附加模塊不附加與視頻流水線400正在處理的數(shù)據(jù)有關(guān)的任何延遲。這些數(shù)據(jù)采集模塊可以采集通過(guò)連接器434由圖象傳感器302捕獲的每幀數(shù)據(jù)的某些統(tǒng)計(jì)量。連接器434可以是任何適當(dāng)?shù)倪B接器。在一些實(shí)施例中,對(duì)于與不同部件耦接的數(shù)據(jù)采集模塊來(lái)說(shuō),可以使用不同類(lèi)型的連接器434。另一方面,數(shù)據(jù)采集模塊432可以按其它時(shí)間間隔采集數(shù)據(jù)。在視頻流水線400內(nèi)各種位置上可以使用這些模塊。
因此,數(shù)據(jù)采集模塊的位置和數(shù)量不限于圖4所示的情況。例如,可以采集模擬信號(hào)統(tǒng)計(jì)量,以確保視頻流水線400不使模擬信號(hào)飽和。采集統(tǒng)計(jì)量的其它類(lèi)型可以是白平衡統(tǒng)計(jì)量,以運(yùn)行白平衡算法,確保捕獲的圖象不過(guò)亮地出現(xiàn)。另一數(shù)據(jù)采集模塊可以采集與自動(dòng)增益控制有關(guān)的統(tǒng)計(jì)信息,以確保數(shù)據(jù)保持在標(biāo)準(zhǔn)的預(yù)定范圍內(nèi)。
接著,通過(guò)例如視頻多路復(fù)用器420的輸入節(jié)點(diǎn)422將采集數(shù)據(jù)提供給視頻流水線管理器424。另一方面,數(shù)據(jù)采集模塊432通過(guò)連接器436可以把采集的數(shù)據(jù)提供給與資源總線312耦接的任何裝置,包括視頻流水線管理器424。連接器436可以是任何適當(dāng)?shù)倪B接器。在一些實(shí)施例中,對(duì)于與資源總線312耦接的不同模塊來(lái)說(shuō),可以采用不同類(lèi)型的連接器436。在一些實(shí)施例中,連接器436可以與連接器428相同。因此,視頻流水線管理器424在資源總線312上可以提供不同類(lèi)型的數(shù)據(jù),包括視頻數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)、數(shù)據(jù)幀的開(kāi)始和結(jié)束等。然后,利用采集的數(shù)據(jù)調(diào)整視頻流水線400內(nèi)的設(shè)置。調(diào)整例如可以包括相對(duì)調(diào)整塊414說(shuō)明的那些調(diào)整。
再有,調(diào)整可以在任何數(shù)據(jù)被處理前在數(shù)據(jù)捕獲端進(jìn)行。例如,數(shù)據(jù)可以在用戶(hù)進(jìn)行控制之前和數(shù)據(jù)被壓縮及在主機(jī)上解壓之前采集。這可以確保更多的精確數(shù)據(jù)被用于校正,例如,如果數(shù)據(jù)用損耗壓縮進(jìn)行壓縮。此外,在數(shù)據(jù)捕獲結(jié)束時(shí)進(jìn)行調(diào)整可以降低將數(shù)據(jù)傳送至處理主機(jī)所需要的帶寬。
圖5表示本發(fā)明實(shí)施例的計(jì)算機(jī)接口系統(tǒng)500的簡(jiǎn)略方框圖。接口系統(tǒng)500還表示本發(fā)明實(shí)施例的圖3所示的計(jì)算機(jī)接口308的細(xì)節(jié)。圖5中出現(xiàn)的上述圖中引入的部分用最初使用的相同參考標(biāo)號(hào)來(lái)表示。收發(fā)器和時(shí)鐘管理器502通過(guò)連接器506與外部共用總線314連接。外部共用總線314可以從各種總線結(jié)構(gòu)例如EPP、ECP、火線等中選擇,但最好是USB接口。收發(fā)器和時(shí)鐘管理器502可以與外部總線接口510耦接。構(gòu)成收發(fā)器和時(shí)鐘管理器502,以在外部共用總線314和外部總線接口510之間傳遞數(shù)據(jù)。收發(fā)器和時(shí)鐘管理器502也可以負(fù)責(zé)從數(shù)據(jù)中抽取時(shí)鐘信號(hào)。另一方面,收發(fā)器和時(shí)鐘管理器502可以對(duì)計(jì)算機(jī)接口系統(tǒng)500的不同部件提供不同的時(shí)鐘信號(hào)。收發(fā)器和時(shí)鐘管理器502還可以在輸入節(jié)點(diǎn)507上從外部源接收其自身的時(shí)鐘。對(duì)于目前的USB標(biāo)準(zhǔn)來(lái)說(shuō),時(shí)鐘最好是48MHz或?yàn)槌艘?的12MHz。時(shí)鐘乘法可以由鎖相環(huán)(PLO)來(lái)完成,在一些實(shí)施例中,該鎖相環(huán)可以在收發(fā)器和時(shí)鐘管理器502的內(nèi)部。
外部總線接口510可以根據(jù)外部共用總線314規(guī)定的標(biāo)準(zhǔn)檢查接收的數(shù)據(jù)。例如,外部總線接口510可以解碼從外部共用總線314接收的命令。如圖5所示到塊502和塊510的連接可以是雙向的。外部總線接口510可以與資源總線312連接。外部總線接口510可以起到資源總線312的主機(jī)(master)的作用。因此,外部總線接口510可以提供通信裝置,用于在外部共用總線314和資源總線312之間傳遞數(shù)據(jù)。
外部總線接口510可以起到主機(jī)的作用,用于與資源總線312耦接的從屬裝置??偩€可以按不同的技術(shù)來(lái)實(shí)現(xiàn),包括三態(tài)緩沖器結(jié)構(gòu),其中,所有功能可以共用單一的功能總線。如果不采用三態(tài)緩沖器結(jié)構(gòu),那么各功能元件通過(guò)它自己的總線可以與主機(jī)通信。主機(jī)-從屬裝置通信可以用由主機(jī)啟動(dòng)的總線傳送來(lái)實(shí)現(xiàn)??偩€傳送可以包括一個(gè)或多個(gè)總線周期。在一個(gè)總線周期中,主機(jī)可以指定一個(gè)資源(或功能元件),例如寄存器、存儲(chǔ)器、超高速緩沖存儲(chǔ)器或其它從屬裝置。周期的目的可以不限于數(shù)據(jù)傳送。例如,地址寫(xiě)入可以取決于在該地址上保存的資源類(lèi)型。因此,特定的地址寫(xiě)入可以是復(fù)位命令??偩€結(jié)構(gòu)的示例性實(shí)施例的其它細(xì)節(jié)可以在下面的題目為“總線物理層”和“總線邏輯層”的文件中發(fā)現(xiàn)。
利用資源總線312可以采用各種編碼技術(shù)。在一些實(shí)施例中,對(duì)于在資源總線312上傳送的信息包來(lái)說(shuō),可以采用編碼的標(biāo)題(header)。對(duì)于音頻和視頻信息可以采用分開(kāi)的標(biāo)題。再有,可以構(gòu)成有效線路,以便在任何基于信息包的總線上更有效、迅速和精確地傳遞數(shù)據(jù)。與標(biāo)題編碼有關(guān)的其它實(shí)例可以在相關(guān)的共同擁有的申請(qǐng)?zhí)枮镹o.----題為“Header Encoding Method and Apparatusfor Packet-Based Bus”(代理編號(hào)No.9623-019100)中找到,該申請(qǐng)是本申請(qǐng)的同日申請(qǐng)并在此參考供引證。
計(jì)算機(jī)接口系統(tǒng)500還可以包括存儲(chǔ)裝置(未示出),該裝置可以存儲(chǔ)來(lái)自通過(guò)連接器506與外部共用總線314耦接的裝置的由外部共用總線314使用的設(shè)置和結(jié)構(gòu)信息。例如,對(duì)于USB實(shí)現(xiàn)來(lái)說(shuō),存儲(chǔ)裝置可以包括USB描述符。該存儲(chǔ)器可以是任何類(lèi)型的存儲(chǔ)器,例如是有關(guān)存儲(chǔ)器316所述的那些存儲(chǔ)器,但最好是只讀存儲(chǔ)器(ROM)裝置。存儲(chǔ)裝置也可以包括與指定實(shí)施例使用的USB通信的細(xì)節(jié)有關(guān)的信息。另一方面,ROM應(yīng)該與非易失性存儲(chǔ)器耦接,以提供有效和容易的方式改變ROM中存儲(chǔ)的某些信息。
資源總線312也可以與例如數(shù)據(jù)處理流水線或在這些流水線內(nèi)的所選部件等其它部件連接。例如,流水線可以包括音頻流水線,例如圖3的音頻流水線塊307。各個(gè)流水線的管理器可以安置在資源總線312上。另一方面,這些流水線管理器可以在一塊中實(shí)現(xiàn),使它們可以共用資源。
通用的異步接收器-發(fā)送器(UART)514與資源總線312耦接,并構(gòu)成為可對(duì)其它裝置例如資源總線312上或其它地方的裝置提供低成本的通信裝置。也可以采用并行總線來(lái)提供這種通信信道,但并行總線一般來(lái)說(shuō)在其實(shí)現(xiàn)上更昂貴。UART 514可以有存儲(chǔ)器516,該存儲(chǔ)器最好為非易失性存儲(chǔ)器。存儲(chǔ)器516也可以是任何類(lèi)型的存儲(chǔ)器,例如相對(duì)存儲(chǔ)器316所述的那些存儲(chǔ)器。在一些實(shí)施例中,非易失性存儲(chǔ)器可以是圖3的存儲(chǔ)器316。
存儲(chǔ)器516可以包括有關(guān)與計(jì)算機(jī)接口系統(tǒng)500耦接的裝置的設(shè)置和結(jié)構(gòu)的信息。存儲(chǔ)器516還可以包括與計(jì)算機(jī)接口系統(tǒng)500上的各裝置有關(guān)的寄存器。資源總線312上的其它裝置,例如外部總線接口510可以裝入U(xiǎn)ART 514的裝置的地址和要傳送的數(shù)據(jù)。然后,UART可以通過(guò)其寄存器,把地址和數(shù)據(jù)傳送至其它裝置,例如圖象傳感器302。
中斷和同步塊518與資源總線312耦接。中斷和同步塊518可以對(duì)來(lái)自源例如外部共用總線502的中斷提供支持。在一些實(shí)施例中,中斷可以來(lái)自USB接口。由于收發(fā)器和時(shí)鐘管理器502未直接連接在資源總線312上,所以中斷和同步塊518可以提供有關(guān)時(shí)鐘延遲、加電延遲和其它功率有關(guān)問(wèn)題等的信息。這種信息可以取決于采用的傳感器和裝置。再有,傳送到外部共用總線314的信息可以被首先采集到中斷和同步塊518中。在音頻流水線的實(shí)施例中,音頻流水線也可以通過(guò)資源總線312與其它裝置例如計(jì)算機(jī)系統(tǒng)100通信。
圖6表示本發(fā)明實(shí)施例的示例性同步方法600。由于本發(fā)明可以用于非靜態(tài)裝置,所以同步方法600可以確保改變周?chē)h(huán)境或其它設(shè)置及結(jié)構(gòu)對(duì)指定系統(tǒng)的操作無(wú)負(fù)面影響。例如,在處理視頻數(shù)據(jù)的實(shí)現(xiàn)中,周?chē)h(huán)境上的改變,例如亮度上的改變可能不利地影響正由視頻流水線處理的數(shù)據(jù)。較高的亮度可能導(dǎo)致捕獲的視頻數(shù)據(jù)偏離范圍,從而通過(guò)飽和而損失信息。因此,算法可以不斷運(yùn)行或周期性地運(yùn)行。該算法可以根據(jù)周?chē)h(huán)境參數(shù)的改變輔助地調(diào)整。這種算法可以如軟件那樣運(yùn)行,或者用硬件來(lái)實(shí)現(xiàn)。
在其它實(shí)施例中,在視頻流水線的各種位置上采集的統(tǒng)計(jì)信息可以用來(lái)調(diào)整視頻流水線的參數(shù)。如參照?qǐng)D4所討論的,在數(shù)據(jù)由傳感器接口304輸出后,在數(shù)據(jù)由色分離塊408輸出后,以及在流水線的其它位置時(shí),可以采集統(tǒng)計(jì)數(shù)據(jù)。感興趣的改變可能包括例如增益、曝光、色矩陣計(jì)算、和在整個(gè)視頻流水線上分布的其它變量,以及在一些情況下為流水線外部的變量等參數(shù)。外部參數(shù)可以是所用傳感器的那些參數(shù)。其它內(nèi)部變量例如可以在色分離塊408內(nèi)。
因此,當(dāng)對(duì)系統(tǒng)進(jìn)行改變時(shí),由于數(shù)據(jù)通過(guò)指定的數(shù)據(jù)處理流水線傳播需要花費(fèi)一定時(shí)間量,所以對(duì)整個(gè)系統(tǒng)均勻地施加需要的調(diào)整可能產(chǎn)生問(wèn)題。時(shí)間量可能依賴(lài)于許多因素,例如捕獲圖象所用的傳感器。例如,當(dāng)要求改變圖象傳感器302的設(shè)置時(shí),可能需要多個(gè)視頻幀來(lái)使變化傳播到整個(gè)視頻流水線400。
本發(fā)明提供該問(wèn)題的解決方案。在實(shí)施例中,當(dāng)新數(shù)據(jù)出現(xiàn)在流水線中時(shí),同步方法600同步化給定的數(shù)據(jù)處理流水線中某一項(xiàng)目的改變。在步驟602中,接收數(shù)據(jù)。數(shù)據(jù)可以是任何數(shù)據(jù)處理流水線例如圖4的視頻流水線400內(nèi)的元件的任何類(lèi)型的數(shù)據(jù),例如設(shè)置、命令、結(jié)構(gòu)信息等。在圖4的實(shí)例中,數(shù)據(jù)可以是圖象傳感器例如圖象傳感器302的設(shè)置。在實(shí)施例中,可以用外部總線接口510接收數(shù)據(jù)。數(shù)據(jù)可以來(lái)源于計(jì)算機(jī)接口系統(tǒng)500內(nèi)或通過(guò)例如外部共用總線314來(lái)源于外部。這些命令可以最終來(lái)源于例如計(jì)算機(jī)用戶(hù)、有關(guān)計(jì)算機(jī)上存儲(chǔ)的設(shè)置、計(jì)算機(jī)應(yīng)用的確定、因特網(wǎng)上的源等的源。
在步驟604中,接收的數(shù)據(jù)被轉(zhuǎn)換。一般地,由于在系統(tǒng)內(nèi)采用不同的消息內(nèi)容,所以接收的數(shù)據(jù)需要轉(zhuǎn)換。例如,轉(zhuǎn)換可以包括檢查接收的數(shù)據(jù),以便與給定標(biāo)準(zhǔn)一致。轉(zhuǎn)換也可以包括接收數(shù)據(jù)的解碼和解析。例如,外部總線接口510可以轉(zhuǎn)換圖5的UART 514的接收數(shù)據(jù)。在步驟606中,轉(zhuǎn)換過(guò)的數(shù)據(jù)可以裝入遮蔽存儲(chǔ)器。遮蔽存儲(chǔ)器可以是任何類(lèi)型的存儲(chǔ)器,例如相對(duì)圖3的存儲(chǔ)器316所述的那些存儲(chǔ)器。例如,轉(zhuǎn)換過(guò)的數(shù)據(jù)可以裝入U(xiǎn)ART 514的存儲(chǔ)器516。當(dāng)正在進(jìn)行流水線的改變且新的數(shù)據(jù)不被裝入有源存儲(chǔ)器時(shí),遮蔽存儲(chǔ)器可以存儲(chǔ)轉(zhuǎn)換數(shù)據(jù)。
在步驟608中,確定何時(shí)更新轉(zhuǎn)換(translated)的數(shù)據(jù)。例如,步驟608可以確定UART 514應(yīng)該何時(shí)將存儲(chǔ)的數(shù)據(jù)傳送至圖象傳感器302。在實(shí)施例中,步驟608可以利用具有一個(gè)視頻幀開(kāi)始信號(hào)來(lái)實(shí)現(xiàn)。接著,UART 514在把信息傳送至圖象傳感器302之前可以等待視頻幀開(kāi)始信號(hào)。如果確定轉(zhuǎn)換的數(shù)據(jù)將不被更新,那么同步步驟610等待適當(dāng)?shù)挠|發(fā)事件。觸發(fā)事件可以有任何值,但對(duì)于市場(chǎng)上可得到的大部分類(lèi)型的傳感器來(lái)說(shuō),觸發(fā)事件最好為大約一幀、大約兩幀或大約三幀。同步步驟610可以重復(fù),直至它確定已經(jīng)獲得對(duì)于給定部件的適當(dāng)觸發(fā)事件。適當(dāng)?shù)挠|發(fā)事件可以由內(nèi)部或外部源來(lái)確定。外部源可以包括用戶(hù)指令、計(jì)算機(jī)上存儲(chǔ)的設(shè)置、計(jì)算機(jī)應(yīng)用的確定、因特網(wǎng)上的源等。內(nèi)部源可以包括例如上述相對(duì)數(shù)據(jù)采集模塊所述的那些模塊,以提供自動(dòng)調(diào)節(jié)。一旦步驟608確定轉(zhuǎn)換的數(shù)據(jù)要被更新,那么在步驟612中,通過(guò)將信息裝入有源存儲(chǔ)器把信息提供給流水線的所選部件。有源存儲(chǔ)器可以是任何類(lèi)型的存儲(chǔ)器,例如相對(duì)圖3的存儲(chǔ)器316所述的那些存儲(chǔ)器。有源存儲(chǔ)器也可以是在流水線的選擇部件內(nèi)的存儲(chǔ)器或可存取流水線的選擇部件的存儲(chǔ)器。
因此,在指定的位置和適當(dāng)?shù)臅r(shí)間時(shí)可以對(duì)流水線進(jìn)行自動(dòng)調(diào)節(jié),以確保沒(méi)有非法數(shù)據(jù)出現(xiàn)在正被處理的數(shù)據(jù)中。例如,如果圖象傳感器302上的增益減小,那么同步方法600在合適的時(shí)間可以增加視頻流水線400中的增益。因此,同步方法600可以用于所有類(lèi)型的設(shè)置和與任何數(shù)據(jù)采集及處理流水線有關(guān)的結(jié)構(gòu)。再有,如有關(guān)中斷和同步塊518的說(shuō)明,中斷可以按與參照?qǐng)D6所述的同步相同的方式來(lái)處理。此外,為了同步音頻數(shù)據(jù)和視頻數(shù)據(jù),可以附加塊,以便當(dāng)兩種類(lèi)型的數(shù)據(jù)被任何裝置接收時(shí),音頻數(shù)據(jù)和視頻數(shù)據(jù)同步。
總線物理層下面詳細(xì)說(shuō)明總線物理層的一些示例性實(shí)施例,該物理層可以用來(lái)實(shí)現(xiàn)本發(fā)明的實(shí)施例,例如相對(duì)資源總線312所述的那些物理層。
總線線路在一些實(shí)現(xiàn)中,總線可以包括單向線路,因而沒(méi)有總線既被主機(jī)又被從屬裝置使用。從屬裝置也可以被稱(chēng)為功能元件。一些線路可以由主機(jī)來(lái)控制,這些線路被表示為“rb”線路,而一些線路可以由從屬裝置來(lái)控制。如果主機(jī)可以確定所要選擇的特定功能元件,那么主機(jī)就可以根據(jù)地址來(lái)實(shí)現(xiàn)。
總線物理描述可以包括稱(chēng)為rbClock的線路。在單一時(shí)鐘同步實(shí)現(xiàn)中,所有總線實(shí)體可以使用rbClock的上升邊緣(或下降邊緣)來(lái)評(píng)價(jià)總線線路。該總線也可以用異步的實(shí)施例(其中,總線實(shí)體作用在總線線路信號(hào)的邊緣上)或多時(shí)鐘實(shí)施例(其中,實(shí)體有不同頻率的內(nèi)部時(shí)鐘)來(lái)實(shí)現(xiàn)。因此,可以用在不同時(shí)鐘下或無(wú)時(shí)鐘運(yùn)行的主機(jī)和功能元件來(lái)實(shí)現(xiàn)這種總線。此外,這些選擇可以混合。
表1表示可以由主機(jī)控制的總線線路的示例性表。 表1主機(jī)控制的總線線路表2表示可以由功能元件控制的總線線路的示例性表。 表2功能元件控制的總線線路如上所述,其它總線線路可以包括尺寸為1的rbClock。該總線線路可以定義在本說(shuō)明中所用的術(shù)語(yǔ)“時(shí)鐘周期”。即一個(gè)總線周期應(yīng)該等于一個(gè)rbClock周期。
總線傳送和總線周期圖7A表示在兩個(gè)周期寫(xiě)入傳送后跟隨三個(gè)周期讀出傳送的示例性時(shí)序圖700。時(shí)序圖700表示的信號(hào)特性由上述表1和表2來(lái)定義。對(duì)于rbAddress來(lái)說(shuō),X表示無(wú)效(或未留意)地址值,N表示寫(xiě)入傳送地址,而M1-M2表示讀出傳送地址。主機(jī)在每個(gè)周期可以改變地址。傳送可以是單向的總線周期序列。如圖所示,rbAS選通脈沖可以發(fā)出傳送開(kāi)始信號(hào)。rbDS的上升初始化一個(gè)總線周期。
寫(xiě)入傳送的事件順序可以如下1a.主機(jī)在總線上放置資源地址;1b.主機(jī)設(shè)定rbRwL低,發(fā)出寫(xiě)入傳送信號(hào);2.主機(jī)在一個(gè)或更多個(gè)時(shí)鐘周期選通rbAS線路;3.主機(jī)可以在rbData總線上放置數(shù)據(jù)(對(duì)于資源的命令可以不需要數(shù)據(jù));和4.主機(jī)設(shè)定rbDS,請(qǐng)求功能元件的應(yīng)答和等待fnctDataAck。
對(duì)于寫(xiě)入傳送周期的成功完成來(lái)說(shuō),事件的其他順序可以如下5.功能元件消耗數(shù)據(jù)和設(shè)置fnctDataAck;6.主機(jī)檢測(cè)fnctDataAck和降低rbDS(這樣釋放它,以便對(duì)于下一個(gè)總線周期改變地址和數(shù)據(jù));和7.功能元件降低fnctDataAck。
在步驟7后,寫(xiě)入周期完成,總線返回步驟3等待一個(gè)新的總線周期3。
但是,對(duì)于不成功的寫(xiě)入周期來(lái)說(shuō),在步驟5時(shí),主機(jī)可以等待一個(gè)暫停周期,然后復(fù)位rbDS。寫(xiě)入周期的暫停周期最好為約四個(gè)時(shí)鐘周期,但也可以是取決于實(shí)現(xiàn)的任何其它值。主機(jī)可以異常中斷傳送的其他時(shí)間。
讀出傳送的事件順序可以如下1-2.與上述寫(xiě)入傳送步驟1-2類(lèi)似;和3.主機(jī)設(shè)置rbDS,請(qǐng)求功能元件的應(yīng)答和等待fnctDataAck。
對(duì)于讀出傳送周期的成功完成來(lái)說(shuō),事件的其他順序可以如下4.功能元件放置請(qǐng)求的數(shù)據(jù)到有關(guān)fnctData和設(shè)置fnctDataAck;5.主機(jī)降低rbDS,表示主機(jī)已經(jīng)獲得數(shù)據(jù);和6.功能元件降低fnctDataAck。
在步驟6后,讀出周期完成,總線可以返回步驟3等待一新總線周期。
對(duì)于步驟3時(shí)不成功的讀出周期來(lái)說(shuō),主機(jī)可以等待一暫停周期,最好為四個(gè)時(shí)鐘周期。但是,本領(lǐng)域的技術(shù)人員明白,總線周期的預(yù)定暫停將取決于實(shí)現(xiàn)。如果在等待讀出暫停周期后未檢測(cè)出fnctDataAck,那么主機(jī)可以降低rbDS。主機(jī)可以異常中止其余的傳送。
圖7B表示兩周期讀出傳送的另一示例性時(shí)序圖750。在表1和表2中定義了時(shí)序圖750中表示的信號(hào)特性。同樣地,X表示無(wú)效(或未留意)的地址值,N和N+1表示來(lái)自主機(jī)的有效地址數(shù)據(jù),而D1-D2表示來(lái)自功能元件的有效地址數(shù)據(jù)。主機(jī)可以在每個(gè)總線周期改變地址。如示出的,rbAS選通脈沖可以發(fā)出傳送開(kāi)始信號(hào)。rbDS的上升可以啟動(dòng)一個(gè)總線周期,后面跟隨fnctDataAck的上升。
總線邏輯層下面更詳細(xì)地說(shuō)明可以采用的總線邏輯層的一些示例性實(shí)施例,以實(shí)施本發(fā)明的實(shí)施例,例如相對(duì)資源總線312說(shuō)明的那些總線邏輯層。
總線從屬裝置的類(lèi)型對(duì)于本發(fā)明的實(shí)施例來(lái)說(shuō),可以選擇從屬裝置的許多不同類(lèi)型。從屬裝置類(lèi)型可以按它們用于響應(yīng)主機(jī)的反饋線路來(lái)分類(lèi)。
例如,表3表示不同的從屬裝置類(lèi)型如何被分成三組。標(biāo)題fnctSelected和fnctBufOk可以是信號(hào),例如表2中定義的那些信號(hào)。
表3總線從屬裝置的類(lèi)型總線從屬裝置的行為規(guī)則在一些實(shí)施例中,從屬裝置(或功能元件)可以實(shí)現(xiàn)以下規(guī)則。如果該功能元件在該地址上有資源,那么功能元件可以異步地解碼rbAddress和驅(qū)動(dòng)它的(或共用)fnctSelected到高值。
帶有fnctBufOk線路的功能元件可以根據(jù)其能力驅(qū)動(dòng)其fnctBufOk線路。功能元件也可以不接受傳送。在大多數(shù)情況下,這意味著沒(méi)有可獲得的數(shù)據(jù)。但是,如果功能元件接收rbDS,同時(shí)其fnctBufOk低,那么功能元件應(yīng)該不響應(yīng)。
對(duì)于功能元件來(lái)說(shuō),在沒(méi)有fnctBufOk線路的情況下,如果數(shù)據(jù)有效,那么功能元件可以等待rbDS和用數(shù)據(jù)來(lái)響應(yīng)。
塊命令一般地,主機(jī)可以利用傳送實(shí)現(xiàn)由另一主機(jī)啟動(dòng)的命令,例如操作系統(tǒng)、應(yīng)用程序、用戶(hù)等。主機(jī)(host)/主機(jī)(master)可以使用寫(xiě)入傳送周期,將數(shù)值存儲(chǔ)在寄存器中并實(shí)現(xiàn)命令。例如,許多命令可以用一個(gè)或多個(gè)傳送組合的總線周期的單一順序來(lái)實(shí)現(xiàn)。這些命令可以包括UART寄存器數(shù)據(jù)庫(kù)中的數(shù)據(jù)裝入、規(guī)定如何實(shí)現(xiàn)連續(xù)傳送的一些細(xì)節(jié)的控制寄存器的設(shè)定和要實(shí)現(xiàn)的命令。
由于資源(例如數(shù)據(jù)寄存器、控制寄存器、命令等)位于不同的地址,所以主機(jī)可以改變各周期的rbAddress。但是,更方便的是以順序的地址定位可能共同修改的資源以便使主機(jī)有簡(jiǎn)單的機(jī)制(例如地址按1增加)來(lái)使每次傳送裝載更多的寄存器。
因此,塊命令可以用增加各周期的rbAddress為特征的一系列總線周期(一個(gè)或多個(gè)連續(xù)傳送)來(lái)實(shí)現(xiàn)。
塊命令指令集多地址資源的多地址能力允許在定位資源的所有塊命令中尋址資源。因此,可以使用與硬件無(wú)關(guān)的命令指令集。這是因?yàn)閷?duì)于主機(jī)來(lái)說(shuō)不需要知道指定的資源地址。硬件實(shí)現(xiàn)可以激活至少和使用該資源的命令一樣多的地址的資源。塊命令的第一地址可以方便地識(shí)別命令。
例如,命令“更新白平衡寄存器”可以使用地址15-33,而另一個(gè)命令“更新模擬電平”可以使用地址64-83。如果控制綠色信道增益的寄存器在兩個(gè)命令中被需要,那么可以構(gòu)成該寄存器,以響應(yīng)于兩個(gè)命令范圍所選擇的兩個(gè)地址。在這種實(shí)現(xiàn)中,命令可以有地址并利用命令開(kāi)始地址來(lái)識(shí)別。
如本領(lǐng)域技術(shù)人員將理解的那樣,在不脫離本發(fā)明的精神或基本特征的情況下,本發(fā)明可以按其它特定形式實(shí)施。本發(fā)明的技術(shù)可以在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)和/或利用專(zhuān)用集成電路(ASIC)來(lái)實(shí)現(xiàn)。例如,視頻流水線400和計(jì)算機(jī)接口系統(tǒng)500可以利用外圍部件互連(PCI)卡來(lái)實(shí)現(xiàn)。PCI卡可以安裝在個(gè)人計(jì)算機(jī)的PCI總線上。再有,也可以采用其它總線技術(shù),例如NUBUS、ISA、EISA和加速圖形端口(AGP)。此外,本發(fā)明的技術(shù)可以利用通用的例行程序和功能部件來(lái)實(shí)現(xiàn),例如由Intel_ Corporation’s MMXTMtechnology,Advance Micro Device,_ Inc.,s 3DNow!TMtechnology提供的超高速緩沖存儲(chǔ)、新指令集和單指令多數(shù)據(jù)(SIMD)工具,以及其等價(jià)物。因此,為了理解本發(fā)明的范圍,基準(zhǔn)應(yīng)該由所附權(quán)利要求書(shū)來(lái)限定。
權(quán)利要求
1.一種總線系統(tǒng),包括外部共用總線;與外部共用總線耦接的外部總線接口,與外部總線接口耦接的資源總線,配置外部總線接口以在外部共用總線和資源總線之間傳送數(shù)據(jù);與資源總線耦接的視頻流水線,視頻流水線包括處理視頻數(shù)據(jù)的多個(gè)部件,多個(gè)視頻處理部件中的所選部件與資源總線耦接。
2.如權(quán)利要求1的總線系統(tǒng),其中,外部總線接口構(gòu)成為資源總線的主機(jī)。
3.如權(quán)利要求1的總線系統(tǒng),其中,視頻流水線構(gòu)成為資源總線的從屬裝置。
4.如權(quán)利要求1的總線系統(tǒng),其中,視頻流水線包括捕獲視頻數(shù)據(jù)的傳感器。
5.如權(quán)利要求4的總線系統(tǒng),其中,傳感器選自由CCD和CMOS傳感器組成的組中。
6.如權(quán)利要求4的總線系統(tǒng),還包括傳感器接口,配置傳感器接口以格式化捕獲的視頻流水線的視頻數(shù)據(jù)。
7.如權(quán)利要求1的總線系統(tǒng),還包括視頻流水線管理器,配置視頻流水線管理器以允許多個(gè)視頻流水線部件中的所選部件通過(guò)外部總線接口與外部共用總線通信。
8.如權(quán)利要求1的總線系統(tǒng),還包括UART,配置UART以把通信信道提供給包括多個(gè)視頻流水線部件的裝置。
9.如權(quán)利要求1的總線系統(tǒng),還包括同步模塊,同步模塊確定何時(shí)允許修改多個(gè)視頻流水線部件。
10.如權(quán)利要求1的總線系統(tǒng),還包括與資源總線耦接的數(shù)據(jù)采集模塊,配置該數(shù)據(jù)采集模塊以便從與資源總線耦接的裝置中采集信息。
11.如權(quán)利要求1的總線系統(tǒng),其中,數(shù)據(jù)采集模塊包括多個(gè)模塊。
12.如權(quán)利要求1的總線系統(tǒng),其中,視頻流水線部件包括圖象傳感器、色分離模塊和壓縮模塊。
13.如權(quán)利要求1的總線系統(tǒng),還包括音頻流水線,音頻流水線包括處理音頻數(shù)據(jù)的多個(gè)部件,多個(gè)音頻處理部件中所選的那些部件與資源總線耦接。
14.如權(quán)利要求13的總線系統(tǒng),其中,多個(gè)音頻流水線部件包括麥克風(fēng)傳感器接口、音量調(diào)節(jié)器、音頻采樣器。
15.如權(quán)利要求1的總線系統(tǒng),其中,外部共用總線從USB、EPP、ECP、火線、NUBUS、ISA、EISA和AGP組成的組中選擇。
16.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可使用的介質(zhì),在該介質(zhì)中存有引起數(shù)據(jù)處理的計(jì)算機(jī)可讀碼,該計(jì)算機(jī)碼包括用于以下功能的指令從數(shù)據(jù)處理流水線內(nèi)的一部件采集信息;處理采集的信息,以確定是否對(duì)數(shù)據(jù)處理部件進(jìn)行調(diào)整;及如果確定對(duì)數(shù)據(jù)處理部件進(jìn)行調(diào)整,那么在進(jìn)行調(diào)整前,確定觸發(fā)事件和等待觸發(fā)事件。
17.一種對(duì)數(shù)據(jù)處理流水線提供自動(dòng)調(diào)節(jié),以避免非法數(shù)據(jù)混入正被數(shù)據(jù)處理流水線處理的數(shù)據(jù)中的方法,該方法包括從數(shù)據(jù)處理流水線內(nèi)的一部件采集信息;處理采集的信息,以確定是否對(duì)數(shù)據(jù)處理流水線進(jìn)行調(diào)整;和如果確定對(duì)數(shù)據(jù)處理流水線進(jìn)行調(diào)整,那么在進(jìn)行調(diào)整前,確定觸發(fā)事件和等待觸發(fā)事件。
18.如權(quán)利要求17的方法,其中,數(shù)據(jù)處理流水線處理視頻數(shù)據(jù)。
19.如權(quán)利要求18的方法,其中,所確定的觸發(fā)事件從視頻數(shù)據(jù)的大約一幀、大約兩幀和大約三幀組成的組中選擇。
20.如權(quán)利要求17的方法,其中,該部件包括在數(shù)據(jù)處理流水線內(nèi)的多個(gè)部件。
21.一種同步總線系統(tǒng)中的操作的方法,包括以下步驟接收數(shù)據(jù);將接收的數(shù)據(jù)裝入遮蔽存儲(chǔ)器;確定是否用裝入遮蔽存儲(chǔ)器的數(shù)據(jù)更新有源存儲(chǔ)器;如果確定有源存儲(chǔ)器將不被裝入遮蔽存儲(chǔ)器的數(shù)據(jù)更新,那么等待下一個(gè)確定步驟;和一旦確定有源存儲(chǔ)器要被裝入遮蔽存儲(chǔ)器的數(shù)據(jù)更新,那么將裝入的數(shù)據(jù)從遮蔽存儲(chǔ)器傳送至有源存儲(chǔ)器,其中,等待步驟避免非法數(shù)據(jù)混入正被處理的數(shù)據(jù)中。
22.如權(quán)利要求21的方法,還包括轉(zhuǎn)換接收的數(shù)據(jù)。
23.如權(quán)利要求21的方法,其中,根據(jù)從總線系統(tǒng)內(nèi)的部件中采集的信息來(lái)判別確定動(dòng)作。
24.如權(quán)利要求21的方法,其中,由外部資源來(lái)判別確定動(dòng)作。
25.如權(quán)利要求24的方法,其中,外部資源從包括用戶(hù)指令、存儲(chǔ)的設(shè)置、應(yīng)用的確定和因特網(wǎng)上的資源的組中選擇。
26.如權(quán)利要求21的方法,其中,遮蔽存儲(chǔ)器從DRAM、EDO DRAM、SDRAM、VRAM、SRAM和閃爍存儲(chǔ)器組成的組中選擇。
27.如權(quán)利要求21的方法,其中,有源存儲(chǔ)器從DRAM、EDO DRAM、SDRAM、VRAM、SRAM和閃爍存儲(chǔ)器組成的組中選擇。
全文摘要
提供在數(shù)據(jù)總線上傳送數(shù)據(jù)的新的改進(jìn)方法和裝置。本發(fā)明提供包括外部共用總線、外部總線接口和資源總線的總線系統(tǒng)。可以構(gòu)成外部總線接口,以在外部共用總線和資源總線之間傳送數(shù)據(jù)。總線系統(tǒng)還可以包括與資源總線耦接的數(shù)據(jù)處理流水線。數(shù)據(jù)處理流水線可以包括處理數(shù)據(jù)的多個(gè)部件。一些數(shù)據(jù)處理部件可以與資源總線耦接。
文檔編號(hào)G06F13/42GK1289090SQ00109798
公開(kāi)日2001年3月28日 申請(qǐng)日期2000年6月30日 優(yōu)先權(quán)日1999年6月30日
發(fā)明者塞爾焦·馬吉, 米切爾·諾克羅斯 申請(qǐng)人:羅技電子股份有限公司