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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 360|回复: 8

[求助] 芯片异步复位的问题

[复制链接]
发表于 2024-12-31 15:27:18 | 显示全部楼层 |阅读模式

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

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

x
大佬们,ASIC中用到异步复位,通常要做异步复位同步释放。

我的问题是,现在整个代码里面有一个I2C slave的.v文件,这里面的always块敏感列表是scl的边沿,然后I2C的数据每8bit会发出一个pulse信号(在scl时钟域)来通知系统有新的data。
目前,我知道I2C时钟域和主时钟域的数据传递要做CDC处理,异步复位信号复位主时钟域要做同步释放,
但是异步复位信号复位scl时钟域的dff时要怎么做呢?毕竟scl是外面给芯片的,不是一直都在,只有i2c通信的时候才会在。

这种场景我觉得在低功耗场景还是挺常见的,比如i2c 400KHz,系统主时钟1MHz。一般i2c slave模块都会直接用scl的边沿完成sda的采集,这个时候如何处理i2c slave模块的异步复位呢?

提前蟹蟹各位大佬们。
发表于 2024-12-31 17:07:22 | 显示全部楼层
POR的时候先用系统的,完事了在切过去
发表于 2024-12-31 17:30:09 | 显示全部楼层
同步释放是防止时钟沿和复位沿撞一起出问题,这里是不是没有这种撞上的场景,是不是就不需要同步释放?
发表于 2024-12-31 20:14:49 | 显示全部楼层
这个问题 专业
发表于 2025-1-2 09:21:40 | 显示全部楼层
如果能够确定时钟边沿与复位边沿不会一起出现,是不用做复位同步的。只要通过合理的软件或应用层面约束,一般是可以保证在复位释放时,i2c模块不进行通讯的,这种情况下就不用复位同步了。
 楼主| 发表于 2025-1-6 09:35:00 | 显示全部楼层


你快去吧 发表于 2024-12-31 17:30
同步释放是防止时钟沿和复位沿撞一起出问题,这里是不是没有这种撞上的场景,是不是就不需要同步释放? ...


我一直也是这么想的,但是总感觉是野路子
 楼主| 发表于 2025-1-6 09:37:05 | 显示全部楼层


coolbear2021 发表于 2025-1-2 09:21
如果能够确定时钟边沿与复位边沿不会一起出现,是不用做复位同步的。只要通过合理的软件或应用层面约束,一 ...


哦哦,通过应用层的约束就是上电之后一段时间内不允许mcu之类的上位机通过I2C访问芯片是嘛?比如上电500us内,mcu要保证芯片I2C两个pin都要是高电平这种?
发表于 2025-1-6 10:02:07 | 显示全部楼层


EEDong 发表于 2025-1-6 09:37
哦哦,通过应用层的约束就是上电之后一段时间内不允许mcu之类的上位机通过I2C访问芯片是嘛?比如上电500u ...


是的,一般应用层都要有类似的约束的,一定要等待slave稳定才能通讯的,至少怎么算稳定,这个就看实际要求了,比如有个ready信号,或者等固定时间。像i2c slave或者spi slave这类接口,时序仅在通讯时有,常规的同步方式可能会受到影响,一般只能通过应用层约束去规避同步问题了。
发表于 2025-1-6 11:13:24 | 显示全部楼层


EEDong 发表于 2025-1-6 09:37
哦哦,通过应用层的约束就是上电之后一段时间内不允许mcu之类的上位机通过I2C访问芯片是嘛?比如上电500u ...


这玩意不是 应用写好程序 调用iic模块进行使用 ; 但是程序的运行基本都是等system_rst释放后(已经稳定了)才开始去跑的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-1-24 06:32 , Processed in 0.030291 second(s), 19 queries , Gzip On.

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