普中STM32-PZ6806L--PZ6806D开发板资料 普中STM32-PZ6806L开发板资料- 3--手把手开发讲解 PPT教程 36 I2C-EEPROM实验_第1页
普中STM32-PZ6806L--PZ6806D开发板资料 普中STM32-PZ6806L开发板资料- 3--手把手开发讲解 PPT教程 36 I2C-EEPROM实验_第2页
普中STM32-PZ6806L--PZ6806D开发板资料 普中STM32-PZ6806L开发板资料- 3--手把手开发讲解 PPT教程 36 I2C-EEPROM实验_第3页
普中STM32-PZ6806L--PZ6806D开发板资料 普中STM32-PZ6806L开发板资料- 3--手把手开发讲解 PPT教程 36 I2C-EEPROM实验_第4页
普中STM32-PZ6806L--PZ6806D开发板资料 普中STM32-PZ6806L开发板资料- 3--手把手开发讲解 PPT教程 36 I2C-EEPROM实验_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

普中STM32开发板带您进入ARM世界 I2C EEPROM实验 普中STM32开发板带您进入ARM世界 本讲主要内容1 I2C总线介绍2 EEPR0M AT24C02 介绍3 硬件电路4 编写I2C EEPROM控制程序 普中STM32开发板带您进入ARM世界 1 I2C总线介绍I2C Inter IntegratedCircuit 总线是由PHILIPS公司开发的两线式串行总线 用于连接微控制器及其外围设备 是微电子通信控制领域广泛采用的一种总线标准 它是同步通信的一种特殊形式 具有接口线少 控制方式简单 器件封装形式小 通信速率较高等优点 I2C总线只有两根双向信号线 一根是数据线SDA 另一根是时钟线SCL 由于其管脚少 硬件实现简单 可扩展性强等特点 因此被广泛的使用在各大集成芯片内 下面我们就从I2C的物理层与协议层来了解I2C 普中STM32开发板带您进入ARM世界 1 1I2C物理层I2C通信设备常用的连接方式如图特点 1 它是一个支持多设备的总线 2 I2C总线只使用两条总线线路 SDA SCL 3 每个连接到总线的设备都有一个独立的地址 主机可以利用这个地址进行不同设备之间的访问 4 总线通过上拉电阻接到电源 当I2C设备空闲时 会输出高阻态 而当所有设备都空闲 都输出高阻态时 由上拉电阻把总线拉成高电平 普中STM32开发板带您进入ARM世界 5 多个主机同时使用总线时 为了防止数据冲突 会利用仲裁方式决定由哪个设备占用总线 6 具有三种传输模式 标准模式传输速率为100kbit s 快速模式为400kbit s 高速模式下可达3 4Mbit s 但目前大多I2C设备尚不支持高速模式 7 连接到相同总线的IC数量受到总线的最大电容400pF限制 普中STM32开发板带您进入ARM世界 1 2I2C协议层I2C的协议定义了通信的起始和停止信号 数据有效性 响应 仲裁 时钟同步和地址广播等环节 1 数据有效性规定每次数据传输都以字节为单位 每次传输的字节数不受限制 普中STM32开发板带您进入ARM世界 2 起始和停止信号 3 应答响应 普中STM32开发板带您进入ARM世界 每一个字节必须保证是8位长度 数据传送时 先传送最高位 MSB 每一个被传送的字节后面都必须跟随一位应答位 即一帧共有9位 由于某种原因从机不对主机寻址信号应答时 如从机正在进行实时性的处理工作而无法接收总线上的数据 它必须将数据线置于高电平 而由主机产生一个终止信号以结束总线的数据传送 如果从机对主机进行了应答 但在数据传送一段时间后无法继续接收更多的数据时 从机可以通过对无法接收的第一个数据字节的 非应答 通知主机 主机则应发出终止信号以结束数据的继续传送 当主机接收数据时 它收到最后一个数据字节后 必须向从机发出一个结束传送的信号 这个信号是由对从机的 非应答 来实现的 然后 从机释放SDA线 以允许主机产生终止信号 普中STM32开发板带您进入ARM世界 4 总线的寻址方式I2C总线寻址按照从机地址位数可分为两种 一种是7位 另一种是10位 采用7位的寻址字节 寻址字节是起始信号后的第一个字节 的位定义如下 10位寻址和7位寻址兼容 而且可以结合使用 当主机发送了一个地址后 总线上的每个器件都将头7位与它自己的地址比较 如果一样 器件会判定它被主机寻址 其他地址不同的器件将被忽略后面的数据信号 至于是从机接收器还是从机发送器 都由R W位决定的 普中STM32开发板带您进入ARM世界 从机的地址由固定部分和可编程部分组成 在一个系统中可能希望接入多个相同的从机 从机地址中可编程部分决定了可接入总线该类器件的最大数目 如一个从机的7位寻址位有4位是固定位 3位是可编程位 这时仅能寻址8个同样的器件 即可以有8个同样的器件接入到该I2C总线系统中 5 数据传输I2C总线上传送的数据信号是广义的 既包括地址信号 又包括真正的数据信号 在起始信号后必须传送一个从机的地址 7位 第8位是数据的传送方向位 R W 用 0 表示主机发送 写 数据 W 1 表示主机接收数据 R 每次数据传送总是由主机产生的终止信号结束 但是 若主机希望继续占用总线进行新的数据传送 则可以不产生终止信号 马上再次发出起始信号对另一从机进行寻址 普中STM32开发板带您进入ARM世界 在总线的一次数据传送过程中 可以有以下几种组合方式 a 主机向从机发送数据 数据传送方向在整个传送过程中不变b 主机在第一个字节后 立即从从机读数据c 在传送过程中 当需要改变传送方向时 起始信号和从机地址都被重复产生一次 但两次读 写方向位正好反相 普中STM32开发板带您进入ARM世界 2 EEPR0M AT24C02 介绍AT24C01 02 04 08 16 是一个1K 2K 4K 8K 16K位串行CMOS 内部含有128 256 512 1024 2048个8位字节 AT24C01有一个8字节页写缓冲器 AT24C02 04 08 16有一个16字节页写缓冲器 该器件通过I2C总线接口进行操作 它有一个专门的写保护功能 普中STM32开发板带您进入ARM世界 普中STM32开发板带您进入ARM世界 AT24C02器件地址为7位 高4位固定为1010 低3位由A0 A1 A2信号线的电平决定 因为传输地址或数据是以字节为单位传送的 当传送地址时 器件地址占7位 还有最后一位 最低位R W 用来选择读写方向 它与地址无关 普中STM32开发板带您进入ARM世界 普中STM32开发板带您进入ARM世界 I2C总线时序 普中STM32开发板带您进入ARM世界 3 硬件电路本实验使用到硬件资源如下 1 D1指示灯 2 K UP和K DOWN按键 3 串口1 4 AT24C02D1指示灯 K UP和K DOWN按键 串口1电路在前面章节都介绍过 这里就不多说 AT24C02 EEPROM 模块电路图如图 D1指示灯用来提示系统运行状态 K UP按键用来控制24C02数据的写入 K DOWN按键用来控制24C02数据的读取 数据的写入与读取信息通过串口1将打印出来 普中STM32开发板带您进入ARM世界 PZ6806L开发板AT24C02 EEPROM 电路 普中STM32开发板带您进入ARM世界 PZ6806D开发板AT24C02 EEPROM 电路 普中STM32开发板带您进入ARM世界 4 编写I2C EEPROM控制程序本章所要实现的功能是 首先检测AT24C02芯片是否存在 如果存在则输出提示信息 然后通过按键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论