端口复用的SPI控制

概要

SPI总线通常为三线构成时钟CLOCK、数据DATA和使能LE,实际工程中经常会遇到功能相同的多个SPI总线器件需要工作在不同的控制状态,如果每个器件依然采用独立的三线SPI,则控制位需要很多,本文给出了通过复用SPI总线简化控制的方法(需要用到额外的CSB片选位)。

通过复用SPI总线优化控制端口数量

在控制peregrine数控衰减器的文章中已经介绍了最基本的串行 SPI 接口控制方法,但在实际的硬件特别是多通道阵列硬件设计中,很可能不会使用这种单独控制某个器件的方法。

拿一个 4×4 的组件为例,如果每个通道都有一个使用四线串行 SPI 接口的移相器,那么如果不做控制线的优化,控制这个组件就需要 4×4×4=64 个控制端口,这样的硬件设计有些过于奢侈。同时这种设计本质上对应的是顺序控制16个移相器,控制完一个再接下一个,控制速度也不会很快。

因此,要讨论一下如何优化SPI的控制端口数量,在硬件控制连接方式确定后,再着手改进基本 SPI 代码进行 4×4 组件的控制。

如图1所示,左侧的图为四线 SPI 接口(片选 CSB ,使能 LE ,时钟 CLK ,数据 DATA )

你可能感兴趣的:(单片机,SPI,多通道,matlab,时序图,端口复用,控制)