刘 敏,陈金鹰,唐 伟,李 菊
(成都理工大学信息科学与技术学院,四川 成都 610059)
当在两个电路间进行8或16位数据传输时,需要8或16要数据线进行连接,如果两个电路相距较远,采用并行传输则不经济,也不可靠,故常用串行方式进行数据传输。由此带来的问题是传输速率将变为原来的1/8或1/16。本文提出一种改进的传输设计方案,即将并行数据传输到FPGA[1],由FPGA以并行数据位数倍的速率按改进的SPI标准进行传输,从而实现并行数据的远程传输而保持原来的高速传输速率。
并行数据转改进型SPI输出接口系统结构如图1所示。并行数据datain从外部输入到数据移位寄存器datars中,也可串行从sdi输入到数据移位寄存器datars中[2]。来自sdi的数据可用来进行收发两端传输过程的握手,检验对方是否正确收到数据。例如,如有必要,对方可将收到数据串行通过sdi发回到datars中,如果该数据与原datain数据相同,则表明发送正确。接收到的sdi数据可从数据缓冲寄存器databuf得到。当datain数据发送完毕,发送完毕标志信号bf置1。当复位信号reset为1时,bf变为低电平,并使nss为低电平,通知对方准备接收数据[3]。

图1 系统结构
系统工作时钟为clk,并通过sck为对方提供驱动时钟。当数据移位寄存器datars中的数据被全部移出时,移完标志信号bf置1,并使串行输出端口sdo输出为低电平,否则sdo输出为datain数据。这里称之为改进型SPI,其主要特点是在无数据传输时,SDI,SDO为低电平以省电,在数据传输方式上任采用SPI思想,因此当将该设计电路与现有标准SPI进行接口时,需要注意这种区别,界时可将无数据传输时的电平修改一下即可。……