專利名稱:通過消費(fèi)電子控制協(xié)議的智能化模擬控制hdmi裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過消費(fèi)電子控制協(xié)議的智能化模擬控制HDMI裝置。
背景技術(shù):
各種新興技術(shù)允許在各種媒體裝置之間通信數(shù)字視頻。一些技術(shù)也允許在這些裝置之間通信裝置控制命令。在這些技術(shù)中的一種技術(shù)中,即,高清晰度多媒體接口(HDMI),已知控制機(jī)構(gòu)為消費(fèi)電子控制(CEC)。當(dāng)消費(fèi)者混合并且匹配不同供應(yīng)商的數(shù)字媒體裝置時(shí),互用性通常存在問題,這是因?yàn)椴煌墓?yīng)商通常使用不同組的CEC命令。當(dāng)這些裝置相距太遠(yuǎn)從而無法物理上連接在一起時(shí),也會(huì)出現(xiàn)問題。
發(fā)明內(nèi)容
本發(fā)明提供了一種裝置,包括:HDMI接口 ;網(wǎng)絡(luò)接口 ;至少一個(gè)處理器;以及能夠由至少一個(gè)處理器執(zhí)行的代碼,代碼包括:模擬用于遠(yuǎn)程HDMI裝置集群中的任何一個(gè)遠(yuǎn)程HDMI裝置的CEC命令的邏輯,其中,遠(yuǎn)程HDMI裝置均不通過HDMI接口耦接到裝置。優(yōu)選地,代碼還包括:通過網(wǎng)絡(luò)接口與遠(yuǎn)程CEC模擬裝置通信的邏輯,其中,遠(yuǎn)程HDMI裝置通過另一個(gè)HDMI接口耦接到遠(yuǎn)程CEC模擬裝置。優(yōu)選地,代碼還包括:接收用于遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的CEC命令的邏輯;以及通過網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)CEC命令的邏輯。優(yōu)選地,代碼還包括:確定CEC命令的轉(zhuǎn)換是否合適的邏輯;以及當(dāng)確定轉(zhuǎn)換合適時(shí),在通過網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)CEC命令之前轉(zhuǎn)換CEC命令的邏輯。優(yōu)選地,代碼還包括:通過非HDMI接口接收CEC模擬消息的邏輯,模擬消息包括對(duì)于通過HDMI接口耦接的遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的CEC邏輯地址分配,其中,在接收到CEC邏輯地址分配之后,進(jìn)行模擬的邏輯開始模擬遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置。優(yōu)選地,代碼還包括:通過非HDMI接口接收CEC模擬消息的邏輯,模擬消息包括對(duì)于遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的CEC邏輯地址分配的請(qǐng)求;確定CEC邏輯地址和通過HDMI接口耦接的本地HDMI裝置集群中的任何一個(gè)本地HDMI裝置之間是否存在沖突的邏輯;其中,在確定不存在沖突之后,進(jìn)行模擬的邏輯開始模擬遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置。本發(fā)明還提供了一種系統(tǒng),包括:接收器側(cè)橋,包括第一 HDMI接口和第一網(wǎng)絡(luò)接口,源側(cè)橋,包括第二 HDMI接口和第二網(wǎng)絡(luò)接口 ;以及接收器側(cè)橋被配置為:發(fā)現(xiàn)通過第一HDMI接口耦接的第一 HDMI裝置集群中的任何一個(gè)第一 HDMI裝置,多個(gè)第一 HDMI裝置包括HDMI接收裝置;以及通過第一網(wǎng)絡(luò)接口將對(duì)于每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的相應(yīng)的CEC邏輯地址分配通知給源側(cè)橋;源側(cè)橋被配置為:發(fā)現(xiàn)通過第二 HDMI接口耦接的第二 HDMI裝置集群中的任何一個(gè)第二 HDMI裝置;以及通過第二網(wǎng)絡(luò)接口并且響應(yīng)于從接收器側(cè)橋所接收的通知,從接收器側(cè)橋請(qǐng)求對(duì)于每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC邏輯地址分配。
優(yōu)選地,接收器側(cè)橋進(jìn)一步被配置為:響應(yīng)于來自源側(cè)橋的請(qǐng)求,為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置分配CEC邏輯地址;以及通過為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置所分配的CEC邏輯地址的表示,應(yīng)答來自源側(cè)橋的請(qǐng)求。優(yōu)選地,接收器側(cè)橋進(jìn)一步被配置為確定每個(gè)CEC邏輯地址的分配是否失敗,其中,應(yīng)答中的表示包括對(duì)于分配失敗的任何一個(gè)CEC邏輯地址的失敗表示。優(yōu)選地,接收器側(cè)橋進(jìn)一步被配置為確定是否接通了第一 HDMI接口中所包括的CEC總線,其中,在確定接通CEC總線的條件下,進(jìn)行應(yīng)答。優(yōu)選地,請(qǐng)求包括為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置所請(qǐng)求的CEC邏輯地址,并且接收器側(cè)橋進(jìn)一步被配置為確定每個(gè)所請(qǐng)求的CEC邏輯地址是否存在沖突,并且其中,應(yīng)答中的表示包括對(duì)于存在沖突的任何CEC邏輯地址的未注冊(cè)地址表示。優(yōu)選地,源側(cè)橋進(jìn)一步被配置為:接收來自接收器側(cè)橋的應(yīng)答;以及響應(yīng)于包括未注冊(cè)地址表示的應(yīng)答,在第二 HDMI接口上撤銷(deassert)并且然后重新要求(reassert)熱插拔檢測(cè)信號(hào)。優(yōu)選地,源側(cè)橋進(jìn)一步被配置為:接收來自接收器側(cè)橋的通知,通知包括為每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置所分配的CEC邏輯地址;以及確定在為所發(fā)現(xiàn)的第一 HDMI裝置所分配的CEC邏輯地址中的任何一個(gè)與為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置所請(qǐng)求的CEC邏輯地址之間是否存在沖突;以及響應(yīng)于存在沖突的確定,在第二 HDMI接口上撤銷并且然后重新要求熱插拔檢測(cè)信號(hào)。優(yōu)選地,源側(cè)橋進(jìn)一步被配置為解決源側(cè)上沖突的地址,其中,源側(cè)橋響應(yīng)于解決進(jìn)行請(qǐng)求。本發(fā)明還提供了一種方法,包括以下步驟:接收器側(cè)橋發(fā)現(xiàn)通過第一 HDMI接口耦接到接收器側(cè)橋的第一 HDMI裝置集群中的任何一個(gè)第一 HDMI裝置,多個(gè)第一 HDMI裝置包括HDMI接收裝置;源側(cè)橋發(fā)現(xiàn)通過第二HDMI接口耦接到源側(cè)橋的第二HDMI裝置集群中的任何一個(gè)第二 HDMI裝置;接收器側(cè)橋通過非HDMI網(wǎng)絡(luò)將對(duì)于每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的相應(yīng)的CEC邏輯地址分配通知給源側(cè)橋;以及源側(cè)橋通過非HDMI網(wǎng)絡(luò)并且響應(yīng)于從接收器側(cè)橋所接收的通知,從接收器側(cè)橋請(qǐng)求對(duì)于每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC邏輯地址分配。優(yōu)選地,該方法還包括以下步驟:接收器側(cè)橋模擬每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC行為。優(yōu)選地,該方法還包括以下步驟:源側(cè)橋模擬每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的CEC行為。優(yōu)選地,該方法還包括以下步驟:響應(yīng)于來自源側(cè)橋的請(qǐng)求,接收器側(cè)橋?yàn)槊總€(gè)所發(fā)現(xiàn)的第二 HDMI裝置分配CEC邏輯地址;以及接收器側(cè)橋通過為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置所分配的CEC邏輯地址的表示,應(yīng)答來自源側(cè)橋的請(qǐng)求。優(yōu)選地,該方法還包括以下步驟:接收器側(cè)橋周期性地輪詢分配給第一 HDMI裝置的CEC邏輯地址;以及響應(yīng)于從所輪詢的CEC邏輯地址中的一個(gè)未接收到確認(rèn),接收器側(cè)橋?qū)⑦壿嫷刂芬瞥l(fā)送給源側(cè)橋。優(yōu)選地,該方法還包括以下步驟:源側(cè)橋周期性地輪詢分配給第二 HDMI裝置的CEC邏輯地址;以及響應(yīng)于從所輪詢的CEC邏輯地址中的一個(gè)未接收到確認(rèn),源側(cè)橋?qū)⑦壿? 地址移除消息發(fā)送給接收器側(cè)橋。
參考以下附圖,可更好地理解本公開的許多方面。圖中的部件不必按比例繪出,而是重點(diǎn)清晰地示出本公開的原理。而且,在圖中,在多個(gè)視圖中相似的參考數(shù)字表示相應(yīng)的部分。圖1是根據(jù)本公開的一個(gè)實(shí)施方式的網(wǎng)絡(luò)環(huán)境的框圖;圖2是根據(jù)本公開的一些實(shí)施方式的模擬的HDMI環(huán)境的框圖;圖3是示出了根據(jù)本公開的一些實(shí)施方式的圖1的CEC橋的所選部件的框圖;圖4是示出了根據(jù)本文中所公開的一些實(shí)施方式的圖1的源橋和圖1的接收橋(sink bridge)之間的交互作用的示圖;圖5是示出了根據(jù)本文中所公開的一些實(shí)施方式的由圖1的接收橋處理的異步事件的示圖;圖6是示出了根據(jù)本文中所公開的一些實(shí)施方式的由圖1的源橋處理的異步事件的示圖;圖7是根據(jù)本公開的各種實(shí)施方式的圖1的CEC橋的框圖。
具體實(shí)施例方式圖1不出了了根據(jù)本公開的各種實(shí)施方式的HDMI環(huán)境100。HDMI環(huán)境100包括兩個(gè)HDMI集群110。HDMI集群110包括一個(gè)或多個(gè)HDMI裝置120,每個(gè)裝置通過相應(yīng)的HDMI鏈路130耦接到另一個(gè)裝置。一個(gè)HDMI集群110包括HDMI接收裝置120-SNK(例如,電視)。一個(gè)或兩個(gè)HDMI集群110包括HDMI源裝置120-SRC (例如,數(shù)字視頻光盤(DVD)
播放器、機(jī)頂盒等)。顧名思義,HDMI源將數(shù)字視頻提供給HDMI接收器,并且用戶查看來自HDMI接收器的內(nèi)容。源裝置也可用作開關(guān),如本文中的120-SW所示。顧名思義,HDMI開關(guān)接收多個(gè)數(shù)字視頻輸入并且將其中一個(gè)數(shù)字視頻輸入選為輸出。包括HDMI接收裝置的任何集群在本文中稱為接收器集群110-SNK。不包括HDMI接收裝置的任何集群在本文中稱為源集群110-SRC。HDMI環(huán)境100還包括通過網(wǎng)絡(luò)鏈路150彼此通信的一對(duì)消費(fèi)電子控制(CEC)橋140。可使用HDMI以外的任何通信技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)鏈路150,并且該網(wǎng)絡(luò)鏈路包括無線技術(shù)(例如,WiF1、WiMax等)以及有線技術(shù)(例如以太網(wǎng)、光纖以及混合光纖同軸電纜)。每個(gè)CEC橋140通過相應(yīng)的HDMI鏈路130耦接到一個(gè)HDMI集群110。耦接到源集群110-SRC的CEC橋140在本文中稱為源橋140-SRC。耦接到接收器集群110-SNK的CEC橋140在本文中稱為接收器橋140-SNK。每個(gè)HDMI裝置120實(shí)現(xiàn)HDMI標(biāo)準(zhǔn)中規(guī)定的CEC協(xié)議。CEC協(xié)議為每個(gè)HDMI裝置120分配邏輯地址。HDMI裝置120使用這些邏輯地址發(fā)送控制其他HDMI裝置120的操作的命令。例如,DVD播放器可接通TV,并且將音頻/視頻接收器切換成DVD輸入。CEC也包括遠(yuǎn)程控制傳遞功能,允許用戶使用任何一個(gè)遠(yuǎn)程控制操作所有的裝置。例如,CEC允許用戶使用TV遠(yuǎn)程手持機(jī)控制TV和DVD,或者使用DVD遠(yuǎn)程手持機(jī)控制TV和DVD。
使每個(gè)HDMI裝置120都通過地址報(bào)告機(jī)構(gòu)了解分配給其他裝置的CEC邏輯地址。換言之,HDMI裝置120在CEC邏輯地址空間內(nèi)彼此可見。由于相同的HDMI集群110中的裝置通過菊花鏈接HDMI鏈路130彼此耦接,所以CEC協(xié)議本身確保這些裝置彼此自然可見。例如,HDMI裝置120-SRC-A以及HDMI裝置120-SRC-B彼此自然可見。然而,CEC協(xié)議不延伸到不通過HDMI鏈路130耦接的裝置。為了解決該缺陷,盡管這種裝置之間缺乏HDMI鏈路130,但是CEC橋140使得HDMI集群110-SRC中的裝置對(duì)于HDMI集群110-SNK中的裝置可見,反之亦然。即,CEC橋140至少對(duì)于CEC命令,使用非HDMI網(wǎng)絡(luò)鏈路150橋接HDMI網(wǎng)絡(luò)。CEC橋140也可支持HDMI網(wǎng)絡(luò)之間的數(shù)字媒體流量。然而,由于也可由媒體橋來執(zhí)行橋接數(shù)字媒體流量的功能,所以這并非必不可少。存在時(shí),數(shù)字媒體橋可與CEC橋140 —體化結(jié)合,或者可為單獨(dú)的裝置。雖然在本文中根據(jù)接收器橋140-SNK與源橋140-SRC之間的協(xié)作,討論CEC橋140的操作,但是應(yīng)理解的是,特定的裝置可包括兩組功能。即,雖然在任何時(shí)候,特定的裝置用作一個(gè)或另一個(gè)裝置,但是裝置可包括實(shí)現(xiàn)接收器橋140-SNK的邏輯和實(shí)現(xiàn)源橋140-SRC的邏輯。在一些實(shí)施方式中,例如,根據(jù)HDMI接收裝置是否通過HDMI鏈路130耦接到該裝置,裝置可在源橋140-SRC與接收器橋140-SNK之間自動(dòng)切換其操作模式。而且,一些實(shí)施方式可包括多于一個(gè)的CEC橋140,執(zhí)行源或接收器作用。S卩,橋140-SNK的接收器側(cè)可與另一個(gè)橋140-SRC的源側(cè)串聯(lián)等。圖2是模擬的HDMI環(huán)境200的框圖。為了使HDMI裝置120跨越不同集群在CEC地址空間內(nèi)可見,CEC橋140進(jìn)行CEC命令轉(zhuǎn)發(fā)和CEC命令模擬。CEC橋140使用非HDMI網(wǎng)絡(luò),在兩個(gè)HDMI網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)CEC數(shù)據(jù)包。而且,每半個(gè)CEC橋140在另一 HDMI集群110內(nèi)模擬HDMI裝置120的CEC操作;位于HDMI接收器一側(cè)的接收器橋140-SNK在源集群110-SRC內(nèi)模擬這些裝置的CEC操作;位于HDMI接收器的相反側(cè)的源橋140-SRC在HDMI集群110-SNK內(nèi)模擬這些裝置的CEC操作。在圖2的示圖中可見這個(gè)CEC命令模擬行為。源橋140-SRC在接收器集群110-SNK內(nèi)模擬HDMI裝置Uo-S1W^PHDMI裝置120-SNK,從而使得HDMI裝置120-SW和120-SNK對(duì)于HDMI裝置120-SRC-A和120 -SRC-B可見。同樣,接收器橋140-SNK在源集群110-SRC內(nèi)模擬HDMI 裝置 120-SRC-A 和 HDMI 裝置 120-SRC-B,從而使得 HDMI 裝置 120-SRC-A 和 120-SRC-B對(duì)于HDMI裝置120-SW和120-SNK可見。應(yīng)理解的是,CEC協(xié)議包括輪詢命令,一個(gè)HDMI裝置120通過該輪詢命令確定特定的CEC邏輯地址是否被另一個(gè)HDMI裝置120使用。已經(jīng)使用邏輯地址的HDMI裝置120通過確認(rèn)對(duì)輪詢命令做出應(yīng)答。如果任何其他的HDMI裝置120均不確認(rèn),那么輪詢HDMI裝置120 了解邏輯地址可供自己使用。作為CEC命令模擬的一部分,CEC橋140的每側(cè)對(duì)向其正在模擬的HDMI裝置120的輪詢做出應(yīng)答。在圖1的配置中,源橋140-SRC對(duì)用于HDMI裝置120-SW和HDMI裝置120-SNK的輪詢做出應(yīng)答,而接收器橋140-SNK對(duì)用于HDMI裝置120-SRC-A和HDMI裝置120-SRC-B的輪詢做出應(yīng)答。為了模擬CEC操作,這對(duì)橋140協(xié)作以交換各自HDMI裝置120的CEC邏輯地址。特別地,地址信息在這兩個(gè)橋之間的交換是異步的。接收器橋140-SNK將接收器側(cè)的HDMI裝置120所使用的邏輯地址通知給源橋140-SRC。然而,源橋140-SRC在其本身的那一側(cè)請(qǐng)求使用HDMI裝置120的邏輯地址。因此,接收器橋140-SNK可視為主裝置,源橋140-SRC可視為從裝置。允許接收器橋140-SNK跨集群進(jìn)行邏輯地址分配,這就使得用于在集群內(nèi)重新分配邏輯地址的現(xiàn)有HDMI機(jī)構(gòu)受影響。HDMI熱插拔信號(hào)的撤銷然后重新要求(后文中稱為驅(qū)動(dòng)(脈動(dòng),pulsing))促使集群內(nèi)所有的HDMI裝置120進(jìn)行CEC邏輯地址分配程序,但是僅僅HDMI接收裝置可驅(qū)動(dòng)熱插拔。因此,在本文中所公開的實(shí)施方式中,接收器橋140-SNK在接通電源時(shí)以及在熱插拔要求時(shí)開始進(jìn)行邏輯地址分配。這反過來觸發(fā)源集群開始進(jìn)行邏輯地址分配。一旦在CEC橋140的一側(cè)模擬所有HDMI裝置120的邏輯地址,那么CEC橋140在這兩個(gè)HDMI集群110之間轉(zhuǎn)發(fā)CEC數(shù)據(jù)包。例如,在圖1的配置中,CEC橋140轉(zhuǎn)發(fā)從HDMI裝置120-SRC-A發(fā)送到HDMI裝置120-SNK的CEC命令。轉(zhuǎn)發(fā)操作如下。當(dāng)連接到一個(gè)HDMI集群110的CEC橋140通過網(wǎng)絡(luò)鏈路150接收源自位于另一個(gè)HDMI集群110上CEC模擬的HDMI裝置120的CEC數(shù)據(jù)包時(shí),所接收的CEC數(shù)據(jù)包在HDMI鏈路130上傳送。同樣,CEC橋140接收目標(biāo)為另一個(gè)HDMI集群110上CEC模擬的HDMI裝置120的HDMI鏈路130上的CEC數(shù)據(jù)包時(shí),所接收的CEC數(shù)據(jù)包在網(wǎng)絡(luò)鏈路150上傳送。為了進(jìn)行CEC命令轉(zhuǎn)發(fā),每個(gè)CEC橋140追蹤哪個(gè)CEC地址分配給本地裝置、哪些代表遠(yuǎn)程裝置被模擬、以及哪些未被分配?,F(xiàn)在將結(jié)合圖3描述用于進(jìn)行這種追蹤的機(jī)構(gòu)的一個(gè)實(shí)例。圖3是示出了根據(jù)本文中所公開的一些實(shí)施方式的CEC橋140內(nèi)部的所選部件的框圖。CEC橋140包括CEC模擬模塊310、CEC轉(zhuǎn)發(fā)模塊320以及可選的CEC命令轉(zhuǎn)換模塊315。如果源集群110-SRC和接收器集群110-SNK中的裝置使用不同組的CEC命令,那么可使用轉(zhuǎn)換模塊315。在這種情況下,CEC橋140可發(fā)現(xiàn)裝置的供應(yīng)商,從而可將來自由一個(gè)供應(yīng)商所實(shí)現(xiàn)的裝置發(fā)送的CEC命令轉(zhuǎn)換(在適當(dāng)?shù)那闆r下)成由另一個(gè)供應(yīng)商所實(shí)現(xiàn)的裝置所知曉的另一個(gè)命令。這種功能在本文中稱為智能化模擬。應(yīng)注意的是,在通過HDMI鏈路130直接連接來自不同供應(yīng)商的HDMI裝置120時(shí),不能進(jìn)行轉(zhuǎn)換。CEC橋140也包括連接到HDMI鏈路130的HDMI接口 330以及連接到網(wǎng)絡(luò)鏈路150的非HDMI接口 340。CEC轉(zhuǎn)發(fā)模塊320使用轉(zhuǎn)發(fā)表350如上所述接收、處理以及轉(zhuǎn)發(fā)CEC數(shù)據(jù)包。轉(zhuǎn)發(fā)表350包括條目360,這些條目表示是否應(yīng)在網(wǎng)絡(luò)鏈路150上轉(zhuǎn)發(fā)用于特定CEC地址的HDMI鏈路130上所接收的數(shù)據(jù)包。在一些實(shí)施方式中,轉(zhuǎn)發(fā)表?xiàng)l目360為布爾(Boolean)值,其中,真的值表示將發(fā)生轉(zhuǎn)發(fā)。在其他實(shí)施方式中,轉(zhuǎn)發(fā)表?xiàng)l目360為端口索弓I,表示將在該裝置的哪個(gè)端口上轉(zhuǎn)發(fā)所接收的數(shù)據(jù)包。如果要轉(zhuǎn)發(fā)CEC數(shù)據(jù)包,那么轉(zhuǎn)換模塊315確定是否需要轉(zhuǎn)換。如果在特定的實(shí)施方式中不存在轉(zhuǎn)換模塊315,那么照原樣子轉(zhuǎn)CEC數(shù)據(jù)包。CEC模擬模塊310保持CEC地址清單370,該清單表示每個(gè)可能的CEC地址值的狀態(tài)。在一個(gè)實(shí)施方式中,這些狀態(tài)包括:本地使用中(InUseLocal),表示將地址分配給本地連接的HDMI鏈路130上的HDMI裝置120 ;橋接(Bridged),表示將該地址代表不位于本地連接的HDMI鏈路130上的HDMI裝置120而被模擬,從而通過網(wǎng)絡(luò)鏈路150轉(zhuǎn)發(fā)具有該目標(biāo)地址的數(shù)據(jù)包;以及空閑(Free),表示未本地或遠(yuǎn)程使用該地址。CEC轉(zhuǎn)發(fā)模塊320與CEC模擬模塊310 —起協(xié)作保持轉(zhuǎn)發(fā)表350。更具體地說,在將CEC地址清單370中的地址條目設(shè)置成橋接狀態(tài)時(shí),設(shè)置轉(zhuǎn)發(fā)表350內(nèi)相應(yīng)的條目,從而將發(fā)生轉(zhuǎn)發(fā)(例如,bForward=真)。在將CEC地址清單370中的地址條目設(shè)置成橋接狀態(tài)以外的狀態(tài)時(shí),設(shè)置轉(zhuǎn)發(fā)表350內(nèi)相應(yīng)的條目,從而將不會(huì)發(fā)生轉(zhuǎn)發(fā)(例如,bForward=假)。CEC模擬模塊310通過與在網(wǎng)絡(luò)鏈路150的另一側(cè)上的其同級(jí)模塊交換信息,從而保持地址狀態(tài)信息。更具體地說,源橋140-SRC和接收器橋140-SNK以協(xié)作方式交換有關(guān)CEC地址分配的信息,從而提供HDMI裝置120的模擬。圖4是描述根據(jù)本文中所公開的一些實(shí)施方式的源橋140-SRC與接收器橋140-SNK之間的交互作用的示圖。示圖的左側(cè)的方框?qū)⑹境鲈礃?40-SRC進(jìn)行的操作,而示圖的右側(cè)的方框?qū)⑹境鼋邮掌鳂?40-SNK進(jìn)行的操作。這兩側(cè)之間的箭頭將示出CEC橋140的兩側(cè)之間的交互作用。通過網(wǎng)絡(luò)鏈路150將地址通知發(fā)送給源橋140-SRC,接收器橋140-SNK在方框410處開始。在該示例性實(shí)施方式中,該通知采用通知地址分配(Notify AddressAssignments)消息的形式。通知地址分配消息包括均通過其本地HDMI鏈路130連接到接收器橋140-SNK的每個(gè)HDMI裝置120的清單,BP,HDMI接收器集群110-SNK中的裝置的清單。每個(gè)清單條目包括CEC邏輯地址、裝置類型以及HDMI物理地址。接收器橋140-SNK已經(jīng)將HDMI接收器集群110-SNK內(nèi)使用的地址通知給源橋140-SRC,然后,在方框415處等待來自源橋140-SRC的地址分配請(qǐng)求。接收器橋140-SNK從接收器橋140-SNK的HDMI鏈路130上接收的地址報(bào)告生成清單。應(yīng)理解的是,在初始化的過程中,每個(gè)HDMI裝置120確定其自身的CEC邏輯地址、CEC物理地址以及裝置類型。更具體地說,每個(gè)HDMI裝置120給自身分配CEC邏輯地址,并且從其直接連接的HDMI接收器裝置120-SNK中了解其CEC物理地址以及裝置類型。這個(gè)直接連接的裝置可視為父裝置,從而HDMI接收器裝置120-SNK可具有一個(gè)以上的子裝置,但是每個(gè)子裝置僅僅具有一個(gè)父裝置。然后,每個(gè)HDMI裝置120將報(bào)告物理地址(ReportPhysicalAddress)廣播給所有的HDMI裝置120,從而報(bào)告該信息。HDMI裝置120使用該發(fā)現(xiàn)機(jī)構(gòu)了解同一 CEC總線上的其他裝置。接收器橋140-SNK影響該機(jī)構(gòu)了解本地連接的HDMI裝置120,將該信息存儲(chǔ)在本地CEC地址清單內(nèi)。該清單用于在方框410處構(gòu)成發(fā)送給源橋140-SRC的清單。在一些實(shí)施方式中,接收器橋140-SNK在將清單發(fā)送給源橋140-SRC之前,重新排列清單內(nèi)條目的順序。本地清單也包括臨時(shí)的CEC邏輯地址,接收器橋140-SNK已經(jīng)分配該地址供自己使用。在一些實(shí)施方式中,接收器橋140-SNK使用邏輯地址,該地址具有用于其臨時(shí)的CEC邏輯地址的播放器或記錄器類型。當(dāng)接收器橋140-SNK以及源橋140-SRC開始進(jìn)行通信時(shí),如果臨時(shí)地址由源集群上的HDMI裝置120所使用,那么接收器橋140-SNK可使用另一個(gè)邏輯地址??蓪⒈镜谻EC地址清單存儲(chǔ)為將信息提供給CEC轉(zhuǎn)發(fā)模塊320 (例如,通過表示本地地址的標(biāo)記)的CEC地址清單370的一部分,或者本地CEC地址清單可與CEC地址清單370獨(dú)立地保持。通過等待來自接收器橋140-SNK的地址通知,源橋140-SRC在方框420處開始。接收到通知地址分配消息時(shí),在方框425處源橋140-SRC檢查所接收的分配給接收器集群110-SNK中的裝置的地址清單。源橋140-SRC更新本地轉(zhuǎn)發(fā)表350,所以將至所列出的地址的CEC消息轉(zhuǎn)發(fā)給接收器橋140-SNK。接下來,在方框430處源橋140-SRC檢查所接收的分配給接收器集群110-SNK中的裝置的地址清單,從而與已經(jīng)分配給(本地)源集群110-SRC中的裝置的地址發(fā)生沖突。如果已經(jīng)檢測(cè)到任何沖突,那么源橋140-SRC通過指示源集群110-SRC內(nèi)所有的HDMI裝置120進(jìn)行CEC地址分配處理,從而處理該沖突。在一些實(shí)施方式中,通過撤銷并且然后重新要求HDMI熱插拔信號(hào),利用由HDMI標(biāo)準(zhǔn)規(guī)定最小的脈沖持續(xù)時(shí)間進(jìn)行該指示。接下來,在方框432處源橋140-SRC確定是否早先在方框420處接收了來自HDMI子裝置的地址報(bào)告。子裝置是直接耦接到本地HDMI鏈路130的HDMI裝置120。先前結(jié)合為接收器橋140-SNK產(chǎn)生了本地地址清單而描述了這些報(bào)告。如果已經(jīng)接收了來自子裝置的地址報(bào)告,那么源橋140-SRC直接進(jìn)入方框435。否則,源橋140-SRC在方框432處等待該事件。在方框435處,源橋140-SRC通過網(wǎng)絡(luò)鏈路150將請(qǐng)求地址分配消息發(fā)送給接收器橋140-SNK。請(qǐng)求地址分配消息包括均通過其本地HDMI鏈路130連接到源橋140-SRC的每個(gè)HDMI裝置120的清單,即,HDMI源集群110-SRC中的裝置的清單。每個(gè)清單條目包括CEC邏輯地址、裝置類型以及HDMI物理位置。然后,源橋140-SRC在方框440處等待對(duì)于地址分配請(qǐng)求的應(yīng)答。源橋140-SRC從在源橋140-SRC的HDMI鏈路130上接收并且在方框410處發(fā)送給源橋140-SRC的地址報(bào)告生成清單。清單的內(nèi)容會(huì)隨著不同的本地HDMI裝置120所發(fā)送的地址報(bào)告的定時(shí)而發(fā)生變化。然而,如上所述,該清單確實(shí)至少包括源橋140-SRC的子裝置的CEC地址。本地清單也包括臨時(shí)的CEC邏輯地址,源橋140-SRC已經(jīng)分配這些地址供自己使用。在一些實(shí)施方式中,源橋140-SRC使用CEC邏輯地址零,用于其臨時(shí)的CEC邏輯地址。如上所述,接收器橋140-SNK在方框415處等待來自源橋140-SRC的地址分配請(qǐng)求。在方框445處,接收器橋140-SNK通過分配每個(gè)所請(qǐng)求的地址而開始處理該請(qǐng)求。接下來,在方框450處,接收器橋140-SNK通過網(wǎng)絡(luò)鏈路150將應(yīng)答地址分配(ReplyAddressAssignment)消息發(fā)送給源橋140-SRC,從而對(duì)地址分配請(qǐng)求做出應(yīng)答。應(yīng)答中的地址清單包括與請(qǐng)求相同的地址,但是可將該清單重新排序。該應(yīng)答也包括表示是否成功分配每個(gè)地址的代碼,或者表示是否由于該地址已被位于HDMI接收器集群110-SNK中的裝置使用而所請(qǐng)求的分配失敗的代碼。在一些實(shí)施方式中,故障代碼的值與CEC未注冊(cè)地址(UnregisteredAddress)值(OxOF)相同。發(fā)送應(yīng)答之后,接收器橋140-SNK在方框455處繼續(xù)進(jìn)行,其中,接收器橋140-SNK使用成功分配的地址更新本地轉(zhuǎn)發(fā)表350。由于將這些地址加入表350中,所以在接收器橋140-SNK完成圖4的處理時(shí),將這些地址的CEC消息轉(zhuǎn)發(fā)給源橋140-SRC。接下來,在方框460處,接收器橋140-SNK確定任何所請(qǐng)求的地址的分配是否早先在方框445處失敗。如果成功分配所有請(qǐng)求的地址,那么接收器橋140-SNK在方框470處等待來自源橋140-SRC的已經(jīng)建立橋的通知。然而,如果在方框460處確定至少一個(gè)所請(qǐng)求的地址的分配在方框445處失敗,那么接收器橋140-SNK在方框415處繼續(xù),其中,接收器橋140-SNK等待另一個(gè)請(qǐng)求地址分配消息。由于在源側(cè)驅(qū)動(dòng)熱插拔信號(hào),所以希望最終接收到該消息。在方框475處,源橋140-SRC在方框440處已經(jīng)結(jié)束等待,從而接收應(yīng)答地址分配消息時(shí),開始處理所接收的應(yīng)答地址分配消息。該消息包括源橋140-SRC所請(qǐng)求的邏輯地址的列表,連同另一側(cè)是否成功分配每個(gè)地址,即,每個(gè)地址是否可由源集群110-SRC中的裝置使用的指示。源橋140-SRC在方框475處檢查清單以發(fā)現(xiàn)分配失敗,并且如果任何地址分配失敗,那么源橋140-SRC在方框478處繼續(xù)并且指示源集群IlO-SRC內(nèi)所有的HDMI裝置120進(jìn)行CEC地址重新分配處理。在一些實(shí)施方式中,該指示通過撤銷并且然后重新要求熱插拔檢測(cè)信號(hào)而進(jìn)行。然后,源橋140-SRC在方框432處繼續(xù)處理。如上所述,在方框432處,源橋140-SRC等待來自其HDMI子裝置的CEC地址報(bào)告。方框432之后的流程已在上面描述了。一旦源橋140-SRC已經(jīng)確保了 HDMI源集群110-SRC內(nèi)所有的裝置的CEC地址不與HDMI接收器集群110-SNK中的裝置沖突,那么源橋140-SRC建立本地轉(zhuǎn)發(fā)表350,從而將發(fā)送給HDMI接收器集群110-SNK中的裝置的CEC消息轉(zhuǎn)發(fā)給接收器橋140-SNK。因此,源橋140-SRC準(zhǔn)備開始模擬和轉(zhuǎn)發(fā),所以在方框480處,源橋140-SRC通知接收器橋140-SNK已經(jīng)建立橋。最后,在方框485處,源橋140-SRC開始操作本文中所描述的CEC轉(zhuǎn)發(fā)和CEC模擬。應(yīng)注意的是,直到源橋140-SRC到達(dá)方框485之前,未發(fā)生模擬,并且相反,源橋140-SRC對(duì)其自身的臨時(shí)邏輯地址(例如,TV )做出應(yīng)答。如上所述,接收器橋140-SNK在方框470處等待來自源橋140-SRC的已經(jīng)建立橋的通知。此時(shí),接收器橋140-SNK已經(jīng)確保HDMI接收器集群110-SNK中的裝置的CEC地址不與HDMI源集群110-SRC中的裝置沖突。接收器橋140-SNK也建立本地轉(zhuǎn)發(fā)表350,從而將發(fā)送給HDMI源集群110-SRC中的裝置的CEC消息轉(zhuǎn)發(fā)給源橋140-SRC。然而,直到源橋140-SRC準(zhǔn)備就緒,接收器橋140-SNK才開始CEC模擬和CEC轉(zhuǎn)發(fā)。在從源橋140-SRC接收到這種通知時(shí),在方框490處,接收器橋140-SNK開始進(jìn)行本文中所述的CEC模擬和CEC轉(zhuǎn)發(fā)的操作。每個(gè)CEC橋140持續(xù)轉(zhuǎn)發(fā)和模擬,直到接收到異步事件。應(yīng)注意的是,在接收器橋140-SNK到達(dá)方框490之前,不發(fā)生任何模擬,并且相反,接收器橋140-SNK對(duì)其自身的臨時(shí)邏輯地址(例如,播放器裝置)做出應(yīng)答?,F(xiàn)在結(jié)合圖5和圖6描述各種異步事件的處理。圖5是示出了根據(jù)本文中所公開的一些實(shí)施方式的接收器橋140-SNK的異步事件處理的示圖。由于某些事件處理包括已結(jié)合圖4描述的行為,所以圖4的接收器部分(右手側(cè))也示出于圖5中。HDMI熱插拔要求事件510表示已經(jīng)在本地HDMI集群110內(nèi)重新分配CEC地址。響應(yīng)于熱插拔要求事件510,接收器橋140-SNK在方框410處開始進(jìn)行處理,其中接收器橋140-SNK發(fā)現(xiàn)HDMI接收器集群110-SNK中的所有裝置,并且然后將這些裝置通知給源橋140-SRC。然后,如結(jié)合圖4先前所述,接收器橋140-SNK從方框410開始繼續(xù)進(jìn)行處理。地址請(qǐng)求(AddressRequest)事件520表示接收器橋140-SNK已經(jīng)從源橋140-SRC接收到請(qǐng)求地址分配消息。如上所述,該消息包括HDMI源集群110-SRC中的所有裝置的清單。響應(yīng)于地址請(qǐng)求事件520,接收器橋140-SNK開始在方框445處進(jìn)行處理,其中,接收器橋140-SNK處理為HDMI源集群110-SRC中的裝置所請(qǐng)求的地址的清單。然后,接收器橋140-SNK如結(jié)合圖4先前所述的方框445起繼續(xù)進(jìn)行處理。新接收器裝置(NewSinkDevice)事件530表示接收器集群110-SNK內(nèi)新的HDMI裝置已經(jīng)報(bào)告使用了 CEC邏輯地址。響應(yīng)于新接收器裝置事件530,在方框540處,接收器橋140-SNK將接收器集群110-SNK內(nèi)所有的裝置通知給源橋140-SRC。該通知包括最新報(bào)告的HDMI裝置。然后,接收器橋140-SNK在方框490處繼續(xù)進(jìn)行CEC轉(zhuǎn)發(fā)和CEC模擬操作。Rx地址移除(RxAddressRemoval)事件550表示接收器橋140-SNK已經(jīng)接收到表示已經(jīng)移除源集群110-SRC中的HDMI裝置并且該裝置不再使用特定的CEC地址的消息。響應(yīng)于Rx地址移除事件550,在方框560處,接收器橋140-SNK更新本地轉(zhuǎn)發(fā)表350,從而不再將至該地址的CEC消息轉(zhuǎn)發(fā)給源橋140-SRC。然后,接收器橋140-SNK在方框490處繼續(xù)進(jìn)行CEC轉(zhuǎn)發(fā)和CEC模擬操作。由定時(shí)器周期性地生成檢查移除(CheckRemoval)事件570。作為應(yīng)答,在方框580處,接收器橋140-SNK將CEC輪詢命令發(fā)送給源集群110-SRC內(nèi)所有已知的本地CEC邏輯地址。在方框590處,如果任何裝置都未能在預(yù)定的時(shí)間段內(nèi)對(duì)輪詢做出應(yīng)答,那么接收器橋140-SNK將非應(yīng)答裝置視為已經(jīng)從本地HDMI總線移除。因此,接收器橋140-SNK通過非HDMI接口 340將地址移除(AddressRemoval)消息發(fā)送給源橋140-SRC,從而將裝置移除通知給源橋140-SRC。接收器橋140-SNK也從本地轉(zhuǎn)發(fā)表370中刪除所移除的裝置的地址。然后,接收器橋140-SNK在方框490處繼續(xù)進(jìn)行CEC轉(zhuǎn)發(fā)和CEC模擬操作。圖6是示出了根據(jù)本文中所公開的一些實(shí)施方式的源橋140-SRC的異步事件處理的示圖。由于某些事件處理包括已結(jié)合圖4描述的行為,所以圖4的源部分(左手側(cè))也示出在圖6中。地址通知(AddressNotify)事件610表示源橋140-SRC已經(jīng)從接收器橋140-SNK中接收到通知地址分配消息。如上所述,該消息包括HDMI接收器集群110-SNK中的所有裝置的清單。響應(yīng)于地址通知事件610,源橋140-SRC開始在方框475處進(jìn)行處理,其中,源橋140-SRC處理HDMI接收器集群110-SNK中的裝置的地址清單,并且如上所述處理沖突。如果存在沖突,那么如圖4中所述,則源橋140-SRC繼續(xù)至方框478,否則繼續(xù)從圖4中的方框475起的處理。在某些情況下,如本文中所述,沖突處理會(huì)造成將請(qǐng)求地址分配消息發(fā)送給接收器橋140-SNK。新源裝置(NewSourceDevice)事件620表示源集群110-SRC內(nèi)新的HDMI裝置已經(jīng)報(bào)告使用了 CEC邏輯地址。響應(yīng)于新源裝置事件620,在方框435處,源橋140-SRC開始進(jìn)行處理,其中,源橋140-SRC要求接收器橋140-SNK分配新地址。然后,如結(jié)合圖4先前所述,源橋140-SRC繼續(xù)從方框435起的處理。Rx地址移除(RxAddressRemoval)事件630表示源橋140-SRC已經(jīng)接收到表示已經(jīng)移除接收器集群110-SNK中的HDMI裝置并且該裝置不再使用特定的CEC地址的消息。響應(yīng)于Rx地址移除事件630,在方框640處,源橋140-SRC更新本地轉(zhuǎn)發(fā)表350,從而不再將至該地址的CEC消息轉(zhuǎn)發(fā)給接收器橋140-SNK。然后,源橋140-SRC在方框485處繼續(xù)進(jìn)行CEC轉(zhuǎn)發(fā)和CEC模擬操作。通過定時(shí)器周期性地生成檢查移除(CheckRemoval)事件650。作為應(yīng)答,在方框660處,源橋140-SRC將CEC輪詢命令發(fā)送給源集群110-SRC內(nèi)所有已知的本地CEC邏輯地址。在方框670處,如果任何裝置都未能在預(yù)定的時(shí)間段內(nèi)對(duì)輪詢做出應(yīng)答,那么源橋140-SRC將非應(yīng)答裝置視為已經(jīng)從本地HDMI總線移除。因此,源橋140-SRC通過非HDMI接口 340將地址移除消息發(fā)送給接收器橋140-SNK,從而將裝置移除通知給接收器橋140-SNK。源橋140-SRC也從本地轉(zhuǎn)發(fā)表370中刪除所移除的裝置的地址。然后,源橋140-SRC在方框485處繼續(xù)進(jìn)行CEC轉(zhuǎn)發(fā)和CEC模擬操作。上面已經(jīng)相當(dāng)詳細(xì)地討論了 CEC邏輯地址的分配。如上所述,邏輯地址分配為CEC模擬的一部分。因此,未模擬未分配的邏輯地址。從另一個(gè)方面來看,未模擬的邏輯地址為存在于一個(gè)CEC橋140上,但是不能設(shè)置在CEC橋140的轉(zhuǎn)發(fā)表350內(nèi)的CEC邏輯地址。例如,這是由于轉(zhuǎn)發(fā)表350中的條目數(shù)量有限?,F(xiàn)在將討論兩個(gè)橋140處理未模擬的地址,從源橋140-SRC開始。在源橋140-SRC上,如果接收器橋140-SNK使用比源橋140-SRC在轉(zhuǎn)發(fā)表350內(nèi)具有的空間多的邏輯地址發(fā)送通知地址分配消息,那么將任何未分配的邏輯地址設(shè)為未模擬(Unemulated)狀態(tài)。如果源集群110-SRC中的裝置為其自身分配未模擬狀態(tài)下的邏輯地址,那么源橋140-SRC不包括發(fā)送給接收器橋140-SNK的請(qǐng)求地址分配消息中的未模擬地址。如果通過具有未模擬地址的源集群110-SRC中的HDMI裝置120發(fā)送CEC消息,但是目標(biāo)是模擬地址,那么通過源橋140-SRC以適合于特定CEC消息類型的方式本地應(yīng)答該消息。例如,源橋140-SRC可通過提供源橋140-SRC的供應(yīng)商標(biāo)識(shí)符,應(yīng)答CEC賦予裝置制造商ID (GiveDeviceVendorld)消息。如果將CEC消息發(fā)送給HDMI裝置120,該裝置具有接收器橋140-SNK未模擬的地址,那么該消息也通過源橋140-SRC本地應(yīng)答。如上所述,一個(gè)橋可發(fā)送另一個(gè)地址移除消息,以表示移除了指示的HDMI集群110中的HDMI裝置120。這種地址移除消息可包括未模擬的地址。在一種情況下,源橋140-SRC接收用于模擬地址的地址移除消息。在該情況下,源橋140-SRC檢查地址沖突,即,未模擬的地址成為被模擬的并且存在具有現(xiàn)在的模擬的地址的本地裝置的情況。如果發(fā)現(xiàn),那么源橋140-SRC通過驅(qū)動(dòng)HDMI熱插拔信號(hào),開始重新分配CEC邏輯地址。相反,來自接收器橋140-SNK的地址移除消息可移除源橋140-SRC目前未模擬的接收器集群110-SNK中的HDMI裝置120。在這種情況下,如果源集群110-SRC中的HDMI裝置120已經(jīng)使用該地址,那么源橋140-SRC發(fā)送新的請(qǐng)求地址分配消息,請(qǐng)求使用這個(gè)未模擬的地址。如果接收器橋140-SNK通過成功的分配進(jìn)行應(yīng)答,那么建立轉(zhuǎn)發(fā);否則,將其作為普通的地址分配失敗進(jìn)行處理。這樣,源橋140-SRC驅(qū)動(dòng)HDMI熱插拔信號(hào),以在接收器橋140-SNK處觸發(fā)所有的裝置,從而分配新的邏輯地址。在另一種情況下,來自接收器橋140-SNK的地址移除消息可移除模擬的和未模擬的地址。在這種情況下,源橋140-SRC在重新分配邏輯地址之后,檢查地址沖突。如果存在沖突,則源橋140-SRC驅(qū)動(dòng)HDMI熱插拔信號(hào);否則,源橋140-SRC為邏輯地址與已經(jīng)移除的未模擬地址相同的任何裝置,發(fā)送請(qǐng)求地址分配消息。在以下一種或兩種情況下,可接收通知地址分配消息或者應(yīng)答地址分配消息。首先,由于存在優(yōu)先級(jí)較高的裝置,所以模擬地址在接收器側(cè)變成未模擬的。其次,由于優(yōu)先級(jí)較高的裝置消失,所以未模擬地址在接收器側(cè)變成模擬的。源橋140-SRC的一些實(shí)施方式未區(qū)分這兩種情況,但是如下處理了這兩者。在接收到通知地址分配消息或者應(yīng)答地址分配消息時(shí),源橋140-SRC重新分配本地邏輯地址。如果重新分配的(模擬的)地址與之前存在的地址不同,那么源橋140-SRC驅(qū)動(dòng)HDMI熱插拔信號(hào),以更新源集群110-SRC中的裝置。當(dāng)由于進(jìn)行更新,源橋140-SRC接收到新的CEC地址報(bào)告時(shí),猶如接收到地址移除消息一樣,未模擬的邏輯地址中的任何添加或消失被處理。此外,將未模擬的地址消息發(fā)送給接收器橋140-SNK。這樣,如上面結(jié)合圖4所述,當(dāng)未模擬的地址在源側(cè)變成模擬時(shí),源橋140-SRC發(fā)送另一個(gè)請(qǐng)求地址分配消息并且以正常的方式處理該應(yīng)答。當(dāng)模擬地址在源側(cè)上變成未模擬時(shí),發(fā)送給該地址的CEC消息不再由源橋140-SRC轉(zhuǎn)發(fā)。應(yīng)注意的是,由于除非CEC橋140模擬該地址,否則HDMI源裝置140-SRC不能了解地址被占據(jù),所以未模擬的地址不會(huì)發(fā)生地址沖突。已經(jīng)討論了源橋140-SRC處理未模擬的地址,現(xiàn)在將討論接收器橋140-SNK進(jìn)行的處理。如上所述,接收器橋140-SNK處理來自源橋140-SRC的請(qǐng)求地址分配消息。即,源橋140-SRC詢問接收器橋140-SNK是否可模擬某些邏輯地址,或者這些邏輯地址是否已經(jīng)準(zhǔn)備好被接收器集群110-SNK中的裝置所使用。請(qǐng)求地址分配消息包括的地址比接收器橋140-SNK可支持的地址多,例如,比本地轉(zhuǎn)發(fā)表350中的條目數(shù)量更多。在這種情況下,應(yīng)答地址分配消息列表中不包括成功分配的但是不能被模擬的任何地址。然后,接收器橋140-SNK發(fā)送未模擬地址消息,該消息包括接收器橋140-SNK不能模擬的源橋140-SRC所請(qǐng)求的地址。接收器橋140-SNK可接收表示接收器集群110-SNK內(nèi)新的HDMI裝置的地址報(bào)告。在接收器橋140-SNK的一些實(shí)施方式中,如果這個(gè)新發(fā)現(xiàn)的裝置報(bào)告接收器橋140-SNK未模擬的地址,那么接收器橋140-SNK不通過通知地址分配消息將未模擬的地址通知給源橋140-SRC。如上所述,接收到請(qǐng)求地址分配消息或地址移除消息,會(huì)造成接收器橋140-SNK重新分配邏輯地址。通過應(yīng)答地址分配消息將最新重新分配的地址發(fā)送給源橋140-SRC,并且通過未模擬地址消息發(fā)送未分配的地址。因此,未模擬地址消息是對(duì)稱的:源橋140-SRC和接收器橋140-SNK均使用該消息通知另一側(cè)哪些地址未被模擬。應(yīng)理解的是,CEC橋140 (例如,通知地址分配消息、未模擬地址消息等)所使用的以及通過網(wǎng)絡(luò)鏈路150所發(fā)送的消息組可使用任何合適的格式。下面顯示一種這樣的消息格式:請(qǐng)求地址分配消息:消息類型(uint 16)-請(qǐng)求地址分配=0x01。裝置圖(uint 16)-邏輯地址存在位圖。如果邏輯地址η存在于源集群110-SRC上,那么設(shè)置具有比特η的16比特低字節(jié)序值。必須存在至少一個(gè)裝置。裝置描述符(uint8 ;uint8 ;uintl6)-描述符陣列,每個(gè)描述符包括邏輯地址、裝置類型以及物理地址。該陣列中的第一裝置為直接連接到源橋140-SRC的HDMI裝置。裝置圖(DeviceMap)字段表示存在多少個(gè)陣列條目。裝置類型可以是未知的。如果未知,那么物理地址可為OxF.F.F.F,除了第一裝置的物理地址不能為OxF.F.F.F以外。應(yīng)答地址分配消息:消息類型(uint 16)-應(yīng)答地址分配=0x02。CEC物理地址(裝入高字節(jié)序中的uintl6):由接收器橋140-SNK讀取的CEC物理地址。裝置圖(uint 16)-邏輯地址存在位圖。如果邏輯地址η存在于源集群110-SRC上,那么設(shè)置具有比特η的16比特低字節(jié)序值。地址描述符(uintS ;uint8)_描述符陣列,每個(gè)描述符包括所請(qǐng)求的邏輯地址以及實(shí)際上分配的邏輯地址。OxOF值表示分配失敗。通知地址分配消息:消息類型(uint 16)-通知地址分配=0x03。CEC物理地址(裝入高字節(jié)序中的uintl6):從HDMI接收器裝置讀取的CEC物理地址。裝置圖(uintl6)_邏輯地址存在位圖。如果邏輯地址η存在于接收器集群110-SNK上,那么設(shè)置具有比特η的16比特低字節(jié)序值??蔀镺。裝置描述符(uint8 ;uint8 ;uintl6)-描述符陣列,每個(gè)描述符包括邏輯地址、裝置類型以及物理地址。該陣列中的第一裝置為直接連接到源橋140-SRC的HDMI裝置。裝置字段表示存在多少個(gè)陣列條目。裝置類型可以是未知。如果未知,那么物理地址可為OxF.F.F.F,除了第一裝置的物理地址不能為OxF.F.F.F以外。請(qǐng)求接收器分配消息:消息類型Uintie)-請(qǐng)求接收器分配=0x04。該消息是通知地址分配消息的反數(shù)(inverse),并且由源橋140-SRC用于詢問接收器橋140-SNK所使用的地址。預(yù)留(uint16)地址移除消息:消息類型(uintl6)-地址移除=0x05。裝置圖(uintie)-邏輯地址存在位圖。如果邏輯地址η不再存在于本地集群上,那么設(shè)置具有比特η的16比特低字節(jié)序值。橋建立消息:消息類型(uint 16)-橋建立=0x06。該消息通知接收器橋140-SNK源橋140-SRC已經(jīng)成功地分配邏輯地址,使得接收器橋140-SNK可開始轉(zhuǎn)發(fā)目標(biāo)為源集群110-SRC上的裝置的CEC消息。CEC 消息:消息類型(uintl6) -CEC消息=0x07。該消息為通過橋轉(zhuǎn)發(fā)的實(shí)際的CEC消息。長(zhǎng)度(uint 16) -CEC消息的字節(jié)長(zhǎng)度,包括報(bào)頭。數(shù)據(jù)(uint8) -CEC消息本身包括CEC報(bào)頭字節(jié)。未模擬地址消息:消息類型(uint 16)-未模擬地址=0x08。裝置圖(uintie)-邏輯地址存在位圖。如果未模擬邏輯地址n,那么設(shè)置具有比特η的16比特低字節(jié)序值。圖7是根據(jù)本公開的一個(gè)實(shí)施方式的CEC橋140的框圖。CEC橋140包括至少一個(gè)處理器電路,例如具有處理器710和存儲(chǔ)器720,處理器和存儲(chǔ)器均耦接到本地接口 730??衫斫獾氖牵镜亟涌?730可包括例如具有附隨的地址/控制總線或其他總線結(jié)構(gòu)的數(shù)據(jù)總線。CEC橋140也包括HDMI接口 330和非HDMI接口 340。存儲(chǔ)在存儲(chǔ)器720內(nèi)的是處理器710可執(zhí)行的數(shù)據(jù)和若干個(gè)部件。尤其地,存儲(chǔ)在存儲(chǔ)器720內(nèi)并且可由處理器710執(zhí)行的是CEC模擬模塊310、CEC轉(zhuǎn)換模塊315以及CEC轉(zhuǎn)發(fā)模塊320。應(yīng)了解,可具有其他的應(yīng)用程序、部件、服務(wù)或模塊,可理解的是,這些應(yīng)用程序、部件、服務(wù)或模塊存儲(chǔ)在存儲(chǔ)器720內(nèi)并且可由處理器710執(zhí)行。對(duì)于本文中所討論的以軟件的形式執(zhí)行的任何部件而言,可使用多個(gè)編程語言中的任何一個(gè)語言,例如C、C++、C#、Objective C、Java、JavaScript、Per1、PHP、Visual Basic、Python、Ruby、Delph1、Flash或者其他編程語目。多個(gè)軟件部件存儲(chǔ)在存儲(chǔ)器720內(nèi)并且可由處理器710執(zhí)行。在這方面,術(shù)語“可執(zhí)行”表示具有最終可由處理器710運(yùn)行的形式的程序文件??蓤?zhí)行的程序的實(shí)例可為例如編譯程序,該程序可用轉(zhuǎn)換成可載入存儲(chǔ)器720的隨機(jī)存取部分內(nèi)并且可由處理器710執(zhí)行的格式的機(jī)器代碼;該程序可轉(zhuǎn)換成源代碼,該代碼可用適當(dāng)?shù)母袷奖磉_(dá),例如,能夠載入存儲(chǔ)器720的隨機(jī)存取部分內(nèi)并且可由處理器710執(zhí)行的目標(biāo)代碼;或者該程序可轉(zhuǎn)換成源代碼,該代碼可由另一個(gè)可執(zhí)行程序解釋以在存儲(chǔ)器720的隨機(jī)存取部分內(nèi)生成指令,并且該代碼可由處理器710執(zhí)行,等??蓤?zhí)行的程序可存儲(chǔ)在存儲(chǔ)器720的任何部分或部件內(nèi),包括例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、USB閃存驅(qū)動(dòng)器、存儲(chǔ)卡、光盤(如光盤(CD)或數(shù)字通用光盤(DVD))、軟盤、磁帶或其他存儲(chǔ)器部件。處理器710可采取的形式例如為微處理器、網(wǎng)絡(luò)處理器、微控制器、可重構(gòu)處理器、可擴(kuò)展處理器、圖形處理器、數(shù)字信號(hào)處理器等。處理器710可具有電或某個(gè)其他可用的結(jié)構(gòu)。處理器710可表示多個(gè)處理器,并且存儲(chǔ)器720可表示多個(gè)存儲(chǔ)器。多個(gè)這種處理器和存儲(chǔ)器可分別在并行處理電路中運(yùn)行。在這種情況下,本地接口 730可為適當(dāng)?shù)木W(wǎng)絡(luò)或開關(guān)裝置,有助于在多個(gè)處理器710中的任何兩個(gè)處理器之間、任何處理器710和任何存儲(chǔ)器720之間、或者存儲(chǔ)器720中的任何兩個(gè)存儲(chǔ)器之間進(jìn)行通信,等。本地接口 730可包括額外的系統(tǒng),這些系統(tǒng)被設(shè)計(jì)成協(xié)同該通信,包括例如進(jìn)行負(fù)載平衡。在本文中將存儲(chǔ)器720限定為包括易失性和非易失性存儲(chǔ)器以及數(shù)據(jù)存儲(chǔ)部件。易失性部件在損失電力時(shí),不保持?jǐn)?shù)據(jù)值。非易失性部件在損失電力時(shí),保持?jǐn)?shù)據(jù)。因此,存儲(chǔ)器720可包括例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、USB閃存驅(qū)動(dòng)器、通過讀卡器存取的存儲(chǔ)卡、通過軟盤驅(qū)動(dòng)器存取的軟盤、通過光盤驅(qū)動(dòng)器存取的光盤、通過適當(dāng)?shù)拇艓?qū)動(dòng)器存取的磁帶、和/或其他存儲(chǔ)器部件、或者這些存儲(chǔ)器部件中的任何兩個(gè)或多個(gè)部件的組合。此外,RAM可包括例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、或磁性隨機(jī)存取存儲(chǔ)器(MRAM)和其他這種裝置。ROM可包括例如可編程只讀存儲(chǔ)器(PR0M)、可擦除可編程只讀存儲(chǔ)器(EPR0M)、電可擦除可編程只讀存儲(chǔ)器(EEPR0M)、或其他類似的存儲(chǔ)器裝置。本文中所述的包括軟件或代碼的任何邏輯或應(yīng)用程序(包括CEC模擬模塊310、CEC轉(zhuǎn)換模塊315以及CEC轉(zhuǎn)發(fā)模塊320)可實(shí)現(xiàn)在任何非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中,由指令執(zhí)行系統(tǒng)使用或結(jié)合指令執(zhí)行系統(tǒng)使用,例如計(jì)算機(jī)系統(tǒng)或其他系統(tǒng)中的處理器710。在這個(gè)意義上來說,邏輯可包括例如包括可從計(jì)算機(jī)可讀介質(zhì)中獲取并且可由指令執(zhí)行系統(tǒng)執(zhí)行的指令和聲明的語句。在本公開的背景中,“計(jì)算機(jī)可讀介質(zhì)”可為任何介質(zhì),可包括、存儲(chǔ)或保持本文中所述的由指令執(zhí)行系統(tǒng)使用或結(jié)合指令執(zhí)行系統(tǒng)使用的邏輯或應(yīng)用程序。計(jì)算機(jī)可讀介質(zhì)可包括多個(gè)物理介質(zhì)中的任何一個(gè),例如磁性、光學(xué)或半導(dǎo)體介質(zhì)。合適的計(jì)算機(jī)可讀介質(zhì)更具體的實(shí)例包括但不限于磁帶、磁性軟盤、磁性硬盤驅(qū)動(dòng)器、存儲(chǔ)卡、固態(tài)驅(qū)動(dòng)器、USB閃存驅(qū)動(dòng)器、或光盤。同樣,計(jì)算機(jī)可讀介質(zhì)可為隨機(jī)存取存儲(chǔ)器(RAM),例如包括靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、或磁性隨機(jī)存取存儲(chǔ)器(MRAM)。此外,計(jì)算機(jī)可讀介質(zhì)可為只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PR0M)、可擦除可編程只讀存儲(chǔ)器(EPR0M)、電可擦除可編程只讀存儲(chǔ)器(EEPR0M)、或其他類型的存儲(chǔ)器裝置。雖然本文中所述的CEC模擬模塊310和CEC轉(zhuǎn)發(fā)模塊320以及其他各種系統(tǒng)可以上述通用處理器執(zhí)行的軟件或代碼實(shí)現(xiàn),但是作為一種替代,CEC模擬模塊310和CEC轉(zhuǎn)發(fā)模塊320以及其他各種系統(tǒng)也可以專用硬件或軟件/通用硬件和專用硬件的組合實(shí)現(xiàn)。如果以專用硬件實(shí)現(xiàn),那么均可實(shí)現(xiàn)為電路或狀態(tài)機(jī),該電路或狀態(tài)機(jī)使用多種技術(shù)中的任何一個(gè)或多種技術(shù)的組合。這些技術(shù)可包括但不限于離散邏輯、可編程邏輯裝置、應(yīng)用專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、片上系統(tǒng)(SoC)、封裝內(nèi)系統(tǒng)(SiP)、或具有用于在施加一個(gè)或多個(gè)數(shù)據(jù)信號(hào)時(shí)執(zhí)行各種邏輯功能的邏輯門的任何其他硬件裝置。本領(lǐng)域的技術(shù)人員通常非常了解這種技術(shù),因此,本文中不詳細(xì)描述這種技術(shù)。圖4、圖5和圖6的示圖示出了 CEC橋140的部分的實(shí)現(xiàn)方式的功能和操作。如果以軟件實(shí)現(xiàn),那么每個(gè)塊可表示代碼的模塊、區(qū)段或部分,該代碼包括程序指令,以實(shí)現(xiàn)特定的邏輯功能。程序指令可以源代碼或機(jī)器代碼的形式實(shí)現(xiàn),源代碼包括用編程語言編寫的人類可讀語句,機(jī)器代碼包括合適的執(zhí)行系統(tǒng)(如計(jì)算機(jī)系統(tǒng)或其他系統(tǒng)中的一個(gè)處理器710)可識(shí)別的數(shù)字指令。機(jī)器代碼可從源代碼等轉(zhuǎn)換而來。如果以硬件實(shí)現(xiàn),則每個(gè)塊可表示實(shí)現(xiàn)特定的邏輯功能的一個(gè)電路或多個(gè)互連電路。雖然圖4、圖5和圖6的示圖顯示了執(zhí)行的特定順序,但是要理解的是,執(zhí)行的順序可與描述的順序不同。例如,兩個(gè)以上塊的執(zhí)行順序相對(duì)于所顯示的順序可雜亂。同樣,可同時(shí)或部分同時(shí)執(zhí)行圖4、圖5和圖6的示圖中連續(xù)顯示的兩個(gè)以上塊。而且,在一些實(shí)施方式中,可略過或忽略圖4、圖5和圖6的示圖中所示的一個(gè)或多個(gè)塊。此外,可將任何數(shù)量的計(jì)數(shù)器、狀態(tài)變量、警告信號(hào)燈、或消息加入本文中所述的邏輯流程內(nèi),用于增強(qiáng)實(shí)用性、結(jié)算、性能測(cè)量或提供故障排除援助等。要理解的是,所有這種變化均在本公開的范圍內(nèi)。要理解的是,圖4、圖5和圖6的示圖僅僅提供多種不同的功能裝置的實(shí)例,這些功能裝置可用于實(shí)現(xiàn)本文中所述的CEC橋140部分的操作。作為替換,圖4、圖5和圖6的示圖可視為描述根據(jù)一個(gè)或多個(gè)實(shí)施方式在CEC橋140 (圖1)內(nèi)實(shí)現(xiàn)的方法步驟的實(shí)例。應(yīng)強(qiáng)調(diào)的是,本公開的上述實(shí)施方式僅僅為所提出的實(shí)施方式可能的實(shí)例,進(jìn)行闡述以清晰地理解本公開的原理。在大致不背離本公開的精神和原理的情況下,可對(duì)上述實(shí)施方式進(jìn)行多種變化和修改。所有這種修改和變化旨在在本文中包括在本公開的范圍內(nèi),并且受到所附權(quán)利要求的保護(hù)。
權(quán)利要求
1.一種裝置,包括:HDMI 接口 ; 網(wǎng)絡(luò)接口 ; 至少一個(gè)處理器;以及 能夠由所述至少一個(gè)處理器執(zhí)行的代碼,所述代碼包括: 模擬用于遠(yuǎn)程HDMI裝置集群中的任何一個(gè)遠(yuǎn)程HDMI裝置的CEC命令的邏輯,其中,所述遠(yuǎn)程HDMI裝置均不通過所述HDMI接口耦接到所述裝置。
2.根據(jù)權(quán)利要求1所述的裝置,所述代碼還包括: 通過所述網(wǎng)絡(luò)接口與遠(yuǎn)程CEC模擬裝置通信的邏輯,其中,所述遠(yuǎn)程HDMI裝置通過另一個(gè)HDMI接口耦接到所述遠(yuǎn)程CEC模擬裝置。
3.根據(jù)權(quán)利要求1 所述的裝置,所述代碼還包括: 接收用于所述遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的所述CEC命令的邏輯;以及 通過所述網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)所述CEC命令的邏輯。
4.根據(jù)權(quán)利要求1所述的裝置,所述代碼還包括: 通過非HDMI接口接收CEC模擬消息的邏輯,所述模擬消息包括對(duì)于通過所述HDMI接口耦接的所述遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的CEC邏輯地址分配, 其中,在接收到所述CEC邏輯地址分配之后,進(jìn)行模擬的所述邏輯開始模擬所述遠(yuǎn)程HDMI裝置中的所述一個(gè)遠(yuǎn)程HDMI裝置。
5.根據(jù)權(quán)利要求1所述的裝置,所述代碼還包括: 通過非HDMI接口接收CEC模擬消息的邏輯,所述模擬消息包括對(duì)于所述遠(yuǎn)程HDMI裝置中的一個(gè)遠(yuǎn)程HDMI裝置的CEC邏輯地址分配的請(qǐng)求; 確定所述CEC邏輯地址和通過HDMI接口耦接的本地HDMI裝置集群中的任何一個(gè)本地HDMI裝置之間是否存在沖突的邏輯; 其中,在確定不存在沖突之后,進(jìn)行模擬的所述邏輯開始模擬所述遠(yuǎn)程HDMI裝置中的所述一個(gè)遠(yuǎn)程HDMI裝置。
6.一種系統(tǒng),包括: 接收器側(cè)橋,包括第一 HDMI接口和第一網(wǎng)絡(luò)接口, 源側(cè)橋,包括第二 HDMI接口和第二網(wǎng)絡(luò)接口 ;以及 所述接收器側(cè)橋被配置為: 發(fā)現(xiàn)通過所述第一 HDMI接口耦接的第一 HDMI裝置集群中的任何一個(gè)第一 HDMI裝置,多個(gè)所述第一 HDMI裝置包括HDMI接收裝置;以及 通過第一網(wǎng)絡(luò)接口將對(duì)于每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的相應(yīng)的CEC邏輯地址分配通知給所述源側(cè)橋; 所述源側(cè)橋被配置為: 發(fā)現(xiàn)通過所述第二 HDMI接口耦接的第二 HDMI裝置集群中的任何一個(gè)第二 HDMI裝置;以及 通過所述第二網(wǎng)絡(luò)接口并且響應(yīng)于從所述接收器側(cè)橋所接收的通知,從所述接收器側(cè)橋請(qǐng)求對(duì)于每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC邏輯地址分配。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),所述接收器側(cè)橋進(jìn)一步被配置為:響應(yīng)于來自所述源側(cè)橋的所述請(qǐng)求,為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置分配CEC邏輯地址;以及 通過為每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置所分配的CEC邏輯地址的表示,應(yīng)答來自所述源側(cè)橋的所述請(qǐng)求。
8.一種方法,包括以下步驟: 接收器側(cè)橋發(fā)現(xiàn)通過第一 HDMI接口耦接到所述接收器側(cè)橋的第一 HDMI裝置集群中的任何一個(gè)第一 HDMI裝置,多個(gè)所述第一 HDMI裝置包括HDMI接收裝置; 源側(cè)橋發(fā)現(xiàn)通過第二 HDMI接口耦接到所述源側(cè)橋的第二 HDMI裝置集群中的任何一個(gè)第二 HDMI裝置; 所述接收器側(cè)橋通過非HDMI網(wǎng)絡(luò)將對(duì)于每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的相應(yīng)的CEC邏輯地址分配通知給所述源側(cè)橋;以及 所述源側(cè)橋通過所述非HDMI網(wǎng)絡(luò)并且響應(yīng)于從所述接收器側(cè)橋所接收的通知,從所述接收器側(cè)橋請(qǐng)求對(duì)于每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC邏輯地址分配。
9.根據(jù)權(quán)利要求8所述的方法,還包括以下步驟: 所述接收器側(cè)橋模擬每個(gè)所發(fā)現(xiàn)的第二 HDMI裝置的CEC行為。
10.根據(jù)權(quán)利要求8所述的方法,還包括以下步驟: 所述源側(cè)橋模擬每個(gè)所發(fā)現(xiàn)的第一 HDMI裝置的CEC行為。
全文摘要
本發(fā)明涉及通過消費(fèi)電子控制協(xié)議的智能化模擬控制HDMI裝置,其中公開了消費(fèi)電子控制(CEC)橋的各種實(shí)施方式。在一個(gè)實(shí)施方式中,CEC橋包括HDMI接口、網(wǎng)絡(luò)接口、處理器以及處理器可執(zhí)行的代碼。該代碼包括模擬用于遠(yuǎn)程HDMI裝置集群中的任何一個(gè)遠(yuǎn)程HDMI裝置的CEC命令的邏輯,其中,遠(yuǎn)程HDMI裝置均不通過HDMI接口耦接到該裝置。
文檔編號(hào)H04N21/64GK103188472SQ20121053392
公開日2013年7月3日 申請(qǐng)日期2012年12月11日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者盧柏基, 張健 申請(qǐng)人:美國(guó)博通公司