新闻中心

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

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

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

2.3 DSP与CPLD的接口模块

根据DSP的时序,DSP与CPLD之间必须根据双方(ADSP21992和PCF8583)的时序制定一个握手协议。当读程序时,由于I2C总线协议只能支持最高400kbit/s的传输速率,而DSP的同步时钟可达几十兆赫。因此,DSP必须等到I2C核把PCF8583的数据读到CPLD后才能获得正确的数据(这里可以通过设立一个忙标志来实现)。而当写程序时,为了节约CPLD的资源(数据缓存特别占用资源),可以设置DSP定时输出数据给I2C核,让I2C核的一次只送一个数据。

2.4 硬件设计

此I2C核可外挂多个带有I2C总线接口的芯片,可以通过发送不同的器件地址来选择。SDA和SCL线必须接上拉电阻。此外,同步时钟不能太高,否则会影响数据传输的稳定性。

2.5 时序

(1)I2C核时序

以写为例,I2C核时序如图5所示。

(2)PCF8583时序

PCF8583的数据是8bit一个存储单元,共256个字节,所以只需要8位地址,而且器件本身有两种寻址方式:一种是从指定地址开始递增寻址,另一种是从首地址开始递增寻址。两种寻址方式的时序是不一样的,如图6所示。


3 实现方法

本系统是选用ALTERA公司CPLD7000S系列EPM7128S芯片,并基于MAXPLUSII开发的。I2C核采用VHDL语言编写,使用SYNPLIFY 编译、综合,用AHDL绘成图表,用MAXPLUSII仿真和布局。DSP采用VISUAL DSP++2.0编写。最后分别通过JTAG口下载到芯片并联机调试成功。

随着DSP芯片和2C通信方式的广泛应用,它们之间的接口问题必须得到解决。本文提出的解决方案具有非常好的可移植性和产品开发能力。本系统既可以作为一个单独的系统运行,又可以作为一个通信模块植入一个大系统中,而其中的I2C核又是一个可移植IP核。利用CPLD的逻辑可编程性,还可以在其剩下的资源中再开发所需的逻辑器件,既能降低硬件成本又能大大减小系统主板的面积,使电路的设计更具灵活性。


上一页 1 2 3 下一页

关键词: DSP CPLD I2C总线

评论


相关推荐

技术专区

关闭