编写测试文件过程:
使用forever:
parameter ClockPeriod=10; //周期为10ns
initial
begin
clk_i=0;
forever
#(ClockPeriod/2) clk_i=~clk_i; //50%占空比时钟
end
使用always:
parameter ClockPeriod=10;
initial
begin
clk_i=0;
end
always #(ClockPeriod/2) clk_i=~clk_i; //50%占空比时钟
产生固定数量时钟脉冲:
parameter ClockPeriod=10;
initial
begin
clk_i=0;
repeat(6) //循环六次
#(ClockPeriod/2) clk_i=~clk_i;
end
高低电平时间不均等,占空比不为50%的时钟:
initial
begin
clk_i=0;
forever
begin
#((ClockPeriod/2)-2) clk_i=0; //低电平为3ns
#((ClockPeriod/2)+2) clk_i=1; //高电平为7ns
end
end
讲解链接:SPI原理超详细讲解---值得一看 特点:高速,全双工,同步
SPI系统包括主设备与从设备。
主设备:有且仅有一个,提供时钟,读写信号由主设备发起。
从设备:一至多个,接收时钟,存在多个从设备时,通过各自的片选信号进行管理。
在硬件上表现为,MISO、MOSI、SCLK为一条线,而SS信号线则与从设备数量有关。
信号变化过程如上图。 SPI数据发送过程:
具体交换过程如图所示:
SPI外设的读写操作是同步进行的。如果只想进行写操作,则每次从设备都需要发送一次空字节;如果想进行读操作,则每次都需要主设备向从设备发送一个字节。简而言之,你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。
主机与从机均有移位寄存器,且二者相连成环,当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
时钟极性(CPOL)定义了时钟空闲状态电平:
时钟相位(CPHA)定义数据的采集时间。
总共四种状态,区别是定义了在时钟脉冲的哪条边沿转换(toggles)输出信号,哪条边沿采样输入信号,还有时钟脉冲的稳定电平值(就是时钟信号无效时是高还是低)。
需要理解其中各类数据的意义。
文档复制内容:
DAQ7606 数据采集卡,AD 转换芯片为AD7606-8,AD760-8 是16 位8 通道同步采样模数数据采集系统(DAS)。AD7606 内置模拟输入箝位保护、二阶抗混叠滤波器、跟踪保持放大器、16 位电荷再分配逐次逼近型ADC、灵活的数字滤波器、2.5V 基准电压源、基准电压缓冲以及高速串行和并行接口。AD7606 采用5V单电源供电,可以处理±10V 和±5V 真双极性输入信号,同时所有通道均能以高达200 kSPS 的吞吐速率采样。输入箝位保护电路可以耐受最高达±16.5V 的电压。无论以何种采样频率工作,AD7606 的模拟输入阻抗均为1 MΩ。它采用单电源工作方式,具有片内滤波和高输入阻抗,因此无需驱动运算放大器和外部双极性电源。AD7606 抗混叠滤波器的3 dB 截止频率为22 kHz;当采样速率为200 ksps 时,它具有40 dB 抗混叠抑制特性。灵活的数字滤波器采用引脚驱动,可以改善信噪比(SNR),并降低3 dB 带宽。
工作时序分为两种:CONVST 时序-转换之后读取、CONVST 时序-转换过程种读取。其中,必须采用第二种工作时序,才能确保200Kbps的采样率。
图中信号功能:
本文章使用limfx的vscode插件快速发布