打印
[STM32L1]

学习笔记+ST的STM32L1系列SPI接口

[复制链接]
1086|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

       SPI接口是一种非常常见的串行接口,支持全双工、同步、高速串行通讯。

       但是不同外设厂商的SPI接口模式有可能不同。在做外设驱动开发时一定要注意SPI接口的时钟极性和相位设置。

       STM32L1系列SPI接口的时钟极性和相位设置是可编程的:
        

      

        另外有两个方面需要注意(设置错误可能导致数据传输错误):

        可配置的数据帧结构:8位或16位传输帧选择
        可配置的数据顺序,MSB在前或者LSB在前

        ST的STM32L1系列SPI接口支持的通信模式:
       1、SPI模块支持全双工,三线同步传输通信模式
        
       2、SPI模块支持两种单工通信模式:
        双向: 1根时钟线和1根双向的数据线  
         
        仅接收: 1根时钟线和1根单向的数据线
         
        了解SPI内部框图就容易理解为什么可以这样接线了:
         

            
        双向单工通信模式在某些情况下可以节省MCU引脚:比如说驱动一个外部SPI接口的LCD显示,只需要往LCD写数据,所以采取这种通讯方式可以节省一个MCUIO口。

        ST的STM32L1系列SPI接口提高传输速度的措施:
         1、STM32L1系列SPI接口可配置高达16 MHz的通讯比特率;
         2、SPI支持中断功能,有SPI总线忙标志位、带中断功能的主模式故障和过载标志;
         3、SPI支持DMA传输,每个SPI模块都支持发送和接收两个方向上的DMA请求,每个SPI模块的请求都映射到不同的DMA通道,因此在 同一时间,所有的SPI通信都可以使用DMA传输;
         4、具有硬件CRC模块,在数据传输完毕后,会自动发送计算好的CRC校验值。

       以上4点确保在高速通讯的情况下,数据仍然是正确的!

       ST的STM32L1系列SPI接口支持SPI接口的SD卡,性能可以达到最高传输时钟16MHz,带硬件CRC错误校验。
        







使用特权

评论回复
沙发
mmuuss586| | 2020-1-16 11:47 | 只看该作者
感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

735

帖子

0

粉丝