新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DSP虚拟I2C总线软件包的设计及应用实例

基于DSP虚拟I2C总线软件包的设计及应用实例

作者:时间:2012-04-11来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257585.htm

X1203中的时钟/控制寄存器(CCR)分5部分:2个8字节报警寄存器(Alarm0、Alarm1),1个1字节控制寄存器,1个8字节实时时钟寄存器和1个1字节状态寄存器。通过报警寄存器可设置报警发生的时间,控制寄存器可使能或禁止报警中断信号的输出,实时时钟寄存器以BCD码存储了秒、分、时、日、星期、月和年,状态寄存器中保存了用于报警状态标志位及读写使能状态位。其中状态寄存器设置决定着数据是否能成功地写入。该寄存器如表1所列。

BAT标识器件当前用VBack还是用VCC工作。AL1、AL0标识Alarm0、Alarm1是否实时时钟匹配。RTCF表示实时时钟是否失效,在总电源失效后该位置1。RWEL为寄存器写使能锁存,为0表示禁止,在任何写时钟/控制寄存器之前必须将该位置1。WEL为写使能锁存,低表示禁止,通过该位写1、其它位写0,可使该位置位;通过该位写0、其它位写0,可使该位清0。只有按规定顺序设置RWEL和WEL,才能成功写入CCR。

目前,很多芯片尚不直接支持的接口,F206也不例外,因而这里采用2根通用I/O口线模拟接口。F206与X1203的接口采用如图2所示的接口方案。



图2中在X1、X2端接入32.768 kHz的石英晶振,将时钟源配置为片内振荡器。在VCC和VBACK之间通过二极管和电阻相连,并与地间加入1个0.47 F的大电容。这样,在电源出现故障或系统电源关闭时,仍可靠VBACK端的大电容供电维持时钟芯片的正常工作。它与F206间接口采用3根口线,这里采用IO2模拟通信用的时钟信号,IO3作为数据输入、输出口线。端可根据用户需要而定,若需要时钟芯片产生中断,可将该端接到F206的中断口线上。注意其中的SDA端和端为漏极开路,必须加上拉电阻,否则不能正常通信。

3.2 X1203的读写操作

这里仅给出F206对X1203进行读写的基本流程,如图3、图4所示,分别为对时钟芯片的读、写过程。其中进行寄存器写时,须注意SR寄存器中WEL和RWEL的设置是否正确,即首先设置WEL有效,而后将WEL、RWEL都置1,否则数据将不能正确写入。在写结束后,应将WEL、RWEL置为无效,以免产生误操作。

此外还须指出,在系统首次上电后(VBack和VCC都失效后),至少有一字节写入RTC寄存器时,系统才开始工作。在实际使用中,应首先判断SR中的RTCF位是否为1,若是,表明系统为首次使用或VBack和VCC都已失效,须对X1203至少进行一次写入操作,使其正常计数。

结束语

总线应用已日益广泛,而其协议的复杂性和操作的特殊性又限制了推广速度。本文介绍的一种基于的虚拟I2C总线软件包,简化了TMS320C2XX与I2C器件间接口程序设计,用户无需了解I2C总线协议的细节,仅需通过唯一的接口界面wrnbyte/ rdnbyte即可实现相应的接口。本文还给出了一个与时钟芯片X1203间的接口实例,介绍了软件包的使用方法,希望能供读者参考。


上一页 1 2 下一页

关键词: DSP I2C TMS320F206

评论


相关推荐

技术专区

关闭