新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DSP与CPLD的I2C总线接口的设计与实现

基于DSP与CPLD的I2C总线接口的设计与实现

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

PCF8583是一款带有256字节静态CMOS RAM的时钟/日历芯片。地址和数据严格按照双向双线制I2C总线协议传输。内置地址寄存器在每次读/写后自动递增。关于PCF8583的详细说明请参看参考文献。

2.1 系统结构设计

系统的基本功能是通过CPLD的I2C总线接口完成ADSP21992(主控芯片)与PCF8583的数据交换。系统框图如图3所示。

系统主要由两个部分组成:一是DSP与CPLD的接口;另一是I2C核。为了能在DSP指定的时刻读/写PCF8583的数据,使用DSP的读写信号、同步时钟和最高位地址控制数据的传输。最高位地址作为控制信号是因为DSP的I/O口比较少,必须优先供应给其它外设,因此用它来产生DSP提供给I2C核的片选信号。而DSP的地址总线位数较多,最高位一般使用不到,这样正好可以充分利用资源。

2.2 I2C核

I2C核原理示意图如图4所示。

整个I2C核由控制模块和I/O模块构成。其中,控制模块包括控制信号发生部分和时钟开关,I/O模块包括数据缓存和同步时钟缓存。

当DSP的最高地址位出现一个有效信号时,便会使I2C核内的触发器产生一个全局使能信号EN它将会启动时钟、计数器和其它控制信号,但数据不会出现交换。如果此时DSP的读/写同步产生,则会启动相应的读/写进程,进行数据传输。

I2C核的关键技术是:

①用计数器和全局使能信号EN配合触发进程。

由于I2C核的片选信号EN是由触发产生的,不能象电平信号一样由DSP的I/O控制,因此只能通过精确的计数器定时和读/写使能信号共同判别控制。

读/写使能信号WR_EN/RD_EN也象EN那样由触发产生,因此也要用同样的方法判别。

②同步时钟的产生。

从图2中可以看到,数据在同步时钟的高电平脉冲时必须保持稳定,如果此时发生变化将会被视为一个控制信号,而通信也会被中断。因此,同步时钟的高电平脉冲一定要在有效数据的中间出现。而所需的控制信号必须在同步时钟正脉冲的时候出现。

③对数据总线进行三态设置。 因为SDA和DSP_DATA都是双向数据线,在写SDA和DSP_DATA的进程中必须设置高阻态,否则会出现数据线状态"不确定"。



关键词: DSP CPLD I2C总线

评论


相关推荐

技术专区

关闭