摘要:提出一种DSP 经过EMIF 接口操控杂乱体系的计划。经过将DSP 芯片衔接多片FPGA,并运用FPGA 与各种外部芯片衔接,使得DSP 经过EMIF 接口就能操控各种芯片,完结杂乱体系的操控。这样节约DSP 的引脚资源,使DSP 的运算功用得以更充沛的发挥。
1 导言
跟着信息技能的开展,数字信号处理技能成为数字化社会最重要的技能之一。因为数字信号处理器(DSP)速度快,稳定性高,功耗小,近些年来在通讯、图画处理、主动操控等领域中得到了广泛的运用。其间,美国德州仪器公司(TI)的TMS320 系列DSP 占有了国际DSP 商场的首要比例,TI 也因而成为了国际上最大的DSP 制造商。本体系选用了TMS320C6722 浮点型DSP芯片。
EMIF接口(External Memory Interface)是TMS320 系列DSP上具有的一种高速接口,其规划初衷是完结DSP 与不同类型的外部扩展存储器(如 SDRAM,FLASH 等)之间的高速衔接。在当时的一些运用中,为了更充沛的运用DSP的运算才能,扩展其引脚资源,工程师们常用EMIF接口衔接FPGA,再经过FPGA与多种外部设备相连。这样,FPGA成为了一个中转站,各种数字芯片的数据都能够经过FPGA传输至DSP.关于愈加杂乱的体系,当一块FPGA 芯片的引脚资源都被竭尽时,能够在DSP 的EMIF接口上衔接多块FPGA芯片,再将功用各异的芯片衔接至FPGA.这样,DSP 芯片仅经过EMIF 接口就能完结对杂乱体系的操控。
2 依据EMIF 接口的DSP+FPGA 体系完结
2.1 体系架构
图1 是本人所运用的体系,DSP芯片经过EMIF接口衔接了2 片FPGA,其间EP2C8F256I8 首要担任DSP中心处理所需数据的交流,衔接了FLASH 芯片,SDRAM芯片,A/D 芯片。另一块FPGA 芯片EP2C8F144I8 担任与外部通讯,衔接了USB 接口芯片,I2C通讯芯片和CAN总线通讯芯片。
TMS320C6722 型DSP的EMIF接口规划初衷是与外部扩展存储器衔接,EMIF接口有两种作业办法:SDRAM作业形式与异步作业形式。SDRAM作业形式是专为 SDRAM规划的同步作业形式,EMIF接口能主动给SDRAM进行改写;异步作业形式是与SRAM、FLASH等异步器材作业时选用的形式。在本系
图2 所示是DSP 与一片FPGA 的接口衔接图,DSP 与多片FPGA衔接时,接口能够按图的办法复用,TMS320C6722 型DSP的EMIF 接口有14 根地址线,与不同FPGA进行通讯时,要运用不同的地址。
2.2 DSP 与FPGA 通讯时序
2.2.1 异步读操作
DSP宣布对FPGA的读请求时,就会进行异步读操作。当读操作不能在外部器材的一个拜访周期内完结时,EMIF就会进行多个周期的操作,直到完结整个请求。
一个EMIF读操作分为树立时刻、触发时刻和坚持时刻三部分。在树立时刻开始时,EM_CS[2]片选信号拉低,一起地址线EM_A 与EM_BA 给出所读取数据的地址。触发时刻开始时,EM_OE信号拉低,一起FPGA在EM_D信号线上传输数据,DSP将在触发时刻的最终一个时钟处对数据采样。坚持时刻中EM_OE 信号将拉高,并在坚持时刻完毕后,EM_CS[2]信号拉高。在整个周期中EM_WE_DQM、EM_WE、EM_RW信号一直为高电平。
2.2.2 异步写操作
DSP宣布对FPGA的写请求时,就会进行异步写操作。当写操作不能在外部器材的一个拜访周期内完结时,EMIF就会进行多个周期的操作,直到完结整个请求。
类似于读操作,EMIF 写操作分为树立时刻、触发时刻和坚持时刻三部分。在树立时刻开始时,EM_CS[2]片选信号拉低,EM_RW信号拉低,一起地址线EM_A与EM_BA 给出所读取数据的地址,数据线EM_D 给出需求写入FPGA的数据。触发时刻开始时,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总线发动和经过EMIF接口发动。这几种Boot 办法和对应的引脚装备如表1 所示,在本体系中,EMIF接口除了完结一般的数据交流,还兼任带动DSP发动的功用。
体系上电后,DSP 的RESET 引脚要经过下拉电阻拉低,使DSP 处于复位态。FPGA 芯片EP2C8F256I8 上电后从FPGA 装备芯片EPCS4 中下载程序发动。FPGA发动成功后将DSP芯片的SPI0SOMI 引脚与SPI0CLK 引脚拉低,将SPI0SIMO 引脚拉高,然后再将RESET引脚拉高。这样装备是为了使DSP退出复位态时能依据上述3 个引脚的电平获悉DSP 芯片将经过EMIF接口发动。尔后,DSP芯片将从EMIF 接口读取1KB数据,并将这1KB数据存放于DSP的RAM中,再履行这1KB的程序。
上述进程称为DSP的第一次发动进程。这1KB的程序是由汇编语言编写并经过CCStudio 软件编译成机器语言,存放于FPGA中(经过mif 文件编译进FPGA的程序)。该1KB程序的功用是再次调用EMIF 接口,操作FPGA,使得FPGA 经过IP 核从FLASH芯片中将其他的程序(本体系的程序约为32K)拷入DSP的RAM 中并履行这些新拷入的程序。这是DSP 的第2次发动。第一次发动是硬件发动,是TMS320C6722 型DSP现已设定好的发动办法,第2次发动是软件发动,所履行的发动程序由用户编写。