- 主题:请教FPGA INOUT 口复用的问题
在FPGA 里有两个模块, 配置两个I2C器件, 两个I2C器件共用 SCL SDA信号线. 之前调试的时候是 禁止掉一个, 逐个调试, 功能正常. 现在要让两个器件同时工作, 分时复用 SCL SDA 信号线, 我在FPGA内部搞了一个 mux, 结果两个器件工作都不正常了, 从示波器看I2C的应答位不正常. 由于SCL SDA 都被定义成了INOUT, 感觉INOUT 端口 不能这样切换, 有遇到过类似问题的么? 多谢
--
FROM 202.122.36.*
I2C分主从的。SCL只能是out。
【 在 zzlthuscu 的大作中提到: 】
: [upload=1][/upload]
: 在FPGA 里有两个模块, 配置两个I2C器件, 两个I2C器件共用 SCL SDA信号线. 之前调试的时候是 禁止掉一个, 逐个调试, 功能正常. 现在要让两个器件同时工作, 分时复用 SCL SDA 信号线, 我在FPGA内部搞了一个 mux, 结果两个器件工作都不正常了, 从示波器看I2C的应答位不正
: 常. 由于SCL SDA 都被定义成了INOUT, 感觉INOUT 端口 不能这样切换, 有遇到过类似问题的么? 多谢
: ...................
--
FROM 120.245.132.*
内部逻辑没有“inout”一说,可能是inout I/O没有处理好。为啥不把一个模块改的复杂一些,可以配置两个器件呢?
--
FROM 125.33.202.*
scl 也可以in
设备可以拉低scl的
【 在 jiu 的大作中提到: 】
: I2C分主从的。SCL只能是out。
:
--
FROM 110.88.98.*
iic控制器改成1个
提供访问端口给 后面的2个模块啊
不要在iic线路上做切换
【 在 zzlthuscu 的大作中提到: 】
: [upload=1][/upload]
: 在FPGA 里有两个模块, 配置两个I2C器件, 两个I2C器件共用 SCL SDA信号线. 之前调试的时候是 禁止掉一个, 逐个调试, 功能正常. 现在要让两个器件同时工作, 分时复用 SCL SDA 信号线, 我在FPGA内部搞了一个 mux, 结果两个器件工作都不正常了, 从示波器看I2C的应答位不正常. 由于SCL SDA 都被定义成了INOUT, 感觉INOUT 端口 不能这样切换, 有遇到过类似问题的么? 多谢
--
FROM 110.88.98.*
从设备拉低scl那不是锁死了吗?
【 在 roc2007 的大作中提到: 】
: scl 也可以in
: 设备可以拉低scl的
--
FROM 120.245.132.*
设备可以根据自己的处理情况 释放掉的
这个iic协议有定义
类似于一种流控,hold 住scl 让主设备不再继续发送命令。
用iic的很多都是低速设备,内部处理速度非常慢
【 在 jiu 的大作中提到: 】
: 从设备拉低scl那不是锁死了吗?
--
FROM 110.88.98.*
i2c clock stretch
【 在 roc2007 的大作中提到: 】
: 设备可以根据自己的处理情况 释放掉的
: 这个iic协议有定义
: 类似于一种流控,hold 住scl 让主设备不再继续发送命令。
: 用iic的很多都是低速设备,内部处理速度非常慢
: --
发自「今日水木 on iPhone13」
--
修改:nosnap FROM 117.136.0.*
FROM 117.136.0.*
对的 单词记不得了 ^_^
【 在 nosnap 的大作中提到: 】
: i2c clock stretch
: 发自「今日水木 on iPhone13」
--
FROM 110.88.98.*
从设备不是有地址么,为何要用两套IP核?需要配置的寄存器两套用状态机控制就行了,一个IIC控制器出。
【 在 zzlthuscu 的大作中提到: 】
: [upload=1][/upload]
: 在FPGA 里有两个模块, 配置两个I2C器件, 两个I2C器件共用 SCL SDA信号线. 之前调试的时候是 禁止掉一个, 逐个调试, 功能正常. 现在要让两个器件同时工作, 分时复用 SCL SDA 信号线, 我在FPGA内部搞了一个 mux, 结果两个器件工作都不正常了, 从示波器看I2C的应答位不正常. 由于SCL SDA 都被定义成了INOUT, 感觉INOUT 端口 不能这样切换, 有遇到过类似问题的么? 多谢
--
FROM 120.244.194.*