欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IT66021FN 寄存器配置

程序员文章站 2022-06-08 19:11:57
...

                                                                                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”以启用它。IT66021FN 寄存器配置

RING 100微秒计时器校准
IT66021具有内部环形振荡器,需要实时校准以将所有时序定义协议调整为CEC和RING CBUS通信
对于RING CBUS唤醒过程,IT66021需要RING寄存器中指示的专用100μs计时器IT66021FN 寄存器配置

上面寄存器中的值应由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

设置参考时钟,取决于功耗和速度设置IT66021FN 寄存器配置

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。

IT66021FN 寄存器配置

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”,以获得更好的时钟和数据触发配置。 对于每种工具,客户应在跟踪结束时验证时钟和数据边沿相位,以输入下游标量,从而为客户实现设置最佳拟合值。

IT66021FN 寄存器配置

初始HDMI寄存器设置
I2C地址:0x90
下表是每个步骤的设置顺序。 位清除掩码表示每个步骤要更新的位,而位设置值表示每个步骤的要更新的部分。

IT66021FN 寄存器配置

...

初始化 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中表示如下:IT66021FN 寄存器配置

要检查Reg0A [7]是否为1表示断言视频稳定,请在视频输入稳定后配置输出视频。

 

视频输出配置
视频输出信号类型由Reg51,Reg52和Reg65配置,如下表:IT66021FN 寄存器配置IT66021FN 寄存器配置

 

相关标签: 66021寄存器