携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天
SPI 协议简介
SPI是上世纪80年代中期由Motorola开发的一款,用于串行外设接口(Serial Peripheral Interaface)通信协议。主要用于嵌入式系统的短距离通信,典型应用为闪存(Flash)或液晶显示接口。主要特点有:全双工,同步,串行,主从结构。并且该协议接口只需占用四根线,大大节约了芯片的管脚数量,同时为PCB的布局布线提供了方便。正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议接口。
SPI总线的传输速率需要自定义,没有具体的规定,一般为:400KHz~10MHz(AHB:100MHz,APB:50MHz)
- 主要功能:实现CPU与各种外设连接(芯片与芯片之间的连接),以串行的 方式进行数据交换(串并转换)
- 拓扑结构: 一个SPI Master 可以通过共享数据线的方式可以连接多个SPI Slave(一主多从)
- 接口配置: 作为芯片与芯片之间互连的接口,通过配置寄存器实现主控芯片(SPI Master)对外围芯片(SPI Slave)的配置;
- Core可以通过红色示意的数据通路配置寄存器,来让AD/DA模块工作在预期的模式!
- CPU内部可以通过并行的AMBA总线(AHB/APB)来配置某个模块,但是如果外挂AD/DA模块在单板上,考虑到信号完整性等问题就不能使用AMBA总线来配置它,这里就需要将并行的AMBA总线转换成串行的SPI总线。这样SPI Master和SPI Slave 之间就可以通过很少的物理走线连接!