一、STM32
11.1 - SPI通信协议
1. SPI(Serial Peripheral Interface)是一种通用数据总线:
(1)SPI具有四根通信线:SCK(Serial Clock)——串行时钟线、MOSI(Master Output Slave Input)——主机输出从机输入、MISO(Master Input Slave Output)——主机输入从机输出、SS(Slave Select)——从机选择;
(2)同步,全双工(边发射边接收,简单高效),支持总线挂载多设备(一主多从)。
2. SPI相对于I2C的优点
(1)更高的数据传输速率:SPI支持更高的数据传输速率,通常可以达到几兆比特每秒(Mbps),而I2C的标准模式为100kHz,快速模式为400kHz,高速模式为3.4MHz。这使得SPI在需要高速数据传输的应用中更具优势,如高速传感器、存储设备等。
(2)简单的主从架构:SPI采用主从架构,每个从设备通过单独的片选线(CS)与主设备连接。这种架构使得连接多个从设备时,每个设备的控制更加明确和简单,减少了地址冲突的问题。
(3)全双工通信:SPI支持全双工通信,即数据可以在同一时间进行发送和接收。这在需要同时进行数据传输和接收的应用中非常有用,如音频传输、数据同步等。
(4)灵活的时钟控制:SPI的时钟信号(SCK)由主设备生成,可以灵活控制时钟的频率和相位。这使得SPI能够更好地适应不同设备的时钟要求,提高通信的灵活性。
(5)较少的协议开销:SPI协议相对简单,没有复杂的起始条件、停止条件和应答位等,数据传输更加直接和高效。这减少了协议开销,提高了数据传输的效率。
3. SPI相对于I2C的缺点
(1)更多的引脚需求:SPI需要更多的引脚来连接设备。除了数据线(MOSI和MISO)、时钟线(SCK)和地线(GND)外,每个从设备还需要一根单独的片选线(CS)。这在引脚资源有限的微控制器上可能会成为一个问题。
(2)不支持多主设备:SPI不支持多主设备通信。在需要多个主设备同时与从设备通信的场景中,SPI无法直接实现,而I2C支持多主设备通信,可以通过仲裁机制解决多个主设备同时发起通信的问题。
(3)没有内置的错误检测机制:SPI没有内置的错误检测机制,如应答位(ACK/NACK)。这意味着在数据传输过程中,如果发生错误,SPI无法像I2C那样通过应答位来检测和处理错误,需要额外的机制来确保数据的正确传输。
(4)通信距离有限:由于SPI的高速特性和简单的协议,其通信距离相对较短,通常不超过几米。而I2C通过降低数据传输速率,可以支持更长的通信距离。
4. SPI硬件电路
(1)所有SPI设备的SCK、MOSI、MISO分别连在一起;
(2)主机另外引出多条SS控制线,分别接到各从机的SS引脚;
(3)输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入。
5. SPI移位寄存器
(1)数据移入:在SCK的每个时钟周期内,数据从MOSI线逐位移入移位寄存器。
(2)数据移出:在SCK的每个时钟周期内,数据从移位寄存器逐位移出到MISO线。
(3)并行输出:移位寄存器中的数据可以并行输出到外部电路,如LED、继电器等。
6. SPI时序基本单元
(1)起始条件:SS从高电平切换到低电平,终止条件:SS从低电平切换到高电平;
(2)CPOL:时钟极性,CPHA:时钟相位;
(3)交换一个字节(模式1)——CPOL=0:空闲状态时,SCK为低电平;CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据;
(4)交换一个字节(模式2)——CPOL=1:空闲状态时,SCK为高电平;CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据;
(5)交换一个字节(模式3)——CPOL=1:空闲状态时,SCK为高电平;CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据。
7. SPI时序
(1)发送指令:向SS指定的设备,发送指令(0x06);
(2)指定地址写:向SS指定的设备,发送写指令(0x02),随后在指定地址(Address[23:0])下,写入指定数据;
(3)指定地址读:向SS指定的设备,发送读指令(0x03),随后在指定地址(Address[23:0])下,读取从机数据。
11.2 - W25Q64简介
1. W25Qxx系列
(1)作为一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景;
(2)存储介质:Nor Flash(闪存);
(3)时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI);
(4)存储容量(24位地址)。
2. W25Q64硬件电路
3. Flash操作注意事项
二、空气动力学
7. 动压:
(1)动压是压强,具有压强的量纲;
(2)动压是流体流动时“碰壁”,动能减为零,压力增大导致的。
8. 无量纲参数:
(1)升力系数:
(2)阻力系数:
(3)压力系数:
(4)摩擦力系数:
(6)A是参考面积,对于三维物体来说是面积,对于二维物体来说是周长,单位为平方米(m²);
(7)升力系数表示飞行器产生升力的能力(动压力与升力之比);
(8)以上无量纲参数,三维物体的常用C,二维物体的常用c。