在SPI中,如何使用VHDL计算从主机到从机的时钟信号“sckl”的频率?

问题描述 投票:0回答:3

我已经创建了 SPI 主模块和从模块,连接工作正常,但出于验证目的,我想知道从模块如何确定主模块发送的输出时钟 sclk 的计数。

提前致谢。

fpga spi master-slave
3个回答
1
投票

由于 SPI 从机接收来自主机的时钟信号,因此不需要确定波特率。

如果主机产生 1 MHz 的时钟信号,则波特率为 1 Mbps,因为 MOSI 和 MISO 都是一位宽。从机的移位器由该时钟信号驱动。


0
投票

busybee 已经说过,SPI 从端口接收来自主端口的时钟。它与实际频率无关,它的逻辑与传输的时钟相关。

但是,您的评论表明您希望从设备测量 SPI 串行链路的波特率。通常,这不会在 SPI 端口中完成,而是在另一个模块中完成。您可以将 SPI 时钟路由到另一个模块,并使用第二个独立时钟对 SPI 时钟上升沿之间的时钟沿进行计数。

例如: SCLK 运行在 1MHz。从系统时钟运行在 50MHz。为了确定 SCLK 速率,我们计算每个 SCLK 上升沿之间的系统时钟上升沿的数量。这将是 50。然后我们除以我们已知的系统时钟频率以获得我们的 SCLK 频率。


0
投票

从时钟频率 = master_clk_freq / ((分频器 + 1) *2)

© www.soinside.com 2019 - 2024. All rights reserved.