新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > UCPS協(xié)議與HDMI的驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

UCPS協(xié)議與HDMI的驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2013-01-15 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/185486.htm

  如圖3所示,在進(jìn)行設(shè)備認(rèn)證的過程中,在發(fā)送端,所有的認(rèn)證工作,加密的啟動(dòng),都是由SHC3201內(nèi)部的MCU發(fā)起,固件直接固化到SHC3201內(nèi)部ROM中。在接收系統(tǒng)中的FPGA板上也有一個(gè)MCU.在這兩個(gè)MCU將用來完成的認(rèn)證消息交互工作,加解密的控制。另外在發(fā)送系統(tǒng)和接收系統(tǒng)也各有一個(gè)MCU,用來作為整個(gè)系統(tǒng)的主控,包括接收器和SHC3201的初始化,驅(qū)動(dòng)接收器和SHC3201正常工作。需要說明的是,在此套方案中,發(fā)送端的SHC3201內(nèi)部MCU通過DDC直接與接收端的FPGA板內(nèi)的MCU通信。在接收端FPGA板上的RAM掛接在DDC總線上,發(fā)送端SHC3201內(nèi)部MCU通過DDC訪問它,而接收端FPGA中的MCU通過并行總線直接訪問它。在此RAM中按照標(biāo)準(zhǔn)定如下寄存器。

  在接收端FPGA板上增加兩個(gè)寄存器,可命名為:_TX_STATUS和HDMI_RX_STATUS.增加一個(gè)數(shù)據(jù)緩存器,緩存器大小為32字節(jié)。增加的寄存器和緩存器都要掛接在DDC總線上,讓發(fā)射端SHC3201可以通過DDC進(jìn)行讀寫操作,同時(shí)接收端FPGA內(nèi)部的MCU也可讀寫即可。

接收端FPGA板上增加兩個(gè)寄存器

  圖4

  Bit0:HDMI發(fā)射端通過DDC讀完數(shù)據(jù)標(biāo)志

  Bit1:HDMI發(fā)射端通過DDC寫完數(shù)據(jù)標(biāo)志

  Bit2:HDMI忙/閑標(biāo)識(shí)HDMI發(fā)射端是否正在寫DDC總線

  上圖在接收端定義寄存器和通信標(biāo)志位,發(fā)射端可讀寫,接收端只能讀

在接收端定義寄存器和通信標(biāo)志位,接收端可讀寫,發(fā)射端只能讀

  圖5

  Bit0:HDMI接收端通過DDC讀完數(shù)據(jù)標(biāo)志

  Bit1:HDMI接收端通過DDC寫完數(shù)據(jù)標(biāo)志

  Bit2:HDMI忙/閑標(biāo)識(shí)HDMI接收端是否正在寫數(shù)據(jù)到緩存器

  上圖在接收端定義寄存器和通信標(biāo)志位,接收端可讀寫,發(fā)射端只能讀。

  HDMI發(fā)射端SHC3201固件設(shè)計(jì)方法

  1)發(fā)射端主控器通過DDC寫接收端HDMI_TX_STATUS為0x1;

  2)發(fā)射端主控器通過DDC輪詢接收端的兩個(gè)標(biāo)志寄存器;

  3)如果發(fā)射端要發(fā)送數(shù)據(jù)或消息到接收端,先查看HDMI_RX_STATUS為0x1,則開始準(zhǔn)備發(fā)送。否則到第八步;

  4)發(fā)射端寫HDMI_TX_STATUS為0x04;

  5)發(fā)射端將數(shù)據(jù)或消息通過DDC寫入接收端的緩存器中;

  6)發(fā)射端寫HDMI_TX_STATUS為0x02;

  7)發(fā)射端通過DDC開始輪詢HDMI_RX_STATUS值,如為0x1,則表示接收端已將數(shù)據(jù)取出,回到第1步;

  8)發(fā)射端接收數(shù)據(jù),當(dāng)發(fā)現(xiàn)HDMI_RX_STATUS值為0x02時(shí),表示HDMI接收端已將數(shù)據(jù)準(zhǔn)備好了,發(fā)射端寫HDMI_TX_STATUS為0X04,并開始通過DDC讀取接收端緩存器中的數(shù)據(jù)。返回第一步。

  6 HDMI接收端軟件設(shè)計(jì)方法:

  1)接收端寫HDMI_RX_STATUS為0x1;

  2)接收端主控器通過輪詢接收端的兩個(gè)標(biāo)志寄存器;

  3)如果接收端要發(fā)送數(shù)據(jù)或消息到發(fā)射端,先查看HDMI_TX_STATUS的值為0x1時(shí),則開始準(zhǔn)備發(fā)送;否則到第八步;

  4)接收端寫HDMI_RX_STATUS為0x04;

  5)接收端將數(shù)據(jù)或消息寫入接收端的緩存器中;

  6)接收端寫HDMI_RX_STATUS的值為0x02;

  7)接收端開始輪詢HDMI_TX_STATUS值,如為1,則表示發(fā)射端已將數(shù)據(jù)取出,回到第一步;

  8)接收端接收數(shù)據(jù),當(dāng)發(fā)現(xiàn)HDMI_TX_STATUS值為0x2時(shí),表示HDMI發(fā)射端已經(jīng)通過DDC把數(shù)據(jù)寫入了接收端的緩存器。接收端開始讀取緩存器的數(shù)據(jù),讀完后返回第一步。

  本文小結(jié)

  SHC3201是第一顆帶有UCPS功能的HDMI發(fā)送器,因?yàn)楝F(xiàn)沒有相應(yīng)的帶有UCPS功能的HDMI接收器,為了驗(yàn)證和測(cè)試UCPS完整功能,我們?cè)趯?shí)驗(yàn)室采用了上述方法。通過這個(gè)方法,在沒有帶UCPS功能的HDMI接收器的環(huán)境下,我們成功地實(shí)現(xiàn)了UCPS驗(yàn)證??梢詫?shí)現(xiàn)UCPS的設(shè)備認(rèn)證,UCSP加密和解密的功能測(cè)試。并作為一個(gè)完成系統(tǒng)通過相關(guān)部門驗(yàn)收。在此系統(tǒng)中,我們通過軟硬的方法,成功驗(yàn)證了UCPS所需要的設(shè)備認(rèn)證功能,發(fā)送與接收通信機(jī)制功能,UCPS實(shí)時(shí)加密和實(shí)時(shí)解密功能。同時(shí)因?yàn)楝F(xiàn)相關(guān)標(biāo)準(zhǔn)組織還沒有開發(fā)出相應(yīng)的IMU模塊,所以與IMU相關(guān)的認(rèn)證功能暫時(shí)沒有驗(yàn)證。

  另外要說明的是在這套中,接收端用的是一個(gè)標(biāo)準(zhǔn)的HDMI接收器作為數(shù)據(jù)轉(zhuǎn)換,系統(tǒng)無法實(shí)時(shí)傳送UCPS加密信令(HDMI接收器不能識(shí)別此信令)。為了避免在加密狀態(tài)發(fā)生變化時(shí),HDMI發(fā)送端和HDMI接收端不同步,我們定義在消隱期間,不發(fā)送任何有效數(shù)據(jù),包括音頻或者視頻。而音頻數(shù)據(jù)是穿插在消隱期間發(fā)送的,目前這種方法,不能傳音頻數(shù)據(jù)。發(fā)送端和接收端的加解密狀態(tài)同步,雙方是通過DDC通道,通過傳遞消息來完成的。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉