全球旧事资料 分类
基于FPGA的SPI接口设计SPI是一种在FPGA和其他芯片之间传输数据的简单有效的接口方式。SPI项目第一部分:什么是SPI第二部分:SPI的简单实现第三部分:应用第一部分:第一部分:什么是SPISPI是允许一个器件同其他一个或多个器件进行通讯的简单接口。是什么样的?SPI是什么样的?首先让我们来看看两个芯片之间的SPI接口是如何连接的。在两个芯片时间通讯时,SPI需要4条连线。
正如你所看到的,他们是SCK、MISO、MOSI以及SSEL。其中一个芯片叫做主控芯片,另一个叫从芯片。
SPI基础基本特点:基本特点:1同步2串行3全双工4非即插即用5一主多从更多细节:更多细节:1同步时钟有主控芯片产生,每个时钟传输一位数据2数据在传输前,首先许要进行并转串,才能用一条线传输3两条数据线,一条输入、一条输出4主从双方有关于SPI传输的先验知识,如比特顺序、数据长度等
f5数据传输有主控芯片发起,每次只与一个从芯片通讯SPI是一种同步全双工的通讯接口,每个时钟在两条数据线上各传输一比特数据。简单的传输假设在主从芯片之间进行的是8位长度的,高位数据在前的SPI传输,则单个字节的传输在波形上看起来是这样的。
MOSI是主输出线,而MISO则是从输出线。由于SPI是全双工的,所以在时钟沿上两条线同时传输数据。MOSI将数据从主控芯片传输至从芯片,MISO则将从芯片的数据传输到主控芯片。详细的说是这样的:
1,首先主控芯片使能相应的SSEL信号,通知相应的从芯片数据传输要开始了;2,主控芯片产生8个SPI时钟周期,并将数据在每个时钟沿发送出去,同时从芯片在也每个时钟沿将数据发送到MISO线上。3,主控芯片撤销SSEL信号,一次SPI传输结束多个从芯片的情况通过扩展SSEL信号,一个主控芯片可以和多个从芯片进行SPI通讯。下图是有三个从芯片的情况
f主控芯片有3条SSEL线,每次只使能条,和其中一个从芯片进行SPI通讯。由于所有芯片的MISO都连接在一起,所以不允许同时有多个从芯片驱动MISO线。SPI有多快SPI可以很轻易的做到几Mbps的传输速率,这就意味着SPI可以用来进行非压缩的音频和和压缩的视频信号传输。相关链接:Wikipedia的SPI接口总线
第二部分
SPI接口的FPGA简单实现ARM处理器为了检验我们刚学得的关于SPI的知识,我们使用一个带有SPI接口的ARM7板和FPGA板,板间由SPI总线连接。ARM处理器作为主控器,FPGA作为SPI从机。下图为他们之间的连接方式。
fSPI主控机C语言程序使用ARM的SPI接口,只需要初始化一些寄存r
好听全球资料 返回顶部