第24讲 SPI实验
一、SPI协议详解 1、SPI相比I2C最大的优势有两点:一个是速度快,最高可以大几十M,甚至上百MHz,第二个就是SPI是个全双工。 2、SPI接口和I2C一样,一个SPI接口可以连接多个SPI外设,SPI通过CS引脚/数据线,片选引脚来选择和哪个SPI外设通信。SPI通信前先将指定的SPI外设对应的CS引脚拉低来选中此设备。 3、ALPHA开发板上通过ECSPI3接口连接了一个6轴传感器,引脚如下: ECSPI3_SCLK : UART2_RX ECSPI3_MOSI:UART2_CTS ECSPI3_SS0:UART2_TXD ECSPI3_MISO: UART2_RTS 6ULL一个SPI主接口有4个硬件片选,分别为SS0~SS3。 4、根据CPOL和CPHA可以设置四种工作模式,一般使用CPOL=0、CPHA=0。
二、6ULL SPI接口详解 1、6ULL的SPI接口叫做ECSPI,支持全双工、主丛可配置。 2、4个硬件片选信号,可以使用软件片选,这样一个SPI接口所能连接的外设就无限制了。 1、RXDATA寄存器为接收到的数据。 2、TXDATA寄存器为发送数据寄存器。 3、CONREG寄存器为配置寄存器,bit0置1,使能SPI。Bit3置1,表示当向TXFIFO写入数据以后马上开启SPI突发访问,也就是发送数据。Bit7:4设置SPI通道主从模式,bit7为通道3,bit4为通道0,我们使用到了SS0,也就是通道0,因此需要设置bit4为1。Bit19:18设置为00,我们使用到SS0,也就是通道0。Bit31:30设置突发访问长度,我们设置为7,也就是8bit突发长度,一个字