完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在写一个FPGA程序,这个工程中用到2个时钟,一个是64m一个是16m,64M用于spi和mcu通讯,16m用于其他功能,外部晶振是16m的。
现在有两个问题: 1.这2个时钟用哪种比较好?一种是16m直接用外部晶振的,64m通过PLL倍频,另一种是PLL产生两个输出,一个是64m,一个是16m。个人觉得还是用PLL产生的2个输出比较好,这样这2个时钟是不是同步性比较好,这只是个人感觉,如果你有什么观点希望提出。 2.工作在64m下的spi模块接收到数据后给16m的模块使用,这里会有一个同步问题吧,因为不是同一个时钟源,在处理中容易出错。好比spi正在给寄存器写数据,而此时其他模块正在读,是不是会出错。所以在处理上是不是要将他们之间数据交互时同步一下,比如打2拍啥的或者有其他的办法? 以上是我的2个问题,希望有高人可以解答一下,不胜感激! |
|
相关推荐
3个回答
|
|
问题1:用PLL产生的2个输出比较好,时钟是同步的,因为这两个时钟是系统的主时钟,要走全局时钟线。
问题2:64M时钟的数据,若数据在每个clk都会变化,需存入DCfifo,再用16M时钟读出;若数据不是在每个clk64M都变化,且远小于16M,直接使用16M时钟打两拍使用,也没有问题
最佳答案
|
|
|
|
建议用异步fifo,可以解决这个问题。
|
|
|
|
jack_7 发表于 2015-1-28 09:09 谢谢你的回答,这两个问题我都已经明白了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1415 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1055 浏览 0 评论
2491 浏览 1 评论
2190 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2457 浏览 0 评论
1925 浏览 52 评论
6021 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 11:07 , Processed in 0.684413 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号