莱迪思博客

分享:

与SPI设备的接口,第1部分

与SPI设备的接口,第1部分
发布09/07/2021由Eugen Krassin发布

张贴在

“LEC2 Workbench”是一系列持续的技术博客文章,专注于使用格子产品的应用开发。该职位由FPGA设计专家提供撰写格子教育能力中心(LEC2),官方全球培训服务提供商专注于格子屡获殊荣的低功耗FPGA和解决方案堆栈。

格子Crosslink™-NX.fpga具有丰富的特性集,以加速高速和低速接口的实现。本博客(两部分系列文章的第一篇)描述了使用CrossLink-NX fpga实现基于spi的外部组件的接口。第一个博客描述了使用两个时钟域实现到DAC(模拟设备的AD7303 DAC)的SPI接口。第二个博客将描述使用单个时钟域实现到ADC(来自模拟设备的ADC AD7476)的SPI接口。在这两种情况下,都提出了实现接口的两种根本不同的方法。

两个时钟域实现(DAC_2C)
这个AD7303模块来自Analog Devices的DAC用作外部DAC。图1显示了界面的时序图和时序参数。在本例中,SCLK频率为30 MHz。定时参数t4、t5和t6在定时约束的规范中得到了特别的注意,并将在set_output_delay约束中使用。

图1:时序图和时序特性
图1:时序图和时序特性

两个时钟域解决方案的实现如图2所示。

图2:两个时钟域SPI接口实现
图2:两个时钟域SPI接口实现

参数的使用:
输入时钟频率:100 MHz.
内部时钟CLK_120频率:120兆赫
内部时钟时钟时钟30频率:30兆赫
生成时钟DAC_SCK:30兆赫

PLL_120_30

PLL从外部时钟CLK (100 MHz)产生两个内部的同步时钟,CLK_120和CLK_30。

模块dac_sample_gen
模块DAC_SAMPLE_GEN为DAC_FSM生成样本信号(转换)。样本信号将数字数据传输到DAC。采样率通过Sample_Select [1:0]信号设置,并在表1中给出.DAC_Sample_Gen的框图如图3所示。

表1:采样率设置

表1:采样率设置


图3图3:框图DAC_SAMPLE_GEN
图3:框图DAC_SAMPLE_GEN

mode_select控制信号控制作为DAC输入数据的方波信号或三角形信号的生成。

模块同步级
dac_sample_gen模块使用CLK_120。控制单元dac_fsm是CLK_30域的一部分。sync_stage模块将转换信号从CLK_120域传输到CLK_30域。dac_fsm对应的信号从CLK_30域发送到CLK_120域。sync_stage的框图如图4所示。

图4
图4:sync_stage的框图

模块DAC_FSM用于两个时钟实现
模块DAC_FSM控制对DAC的控制/数据信号的产生。为了粘附到图1中给出的T4,T5和T6的值,DAC_FSM在CLK_30的下降沿工作。DAC_FSM实现为状态机。


图5:控制结构dac_fsm状态机
图5:控制结构dac_fsm状态机

识别转换信号后,bit_count计数器将加载值为15。串行数据输出到dac_sdata线上,时钟信号CLK_30下降沿。传输完16位数据后,dac_fsm de信号再次准备就绪,等待下一个转换信号。


约束两个时钟域解决方案的设计
1.限制时钟时钟
代码示例1

2.时钟CLK_120和CLK_30的约束
由于设计软件将自动定义,无需明确指定时钟信号CLK_120和CLK_30。这两个时钟也称为自动生成的时钟。
代码示例2

3.约束dac_clk
连接到端口DAC_SCK的时钟信号是内部时钟CLK_30的副本。该信号被外部DAC解释为时钟。因此,该信号也必须定义为时钟,以便正确描述T4,T5和T6的时间要求。此时钟是所谓的手动生成的时钟。
代码示例3

4.限制DAC输入/FPGA输出
时间值t4, t5和t6描述了外部模块的设置/保持要求。这些需求是用set_output_delay约束描述的。
代码示例4


运行两个时钟域解决方案的时序分析
“定时分析报表”中显示了两个时钟信号CLK_120和CLK_30之间的关系。

时序分析报告CLK_120

时钟30定时分析报告


注意CLK_120和CLK_30的时钟域交叉规范,反之亦然。这正是我们所期望的。
对输出信号dac_sync和dac_sdata的分析显示了基于set_output_delay规范实现的设置和保持松弛。

输出表

概括

在结束时,两个时钟域提供一些功耗优势,因为设计的一部分以较低的速度运行。此外,时间约束易于指定。此项目(DAC_2C)可根据LEC2的要求提供。要申请副本,请联系我们info@lec2-fpga.com..

我们将探讨我们的下一个博客中的一个时钟域方法。

尤金·克拉辛是该组织的主席和创始人格子教育能力中心(LEC2).

分享:

像大多数网站一样,我们使用cookie和类似的技术来增强用户体验。我们也允许第三方在我们的网站上放置cookie。继续使用本网站,即表示您同意使用我们所述的cookieCookie政策.