赛灵思
直播中

张婧怡

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

如何驱动I2C总线?

大家好,
我使用的是KC705 Kintex主板。
Iwantto仅在不使用处理器的情况下将HDMI用于FPGA
我知道我必须通过I2C写入ADV7511。
我有一些代码用于示例屏幕,除了I2C信号之外还有ADV7511的所有输出。
(IIC_MUX_RESET_B,IIC_SCL_MAIN,IIC_SDA_MAIN)
我知道I2C是一种通信协议,以便获得许可并可以访问电路板的某些外围设备。
根据KC705用户指南,
IIC_MUX_RESET_B在低电平时有效,因此我必须将其驱动为高电平以启用FPGA U1与I2C总线上其他组件之间的I2C串行转换。
所以我把那段代码:
IIC_MUX_RESET_B
它也说:
“必须对I2C地址0x74 / 0b01110100处的U49总线开关进行寻址和配置,以选择所需的目标背面设备。与其中一个下游I2C总线上的设备通信的用户应用程序必须首先通过U49建立到所需总线的路径
总线开关在I2C地址0x74 / 0b01110100。
这是每个设备的地址
我的问题是,因为我没有使用过I2C总线,我不知道如何用这些地址驱动它们。
SDA和SCL也是1位信号,地址是8位或7位。
还有,我要开哪个地址?
那个写得稍高于0b01110100的那个,或者这个表中的ADV75111 HDMI Device 0b0111001?
我很感激任何回应。
我面临的问题是在没有处理器3周的情况下在这块板上的屏幕上显示样本输出。
提前谢谢!问候,
- Fotis PegiosSenior本科生电子与计算机工程系希腊克里特岛技术大学http://fpegios.blogspot.gr/fpegios92@gmail.com电话:(0030)694 464 7289

回帖(2)

张晓宁

2019-9-20 07:34:58
我知道我必须在START和STOP之间使用这两个地址:0b01110100,0b0111001。
有谁知道i2c命令将如何?
- Fotis PegiosSenior本科生电子与计算机工程系希腊克里特岛技术大学http://fpegios.blogspot.gr/fpegios92@gmail.com电话:(0030)694 464 7289
举报

朱寅竹

2019-9-20 07:48:44
你好Fotis,
我认为你最好花几个小时阅读I2C协议及其工作原理。
大多数问题将通过对规范的粗略理解来回答。
I2C不是复杂的,所以学习基础知识并不算太多。
此外,I2C非常普遍,因此从长远来看,它值得学习。
一些快速的谷歌搜索提供了一些很好的资源:
http://i2c.info/i2c-bus-specification
http://www.i2c-bus.org/addressing/general-call-address/
您可能会发现查看Xilinx AXI IIC内核非常有用。
运行演示模拟。
研究驱动程序和示例应用程序。
做一些示例设计来帮助您掌握它。
www.xilinx.com
举报

更多回帖

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