打工人日报#20251202

打工人日报#20251202

2C 和 SPI 并非随便选择几个引脚然后设置时序就能实现,虽然从原理上理解它们基于特定时序通信,但实际应用中有诸多限制与要求:

I2C

引脚特性

SCL(时钟线)和 SDA(数据线):I2C 标准规定使用这两根线进行通信。在大多数微控制器中,通常有特定的引脚被指定为 I2C 功能引脚,这些引脚具备开漏输出特性 。开漏输出意味着引脚只能拉低电平,高电平需要通过上拉电阻到电源来实现。例如,STM32 系列微控制器,有专门的 I2C 外设引脚,如 PB6(SCL)和 PB7(SDA)可作为 I2C1 的默认引脚。

上拉电阻:由于 I2C 引脚的开漏特性,必须接上拉电阻。上拉电阻的值通常在 1kΩ - 10kΩ 之间,常见取值为 4.7kΩ。上拉电阻的作用是在总线空闲时将 SCL 和 SDA 线拉高到高电平,确保信号的正常传输和电平状态的稳定。

时序要求严格

起始和停止条件:起始条件是当 SCL 为高电平时,SDA 由高电平向低电平跳变;停止条件是当 SCL 为高电平时,SDA 由低电平向高电平跳变。这些条件的时序要求非常精确,例如起始条件下 SCL 高电平期间 SDA 的电平变化必须在规定的时间内完成,否则从设备可能无法正确识别起始信号。

数据传输:数据在 SCL 的低电平期间改变,在 SCL 高电平期间保持稳定以供从设备采样。每个数据位的传输都要严格遵循这种时序,并且数据传输的速率也有规定,标准模式下速率为 100kbps,快速模式为 400kbps,高速模式可达 3.4Mbps,不同模式对时序的要求不同。

SPI

引脚功能特定

MOSI(主机输出从机输入)、MISO(主机输入从机输出)、SCK(串行时钟)和 SS(从机选择):SPI 通信至少需要这四根线(有些简单应用中可能会共享某些线)。在不同的微控制器中,这些信号通常对应特定的引脚。例如,Arduino 的 SPI 通信,MOSI 对应 D11 引脚,MISO 对应 D12 引脚,SCK 对应 D13 引脚,SS 引脚可根据实际连接的从设备选择不同引脚。

引脚复用:很多微控制器的引脚具有复用功能,SPI 相关引脚可能会与其他外设功能复用。例如,在一些芯片中,SPI 的 SCK 引脚可能同时也能作为普通 GPIO 或者其他通信接口的时钟引脚,这就需要通过配置寄存器来选择使用 SPI 功能。

时序模式多样

四种工作模式:SPI 有四种工作模式,由时钟极性(CPOL)和时钟相位(CPHA)决定。CPOL 决定时钟空闲时的电平状态(0 为低电平空闲,1 为高电平空闲),CPHA 决定数据采样的时钟沿(0 为在时钟的第一个沿采样,1 为在时钟的第二个沿采样)。主机和从机必须配置为相同的工作模式才能正常通信,例如主机设置为 CPOL = 0,CPHA = 0 模式,从机也需要设置为相同模式。

速率限制:SPI 的数据传输速率取决于主机的时钟发生器和相关寄存器配置,同时也受到硬件电路和从设备的限制。过高的传输速率可能会导致信号失真、数据传输错误等问题,例如在长距离传输或者连接低速从设备时,需要适当降低传输速率。

阅读

《命运》

相关推荐
一枝小雨32 分钟前
7 App代码转AES加密文件生成步骤
stm32·单片机·嵌入式·aes·ota·bootloader·加密升级
mylinke1 小时前
永磁同步电机双闭环控制模型故障诊断与仿真研究:基于MATLAB Simulink的仿真代码实现
单片机
云山工作室2 小时前
基于ZigBee的温室智能控制系统设计(论文+源码)
stm32·单片机·嵌入式硬件·物联网·课程设计
小李做物联网2 小时前
为什么你的老是焊接后通信不成功,物联网焊接注意点
单片机·嵌入式硬件·物联网·课程设计
sam-zy2 小时前
PY32F406K1CU6 FLASH模拟EEPROM
单片机·嵌入式硬件·fpga开发
恒锐丰小吕2 小时前
无锡黑锋 HF6306 高性能超低静态电流低压差稳压器技术解析
嵌入式硬件·硬件工程
云山工作室2 小时前
血糖浓度测试仪设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
sam-zy3 小时前
PY32F403K1CU6定时器1~6基本配置,1ms中断,每隔1秒打印
单片机·嵌入式硬件·fpga开发
三佛科技-134163842123 小时前
脉冲清洗机MCU方案开发设计
单片机·嵌入式硬件·智能家居·pcb工艺