用fpga实现控制基于i2c总线的eepom内容摘要:
必须用一定的格式来传送,这个格式就是我们所谓的通信协议。 不论要传送的信号是地址还是数据,这一串位信号都是以一个启动位 (S)开始,而 以一个停止位 (P)结束的。 至于这两个位之间则包括了要传送的地址或数据位、读写位 (R/W Bit)以及应答位 (Acknowledge Bit, ACK Bit)。 除了启动位和停止位之外,只有在 SCL 引脚信号为高电平时, SDA 引脚上的信号才是有效的 .也就是说,要改变 SDA 上的信号,必须在 SCL 为低电平时改变,而在 SCL 变为高电平之前, SDA 的信号必须保持稳定。 这是 SCL 引脚和 SDA 引脚相互搭配的最高指导原则。 至于启动位和停止位,则是要在 SCL 为高电平时,在 SDA 引脚上发生状态的变化,以启动位来说是从高电平变为低 电平,也就是 SDA 引脚上信号的下降沿。 以停止位来说,则是从低电平变为高电平,也就是 SDA 引脚上信号的上升沿。 在信号的传输过程中,这个启动位和停止位都是由主控器件来产生的,一旦产生了启动位之后, I2C 总线就进入了忙碌状态 (Busy State),一直到停止位出现后才结束。 2. 2. 3 位传输 由于连接到 I2C 总线的器件有不同种类的工艺( CMOS、 NMOS、双极性)逻辑‘ 0’(低)和‘ 1’(高)的电平不是固定的,它由 VDD 的相关电平决定。 每传输一个数据位就产生一个时钟脉冲。 1) 数据的有效性: SDA线上 的数据必须在时钟的高电平周期保持稳定。 数据线的高或低电平状态只有在 SCL 线的时钟信号是低电平时才能改变。 如图 位传输 第 XII 页 共 Ⅱ 页 图 I2C总线的位传输 2)起始和停止条件: 在 I2C总线中,唯一出现的是被定义为起始( S)和停止( P)条件( 如 图 )的情况。 图 起始和停止条件 其中一种情况是在 SCL 线是高电平时, SDA 线从高电平向低电平切换。 这个情况表示起始条件。 当 SCL 是高电平时, SDA 线由低电平向高电平切换表示停止条件。 起始和停止条件一般由主机产生。 总线在起始条件后被认为 处于忙的状态。 在停止条件的某段时间后,总线被认为再次处于空闲状态。 如果产生重复起始( Sr)条件而不产生停止条件,总线会一直处于忙的状态。 此时的起始条件( S)和重复起始( Sr)条件在功能上是一样的( 如 图 )因此在本文档的剩余部分,符号 S 将作为一个通用的术语既表示起始条件又表示重复起始条件,除非有特别声明的 Sr。 如果连接到总线的器件合并了必要的接口硬件,那么用它们检测起始和停止条件十分简便。 但是,没有这种接口的微控制器在每个时钟周期至少要采样 SDA 线两次来判别有没有发生电平切换。 第 XIII 页 共 Ⅱ 页 图 完成的数据传输 2. 3 存储器的选择 24C 系列串行 EEPROM 是目前串行 EEPROM 中用量最大的一类。 24C 系列串行EEPROM 除具有一般串行 EEPROM 的体积小、功耗低、工作电压允许范围宽等特点外,还具有型号多、容量大、二总线协议、占用 I/ O 口线少、容量扩展配置极其灵活方便、读写操作相对简单等特点。 正被广泛用在多种数据卡、电钥匙、智能电话、智能电表等多种智能仪器仪表当中 [15]。 目前在我国应用开发中,所用的 24C系列串行 EEPROM主要由 ATMEL、 MICROCHIP、XICOR、 NA- TIONAL 等几家公司提供。 目前市场上容量最小的为 24C01( 1kb),最大的是 24C64( 64kb),生产工艺都是 CMOS 工艺,工作电压在 1. 8~ 5. 5V 之间,24 系列有两种封装形式: 8 脚封装和 14 脚封装。 我国目前开发用量最多的封装形式是 8脚 PDIP 封装。 8 脚 PDIP 封装的引脚定义 (如 图 ) 所示。 其中 A0、 AA2 为器件地址选择位,这 3 个引脚配置成不同的编码值,在同一串行总线上最多可扩展 8 片同一容量或不同容量的 24C 系列串行 EEPROM 芯片。 WP( TEST)为硬件写保护控制端(测试端),这个引脚,脉冲的上升沿将 数据写入 EEPROM,下降沿将数据从 EEPROM 中读出。 SDA 为串行数据输入输出端,漏极开路驱动,容量扩展时,可以将多片 24 系列 SDA 引脚直接相连,实际使用时要加一个上拉电阻。 SCL 为串行时钟信号, VCC和 GND 分别是电源和地。 图 引脚分配图 由于 24C 系列串行 EEPROM 是串行接口器件,则其地址、数据信息都在同一条线路上传送,当串行总线上挂有多个芯片时,每个芯片必须具有唯一的器件地址。 24C系列芯片的器件地址由 7位数据位和一位读写位组成,即 1010A2A1A0R/ W,其中,高 4 位的 1010 为 24 系列的协议格式,是 I2C 总线分配给串行 EEPROM 的器件第 XIV 页 共 Ⅱ 页 地址;之后的 3位 A A A0为可编程地址位,且 32字节为一页,由器件厂商定义,供在总线上联接多片同一型号器件时分配器件地址用;最后一位是读写控制位R/ W,当该位为高电平“ 1”时,表示当前的操作是读操作,该位为低电平“ 0”时,表示当前的操作是写操作。 24C04 以后的串行 EEPROM 芯片所需寻址位超出了 8 位,这样,超出位采用了占用引脚地址( A A A0)的方式实现。 参见表。 厂家规定,凡被寻址位占用的引脚在线路上只能作悬空处理 , 不能另行 使用。 即芯片容量大于 32 字节时,内部单元寻址采取了分页处理的方法,每页 32 字节,而且页寻址位包含在器件寻址字节内。 表 器件型号、容量、结构及地址选择控制格式 器件 型号 容量( bit) 页数 器件地址 选择位( 8位) 24C01A 128 8 不分页 1010A2A1A0( R/W) 24C02 256 8 不分页 1010A2A1A0( R/W) 24C04 512 8 2 1010A2A1P0( R/W) 24C08 1024 8 4 1010A2P1P0( R/W) 24C16 2024 8 8 1010P2P1P0( R/W) 24C32 4096 8 不分页 1010A2A1A0( R/W) 24C64 8192 8 不分页 1010A2A1A0( R/W) 24C64 芯片的 写入字节指令每次只能向芯片中的一个地址写入一个字节的数据。 首先发送开始位来通知芯片开始进行指令传输,然后传送设置好的器件地址字节, R/W位应置 0,接着是分开传送十六位地址的高低字节,再传送要写入的数据,最后发送停止位表示本次指令结束。 如 图。 第 XV 页 共 Ⅱ 页 图 单字节时序图 24C64 支持 32 字节的页写入 模式,它的操作基本和字节写入模式一样,不同的是它需要发送第一个字节的地址,然后一次性发送 32 字节的写入数据后,再发送停止位。 写入过程中其余的地址增量自己由芯片内部完成。 如 图 为页写入 的时序图。 无论那种写入方式,指令发送完成后,芯片内部开始写入,这时 SDA 会被芯片拉高,直到写入完成后 SDA才会重新变的有效。 操作完成后需要等待 ACK 响应返回,如果有 ACK 响应 返回则可以进行下一步操作。 图 页写入时序图 读取当前地址 是读取当前芯片内部的地址指针指向的数据。 每次读写操作后,芯片会把最后一次操作过的地址 作为当前的地址。 在这里要注意的是在微处理器接收完芯片传送的数据后不必发送给低电平的 ACK 响应 给芯片,直接拉高 SDA 等待一个时钟后发送停止位。 如 图。 第 XVI 页 共 Ⅱ 页 图 读当前地址时序图 读当前地址可以说是读的基本指令,读任意地址时只是在这个基本指令之前加一个 ‘ 伪操作 39。 ,这个伪操作传送一个写指令,但这个写指令在地址传送完成后就要结束,这时芯片内部的地址指针 指到这个地址上,再用读当前地址指令就可以读出该地址的数据。 如 图 是读任意地址的时序图。 图 读任意地址时序图 连续读取操作时 只要在上面二种读取方式中芯片传送完读取数据后,微处理器回应给芯片一个低电平的 ACK 响应 ,那么芯片地址指针自动加一并传送数据,直到微处理器不回应并停止操作。 图 28是连续读取的时序图。 图 28 连续读取时序图 24C64 芯片能完成系统要求的串行数据写入操作和读取操作,所以本设计的EEPROM 选择 24C64 芯片来完成。 第 XVII 页 共 Ⅱ 页 2. 4 可编程逻辑器件的选择 在此 设计中,采用了 CPLD/FPGA 控制逻辑模块为核心电路的实现方式。 复杂可编程逻辑器件和现场可编程门阵列是近几年来迅速发展的大规模可编程专用集成电 路,其应用广泛,已成为各种电路设计的重要手段 [16]。 其中 CPLD 是将多哥可编程阵列逻辑器件集成到一个芯片内,因而其具有类似可编程逻辑阵列的结构,而FPGA 是由逻辑功能块排列成阵列组成。 由于在结构上的差异,使其具有以下不同点: 1) FPGA 由于采用了类似门列阵的通用结构,其规模可以做的比较大,可实现功能更强,设计灵活性更大,比 CPLD 更适合于设计多触发器结构; 2) CPLD 采用连续互连方式,这使得 CPLD 能够方便的预测设计时序,而典型的 FPGA 采用分段互联式结构,这种方式虽然具有走线灵活、便于复杂功能的多级实现等优点,但也存在着布线复杂度增加、 I/O 延时变大、设计时序预测困难; 3) CPLD 的编程由于采用 EPROM 或 FAST FLASH 技术,无需外部存储器芯片,而 FPGA 的编程信息需存放在外部存储器上,所以应用 CPLD 比 FPGA 更简化、更方便; 4)由于 CPLD 是通过修改具有固定内连电路的逻辑功能来编程,而 FPGA 主要通过改变内部连线的布线来编程, FPGA 比 CPLD 具有更大的编程灵活性; 5) FPGA 的集成度比 CPLD 高,具有更复杂的布线结构和逻辑实现; 6)一般情况下, CPLD 的功耗要比 FPGA 大,且集 成度越高越明显 [17][18]。 在本系统中采用了 Xilinx 公司生产的 XC2S100E 型 FPGA。 XC2S100E 是 SpartanⅡ E 系列产品中的一款,它采用了 的内核电压,系统性能可达到 200MHz,具有 37000 到 100000 个系统门, CLB 数量为 20 30, LC数量为 2700, BlockRAM 容量 40Kbit,拥有 202 个 I/O[15]。 由于这款 FPGA 采用了低内核电压,这将从根本上减小芯片功耗,同时其丰富的门阵列资源,也为复杂控制逻辑的实现提供了可能,并且进一步可以在其内部实现数据的压缩 算法。 所以本设计的 FPGA 选择 XC2S100E 芯片。 第 XVIII 页 共 Ⅱ 页 3 系统的硬件设计 3. 1 24C64。用fpga实现控制基于i2c总线的eepom
相关推荐
“三废 ”环境污染却成为一大问题。 以煤为原料生产甲醇工艺较复杂,各个工段的工艺不同,其生产过程产生的污染源项、源种、源强均不同。 本设计为在对含氰废水进行预处理的前提下,从技术经济、处理效果及工业应用等多方面对比多种污水处理工艺,最终选择 SBR 工艺作为某甲醇厂污水处理工艺。 1 甲醇厂废水概论 毕业设计是完成教学计划规定的全部课程后,必须进行的重要实践性教学环节,是向实践转变的过渡环节
, L. Li, W. Liu, Z. Wan, L. Yang, P. Sun, L. L. Ren, M. Li, H. 10 Wu, J. F. Wang, L. Zhang, Conjugation of Biomolecules with Magic Protein Microspheres for the Assay of Early Biomarkers Associated
公开发行刊物上发表的学术论文 (1) 工程造价咨询企业诚信评价分析 .技术经济与管理研究 ,2020(06) (2) 中美 MBA教育的对比与思考 .西安建筑科技大学学报 (社科版 ),2020(04) (3) 浅析定额计价制度的改革 .西安建筑科技大学学报 (社科版 ),2020(03) (4) 经济适有房开发建设中存在的问题 .基 建优化 ,2020(03) (5) 建筑企业技术创新模式研究
四部分 XXX 学院 用友 ERP 沙盘模拟 实验室 解决方案 用友 ERP沙盘 实训 系列课程介绍 用友 ERP 沙盘实训课程是集知识性、趣味性、对抗性于一体的企业管理技能训练课程。 受训学生被分成若干个团队,每个团队由若干个学生组成,每个学生将担任总经理、营销总监、生产总监、财务总监、供应总监等。 每个团队经营一个拥有销售良好、资金充裕的虚拟公司,连续从事 46 个会计年度的经营活动。
大。 比如:根据试验研究, 当水平灰缝满足 80%以上,竖缝饱满度满足 60%以上时,砌体强度较不饱满时,要提高 2- 3 倍,怎样保证灰缝饱满度呢。 A、支持使用所述的“三一“砌砖法,即“一块砖、一铲灰、一揉挤“。 B、水平缝用铺浆法(铺浆长度≤ 50cm)砌筑,竖缝用挤浆法砌筑,竖缝还要畏助以加浆法,以使竖向饱满,绝不可用水冲灌浆法。 C、砂浆使用时,如有淅水,须作二次拌合后再用。
b/数据库服务器、以及面向全校的专用服务器,快速以太网 (FE)1000M 光纤接入学校,校内信息点在 100 个以上 ,主要布线点在办公楼、教学楼、图书馆 (包括电子阅览室 )等。 III 网络干线达到 100Mbps 或以上的传输带宽,利用 10M/100M 交换机或自适应集线器共享 10~ 100Mbps 到桌面,服务器选择一台性能较好的 PC 机或中低档服务器,通过 100 兆以太网