接口/总线/驱动
半双工和全双工传输
半双工和全双工这两个术语指代用两个器件通过某种通道进行数据传输所采用的两种模式。在半双工系统中,连接线的两端都有一个发送器和一个接收器,但是它们不会同时激活,在任何给定的时间内,数据只能沿通道朝着一个方向传输。USB和I2C接口都是半双工的,且RS485一般也作为半双工接口使用。全双工系统中两条单独的通道,它们两端各有一个发送器个一个接收器,两条通道同时以相反的方向传输数据。一条通道上的发送器无论何时有了可传输的数据,都可以传输。
SPI
SPI是一个缩写,代表串行外设接口,是一种全双工四导线同步串行接口,用于芯片到芯片之间的通信。SPI以主从方式通信,一般由主设备启动数据交换。SPI的四条信号线:SCL、MOSI、MISO和SS。
SPI信号线
在SPI的 应用中,主设备通常是微控制器或微处理器(CPU),与SPI从设备连接。对于主设备通过MOSI线发送的每个数字,从设备都会同时从MISO线返回一个数字。结果就是在每个时钟周期内(SCLK线)都完成一次全双工数据传输。因为SPI不使用设备地址,所以你必须使用SS线来选定每一个从设备。
全双工通信主/从设备寄存器操作方法
每个从设备都等待控制输入(SS线)电压降低,之后就开始从主设备读入数据,与时钟信号保持同步。
SPI数据传输时间图
上图中,数据在时钟脉冲的下降沿改变(切换),在上升沿被读取。数据一行上的每一个长相奇特的“盒子”都代表数据的单个数字,要么是低(0)要么高(1)。当SS线为高电平(闲置)时,从设备将使MISO引脚进入高阻抗状态。这样就有效地将MISO线从电路中移除,直至连接该从设备的SS线电平再次被拉低为止。注:主/从设备必须使用同一个时钟和数据模式才能通信,而且大多数从设备在制作成四种模式之一时,都采用固定接线。如果主设备使用不同的时钟模式连接到多个从设备上,那么它就需要针对每个从设备重新配置。
多个SPI从设备和一个主设备
全部0条评论
快来发表一下你的评论吧 !