新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于EMIF接口的DSP控制系统设计

基于EMIF接口的DSP控制系统设计

作者:时间:2013-05-23来源:网络收藏

  一个EMIF读操作分为建立时间、触发时间和保持时间三部分。在建立时间开始时,EM_CS[2]片选信号拉低,同时地址线EM_A 与EM_BA 给出所读取数据的地址。触发时间开始时,EM_OE信号拉低,同时在EM_D信号线上传输数据,DSP将在触发时间的最后一个时钟处对数据采样。保持时间中EM_OE 信号将拉高,并在保持时间结束后,EM_CS[2]信号拉高。在整个周期中EM_WE_DQM、EM_WE、EM_RW信号始终为高电平。

  2.2.2 异步写操作

  DSP发出对的写申请时,就会进行异步写操作。当写操作不能在外部器件的一个访问周期内完成时,EMIF就会进行多个周期的操作,直到完成整个申请。

  类似于读操作,EMIF 写操作分为建立时间、触发时间和保持时间三部分。在建立时间开始时,EM_CS[2]片选信号拉低,EM_RW信号拉低,同时地址线EM_A与EM_BA给出所读取数据的地址,数据线EM_D给出需要写入的数据。触发时间开始时,EM_WE信号拉低,EM_WE_DMQ信号给出字节使能信号。保持时间开始时EM_WE_DMQ信号与EM_WE信号拉高,并在保持时间结束后,EM_CS[2]信号与EM_RW信号拉高。在整个写操作周期中EM_OE信号始终为高电平。

  DSP 通过配置EMIF 接口的寄存器来实现上述时序,FPGA可采用IP 核来实现EMIF协议,不同的FPGA芯片要采用不同的地址。

  3 系统BOOT 方法

  TMS320C6722 型DSP的内部没有可写的ROM,DSP的程序必须存放在外部器件中,DSP 芯片上电后必须首先从外部芯片下载程序。本款DSP可以通过SPI 总线启动、通过I2C总线启动和通过启动。这几种Boot 方式和对应的引脚配置如表1 所示,在本系统中,除了实现通常的数据交换,还兼任带动DSP启动的功能。

  系统上电后,DSP 的RESET 引脚要通过下拉电阻拉低,使DSP 处于复位态。FPGA 芯片EP2C8F256I8 上电后从FPGA 配置芯片EPCS4 中下载程序启动。FPGA启动成功后将DSP芯片的SPI0SOMI 引脚与SPI0CLK 引脚拉低,将SPI0SIMO 引脚拉高,然后再将RESET引脚拉高。这样配置是为了使DSP退出复位态时能根据上述3 个引脚的电平获知DSP 芯片将通过启动。此后,DSP芯片将从EMIF 接口读取1KB数据,并将这1KB数据存放于DSP的RAM中,再执行这1KB的程序。

  上述过程称为DSP的第一次启动过程。这1KB的程序是由汇编语言编写并通过CCStudio 软件编译成机器语言,存放于FPGA中(通过mif 文件编译进FPGA的程序)。该1KB程序的功能是再次调用EMIF 接口,操作FPGA,使得FPGA 通过IP 核从FLASH芯片中将其余的程序(本系统的程序约为32K)拷入DSP的RAM 中并执行这些新拷入的程序。这是DSP 的第二次启动。第一次启动是硬件启动,是TMS320C6722 型DSP已经设定好的启动方式,第二次启动是软件启动,所执行的启动程序由用户编写。

  综上,本文介绍了DSP芯片通过EMIF接口连接FPGA的硬件电路与时序,根据本文介绍的方法,DSP芯片通过FPGA能控制大量外部芯片工作,仅使用DSP的EMIF接口就能实现DSP启动和控制复杂系统工作的功能,大大扩展了DSP芯片的灵活性,使其强大的运算功能得以更好的发挥。

陀螺仪相关文章:陀螺仪原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭