3.2 SPI控制器工作在主模式下的验证测试
通过配置寄存器选择SPI工作在主模式,此时主SPI通过引脚SPICLK提供整个串行网络的串行时钟。SPI波特率寄存器决定发送和接收的传输速率。发送数据时,主控制器先发送SPICLK信号,然后向SPIDAT和SPITXBUF寄存器写入数据C00F和8FF,写入这两个寄存器都可以启动SPISIMO引脚上的数据发送(先发送最高有效位)。同时从控制器通过引脚SPISIMO将接收到的数据移入SPIDAT的最低位,当选定量的位发送完时,整个数据发送完毕,数据按照右对齐的格式存入SPIRXBUF中,以备系统读取(一般为cpu),同时中断标志位被置为1,当系统发出指令,读取存在SPITXBUF的数据时,SPI中断标志位被清零,仿真结果如图7所示。
4 结束语
文中提出了一种全功能硬件SPI接口设计方法,实现了4种具有不同极性和相位的时钟,它吸取了传统软硬件的优点,具有速度快、结构简单的特点,并已通过功能仿真和FPGA验证,结果证明本设计是可靠的,可直接用于FPGA中或者作为硬件电路嵌入具体芯片内。