在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9950|回复: 4

[求助] 关于iic主机接收应答信号的疑问

[复制链接]
发表于 2015-8-28 00:26:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
1.iic总线是通过oc门实现的,如果用FPGA实现,怎么综合出oc门?
2.好多资料都通过三态门接上iic总线,FPGA开发板的有些外设通过iic连接,需要FPGA作为主机,那么问题来了,三态门的选通信号不能控制已经连接上的这些外设,就有可能出现控制权冲突的情况,怎么处理?
3.关键问题,主机接收应答信号。不太明白的是FPGA怎么驱动数据线sda,如果PFGA不能综合出oc门,那么应该在FPGA引脚上直接焊接有oc门,FPGA直接连接的是控制oc门是否接地的开关,接收应答信号时开关断开(高阻态),但是接收应答信号应该是直接检测sda信号而不是开关信号,但是这个信号此时又不在FPGA内部,哎,不知道问题讲清楚没,,,求赐教啊求赐教,真心不明白,,
发表于 2015-8-28 08:43:59 | 显示全部楼层
SDA外接上拉电阻;ACK的时候,SLAVE输出0,将SDA拉低;
 楼主| 发表于 2015-8-28 11:05:01 | 显示全部楼层
回复 2# defflin


   

Schematic

Schematic
上图是FPGA的Schematic,右边红色框中为上拉电阻,右边红色框右边的是IIC接口的DVI控制芯片……
但是,左边红色框的是什么鬼?
无标题.png
无标题.png
发表于 2015-8-29 10:07:56 | 显示全部楼层
NDS331N
N-Channel Logic Level Enhancement Mode Field Effect Transistor
上图中,I2C总线上挂的NDS331N做电平转换,DVI_GPIO的为GPIO1控制的开漏输出!

1、用三态门实现!sda = sda_en ? 1'bZ : 1'b0; sda_in = sda;
2、不清楚你描述什么,只要你完全按照I2C总线协议设计应该就不会冲突,否则啥情况都有!
3、OC门只输出0,输出1需要外接上拉电阻!这是你自己就应该想明白的吧!
 楼主| 发表于 2015-8-29 21:18:53 | 显示全部楼层
回复 4# cutfor

谢谢你的回复,问题解决了。我的错误在于:需要输出0的时候我输出的是0(正确)
需要输出1的时候我输出的是1(错误,这个时候应该输出Z!!用三态门实现OC门时,忽略了OC门固有的特性)
需要释放总线接收slave应答信号的时候我输出的是Z(正确)


所以庆幸的是没有烧坏芯片,在需要输出1的时候我输出高电平,此时上拉电阻上接的也是高电平,相当于将两个电平可能不一样的电源的正极接在一起,好可怕,,,,

再次谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 16:03 , Processed in 0.022183 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表