
本文主要针关于龙迅半导体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