IT66021FN 寄存器配置
IT66021FN 寄存器配置
HDMI 高清多媒体接口
HPD HDMI热插拔事件到HDMI源以进行检测
存储区共有256个以上的寄存器共享I2C地址0x90,因此子地址0x0F [1:0]中的寄存器指示存储区,其中位为“ 00”,则寄存器存储区切换为存储区0。如果reg0F [1:0]为'01',则将寄存器组切换为bank 1(该寄存器用reg1XX表示),如果reg0F [1:0]为'10',则将寄存器组切换为bank 2,bank中的寄存器表示为reg2XX。
RegXX组0中I2C地址0x90的子地址0xXX的寄存器。
Reg1XX组1中I2C地址0x90的子地址0xXX的寄存器。
Reg2XX组2中I2C地址0x90的子地址0xXX的寄存器。
RINGyy I2C地址0xE0中的Ring寄存器(可由Reg34值修改)子地址为0xyy。
CECmm I2C地址0xC0中的CEC寄存器(可由Reg86值修改)子地址为0xmm。
EDIDnn EDID寄存器位于I2C地址0xA8(可由Reg87修改值),其子地址为0xnn
Tx HDMI发射器
Rx HDMI接收器
数据包HDMI数据岛时段中携带的数据包
信息帧具有定义的信息帧格式的HDMI数据包
CEA861B / CEA861D / CEA861E
AVMute HDMI的通用控制包中定义的控制位状态。
当AVMute设置为“ 1”时,HDMI Rx应该使视频和音频输出静音,否则,如果AVMute清除为“ 1”,则应该存在视频和音频。
一般说明
IT66021是一个信号端口HDMI 1.4接收器,它与HDMI 1.4a,HDMI 1.4a 3D和HDCP 1.4完全兼容,并向后兼容DVI 1.0规格。带有深层的IT66021色彩功能(最高36位)可确保可靠接收高质量的未压缩视频内容,以及数字电视和投影仪中最新的未压缩和压缩数字音频内容,例如DTS-HD和Dolby TrueHD。 IT66021还支持所有符合HDMI 1.4a 3D规范的主要3D格式。
除了支持各种视频输出格式外,IT66021还接收并提供2个通道的I2S数字音频输出,采样率高达192kHz,采样大小高达24位,
有助于直接连接到行业标准的低成本音频DAC。此外,还提供了一个S / PDIF输出,以支持高达192kHz帧频的压缩音频。
IT66021还在S / PDIF输出端口中提供了高比特率(HBR)音频。 S / PDIF接口支持最高的HBR帧速率,最高可达768kHz。
每个IT66021都预先编程了唯一的HDCP**,符合HDCP 1.4标准,从而可以安全地传输高清内容。 IT66021的用户无需购买任何HDCP**或ROM。
IT66021的初始部分可以分为四个部分。
1.到IT66021的初始HDMI / RING配置寄存器。
2.到IT66021的初始RING振荡器控制寄存器。
3.到IT66021的初始CEC功能寄存器。 –(取决于客户是否要求CEC功能。)
4.到IT66021的初始EDID RAM寄存器。 –(取决于客户是否要求EDID RAM功能。)
IT66021中的寄存器由I2C协议通过PCSDA(pin24)和PCSCL(pin23)引脚控制,主I2C地址由PCADR(引脚87)使用低输入,为0x90,其他主I2C地址为0x92。
RING寄存器的I2C地址在HDMI寄存器(I2C地址0x90 / 0x92部分)中配置为偏移0x34,默认地址为0xC0。 要启用对RING寄存器的访问,HDMI Reg34 [0]应设置为“ 1”。 在我们提供的固件中,我们通常将其配置为0xE0。
CEC寄存器的I2C地址在Reg87中配置,默认值为0xC8,CEC寄存器访问的启用位为Reg86 [0]。
内部EDID RAM I2C地址在Reg87中配置,默认值为0xA8。 要启用内部EDID RAMA访问,应断开外部EDID ROM DDC总线,然后 将EDID从地址配置为0xA0 并 将Reg87 [0]设置为“ 1”以启用它。
RING 100微秒计时器校准
IT66021具有内部环形振荡器,需要实时校准以将所有时序定义协议调整为CEC和RING CBUS通信。
对于RING CBUS唤醒过程,IT66021需要RING寄存器中指示的专用100μs计时器:
上面寄存器中的值应由IT66021的内部环形振荡器来参考,因此需要一个实际的时间周期来校准RING02 / RING03寄存器中的周期。 程序是
描述如下:
获取R100msTimeCnt(RING14 [7:0] | RING13 [7:0] | RING12 [7:0])
1. RING01←0x41
2.延迟100毫秒
3. RING01←0x40
R100msTimeCnt = RING14 | RING13 | RING12
为了防止延迟误差范围,请考虑几次平均值。
OSCCLK = R100msTimeCnt×10(以Hz为单位)
oscdiv
1. oscdiv =(int)(R100msTimeCnt + 500000)/ 1000000
例如:如果OCLK = 39MHz,R100msTimeCnt = 3.9MHz,oscdiv = R100msTimeCnt = 3,但4为
更好,因此使用(39 + 5)/ 10 = 4
2. RING01 [6:4] = oscdiv
设置参考时钟,取决于功耗和速度设置
1. RegRCLKFreqSel ='01'OSCCLK / 4
2. RCLK = OSCCLK / 4
将RCLK参数设置为RING02 / RING03:
1. Reg10usTimerInt = int(((RCLK / 1000)/ 100)= RING03 [8] | RING02 [7:0]
2. Reg10usTimerFlt = int(128 *(int(RCLK / 1000)%100)/ 100)= RING03 [6:0];
3.计算10 us定时计数后,将它们写入RING03和RING02。
1.使用HDMI Reg50 [4]反转输出DCLK相位。
每个客户都必须测试HDMI Reg50 [4] [1] [0] = 000〜111,以验证HDMI Reg50设置。
调整Reg50 [4] [1] [0]的值,然后使用后端设备检查是否获得稳定的视频信号。 如果Reg50 [4] [1] [0]有很多可以匹配后端设备要求的值,则选择Reg50 [4] [1] [0]的中间值作为最佳TTL输出相位。
ITE建议将reg50 [4]设置为“ 1”,以获得更好的时钟和数据触发配置。 对于每种工具,客户应在跟踪结束时验证时钟和数据边沿相位,以输入下游标量,从而为客户实现设置最佳拟合值。
初始HDMI寄存器设置
I2C地址:0x90
下表是每个步骤的设置顺序。 位清除掩码表示每个步骤要更新的位,而位设置值表示每个步骤的要更新的部分。
...
初始化 RING 寄存器设置 0xe0
第3章EDID RAM
IT66021具有256个字节的RAM以支持EDID功能。 HDMI Source设备只能通过HDMI DDC总线从IT66021 EDID RAM中读取EDID数据,以获取HDMI Sink设备的视频和音频功能。
EDID RAM配置
要访问IT66021的EDID RAM,需要配置HDMI Reg87和HDMI RegC0。
将HDMI RegC0 = 0x40设置为启用IT66021的内部EDID阴影。
将HDMI RegC0 = 0x07设置为禁用IT66021的内部EDID阴影。
EDID RAM更新
通过寄存器0x87配置EDID RAM之后,我们可以通过I2C总线将客户的EDID数据更新到EDID RAM。最后,我们需要在IT66021寄存器上设置EDID物理地址和EDID校验和,以识别输入端口的EDID。
例如,以下是EDID示例,而VSDB(请参见高清多媒体接口规范版本1.4b,8.3.2 HDMI Vendor-Specific Data Block,p150)的偏移量位于0xA0中,而物理地址位于以下位置EDID样本的偏移量为0xA4、0xA5。然后在RegC2,RegC3,RegC8,RegC9中分配每个端口的物理地址,并更新每个端口的块0和块1的校验和,然后将在同一内部EDID RAM中表示不同的EDID。
About the EDID RAM relate function. Please refer EDID Function Call on the IT66021 reference code.
//About the EDID RAM relate function. Please refer EDID Function Call on the IT66021 //reference code.
//As below function:
static void EnableEDIDupdata(void);
static void DisableEDIDupdata(void);
static void EDIDRAMInitial(unsigned char *pIT66021EDID);
static unsigned char Find_Phyaddress_Location(unsigned char *pEDID,unsigned char
Block_Number);
static void UpdateEDIDReg(unsigned char u8_VSDB_Addr, unsigned char CEC_AB, unsigned char
CEC_CD, unsigned char Block1_CheckSum);
第4章视频输出
IT66021上只有一个HDMI输入端口。 它可以接收HDMI / DVI输入信号。 并输出具有多种格式的24位TTL,本章介绍如何配置视频路径和视频输出。
视频输出流
对于HDMI / DVI输入,IT66021在获得有效的视频输入后才输出视频。 以下步骤用于获取有效的视频输出:
1. IT66021应在相应的HDMI端口中检测到5V
2. IT66021获得有效的SCDT(存在SCDT状态位且不存在SCDT关闭中断)。
3.配置IT66021的视频路径。
4.关闭视频I / O和视频数据三态。
IT66021必须在HDMI Reg51 [0]上将其设置为“ 0”。
输入的视频状态在Reg0A〜Reg0C中表示如下:
要检查Reg0A [7]是否为1表示断言视频稳定,请在视频输入稳定后配置输出视频。
视频输出配置
视频输出信号类型由Reg51,Reg52和Reg65配置,如下表:
推荐阅读
-
如何在CLASSPATH中配置MYSQL数据库驱动
-
thinkPHP学习笔记之安装配置篇_php实例
-
Sublime里直接运行PHP配置方法_php实例
-
Apache2.4+php5.5+mysql5.5环境配置问题,phpinfo中不显示mysql扩展项
-
hadoop 2.3.0 HA 配置出现的一个超低级问题
-
itop 配置文件信息 config-itop.php
-
MySQL5.6 Replication主从复制(读写分离) 配置完整版
-
修改apache配置文件去除thinkphp url中的index.php(转)
-
phpmyadmin3 安装配置图解教程_PHP教程
-
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境,php5.2.17mysql5.5