
本文重要针对于龙迅半导体LT9611UXC,mipi转HDMI桥接芯片的在调试过程中的前期领导,蕴含必要筹备的工具与debug的一些单一注明。
1. 芯片简介LT9611UXC 是 MIPI DSI/CSI 转 HDMI2.0 的桥接芯片,支持 I2S/SPDIF 的音频输入。芯片内置 OCM,烧录固件之后沉新上电/复位即可工作。
LT9611UXC 固件升级有两种方式,一是通过 PC 端上位机工具,共同 CH341A USB 转 I2C 的转换器实现烧录;二是由表部主控将固件通过 I2C 接口烧入芯片。第一 种方式合用于调试阶段,必要将 USB 转 I2C 工具表挂到芯片的 I2C 接口上,若是必要烧录的数量较多,操作起来比力麻烦;第二种方式合用于量产阶段,由主控直接将固件烧入芯片,这样批量烧录和升级都比力方便。
1) 上位机工具升级硬件工具:CH341A USB 转 I2C 转接板。
上位机软件工具:Upgrade_Flash_For_Application.exe
升级工具与 LT9611UXC 的衔接图如下:
筹备工具:
(USB转I2C调试工具)
(上位机升级工具的界面)
升级步骤:a) 用 USB 转 I2C 的转接板将 PC 和板子上的 LT2611UXC 芯片的 I2C 接口衔接起来;
b) 将 LT9611UXC 的板卡上电;
c) 打开 Upgrade_Flash_For_Application 工具;
d) 在”Chip”的下拉菜单当选择”LT9611UX/UXC”,会自动检测出设备地址,显示在”Device Addr”处;
e) 点击”Data File”按钮选择待烧录的固件;
f) 点击”Prog”按钮,期待烧录进度条实现;
g) 点击”Read”按钮,读出部门字节验证是否烧录成功。
USB 转 I2C 转接板是通用的工具,若是没有的话能够找我司采办或者直接从网上采办。
表部主控能够通过 I2C 接口,将固件写入到芯片内部 flash 中。我们会提供升级的参考代码,只必要将参考代码一向到主控平台即可。关因而否必要升级的逻辑判断,能够通过版本号来节造,也能够强造升级,由客户凭据利用决定。
当前运行的固件版本号可由寄放器 0xB020/0xB021 读出,如版本 V1.5.1,寄放器 0xB020 中是子版本 0x01,0xB021 中的值为 0x15。
我们提供的 LT9611UXC 的固件会在文件名中表明版本号,如LT9611UXC_V1.5.2.hex,能够用固件名称中的版本号与当前运行的固件的版本号进行比力,判断是否必要升级。
LT9611UXC 内部的寄放器可通过 I2C 接口读写,I2C 的设备地址是 8bit 的 0x56 和0x5E,可通过地址选择脚 I2C_ADDR 选择,拉高时地址是 0x5E,拉低时地址是0x56。若是必要 7bit 地址的话,必要将地址右移一个 bit。芯片内部的寄放器大幼是 8bit 的,地址长度是 16bit 的,由 Bank 地址和偏移地址组成。例如寄放器 0x8101,Bank 地址是 0x81,偏移地址是 0x01。若是要读取
寄放器 0x8101 的值,就要先切换 Bank 地址,再读取偏移地址的值。在通过 I2C 读写 LT9611UXC 内部寄放器前,必要向寄放器 0x80ee 先写 0x01,将OCM 法式停下来,在操作之后必要将寄放器 0x80ee 写 0x00,让 OCM 法式持续运行。
读取寄放器 0x8101 的步骤如下:
i2c_write(0xff, 0x80) //switch to bank address 0x80
i2c_write(0xee, 0x01) //write 0x01 to 0x80ee(Stop firmware in OCM)
i2c_write(0xff, 0x81) //Switch the bank addr to 0x81
value_0x8101 = i2c_read(0x01) //Read the value from offset addr 0x01
i2c_write(0xff, 0x80) //switch to bank address 0x80
i2c_write(0xee, 0x00) //write 0x01 to 0x80ee(Start firmware in OCM)
下面是读取 0x8101 寄放器时,抓取的 I2C 时序图。
lt9611uxc 衔接框图
推荐的衔接框图如上,Soc与LT9611UXC 之间通过 I2C 和 INT_GPIO5 交互。I2C 是用于烧录固件和读写芯片内部寄放器使用;INT_GPIO5 用于上报一些中断事务给Soc。
LT9611UXC 的 GPIO5 配置为中断引脚,默认上电为高电平。当芯片有事务要通知SOC 时,会通过 GPIO5 触发一个 5ms 左右的低电平脉冲中断,而后再维持高电平?膳渲玫闹卸鲜挛裨毯酒寥∠掠 EDID、HPD 状态变动、CEC 数据包接管等。SOC 检测到中断之后先通过 I2C 读取中断状态寄放器 0xB022,判断中断事务,而后将该中断状态清掉,再凭据必要读取对应的状态寄放器。
2) 调试信息LT9611UXC 在正常运行过程中,会通过 UART 输出 Log 信号。固件中默认将 GPIO4配置为 Uart_TX,波特率 62500。建议将 GPIO4 留出测试点。Log 信息中会输出以下信息。
a. 固件的版本号;
b. MIPI 接管端模式配置;
c. MIPI 输入选择的 port 和 lane 数;
d. MIPI 的 byteclk;
e. MIPI 传输的数据体式和分辨率;
f. HPD 的状态;
g. 读取到下游的 EDID;
h. Avi 包内容;
若是芯片的 Uart 不方便接出来,也能够通过 I2C 读取芯片内部状态寄放器来判断当前芯片工作状态。
LT9611UXC为一颗HDMI 2.0 Transmitter,支持2-Port MIPI CSI/DSI转HDMI2.0,目前已在各类数字播放器中大量使用。更多的职能配置技术参数,我们将再下一篇幅为各人做介绍。
关注微信号,惊喜等你来
x