IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> IIC SPI协议基本解析 -> 正文阅读

[嵌入式]IIC SPI协议基本解析

IIC协议简介
IIC协议是一种通信协议,串行通信协议,半双工通讯,可以让mcu与其他外设进行通讯,可以挂在多个主机与从机,每次通信只可以一个主机与一个从机通讯。iic有两根总线,SCL总线(串行时钟线)用来时钟同步收发,SDA总线(双向串行数据线)用来数据的收发。要实现设备的通讯就要首先知道设备的独立地址,一般这个地址在设备的手册上有查阅设备手册就可以知道,地址有7位地址与10位地址,一般用的是7位地址,IIC设备的读与写(传输方向选择位)与设备的7位地址组成了一个新的8位地址,读是1,写是0。例如,EEPROM的设备地址格式为1010XXX,如果一个设备的地址为1010 000即0x50,与传输方向选择位组成一个新的8位地址。1010 0000 (0xA0)设备写地址,1010 0001(0xA1)设备读地址。
IIC的引脚模式必须使用开漏模式GPIO_Mode_AF_OD
IIC读写的基本过程
1:产生起始信号(SCL保持高电平,SDA由高电平变为低电平后,延时(>4.7us),SCL变 为低电平)
2:广播设备地址+传输方向选择位
3:等待应答信号。
4:发送数据(字节)(1个字节为8bit)
5:等待应答信号
6:重复发送数据(4,5)
7:停止信号(SCL保持高电平。SDA由低电平变为高电平)

传输速率:在初始化中配置,
标准模式下是100kbit/s,
快速模式下400kbit/s,
高速模式下3.4Mbit/s

IIC协议的优点
可以添加多个从机设备(连接到相同总线的 IC 数量受到总线的最大电容 400pF 限制 。 ),只有两根总线占用资源少,故障的诊断和调试简单

SPI通信协议简介:
一种串行外围设备接口,是一种高速全双工的通讯总线,它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。一般只有一个主机,有多个从机,主机与从机间有三根总线,一根片选线。三根总线并联在各个设备之间,片选线串联在主机与从机之间。
三根总线分别是:
SCK(时钟信号线):用于通讯数据同步,由通讯主机产生,决定了通讯的速率。
MOSI(主设备输出/从设备输入):主机的数据由这条线输出,从机的数据由这条线输入
MISO(主设备输入/从设备输出):主机从这条信号线读入数据,从机的数据由这条信号线输出到主机

片选线:CS/NSS
有多少个从机设备与主机相连,就有多少条片选线,每个设备拥有一条独立的片选线,spi设备没有设备地址,通过拉低CS作为设备通讯的开始信号,CS拉高作为设备通讯结束信号。

SPI一共有四种通讯模式(SPI0,SPI1,SPI2,SPI3),它们的主要区别是总线空闲时SCK的时钟状态以及数据采样时刻,通过不同的时钟极性CPOL和时钟相位CPHA来设置

时钟极性CPOL是指SPI通讯设备处于空闲状态时,SCK信号线的电平信号,即SPI通讯开始前、 NSS线为高电平时SCK的状态,SCK在空闲状态时为低电平,CPOL=1时,相反。

时钟相位CPHA是指数据的采样的时刻,当CPHA=0时,MOSI或MISO数据线上的信号将会在SCK时钟线的“奇数边沿”被采样。当CPHA=1时,数据线在SCK的“偶数边沿”采样

SPI主模式收发流程
1:控制NSS信号线,产生起始信号
2:把要发送的数据写入到“数据寄存器DR”中,该数据会被存储到发送缓冲区
3:通讯开始,SCK时钟开始运行。MOSI把发送缓冲区中的数据一位一位地传输出去;MISO则把数据一位一位地存储进接收缓冲区中;
4:当发送完一帧数据的时候,“状态寄存器SR”中的“TXE标志位”会被置1,表示传输完一帧,发送缓冲区已空;类似地,当接收完一帧数据的时候,“RXNE标志位”会被置1,表示传输完一帧,接收缓冲区非空;
5:等待到“TXE标志位”为1时,若还要继续发送数据,则再次往“数据寄存器DR”写入数据即可;等待到“RXNE标志位”为1时,通过读取“数据寄存器DR”可以获取接收缓冲区中的内容。

SPI的传输速率受以下影响
1:SPI的最大时钟频率
2:CPU处理SPI数据的能力
3:pcb所允许的最大传输速率

SPI的最大时钟频率在spi初始化中设置SPI_BaudRatePrescaler ,设置波特率分频因子,分频后的时钟即为SPI的SCK信号线的时钟频率。这个成员参数可设置为fpclk的2、4、6、8、16、32、64、128、256分频。 最大是2分频时钟频率,可达到50Mbps。stm32f103ve系列时钟频率是72M
那么最大spi传输速率可达36Mbit/s

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:20:17  更:2022-02-14 21:22:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:02:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码