新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

作者:时间:2013-12-07来源:网络收藏

  在提升机制动闸瓦间隙实时在线检测的设计中,需要保存故障时间和故障数据。

  大部分仪器仪表中都要使用时钟芯片,但是很多的实时时钟芯片(如PCF8563)没有掉电保护,须外接晶振和电池,比较麻烦。而深圳兴威帆电子技术有限公司生产的是内置32 KBE2PROM的串行实时时钟芯片,不需要外接器件支持,连线简单、可靠,提供的数据精确,断电后也能继续工作。微控制器采用Atmel公司的ATmegal6单片机,利用AT-megai6的硬件TWI接口可直接对进行操作,无需软件模拟I2C方式,使用方便、可靠。

  1 SD2200L简介

  SD2200L系列(包括SD2200B/C/D/E/FLP)是一种具有内置晶振、支持I2C总线的高精度实时时钟芯片。是SD2200L系列中的一种,该芯片可保证时钟精度为±5ppm(在-10~50℃下),即年误差小于2.5min。芯片内置时钟精度调整功能,可以在很宽的范围内校正时钟的偏差;内置32KB串行非易失性E2PROM;可在3.0~5.5V下工作,擦写次数可达100万次,数据保存时间为十年;内置一次性电池,可保证在外部掉电情况下时钟使用寿命超过五年。SD2200L系列内部结构如图l所示。时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

  2 硬件设计

  SD2200ELP既有实时芯片的功能,又可以存储数据到内置E2PRROM中。因为SD2200ELP是I2C总线接口方式,所以其硬件接口设计非常简单,可以大大简化单片机外围器件。AVR的TWI总线实质上就是I2C总线,只是名称不一样。图2中INTl脚为SD2200ELP的定时中断输出,与ATmegal6的外部中断INTl相连接(INTl配置为下降滑触发方式),SDA、SCL为两线式串行引脚,分别与ATmegal6的TWl(PCl、PCO)相连。时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

  3 软件设计

  如果外围器件是I2C接口类型,而单片机没有I2C接口,那么必须用软件模拟的方式来实现。功能很强,它带有TWI接口,可以直接利用ATmegal6的硬件I2C接口来对外围I2C器件进行操作,非常方便、有效。这样可以节省模拟I2C程序,为用户编程省去很多麻烦。下面是使用ATmegal6对内置E2PROM的实时时钟芯片SD2200ELP读/写的程序设计,均是在ICCAVR开发环境下编写。

  3.1 ATrnegal6的TWI总线接口

  两线接口TWI很适合于典型的处理器应用。TWI协议允许系统设计者只用两根双向传输线就可以将128个不同的设备互连到一起。这两根线是时钟线SCL和数据线SDA。外部硬件只需2个上拉电阻,每根线上1个。所有连接到总线上的设备都有自己的地址。TWI协议解决了总线仲裁的问题,TWI总线的连接如图3所示。时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

  TWI总线可以工作于4种不同的模式:主机发送器(MT)、主机接收器(MR)、从机发送器(ST)以及从机接收器(SR)。在后面将介绍的连续读E2PROM操作中就使用了MT和MR模式。

  3.2 实时时钟读取

  实时时钟操作指令格式如下:时钟芯片SD2200ELP与AVR单片机TWI接口控制的设计

  其中高4位称为“器件代码”,它代表实时时钟的器件地址,固定为“0110”。C2、C1、C0构成对实时时钟操作的8条指令。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭