完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如SPI接口中,FPGA通过模拟产生时钟和串行数据与一个外部芯片进行通信,其建立和保持时间是有时序要求的,这个时序要求可以通过外部的手册上获得。那么在FPGA中模拟这个接口要如何保证这个时序要求呀?以保证FPGA发送过去的数据能被外部芯片正确接收的。 |
|
相关推荐
4个回答
|
|
首先,对照外部芯片的电气特性部分,确认电平连接方式,在FPGA的管脚约束满足外部芯片的电气要求即可。
其次,在FPGA设计中满足外部器件的时序要求,这包括两部分,一个是功能实现,一个是时序约束。基本功能实现,可以通过编写代码的方式,同时查看外部芯片的时序要求,满足setup/hold 要求,就针对SPI的时序而言,其CLK和DI、DO的时序要求很简单,很容易满足(如果实现不会,就看这时序图设计电路,或网上下载个成熟电路,把他们看明白)。而时序约束,通过编写SDC等文件实现,你这里只需要周期约束即可满足,而其他的offset、miti-cycle等约束是否需要,在设计过程中确认。 最后,其他要求,如jitter等,需要依靠FPGA器件自身性能满足。这个不需要设计,只需要查看FPGA DATASHEET即可。 |
|
|
|
谢谢您的详细回答!!您的意思是外部芯片的setup/hold要求也是通过编码方式来实现,而不是通过约束来实现吗?如果是,那如何编码呢?
|
|
|
|
约束也是实现方式之一,只是在目前的应用中,你只是要满足SPI的SK和DI/DO的setup/hold的时序,这部分完全可以通过代码实现。如何编码?你感觉很困难,或者无从下手,估计是你陷入思维错区了,你仔细看下SPI芯片的手册,数据的setup是如何描述的,都是配合CK和DI/DO一起描述的,比如SPI的一种情况,(FPGA端、主用)CK的下升沿输出DO数据。那么针对SPI芯片接收而言,使用CK的上升沿采样数据,因此你设计的数据 Dsetup time基本保证在1/2 period(CK),这样的话远远满足芯片要求的setup time。其余模式类似。因此,SPI设计中主从的模式选择很重要就是这样,简化了setup/hold time的设计。
|
|
|
|
既然是FPGA模拟时序那么这个时间要求当然也就是在此范围内的,也就是你实现的时序就是按照人家的要求来的,或者按照最标准的SPI接口时序做也可以。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1333 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1041 浏览 0 评论
2408 浏览 1 评论
2113 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2376 浏览 0 评论
1872 浏览 49 评论
6009 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:49 , Processed in 0.691407 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号