AVR学习笔记九、AT24C16数据存储实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ema{@AVR学习笔记九、基于AT24C16的数据存储实验 基于LT_Mini_M16 9.1 用I/O口模拟I2C总线实现AT24C16的读写 9.1.1、实例功能 I2C总线(Inter Integrate Circuit BUS)全称为芯片间总线,是Philips公司推出的一种双向二进制总线。它在芯片间以两根连线实现全双工同步数据传送,一条数据线(SDA)和一条串行时钟线(SCL),可以很方便的构成外围器件扩展系统。 I2C总线协议允许总线介入多个期间,总线上的器件既可以作为主控制器也可以作为被控制器,既可以是发送器,也可以是接收器。I2C总线在进行数据交换时,作为主控制器的器件需要通过总线竞争获得主控权,然后才可以启动数据传输。系统中每个器件都具有唯一的芯片地址,数据传输时通过寻址可以确定数据接收方。 I2C总线自从出现以后,得到了广泛应用。I2C总线结构简单,可靠性和抗干扰性好,可构成各种通用的硬件和软件模块。方便重复利用,大大简化了系统的设计过程。 I2C总线的实现有两种方法:一、软件模拟I2C通信协议实现数据传输,二、利用硬件I2C接口实现数据传输。 ATmega16单片机集成了硬件I2C模块,称为TWI接口,TWI电路结构简单,只占用两个I/O口,可以实现多个器件共享一条总线,使用比较方便,系统也很简洁。AVR单片机用硬件实现了这种总线的时序,省去了很多编程工作。只要控制相关的寄存器,就可以实现通过TWI总线传输数据。 但是使用硬件I2C接口的缺点是接口固定,在特定的系统里面,会增加硬件和软件设计的复杂程度。在本例中我们采用模拟I2C总线时序的方法实现I2C通信。软件模拟I2C时序的方法增加了软件的复杂程度,但是方便了硬件设计,模拟I2C接口可以使用单片机的如何普通I/O口。 本节首先介绍I2C总线的的一些基本知识:特点、结构、原理、控制时序、与单片机的接口方法等。最后通过一个实例实现模拟I2C接口。 本实例分为三个功能模块,分别描述如下: ● 单片机系统:利用ATmega16单片机与AT24C16实现数据传输,利用模拟I2C总线接口的方法读写AT24C16。 ● 外围电路:外围电路分两部分:LED显示部分(用于指示从AT24C16中读取的数值正确与否)、AT24C16接口电路电路(实现模拟I2C总线功能)。 ● 软件程序:编写软件,实现对AT24C16的数据读写。 通过本实例的学习,掌握以下内容: ● 理解AT24C16的特点、结构和原理和接口设计方法。 ● 掌握AT24C16的控制时序和控制方法流程。 ● 掌握模拟I2C总线的设计方法。 9.1.2 器件和原理 1、I2C总线介绍 AT24C16的外形级封装和引脚说明如图9.1.1。 图9.1.1 AT24C16的外形封装和引脚说明 I2C总线协议规定,任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。主器件控制串行时钟和起始、停止信号的发生。主器件何从期间都可以发送或接收数据,但是主器件控制数据传送模式(发送或者接收)。 通过器件地址输入端A0、A1、A2可以实现讲最多8个at24c01器件和a424c02器件、4个at24c04器件、2个at24c08器件、1个at24c16器件连接到总线上。当总线上只有一个器件时,A0、A1、A2可以连接到地或者悬空。 WP写保护引脚:当该引脚连接到VCC,I2C器件内的内容被写保护(只能读)。如果允许对器件进行正常的读写,那么WP引脚需连接到地或者悬空。 2、I2C总线接口 I2C总线的信号线有两种: ●时钟线SCL。 ●数据线SDA。 SCL和SDA都是双向总线,I2C总线为同步传输串行总线结构,及总线上的数据信号完全与时钟同步。数据传输采用主从方式:主器件寻址从器件,启动总线数据传输,并产生时钟脉冲。总线传输中的所有状态及操作都有相应的编码,主器件依照这些协议编码自动地进行总线控制与管理。从器件接收主器件的请求并应答。数据传输结束后,主器件将总线释放。 当总线空闲时,SCL和SDA均为高电平。连接到总线上的器件的输出端口必须是漏极开路,任一器件输出低电平时,总线信号变低。即总线SCL和SDA上的信号都是线“与”的关系。 由于SDA和SCL的端口输出都是漏极开路,因此总线上必须连接上拉电阻。上拉电阻的大小与电源电压、传输速率等有关系。当传输速率为100KHz时,上拉电阻一般采用10K,对于400KHz的传输速率,上拉电阻可以采用2K欧姆。 9.1.3、I2C总线的寻址方式 I2C总线上的器件都是共用总线的,因此,主器件在进行数据传输前必须选择需要通信的从器件。即进行总线寻址。 I2C总线上所有外围器件都有

文档评论(0)

hlfy68 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档