集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 12141|回复: 28

I2C的双向信号的问题?当SDA接收来自控制器外端的ACK信的问题

[复制链接]
VVIC 发表于 2010-6-27 23:52:15 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2011-1-18 04:36 编辑

I2C控制器中的SDA和SCL都是双向信号

在Verilog中,我将SDA和SCL都定义为inout信号,在作为output时,没有问题 我现在的问题是当SDA接收来自控制器外端的ACK信号时,SDA应作为input使用,(有人说定义成三根线,input, output,output enable).但是I2C总线只能用一根SDA信号的啊不知道该如何切换?
ups 发表于 2010-6-28 01:33:55 | 显示全部楼层
怎么只有人查看,没有人回答啊?<br>
哭啊!
UFO 发表于 2010-6-28 02:20:57 | 显示全部楼层
搞定 了,现在一想我当时怎么这么蠢啊!这么简单的问题都没有想到.<br>
其实象这种双向驱动的信号,就是在驱动和三态之间转换.比如:<br>
I2C控制器中的 SDA:在发送数据时驱动,在等待ACK时,I2C控制器端三态,<br>
而I2C从设备则相反:在接受数据时三态(即I2C控制器的发送数据时),在发送ACK时驱动即可.<br>
<br>
本人文字表达能力不是特别好,不知道各位能理解么?<br>
要是理解不了,可以提出问题,我也不是大虾,只能尽我所能回答了<br>
<br>
<br>
<br>
受人之惠,当惠之众人
CCIE 发表于 2010-6-28 03:00:02 | 显示全部楼层
呵呵,明白了就好。其实道理很简单,信号线不能被多次驱动,除了有目的的线与或线或
CHANG 发表于 2010-6-28 03:52:02 | 显示全部楼层
的确是的!!!!!!!!!!!!!
usd 发表于 2010-6-28 05:05:19 | 显示全部楼层
是啊,设置成三太的就行了<br>
process(sda,wr_ea,sd_a)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --三态门<br>
&nbsp; &nbsp; &nbsp; &nbsp; begin<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if wr_ea='0' then<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sda&lt;=sd_a;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --输出态<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sda&lt;='Z';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --输入态<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end if;&nbsp; &nbsp; &nbsp; &nbsp; <br>
&nbsp; &nbsp; &nbsp; &nbsp; end process;
inter 发表于 2010-6-28 05:42:02 | 显示全部楼层
三态三态三态三态总线必备
tim 发表于 2010-6-28 06:26:59 | 显示全部楼层
推荐你去
        http://blog.21ic.com/more.asp?name=iC921&amp;id=10802#15395
<br>
上面是飞利浦公司的I2C总线性能介绍及相关问题和解答,也许对你有帮助
UFO 发表于 2010-6-28 07:01:44 | 显示全部楼层
现在又遇到问题了,防真 I2C总线没有任何问题,但是上了板子就什么也没有,真他妈的奇怪!<br>
各位有什么建议啊?(I2C Controller的主时钟有了)
 楼主| VVIC 发表于 2010-6-28 07:51:12 | 显示全部楼层
问个弱智的问题:地址发完之后,收到ACK,是否可以先返回到空闲态,再接收数据啊?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 01:32 , Processed in 0.065821 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表