- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
DSP虚拟I2C总线软件包的设计及应用实例
目前,很多DSP芯片尚不直接支持I2C的接口,F206也不例外,因而这里采用2根通用I/O口线模拟I2C接口。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总线应用已日益广泛,而其协议的复杂性和操作的特殊性又限制了推广速度。本文介绍的一种基于DSP的虚拟I2C总线软件包,简化了TMS320C2XX与I2C器件间接口程序设计,用户无需了解I2C总线协议的细节,仅需通过唯一的接口界面wrnbyte/ rdnbyte即可实现相应的接口。本文还给出了一个TMS320F206与时钟芯片X1203间的接口实例,介绍了软件包的使用方法,希望能供读者参考。
来源:嵌入式公社