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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4450|回复: 9

[求助] i2c代码读取地址的问题,大神救助!

[复制链接]
发表于 2014-2-28 22:42:11 | 显示全部楼层 |阅读模式

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

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

x
在网上下了很大关于i2c的代码,有lattice公司的rd1005,rd1006,还有夏宇闻老师的i2c的代码,但是在用modelsim仿真的时候,我发现testbench都是固定了从设备的地址,有没有那种i2c先读取地址再把数据送到该地址寄存器的代码哎?求助求助!
发表于 2014-3-1 00:06:23 | 显示全部楼层
自己写一个也很简单
 楼主| 发表于 2014-3-1 08:55:57 | 显示全部楼层
回复 2# haitaox

我刚刚读大二,verilog也刚刚起步,老板让我直接找网上成熟的代码,而且项目也很急,请问有没有现成的这种代码呀?
发表于 2014-3-3 13:38:57 | 显示全部楼层
直接将夏老师的那个testbench的从设备地址改一下就OK了啥
 楼主| 发表于 2014-3-3 14:49:56 | 显示全部楼层
回复 4# choplin
     改一下从设备地址那也只是对应的一个地址啊,我现在想的是有多从设备,先读地址信号选中一个地址寄存器后,再读数据,把数据信号读到该寄存器中。
发表于 2014-3-3 15:51:13 | 显示全部楼层
这个也简单啊,将那个从设备地址做成一个变量,在需要访问的时候设一个值,下一次要用不同地址时,再设成另外一个值就可以了。
 楼主| 发表于 2014-3-3 19:57:52 | 显示全部楼层
回复 6# choplin

我发现我木有理解清楚,应该是集成很多个寄存器,然后主设备发送地址和数据,对寄存器进行读写操作,这该如何实现呢?
发表于 2014-3-6 12:13:34 | 显示全部楼层
既然要学习I2C的协议,那就先好好看看I2C的协议标准,这个网上有的是。
然后试着写一写代码,仿真一下。可以从网上download一个i2c的simulation model,测试一下是否可以通信。
我始终不喜欢上来就要代码的做法,要是真的想做,那就自己做一个,况且i2c又不是很复杂。
学生阶段我相信时间还是很多的,静下心来好好看看协议规范,不是挺好吗
发表于 2014-3-9 11:01:55 | 显示全部楼层
之前看书也看过,书上的代码都是简化的,而且仅是实现功能,不能代表性能和稳定性。
看书仅借鉴思路,你所做的事情我做过。i2c看上很简单,其实调试还是很多困难。建议:
1.明确你老板的需求,i2c实现多少寄存器读写,太多了,是否考虑400K,这样不至于影响性能。
2.明确i2c协议,吃透时序;
3.先做一个简单的接口调试,吃透协议,然后时序你需要的功能
发表于 2014-3-9 15:09:39 | 显示全部楼层
在opencore上有个经典的I2C的代码  你可以看看  支持wishbone
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-21 23:45 , Processed in 0.029493 second(s), 9 queries , Gzip On, MemCached On.

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