单片机——通信协议(FPGA+c语言应用之spi协议解析篇)

引言

        串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。

        SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。本文重点介绍常用的4线SPI接口。

 

 一.SPI、I2C 和 UART对比

单片机——通信协议(FPGA+c语言应用之spi协议解析篇)_第1张图片

二.spi协议解析

        串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。 

        单片机——通信协议(FPGA+c语言应用之spi协议解析篇)_第2张图片 

        SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。本文重点介绍常用的4线SPI接口。

1.SCLK(Serial Clock):时钟信号线,由主设备提供,用于同步数据传输。

2.MOSI(Master Out, Slave In):主设备输出,从设备输入,用于主设备向从设备发送数据。

3.MISO(Master In, Slave Out):主设备输入,从设备输出,用于从设备向主设备发送数据。

4.SS(Slave Select):从设备选择信号线,由主设备控制,用于选择要与主设备通信的从设备。

 

 三.spi信号采样

         在SPI中,主机可以选择时钟极性和时钟相位。在空闲状态期间,CPOL位设置时钟信号的极性。空闲状态是指传输开始时CS为高电平且在向低电平转变的期间,以及传输结束时CS为低电平且在向高电平转变的期间。CPHA位选择时钟相位。根据CPHA位的状态,使用时钟上升沿或下降沿来采样和/或移位数据。主机必须根据从机的要求选择时钟极性和时钟相位。根据CPOL和CPHA位的选择,有四种SPI模式可用。表1显示了这4种SPI模式。

单片机——通信协议(FPGA+c语言应用之spi协议解析篇)_第3张图片

单片机——通信协议(FPGA+c语言应用之spi协议解析篇)_第4张图片 

单片机——通信协议(FPGA+c语言应用之spi协议解析篇)_第5张图片 

 四.下一篇:代码篇

 

 

你可能感兴趣的:(fpga开发,单片机,c语言)