赛灵思
直播中

蒋思颖

7年用户 205经验值
私信 关注
[问答]

ML505视频I2C总线无法与Chrontel CH7301C通信

我是ML505卡和I2C总线的新用户。
我在ML505的Virtex 5FPGA中有一个I2C主内核,SCL和SDA信号连接到U27&
根据ML505用户指南文档(UG347第51页)的T29引脚。
当我去实验室时,我可以通过I2C总线与VGA输入设备(Analog Devices AD9980 - I2C设备ID 0x4C)进行通信,没有任何问题。
但是,当我尝试与DVI输出设备(Chrontel CH7301C - I2C设备ID 0x76)通信时,我没有得到确认。
我决定编写代码来测试所有128个7位I2C地址,看看哪些给了我一个ACK。
除了0x4C(VGA输入设备)之外,我还从地址0x37和0x50到0x57接收到确认。然后我尝试使用其他9个其他I2C设备ID读取寄存器0x4B(Chrontel CH7301C的设备ID寄存器的地址)。
根据Chrontel文档,他们都没有返回我期望的0x17值。
谁能解释一下:
1)当文档仅列出该I2C总线上的3个设备时,为什么我会从显然有10个设备获得响应?
那些其他设备是什么?
2)3个设备中的一个是DVI输出连接器,表1-35列出了地址= N / A.
为什么设备有N / A地址?
怎么访问?
3)我可能做错了什么让我无法与CH7301C部件通信?
谢谢,
史蒂夫

回帖(10)

陈墨

2019-9-3 08:53:08
忽略之前的笔记。
TheChrontel器件处于复位状态,因此它不响应I2C命令。
一旦我将低电平有效复位连接到正确的极性,器件就会按预期进行通信。
史蒂夫
在原帖中查看解决方案
举报

陈墨

2019-9-3 09:12:55
我进一步了解了DVI连接器,发现I2C总线在连接器上有2个引脚。
如果我断开DVI电缆,之前已确认的其他9个设备ID(除0x4c之外)不再执行此操作。
所以我可以回答问题1和2(额外的设备在我通过DVI电缆连接的监视器中)。
但是,我仍然感到疑惑,为什么我没有得到Chrontel设备的响应。
我可以运行ML505附带的演示,所以我知道设备正在工作(不知何故,演示设计必须能够通过I2C与设备通信)。
有什么不同我需要做的事情(除了明显更改设备ID)与Chrontel设备通信,而不是其他设备(AD9980和监控设备),我可以通过确认回应?
任何帮助将不胜感激。
谢谢, 
史蒂夫
举报

陈墨

2019-9-3 09:20:11
忽略之前的笔记。
TheChrontel器件处于复位状态,因此它不响应I2C命令。
一旦我将低电平有效复位连接到正确的极性,器件就会按预期进行通信。
史蒂夫
举报

席连施

2019-9-3 09:26:12
你好,
请你这么好,告诉我们你使用的是哪个I2C IP核?
我有一个ML507板,但我遇到了严重的问题,实现了总线的正常运行(我根本没有得到任何ACK)。
可能我正在使用的核心有点搞砸了。
感谢你并致以真诚的问候,
D.
消息由dpavli编辑于07-17-2009 04:54 AM
举报

更多回帖

发帖
×
20
完善资料,
赚取积分