您当前的位置:五五电子网电子知识单元电路接口电路一种全功能硬件SPI接口设计方法 正文
一种全功能硬件SPI接口设计方法

一种全功能硬件SPI接口设计方法

点击数:7541 次   录入时间:03-04 12:01:16   整理:http://www.55dianzi.com   接口电路

3 SPI控制器的仿真实现
    SPI控制器的仿真使用Mentor公司的ModelSim软件,该软件可在windows,Linux平台上使用,支持VHDL或Verilog硬件描述语言(HDL)仿真。它支持所有器件的行为级仿真、VHDL或Verilog仿真激励。为了测试设计的正确性,编写了testbench模块,包括产生时钟信号,控制寄存器的配置,收发的数据,产生的中断等。
3.1 SPI控制器时钟仿真验证
   
当SPI工作在主模式下,全功能SPI控制器根据从控制器的时序要求会提供具有4种不同极性和相位的时钟。图6为SPI控制器内部时钟生产模块的仿真验证,输入DICLK为分频后时钟,其对系统时钟进行了14分频。时钟生产模块对DICLK进行处理,产生LANCLK,CNTCLK,DATCLK和4种不同极性和相位的SPICLK。

e.JPG


3.2 SPI控制器工作在主模式下的验证测试
   
通过配置寄存器选择SPI工作在主模式,此时主SPI通过引脚SPICLK提供整个串行网络的串行时钟。SPI波特率寄存器决定发送和接收的传输速率。发送数据时,主控制器先发送SPICLK信号,然后向SPIDAT和SPITXBUF寄存器写入数据C00F和8FF,写入这两个寄存器都可以启动SPISIMO引脚上的数据发送(先发送最高有效位)。同时从控制器通过引脚SPISIMO将接收到的数据移入SPIDAT的最低位,当选定量的位发送完时,整个数据发送完毕,数据按照右对齐的格式存入SPIRXBUF中,以备系统读取(一般为cpu),同时中断标志位被置为1,当系统发出指令,读取存在SPITXBUF的数据时,SPI中断标志位被清零,仿真结果如图7所示。

f.JPG

    4 结束语

    文中提出了一种全功能硬件SPI接口设计方法,实现了4种具有不同极性和相位的时钟,它吸取了传统软硬件的优点,具有速度快、结构简单的特点,并已通过功能仿真和FPGA验证,结果证明本设计是可靠的,可直接用于FPGA中或者作为硬件电路嵌入具体芯片内。



上一页  [1] [2] 


本文关键字:硬件  接口  接口电路单元电路 - 接口电路

《一种全功能硬件SPI接口设计方法》相关文章>>>