基于ADSP-TS201S的多DSP并行系统设计
4 FPGA与外设接口设计
4.1 FPGA选型
现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是在专用ASIC的基础上发展而来的,它克服了专用ASIC不够灵活的缺点。其内部的具体逻辑功能可以根据需要配置,对电路的修改 和维护很方便。目前,FPGA的容量已经跨过了百万门级,使得FPGA成为解决系统级设计的重要选择方案之一。现在FPGA已经成为多种数字信号处理应用 的强有力的解决方案。由于可编程方案的灵活性,DSP系统设计可以适应日益变化的标准、协议和性能需求。Vir-tex-5系列是当前市场上最新,功能最 强大的FPGA,它采用65 nm芯片制造工艺,具有先进的高性能和理想应用的FPGA结构。主要性能指标如下:
(1)强大的时钟管理能力;
(2)片上集成高达36 Kb的块RAM和FIFO存储器资源;
(3)高性能并行Select I/O技术和先进的DSP48Eslice;
(4)灵活地加载和配置方案以及在所有设备上的系统监测能力;
(5)集成100 Mb/s~3.75 Gb/s的Rocket I/OGTP收发器,150Mb/s~6.5 Gb/s的Rocket I/OGTX收发器;
(6)强大的片上微处理器PowerPC440。
综合处理板功能需求,性能分析、系统兼容以及I/O管脚需求等各因素,FPGA选择Xilinx公司的Vir-tex-5系列XC5VSX50TFF1136芯片。
4.2 FPGA设计
根据系统功能要求,FPGA的任务主要分为4大部分。
(1)控制数据在系统中的传输逻辑
在设计时,将图2控制总线中的所有信号都连接到FPGA中,由FPGA来统一调度数据在DSP之间以及DSP与外部存储器之间的传输。这样为任务并行处理 的分配和雷达信号流水线式的处理在处理算法上提供了最大程度的简便,并能充分发挥DSP处理复杂算法的运算能力。
(2)控制数据缓存区(FIFC))的数据写入与读取,通过外部中断IRQ控制DSP与FPGA之间的数据传输
由于外部4片FIFO每两片扩展接成32位输出/输入方式,因此FPGA与FIFO进行数据传输时采用单向数据传输方式。在单向数据传输时采用数据块方式 传输,通过将握手信号连接到DSP的IRQx来产生中断或者FLAGx,FPGA将从外部处理板接收到的数据写入输入缓存区,并在完成一帧后给并行DSP 输出中断,DSP从FIFO读取完一帧数据后通过握手信号向FPGA告知可以进行下一帧数据的传送。
(3)控制通过LINK口与DSP之间的通信
链路口通信有自己的通信协议,FPGA电路只需要按照链路口的通信协议进行设计。ADSP-TS201S的链路口采用的是独立的发送和接收通道,因此对应 的FPGA也采用不同的接收电路和发送电路。FPGA接收或者发送DSP链路口逻辑电路都主要由两部分组成:接收/发送模块和接收缓冲/发送缓冲。接收模 块用来与DSP链路口发送通道进行接口和数据拆包处理,发送模块用来与DSP链路口接收通道进行连接和数据打包处理;接收缓冲/发送缓冲分别是用来配合接 收模块和发送模块进行传输时作为数据缓冲区,并实现与系统中其他接口或者FPGA中的其他模块的接口的数据传输功能。
(4)控制CPCI接口模块与CPCI总线间的数据传输
CPCI接口模块由PCI9656组成,在FPGA中划定一个独立的功能模块作为实现CPCI总线协议的接口控制器。该控制器主要包含一个FIFO控制逻 辑,完成本地板卡与CPCI总线之间的数据传输。主要完成以下功能:与PCI9656配合实现CPCI总线对目标设备的读和写、缓冲CPCI总线与 FIFO之间传送的数据、控制FIFO的读写。本地读写CPCI总线只需对FIFO进行读写操作即可。
4.3 CPCI传输接口设计
为了保证本系统与后面板上其他处理系统的数据传输速率和效率,在设计中采用PCI9656作为CPCI接口芯片。PCI9656作为专门 的I/O加速器,支持CPCI格式传输,数据传输时钟主频最高为66 MHz,数据传输带宽为64 b。其峰值传输速率可达528 MB/s,通过系统框图可以看到,在设计中使用了CPCI的J1,J2,J3,J4四个接口,根据CPCI传输协议,J1和J2为64位PCI数据传输接 口。J3,J4为自定义方式接口,设计中定义J3为处理板和后面板的数据传输接口,J4为上下处理板间的数据传输接口。
4.4 外部设备接口设计
本系统通过公用总线连接的存储器资源有:4个扩展应用的SDRAM,2个FLASH,2对扩展应用的FIFO,以及DSP片内存储器资源。所有存储器资源都通过统一的地址空间映射来进行区分。ADSP-TS201S的32位地址总线提供了高达4 GB的寻址空间,可以划分为4部分:
(1)主机寻址空间。地址映射范围0X80000000~0XFFFFFFFF,用于片外主机接口的地址映射空间。
(2)外部存储块空间。地址映射范围0X30000000~0X7FFFFFFF,用于处理器外围设备存储器接口地址空间映射,包括通用的存储器设备和SDRAM存储器。设计中主要对此空间进行划分,为外部存储器分配单独和惟一的地址空间。
(3)多处理器空间。地址映射范围0XOC000000~0X2FFFFFFF,主要用于多处理器构成的系统各个处理器间相互共享内部存储空间映射。
(4)片内存储空间。地址映射范围0X00000000~0X03FFFFFF,定义内部存储器空间映射。
外部存储器可以分为SDRAM寻址空间和外部通用存储空间。设计中,扩展连接的SDRAM将分配占用SDRAM寻址空间,而外部FLASH和FIFO将分配占用通用存储空间。
每两片SDRAM扩展连接为64位形式,设计用MSSD0和MSSDl分别作为每两片SDRAM的共用片选信号的控制信号,对应SDRAM寻址空间为0X4000 0000~0X44000000和0X50000000~OX54000000,可以分别获得128 MB的存储器寻址范围,满足SDRAM寻址要求。
外部两片FLASH的寻址空间划分分别通过MS0_AB与BMS_AB和MS0_CD与BMS_CD这两组信号作为片选信号,分配寻址空间为0X30000000~0X34 000000和0X34000000~0X348000000,寻址空间范围为128 MB。
外部4片FIFO,每两片扩展接成32位输出/输入方式,在进行地址映射时,实际上可以映射到一个地址寻址空间,而通过控制读写信号来进行区分,使用 MSl信号作为FIFO使能信号,获得分配的寻址空间0X38000000~0X40000000。为方便逻辑控制,MS1信号脚连接到FPGA上,通过 FPGA的逻辑译码来获得对FIFO的寻址控制。
另外,将ADSP TS201S的高八位地址线也连接到FPGA上,通过逻辑译码进一步可以获得较为细致的地址划分方案,为设计带来更多的灵活性,同时也确保了设计的可靠性。
- 一种基于FPGA的接口电路设计(11-18)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- 设计性能:物理综合与优化(04-28)
- 使用 PlanAhead Design 工具提高设计性能(04-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 面向 FPGA 的 ESL 工具(04-29)