江苏广泽建设公司网站,wordpress易企秀,怎么找人做网站,传奇 网页游戏排行榜目录
一、简介
二、接口
三、传输模式
四、数据交换
五、多从机配置
1、常规SPI模式
2、菊花链模式 一、简介 串行外设接口#xff08;SPI#xff09;是微控制器和外围IC#xff08;如传感器、ADC、DAC、移位寄存器、SRAM等#xff09;之间使用最广泛的接口之一。…目录
一、简介
二、接口
三、传输模式
四、数据交换
五、多从机配置
1、常规SPI模式
2、菊花链模式 一、简介 串行外设接口SPI是微控制器和外围IC如传感器、ADC、DAC、移位寄存器、SRAM等之间使用最广泛的接口之一。 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或者下降沿同步。SPI共有四根线主机和从机可以同时传输数据。 相对于I2C协议来说SPI通信速率可以很高一般能达到 MHz 甚至更高的级别适用于高速数据传输SPI支持全双工通信主设备和从设备可以同时发送和接收数据通信效率高SPI时钟极性和相位可以调整可以适应不同的外设和通信方式。但是SPI线数多并且不支持多主机连接只能由一个主设备控制多个从设备。
二、接口 SPI共有四根线分别是MISO、MOSI、SCLK、CS。 MISO主设备数据输入从设备数据输出MOSI主设备数据输出从设备数据输入SCLK同步时钟信号由主设备产生CS从设备使能信号由主设备控制。当总线上有多个从设备的时候主设备如果需要和某个从设备通信就将该设备对应的片选引脚拉低使能 学习完SPI的接口后我们总结一下要开始SPI通信主机必须发送时钟信号并通过使能CS信号选择从机。 片选通常是低电平有效信号。因此主机必须在该信号上发送逻辑0以选择从机。SPI是全双工接口主机和从机可以分别通过MOSI和MISO线路同时发送数据。在SPI通信期间数据的发送和接收同时进行。同时SPI接口允许用户灵活选择时钟的上升沿或下降沿来采样数据或移位数据。
三、传输模式 在SPI中主机可以选择时钟极性和时钟相位。在空闲状态期间CPOL位设置时钟信号的极性。空闲状态是指传输开始时CS为高电平且在向低电平转变的期间以及传输结束时CS为低电平且在向高电平转变的期间。 CPHA位选择时钟相位。根据CPHA位的状态使用时钟上升沿或下降沿来采样或移位数据。主机必须根据从机的要求选择时钟极性和时钟相位。根据CPOL和CPHA位的选择有四种模式可用。
SPI模式CPOLCPHA空闲状态下的时钟极性采样或移位的时钟相位000逻辑低电平数据在上升沿采样在下降沿移出101逻辑低电平数据在下降沿采样在上升沿移出210逻辑高电平数据在下降沿采样在上升沿移出311逻辑高电平数据在上升沿采样在下降沿移出 看如下几张图传输的开始和结束用绿色虚线表示采样边沿用橙色虚线表示移位边沿用蓝色虚线表示。
模式一 模式二 模式三 模式四
四、数据交换 SPI设备之间的数据传输之所以被称为数据交换是因为SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当一共“发送者”或者“接收者”。事实上SPI设备在通信时两边各有一个移位寄存器这样在发送一个bit的同时将会收到对方1个bit的数据当发送完8bit数据后也将收到对方的8bit数据这也就意味着完成了1个byte的数据交换。 SPI数据传输过程实际上就是主从设备两个移位寄存器的数据交换过程所以SPI的读功能实际上可以由SPI的写功能实现即随便写一个字节的无效数据即可。在数据传输的过程中每次接收到的数据必须在下一次数据传输之前被采样。如果之前接收到的数据没有被读取那么这些已经接收到的数据有可能会被丢弃导致SPI物理模块最终失效。
五、多从机配置 多个从机可与单个SPI主机一起使用。从机可以采用常规模式连接或采用菊花链模式连接。
1、常规SPI模式 在常规模式下主机需要为每个从机提供单独的片选信号。一旦主机使能拉低片选信号MOSI、MISO线上的时钟和数据便可用于所选的从机。如果使能多个片选信号则MISO线上的数据会被破坏因为主机无法识别哪个从机正在传输数据。 但是常规SPI模式随着从机数量的增加来自主机的片选线的数量也增加。这会快速增加主机需要提供的输入和输出数量并限制可以使用的从机数量。 优点 每个从设备直接连接到主设备数据传输路径短延迟较低适合实时性要求高的应用每个从设备都有独立的片选信号CS一个从设备的故障不会影响其他从设备的正常工作提高了系统的可靠性每个从设备直接与主设备通信无需中间设备转发数据通信协议简单。
缺点 每增加一个从设备就需要一个额外的片选引脚导致引脚资源消耗较大限制了可以连接的从设备数量需要为每个从设备布设独立的片选信号线随着从设备数量的增加布线复杂度增加增加或移除从设备时需要重新配置片选信号线和修改主设备的软件配置灵活性较差。
2、菊花链模式 在菊花链模式下 所有从机的片选信号连接在一起数据从一个从机传播到下一个从机。在此配置中所有从机同时接收同一个SPI时钟。来自主机的数据直接送到第一个从机该从机将数据提供给下一个从机依次类推。 使用该方法时由于数据是从一个从机传播到下一个从机所以传输数据所需要的时钟周期数与菊花链中的从机位置成比例。例如在下图所示的8位系统中为使第3个从机能够获得数据需要24个时钟脉冲而常规SPI模式下只需要8个时钟。注意并非所有SPI器件都支持菊花链模式 优点 菊花链模式通过串联多个设备使得只需要一组SPI总线即可连接多个从设备从而节省了主控设备的引脚资源由于设备是串联的所以布线相对简单可以减少PCB上的布线复杂度可以方便地添加或移除从设备只需将新的设备串联在链的末端即可。
缺点 每个设备都会引入一定的延迟随着链条长度的增加总延迟会累积可能影响通信速度和实时性如果链条中的一个设备故障可能会影响后续所有设备的通信降低系统的可靠性传输的数据需要通过多个设备中间设备需要对数据进行转发这增加了信号的复杂性和系统设计的难度。