版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章SPI和I2C的原理及应用基于STM32的嵌入式系统原理与应用主讲老师:胡兰兰ONTENTS目录C01常用的存储器种类02SPI的原理03SPI读写串行FLASH案例04I2C的原理05I2C读写EEPROM案例01常用的存储器种类常用的存储器种类STM32F407微控制器的存储器主要用于存储和处理数据,其在提升系统性能、保护数据安全以及扩展设备功能方面发挥着至关重要的作用。STM32F407微控制器的存储器可分为易失性存储器和非易失性存储器。RAM1.DRAM(DynamicRandomAccessMemory)DRAM,即动态随机存取存储器,是一种常见的计算机存储技术,用于临时存储数据和程序,以便快速访问和处理。DRAM是随机存取存储器(RAM)的一种形式,它允许计算机处理器在任何时间点访问存储器中的任何位置。DRAM的工作原理基于电容存储电荷来代表数据位(0或1)。DRAM有几种不同的类型,包括:(1)标准DRAM(SDRAM);(2)同步动态随机存取存储器(SDRAM),其与系统总线同步操作,提供更快的数据传输速率;(3)双倍数据速率同步动态随机存取存储器(DDRSDRAM),用于进一步增强了数据传输速率;(4)其他高级形式,如DDR2、DDR3、DDR4等,随着技术的发展而不断进步。RAM2.SRAM(StaticRandomAccessMemory)SRAM,即静态随机存取存储器,使用触发器(一种电子电路)来存储数据。与动态随机存取存储器(DRAM)不同,SRAM不需要定期刷新来保持数据,因为它的数据存储在稳定的电路状态中,而不是像DRAM那样依赖于电容的电荷。SRAM可以是单端口的,也可以是双端口的,其允许两个不同的处理器或设备同时访问存储器的不同部分。STM32F407有192KB的SRAM1和64KB的SRAM2。非易失性存储器1.ROM(Read-OnlyMemory)只读存储器(Read-OnlyMemory,ROM)是一种非易失性存储器,主要用于计算机和其他电子设备中。ROM即使在断电时也会保留数据,与RAM(随机存取存储器)形成对比,后者是易失性的,在断电时会丢失数据。存储在ROM中的数据通常在制造过程中编程,通常不会被普通计算机进程轻易修改或覆盖。这使ROM适合存储需要保留的固件和其他重要程序。ROM包含的存储器类型有:(1)掩模式只读存储器(MASKROM):数据在制造过程中编程到ROM中,是永久性的。(2)一次可编程存储器(OTPROM):数据仅可通过专用编程器写入一次,且不可再修改。(3)可擦可编程只读存储器(EPROM):数据可以通过紫外线擦除和重新编程。(4)电可擦可编程只读存储器(EEPROM):数据可以通过电子方式擦除和重新编程。非易失性存储器2.FLASH存储器闪存存储器(Flashmemory)是一种非易失性存储器,具有快速读写速度和电子擦除功能,相对于传统硬盘等存储设备,擦除速度更快。FLASH存储器包含有NANDFLASH和NORFLASH两种类型:NANDFLASH:用于需要大容量存储的设备,如固态硬盘(SSD)、USB闪存驱动器等。NORFLASH:用于需要快速读取的应用,如嵌入式系统的启动代码等。特性NANDFLASHNORFLASH同容量存储器成本较便宜较贵集成度较高较低介质类型连续存储随机存储地址线和数据线共用独立分开擦除单元“扇区/块”擦除“扇区/块”擦除读写单元“块”为单位读写可以基于字节读写读取速度较低较高写入速度较高较低坏块较多较少是否支持XIP不支持支持表11-1NANDFLASH和NORFLASH特性对比02SPI的原理SPI物理层SPI包含四条信号线:SCK(时钟信号)、MISO(主入从出,从设备到主设备的数据线)、MOSI(主出从入,主设备到从设备的数据线)和SS(片选信号,用于选择特定的从设备):串行时钟线(SCK):由主设备产生。主机输入/从机输出数据线(MISO):这条信号线上的方向是由从设备到主设备,即从设备从这条信号线发送数据,主设备从这条信号线上接收数据。主机输出/从机输入数据线(MOSI):这条信号线上的方向是从主设备到从设备,即主设备从这条信号线发送数据,从设备从这条信号线上接收数据。低电平有效的从机选择线(NSS):当有多个SPI从设备与SPI主设备相连(即一主多从)时,用来选择激活指定的从设备,由SPI主设备(通常是微控制器)驱动,低电平有效。SPI物理层图11-2一主一从SPI通信系统图11-3一主多从SPI通信系统SPI协议层SPI_CR寄存器的CPOL和CPHA位可以组合成四种可能的时序关系。CPOL(时钟极性)位控制时钟的空闲状态电平,适用于主模式和从模式设备。当CPOL为0时,SCK引脚在空闲状态保持低电平;当CPOL为1时,SCK引脚在空闲状态保持高电平。如果CPHA(时钟相位)位被清0,数据在SCK时钟的奇数跳变沿(对于CPOL为0,上升沿;对于CPOL为1,下降沿)进行数据位的存取,数据在SCK时钟的偶数跳变沿(对于CPOL为0,下降沿;对于CPOL为1,上升沿)准备就绪。SPI协议层SPI_CR寄存器的CPOL和CPHA位可以组合成四种可能的时序关系。CPOL(时钟极性)位控制时钟的空闲状态电平,适用于主模式和从模式设备。当CPOL为0时,SCK引脚在空闲状态保持低电平;当CPOL为1时,SCK引脚在空闲状态保持高电平。当CPHA位为1时,数据在SCK时钟的偶数跳变沿(CPOL为0时为下降沿,CPOL为1时为上升沿)进行数据存取,奇数跳变沿(CPOL为0时为上升沿,CPOL为1时为下降沿)准备数据。CPOL和CPHA的组合决定数据捕捉的时钟边沿。图11-4和图11-5展示了SPI传输的四种CPHA和CPOL组合,说明了主设备和从设备的SCK、MISO、MOSI引脚连接的主/从时序图。SPI特性及架构原理STM32的SPI具有以下特性:(1)支持3线全双工同步传输,以及带或不带第三根双向数据线的双线单工同步传输。(2)可选择8位或16位传输帧格式。(3)支持主模式和从模式的快速通信,同时支持多主模式。(4)具有可编程的时钟极性、相位和数据顺序。(5)提供可触发中断的专用发送和接收标志,主模式故障、过载以及CRC错误标志。(6)提供SPI总线忙状态标志。(7)支持硬件CRC以实现可靠通信。(8)集成了支持DMA功能的1字节发送和接收缓冲器,可触发发送和接收请求。SPI寄存器寄存器名称作用SPI_CR1SPI控制寄存器1用于配置SPI工作参数SPI_SRSPI状态寄存器用于查询当前SPI传输状态(TXE、RXNE)SPI_DRSPI数据寄存器用于存放待发送数据或接收数据,有两个缓冲区(TX/RX)表11-2SPI相关寄存器03SPI读写串行FLASH案例硬件设计SPI读写串行FLASH原理图如图所示,其中F_CS是连接在PB14上面的,SPI1_SCK、SPI1_MISO、SPI1_MOSI分别连接开发板的PB3、PB4、PB5。本案例目标要求:实现按键(KEY1)用来执行写入W25Q128的操作,另外一个按键(KEY2)用来执行读出操作,在TFTLCD模块上显示相关信息。软件设计编程要点:(1)初始化通信使用的目标引脚及端口时钟。(2)使能SPI外设的时钟。(3)配置SPI外设的模式、地址、速率等参数,并使能SPI外设。(4)编写基本的按字节收发函数。(5)编写用于Flash擦除、读取和写入操作的函数。(6)撰写测试程序,对读写的数据进行校验。软件设计1、SPI配置图11-8SPI配置流程图软件设计2、W25Q128配置图10-4DMA模式及中断配置04I2C的原理I2C物理层将双向数据线SDA和同步时钟线SCL连接到通信双方,便可进行数据通信。在I2C总线中,传输数据时存在三种信号类型:开始信号、结束信号和应答信号。I2C协议层1.起始和终止信号当SCL处于高电平时,SDA的任何跳变都会被识别成为一个起始信号或停止信号。SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。I2C协议层I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。2.数据位的有效性规定I2C协议层响应信号宽度为1位,紧跟在8个数据位后面,所以发送1字节的数据需要9个SCL时钟脉冲。响应时钟脉冲也是由主机产生的,主机在响应时钟脉冲期间释放SDA线,使其处在高电平。3.数据传送格式(1)字节传送与应答在I2C总线的数据传输过程中,发送到SDA信号线上的数据以字节为单位,每个字节必须为8位,而且是高位(MSB)在前,低位(LSB)在后,每次发送数据的字节数量不受限制。I2C协议层1)DA3~DA0:4位器件地址是I2C总线器件固有的地址编码,器件出厂时就已给定,用户不能自行设置。例如,I2C总线器件E2PROMAT24CXX的器件地址为1010。2)A2~A0:3位引脚地址用于相同地址器件的识别。若I2C总线上挂有相同地址的器件,或同时挂有多片相同器件时,可用硬件连接方式对3位引脚A2~A0接Vcc或接地,形成地址数据。3)R/W:用于确定数据传送方向。R/W=1时,主机接收(读);R/W=0,主机发送(写)。3.数据传送格式(2)总线的寻址I2C协议层1)主机向从机写数据主机向从机写n个字节数据,数据传送方向在整个传送过程中不变。12C的数据线SDA上的数据流如图所示。有阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送。A表示应答,A表示非应答(高电平),S表示起始信号,P表示终止信号。3.数据传送格式(3)数据帧格式I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/W),用0表示主机发送数据(W),1表示主机接收数据(R)。I2C协议层2)主机从从机读数据主机从从机读n个字节数据时,I2C的数据线SDA上的数据流如图所示。其中,阴影框表示数据由主机传输到从机,透明框表示数据流由从机传输到主机。3.数据传送格式(3)数据帧格式I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/W),用0表示主机发送数据(W),1表示主机接收数据(R)。I2C协议层3)主机和从机双向数据传送在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反向。I2C的数据线SDA上的数据流如图所示。3.数据传送格式(3)数据帧格式I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/W),用0表示主机发送数据(W),1表示主机接收数据(R)。I2C协议层4.传输速率I2C的标准传输速率为100Kbit/s,快速传输可达400Kbit/s。目前还增加了高速模式,最高传输速率可达3.4Mbit/s。I2C架构原理I2C的架构原理图如图所示,I2C由SDA线和SCL线展开,主要分为时钟控制、数据控制和控制逻辑等部分,负责实现I2C的时钟产生、数据收发、总线仲裁和中断、DMA等功能。I2C寄存器寄存器名称作用I2C_CR1I2C控制寄存器1用于配置I2C工作参数I2C_SR1I2C状态寄存器1用于存储I2C控制器的各种状态标志位I2C_DRI2C数据寄存器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中共南充市委统战部下属事业单位公开选调工作人员的备考题库及答案详解参考
- 2026年云南云铝海鑫铝业有限公司招聘备考题库带答案详解
- 2026年剑川县人民医院关于公开招聘编外医疗卫生专业技术人员16人的备考题库及1套完整答案详解
- 2026年承德医学院招聘备考题库及一套参考答案详解
- 2026年上海外国语大学中阿改革发展研究中心行政管理人员招聘备考题库及一套完整答案详解
- 2025年杞县事业单位公开引进高层次人才备考题库及一套参考答案详解
- 2026年嵩明县嵩阳一中公开招聘化学临聘教师备考题库及答案详解一套
- 2026年兰州备考题库科技学院招募外籍教师附答案详解
- 2026年内蒙古交通集团有限公司社会化公开招聘备考题库及完整答案详解1套
- 2025-2026学年译林版(三起)英语三年级上册期末综合能力检测卷【含答案详解】
- DB11T 381-2023 既有居住建筑节能改造技术规程
- 计算机应用数学基础 教学 作者 王学军 计算机应用数学课件 第10章 图论
- DF6205电能量采集装置用户手册-2
- 缺血性脑卒中静脉溶栓护理
- 电子电路基础-电子科技大学中国大学mooc课后章节答案期末考试题库2023年
- 四年级科学上册期末试卷及答案-苏教版
- 怀仁县肉牛养殖产业化项目可行性研究报告
- DB51T 2875-2022彩灯(自贡)工艺灯规范
- 主要负责人重大危险源安全检查表
- 《工程经济学》模拟试题答案 东北财经大学2023年春
- 2023-2024学年广西壮族自治区来宾市小学数学五年级下册期末自测试卷
评论
0/150
提交评论