- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于FPGA和DSP的高速数据采集系统的设计
3.3 FPGA和DSP的接口电路
DSP通过EMIFA接口数据线、地址线、片选信号及其他接口控制信号与FPGA的IO连接,实现FPGA内部生产FIFO与DSP连接,该部分电路主要功能是将FPGA内部存储器映射到DSP地址空间,从而实现DSP对FPGA的直接高速数据交换,其接口电路如图4所示。另外将DSP外部中断信号及定时器信号接入FPGA,以灵活地实现FPGA与DSP的控制通信。
3.4 DSP与PCI9050的接口电路
DSP通过其主机并行接口(HPI)来实现DSP与主机器件间的连接。主机并行接口(HPI)是一个并行端口,主处理器通过它可以直接访问CPU存储空间,主机器件对接口具有主动控制权,这样就增加了访问的容易度。C64x系列DSP的HPI口共有32条数据线,10条控制线,其和PCI9050的具体连线如图5所示。通过适当的配置,C64x系列DSP的HPI口可以工作于HPI16模式(数据宽度为16 b)和HPI32模式(数据宽度为32 b)。本设计中,采用HPI32模式。
4 FPGA设计及仿真
底层的信号预处理算法要处理的数据量大,对处理速度要求高,但算法结构简单,适用于FPGA进行硬件编程实现。FPGA不仅能够实现对底层的信号快速预处理,而且是整个系统的时序控制中心和数据交换的桥梁,是设计的核心和重点。在本系统中,FPGA主要实现以下几个功能:为系统提供时钟、底层信号预处理、对A/D和D/A的控制、与DSP的EMIF进行接口、为CPCI接口的实现提供时序逻辑和通信接口。FPGA的内部模块关系图如图6所示。
(1)时钟发生器为整个系统提供时钟。采用QuartusⅡ6.0自带的LPM模块库ALTPLL对输入时钟15.36 MHz(WCDMA码片速率3.84 MHz的4倍)进行分频,产生各子模块所需的时钟。
(2)底层预处理算法是系统得以实现的前提和基础,也占用了FPGA的大部分资源。底层预处理算法又可分为同步模块与相干解扩RAKE接收模块。同步模块实现定时同步、载波同步与路径搜索等功能,具体由扩频码时分数字匹配滤波器、小区搜索、路径搜索、抽头延迟线、码片跟踪、载波跟踪子模块组成;相干解扩RAKE接收是在同步完成后进行的信道估计、相关解扩与最大比多径合并,并将解扩合并后的数据按照预先定义好的格式送往信道译码单元(DSP内部实现)。
(3)经过底层预处理之后的数据送往FIFO和双口RAM,由DSP通过EMIFA口以EDMA的方式读取,然后进行信道译码。FIFO和双口RAM均采用QuartusⅡ6.0自带的LPM模块库。
(4)时序逻辑控制模块主要完成FIFO、双口RAM和EMIFA接口的时序匹配以及HPI口与PCI9050连接过程中所需的逻辑转换。
(5)为了保证采样数据的正确性和便于后续的处理,在采样芯片之后加上A/D控制器。通过A/D控制器实现数据的缓存和数据格式的转换,D/A控制器功能类似。
根据图6所示的模块关系,在QuartusⅡ6.0开发平台上,用VHDL语言实现了整个设计,并进行了功能仿真。部分仿真波形如图7,图8所示。
通过仿真图可以看出,满足RAM和FIFO的时序要求。上述结果已经应用到实际的系统中,并通过了实际环境的验证。
5 结 语
本文提出了一种基于FPGA和DSP的高速数据采集设计方案。在详细介绍设计思想后,给出了具体的硬件连接和FPGA部分的设计及仿真。在对速度、精度和实时性要求比较高的系统设计中,其具有很强的可操作性和可借鉴性。
作者:孙德玮,李石亮(电子工程学院 安徽 合肥 230001)
来源:现代电子技术
上一篇:BOSS接口监控及应急分析
下一篇:以传送网转型应对全业务宽带变革