UCPS协议与HDMI的验证系统设计与实现

发布时间:2012-3-16 15:04    发布者:eechina
关键词: UCPS , 数字接口
作者:刘玉兵,官志勇,汤晓岚,赵懿海,叶宏伟

上海华虹集成电路有限责任公司

中国首部具有自主知识产权的数字接口内容保护行业标准——《数字接口内容保护系统技术规范》(简称UCPS标准),已由国家工业和信息化部颁布,并于2010年3月1日正式实施。UCPS标准是中国消费电子行业第一个自主知识产权的内容保护标准,也是第一个以企业为主导的自主技术标准。上海华虹集成电路有限公司(简称华虹设计)是UCPS论坛联盟成员和联盟指定的芯片设计单位,本文介绍该公司开发的全球首款支持UCPS标准、符合HDMI1.3标准的发送器SHC3201,并探讨UCPS协议与HDMI的验证系统的设计与实现。

由于目前还没有带UCPS功能的HDMI接收器,为了验证UCPS标准的可行性,同时验证SHC3201的UCPS功能,我们通过一种特殊的方法来完成这个实验。在发送端采用SHC3201作为UCPS发送器。而在接收端,采用一个标准的不带UCPS功能的HDMI接收器和一块FPGA板和一块SHC3201发送器共同完成。其中标准的HDMI接收器用来接收HDMI线上的数据,将HDMI线上高速的TMDS差分信号转换为普通视频数据;FPGA板主要实现UCPS实时解密,同时在FPGA内部有一个MCU,用来完成与UCPS设备认证和消息交互;SHC3201用来发送视频数据到DTV显示。同时在发送端和接收端都有一个MCU作为主控,用来控制整个系统的正常工作。

UCPS工作原理

识别管理单元(简称为IMU)为一个独立的软件或者是硬件模块,承担内部认证、IMU间双向认证、信息收集以及系统完整性维护的功能。IMU与HDMI硬件接口通过I2C通道连接。发送端IMU与接收端IMU通过HDMI接口的DDC通道进行数据交互。IMU模块由UCPS组织统一开发后提供给接口芯片厂商。

图1所示,系统上电后,IMU首先与设备接口进行认证,之后是设备接口间的认证,最后是IMU的之间的认证。以上三种认证通过后,发送端开始对被保护的内容进行加密并发送,而接收端则开始接收并解密还原被保护内容。

1.JPG
图1:UCPS内容流向示意图。

图2是UCPS在HDMI系统中的具体通信示意图。IMU与设备间的通信认证是通过I2C接口,设备间的通信认证是通过HDMI接口上DDC总线完成,两个IMU的通信认证则需要通过I2C和DDC两个接口完成。

2.JPG
图2:UCPS HDMI通信架构示意图。

UCPS协议主要包括以下内容:

1) 设备认证:包括IMU与设备接口间的认证,设备接口间的认证和IMU之间的认证。

2) 协议消息交互机制:整个设备的认证,通过一套完整的消息机制完成。

3) 密钥机制和安全传输:包括密钥激活和对受保护内容加密传输。

4) 系统信息收集和完整性维护:包括公钥吊销,IMU有效性验证与更新。

2SHC3201芯片功能介绍:

SHC3201是上海华虹设计公司开发的全球首款支持UCPS标准、符合HDMI1.3标准的发送器。SHC3201HDMI发送器主要功能特征包括

1) 支持UCPS1.0和HDCP1.2;

2) 225MHzHDMIv1.3支持36bits深色(DeepColor)应用;

3) 在80MHz时功耗仅100mW左右,非常适用便携式多媒体终端;

4) 待机功耗极低(小于30μA);

5) 显示数据通道(DDC)支持;

6) 支持S/PDIF和8通道I2S音频记录格式并且以192kHz速率发送立体声或7.1通道环绕声。

UCPS验证具体实现方法

图3所示,发送端系统工作方法:DVD的视频数据经HDMI线到达HDMI接收器(无UCPS功能的HDMI接收器),之后经数据线到达SHC3201。SHC3201在通过UCPS验证后,将加密视频数据,并将加密后的数据经过HDMI线发送出去。

3.JPG
图3:UCSP验证系统。

接收端系统工作方法:由于现还没有UCPS的接收器,所以采用一种组合方式来实现UCPS接收功能。首先由一个HDMI接收器(无UCPS功能的HDMI接收器)接收SHC3201发送过来的加密视频数据,再将视频数据送入FPGA中,FPGA板只做UCPS解密操作,FPGA解密后将视频数据送入SHC3201(此处shc3201只是一个HDMI发送器,无UCPS功能)。SHC3201再将数据通过HDMI线送到DTV。整个系统工作结束。

如图3所示,在进行设备认证的过程中,在发送端,所有的UCPS认证工作,加密的启动,都是由SHC3201内部的MCU发起,固件直接固化到SHC3201内部ROM中。在接收系统中的FPGA板上也有一个MCU。在这两个MCU将用来完成UCPS的认证消息交互工作,加解密的控制。另外在发送系统和接收系统也各有一个MCU,用来作为整个系统的主控,包括HDMI接收器和SHC3201的初始化,驱动HDMI接收器和SHC3201正常工作。需要说明的是,在此套方案中,发送端的SHC3201内部MCU通过DDC直接与接收端的FPGA板内的MCU通信。在接收端FPGA板上的RAM挂接在DDC总线上,发送端SHC3201内部MCU通过DDC访问它,而接收端FPGA中的MCU通过并行总线直接访问它。在此RAM中按照UCPS协议标准定如下寄存器。

在接收端FPGA板上增加两个寄存器,可命名为:HDMI_TX_STATUS和HDMI_RX_STATUS。增加一个数据缓存器,缓存器大小为32字节。增加的寄存器和缓存器都要挂接在DDC总线上,让发射端SHC3201可以通过DDC进行读写操作,同时接收端FPGA内部的MCU也可读写即可。

4.JPG
图4

Bit0:HDMI发射端通过DDC读完数据标志

Bit1:HDMI发射端通过DDC写完数据标志

Bit2:HDMI忙/闲标识HDMI发射端是否正在写DDC总线

上图在接收端定义寄存器和通信标志位,发射端可读写,接收端只能读

5.JPG
图5

Bit0:HDMI接收端通过DDC读完数据标志

Bit1:HDMI接收端通过DDC写完数据标志

Bit2:HDMI忙/闲标识HDMI接收端是否正在写数据到缓存器

上图在接收端定义寄存器和通信标志位,接收端可读写,发射端只能读。

HDMI发射端SHC3201固件设计方法

1)发射端主控器通过DDC写接收端HDMI_TX_STATUS为0x1;

2)发射端主控器通过DDC轮询接收端的两个标志寄存器;

3)如果发射端要发送数据或消息到接收端,先查看HDMI_RX_STATUS为0x1,则开始准备发送。否则到第八步;

4)发射端写HDMI_TX_STATUS为0x04;

5)发射端将数据或消息通过DDC写入接收端的缓存器中;

6)发射端写HDMI_TX_STATUS为0x02;

7)发射端通过DDC开始轮询HDMI_RX_STATUS值,如为0x1,则表示接收端已将数据取出,回到第1步;

8)发射端接收数据,当发现HDMI_RX_STATUS值为0x02时,表示HDMI接收端已将数据准备好了,发射端写HDMI_TX_STATUS为0X04,并开始通过DDC读取接收端缓存器中的数据。返回第一步。

6HDMI接收端软件设计方法:

1)接收端写HDMI_RX_STATUS为0x1;

2)接收端主控器通过轮询接收端的两个标志寄存器;

3)如果接收端要发送数据或消息到发射端,先查看HDMI_TX_STATUS的值为0x1时,则开始准备发送;否则到第八步;

4)接收端写HDMI_RX_STATUS为0x04;

5)接收端将数据或消息写入接收端的缓存器中;

6)接收端写HDMI_RX_STATUS的值为0x02;

7)接收端开始轮询HDMI_TX_STATUS值,如为1,则表示发射端已将数据取出,回到第一步;

8)接收端接收数据,当发现HDMI_TX_STATUS值为0x2时,表示HDMI发射端已经通过DDC把数据写入了接收端的缓存器。接收端开始读取缓存器的数据,读完后返回第一步。

本文小结

SHC3201是第一颗带有UCPS功能的HDMI发送器,因为现没有相应的带有UCPS功能的HDMI接收器,为了验证和测试UCPS完整功能,我们在实验室采用了上述方法。通过这个方法,在没有带UCPS功能的HDMI接收器的环境下,我们成功地实现了UCPS协议验证。可以实现UCPS的设备认证,UCSP加密和解密的功能测试。并作为一个完成系统通过相关部门验收。在此系统中,我们通过软硬的方法,成功验证了UCPS协议所需要的设备认证功能,发送与接收通信机制功能,UCPS实时加密和实时解密功能。同时因为现相关标准组织还没有开发出相应的IMU模块,所以与IMU相关的认证功能暂时没有验证。

另外要说明的是在这套验证系统中,接收端用的是一个标准的HDMI接收器作为数据转换,系统无法实时传送UCPS加密信令(HDMI接收器不能识别此信令)。为了避免在加密状态发生变化时,HDMI发送端和HDMI接收端不同步,我们定义在消隐期间,不发送任何有效数据,包括音频或者视频。而音频数据是穿插在消隐期间发送的,目前这种方法,不能传音频数据。发送端和接收端的加解密状态同步,双方是通过DDC通道,通过传递消息来完成的。  
本文地址:https://www.eechina.com/thread-87386-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Dev Tool Bits——使用MPLAB® Discover浏览资源
  • Dev Tool Bits——使用条件软件断点宏来节省时间和空间
  • Dev Tool Bits——使用DVRT协议查看项目中的数据
  • Dev Tool Bits——使用MPLAB® Data Visualizer进行功率监视
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表