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

阅读

《命运》

相关推荐
bubiyoushang8881 天前
STM32F103C8T6+DM9051以太网功能实现方案
stm32·单片机·嵌入式硬件
IT_阿水1 天前
基于STM32河流水质检测
stm32·单片机·嵌入式硬件
黑白园1 天前
STM32定时器中断
stm32·单片机·嵌入式硬件
weixin_456808381 天前
【沁恒蓝牙开发】ADC DMA定时采样、转化
单片机·嵌入式硬件
华普微HOPERF1 天前
MCU+BLE射频+丰富外设,BLE SoC如何高效传输数据?
单片机·嵌入式硬件
振南的单片机世界1 天前
时钟开关:不用的外设,把它的时钟关掉,省电!
stm32·单片机·嵌入式硬件
iCxhust2 天前
将8088 BootLoader分拆烧写到8086 ROM中
stm32·单片机·嵌入式硬件·51单片机·微机原理
国科安芯2 天前
商业航天电机控制领域抗辐射 MCU 芯片应用研究
网络·单片机·嵌入式硬件·安全性测试
charlie1145141912 天前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
电子科技圈2 天前
芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术, 解锁车用、家居、健康及工商业等应用场景
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·汽车