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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3879|回复: 6

[求助] 请教:一个信号在一个模块里既作时钟线又作数据

[复制链接]
发表于 2011-8-25 20:55:06 | 显示全部楼层 |阅读模式

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

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

x
我想请问一个信号在一个模块里既作时钟线又作数据线,能行吗?一个做IC的人给我讲过,一个信号在一个模块里不能既做时钟线又做信号线,他说这是禁止的。但我又看到网上I2C的从机例子中,只有两根线,SDA,SCL,在处理过程中则把SDA,SCL既作了时钟线,又作了数据线。
always @(posedge scl)
  sr<={sr[6:0],sda}; //移位寄存

always @(negedge sda)
if(scl)
  start<=1'b1;//判断起始条件
else
  start<=1'b0;

在第一个always里sda作的是数据线吧,第二个always里又充当的时钟线。到底是怎么回事呀?求解。。。。。。。。。。
发表于 2011-8-25 22:18:48 | 显示全部楼层
第二个不是做时钟线,只是把SDA作触发事件
 楼主| 发表于 2011-8-26 21:03:51 | 显示全部楼层
回复 3# whr701


    这种使用不叫时钟?那什么叫时钟?我不太懂。那个SCL不是也一样吗?
发表于 2011-9-9 20:51:25 | 显示全部楼层
你要理解,时钟之所以为时钟,是以其精准和稳定为基础的。一般来说,SDA信号可能会有毛刺,作为时钟不符合“同步时序设计原则”,你可以参考叫做《优秀设计十条戒律》这个Coding Style文档。对于I2C接口,一般由频率高出很多的系统时钟作为时钟,通过检测信号的沿或电平的变化来完成逻辑。
 楼主| 发表于 2011-9-9 21:11:29 | 显示全部楼层
回复 5# guoyu


    请问你可以把你说的那个《优秀设计十条戒律》发份给我吗?我的邮箱yangxiaohua_09@163.com
 楼主| 发表于 2011-9-9 21:15:22 | 显示全部楼层
回复 6# 刺猬精灵


    不用了哈,我下载到了。。。不好意思。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-7-4 16:30 , Processed in 0.024985 second(s), 9 queries , Gzip On, MemCached On.

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