论文部分内容阅读
摘 要:虽然目前已经存在DSP+ARM的双核处理平台,可以处理一些高频的信号,但由于二者的通信速度和通信方式还有经济成本等存在一定的不足,这里考虑借助DSP+FPGA+ARM三核处理器来实现对于信号处理的高效率和高频率要求,同时利用FPGA的可重构性也便于系统后期的升级和维护,具有很强的通用性和可扩展性,并且降低了系统的成本。
关键词:FPGA;重构;DSP;ARM
1.引言
数字信号处理技术已广泛应用于通信、雷达、声纳、遥感、图形图像处理和语音处理等领域,对于越来越复杂的二维、三维甚至四维的图像处理,需要处理系统能够运行复杂的算法。单核DSP依靠工艺的改进提升处理性能,而单核芯片的集成度提高受以下因素的制约:物理极限的制约、按几何级数递增的制作成本、芯片处理能力对功耗、散热、线延迟的要求等,从而使得单核处理器性能提高产生了瓶颈。采用DSP+FPGA+ARM的多CPU处理器,打破了传统DSP处理速度有限的约束,可以大大提高平台处理信号的速度。在FPGA端采用DDC数字下变频技术对信号进行降频,扩大了所处理信号的频带范围。借助FPGA的可重构性,降低了系统成本,便于系统的升级和维护[1]。
2.系统总体架构
2.1 原理分析
本设计在追求整个系统性能的基础上,兼顾系统的使用寿命和周期,通过接口资源实现处理器间的全互连,实现多CPU高速并行处理系统。与传统采用专用芯片的数字信号处理机相比,通用算法平台具有可重构性和通用性,优良的可扩展性、开发周期短、采用统一的硬件结构完成不同的信号处理算法;与通用的并行计算机相比,充分考虑了数字信号处理的特点,结构简化,突出计算能力和数据吞吐能力。
本设计采用三个独立的子系统互连形成一个整体架构,利用FPGA多管脚的高度灵活特性,实现数据的高速率传输。同时利用FPGA的可重构性,在FPGA内部构造双口RAM来和ARM实现数据交换。下图所示为系统硬件的整体架构图。
图 1系统总体架构
传统的微波信号处理平台,除比较少见的DSP+FPGA/CPLD结构外,采用ARM结构的形式为主流设计。采用DSP+FPGA/CPLD的结构,除非借助上位机PC,否则在人机交互方面会存在较大的缺点。ARM处理器具有比较强的事务管理功能,在整个系统中主要用于控制和少量的数据处理,其优势主要体现在控制方面;DSP的优势在于数据处理能力强、运算速度快、能实时完成复杂计算;FPGA可以用VHDL或Verilog HDL来编程,其最大特点是它的内部逻辑的在线可重构性,可根据系统需要进行任意配置,灵活性强。当电路有少量改动时,更能显示出FPGA的优势。综合上述三者各自的优点,将它们结合起来使用就能克服传统处理器或者开发板的一些不足之处,达到信号处理的高速性和实时性[2]。
2.2 系统实现
2.2.1 ARM端接口实现
ARM部分扩展的主要模块包括:通信接口、存储器、人机界面接口、电源及实时时钟等。ARM端的以太网接口为普通以太网,用于下载操作系统代码及系统升级,也可用于同上层网络之间的通信,便于上层的监控和管理等。铁电存储器除兼有SRAM存储器存储速度快的优点外,还具有数据掉电不丢失的特点,可以用于保存系统的数据和参数。USB HOST接口则可以方便进行系统升级。
2.4.2 FPGA接口的设计与实现
ARM和DSP各相关控制逻辑及部分中断控制逻辑等引入FPGA内。这样ARM与DSP之间的通信就很灵活:既可以通过DSP的HPI接口进行通信,也可以在FPGA内部构造一个双口RAM进行通信。这种设计带来的好处是系统结构紧凑,FPGA可以根据需要灵活配置,通用性更好,且更经济。DSP通过EMIF接口与FPGA相连,通过对FPGA进行编程重构,可以使FPGA用做协处理器、高速数据处理器或高速数据传输接口。
2.2.3 DSP端口及HPI boot的加載和实现
DSP端通过EMIF接口外扩了SDRAM和FLASH存储器,同时EMIF接口与FPGA连接。主机通过DSP提供的HPI这样不需要增加额外的外围器件,且便于DSP程序的更新和修改,具有更好的灵活性和方便性。为此,本系统利用DSP6713的HPI接口,通过巧妙的设计,实现了DSP程序的三种加载方式:串口加载、USB加载和通过以太网远程加载。其DSP的HPI接口信号示意图见下图,图中DSP的HPI逻辑信号均直接与FPGA的HPI逻辑部分相连接,相应的控制逻辑信号由FPGA提供。
图2 DSP的HPI信号接口图
上图中,HD[15:0]:实际上可以看作是一个数据和地址的公用总线,通过HD[15:0]传送的数据包括控制寄存器的设置值、初始化的访问地址以及真正的数据。DSP boot加载前,ARM主机通过串口、USB或以太网接口三者中任何一种方式,将需加载到DSP的二进制代码传输到ARM的特定存储区域,并设置相应的标志。此后,一旦触发相应的HPI加载事件(在特定的操作模式下,通过按键操作进行选择),FPGA内部的逻辑电路将DSP6713 HPI的HD[4:3]引脚下拉,选择主机加载模式,然后通过中断的方式通知主机ARM。主机ARM对DSP进行复位操作,此时只有DSP的内核进入复位状态,其余部分保持激活状态。接着主机ARM通过HPI初始化DSP的整个存储空间(包括片内的外设寄存器),对它们进行初始化。
相关初始化设置完成后,加载铁电存储器中的DSP可执行二进制程序代码以及数据到DSP6713指定的存储空间。加载完成后ARM主机向DSP的HPI控制寄存器HPIC的DSPINT位写1,此时DSP退出复位状态,接下来CPU从地址0处开始执行程序。
3.结语
总之,作品采用三个独立的子系统互连形成一个整体架构,利用FPGA多管脚的高度灵活特性,实现数据的高速率传输。同时利用FPGA的可重构性,在FPGA内部构造双口RAM来和ARM实现数据交换。总体效果良好,尤其是对于微波信号的处理效果极佳。■
参考文献
[1]陈巨涛. ARM+DSP嵌入式仿真平台的开发及其在实时仿真中的应用[D].上海海事大学,2004.
[2]池江. ARM+DSP嵌入式仿真系统的开发及其在船舶电力推进中的初步应用[D].上海海事大学,2004.
作者简介:
娄欣欣 (1989—) ,女,河南开封,硕士研究生,交通信息工程及其控制。
关键词:FPGA;重构;DSP;ARM
1.引言
数字信号处理技术已广泛应用于通信、雷达、声纳、遥感、图形图像处理和语音处理等领域,对于越来越复杂的二维、三维甚至四维的图像处理,需要处理系统能够运行复杂的算法。单核DSP依靠工艺的改进提升处理性能,而单核芯片的集成度提高受以下因素的制约:物理极限的制约、按几何级数递增的制作成本、芯片处理能力对功耗、散热、线延迟的要求等,从而使得单核处理器性能提高产生了瓶颈。采用DSP+FPGA+ARM的多CPU处理器,打破了传统DSP处理速度有限的约束,可以大大提高平台处理信号的速度。在FPGA端采用DDC数字下变频技术对信号进行降频,扩大了所处理信号的频带范围。借助FPGA的可重构性,降低了系统成本,便于系统的升级和维护[1]。
2.系统总体架构
2.1 原理分析
本设计在追求整个系统性能的基础上,兼顾系统的使用寿命和周期,通过接口资源实现处理器间的全互连,实现多CPU高速并行处理系统。与传统采用专用芯片的数字信号处理机相比,通用算法平台具有可重构性和通用性,优良的可扩展性、开发周期短、采用统一的硬件结构完成不同的信号处理算法;与通用的并行计算机相比,充分考虑了数字信号处理的特点,结构简化,突出计算能力和数据吞吐能力。
本设计采用三个独立的子系统互连形成一个整体架构,利用FPGA多管脚的高度灵活特性,实现数据的高速率传输。同时利用FPGA的可重构性,在FPGA内部构造双口RAM来和ARM实现数据交换。下图所示为系统硬件的整体架构图。
图 1系统总体架构
传统的微波信号处理平台,除比较少见的DSP+FPGA/CPLD结构外,采用ARM结构的形式为主流设计。采用DSP+FPGA/CPLD的结构,除非借助上位机PC,否则在人机交互方面会存在较大的缺点。ARM处理器具有比较强的事务管理功能,在整个系统中主要用于控制和少量的数据处理,其优势主要体现在控制方面;DSP的优势在于数据处理能力强、运算速度快、能实时完成复杂计算;FPGA可以用VHDL或Verilog HDL来编程,其最大特点是它的内部逻辑的在线可重构性,可根据系统需要进行任意配置,灵活性强。当电路有少量改动时,更能显示出FPGA的优势。综合上述三者各自的优点,将它们结合起来使用就能克服传统处理器或者开发板的一些不足之处,达到信号处理的高速性和实时性[2]。
2.2 系统实现
2.2.1 ARM端接口实现
ARM部分扩展的主要模块包括:通信接口、存储器、人机界面接口、电源及实时时钟等。ARM端的以太网接口为普通以太网,用于下载操作系统代码及系统升级,也可用于同上层网络之间的通信,便于上层的监控和管理等。铁电存储器除兼有SRAM存储器存储速度快的优点外,还具有数据掉电不丢失的特点,可以用于保存系统的数据和参数。USB HOST接口则可以方便进行系统升级。
2.4.2 FPGA接口的设计与实现
ARM和DSP各相关控制逻辑及部分中断控制逻辑等引入FPGA内。这样ARM与DSP之间的通信就很灵活:既可以通过DSP的HPI接口进行通信,也可以在FPGA内部构造一个双口RAM进行通信。这种设计带来的好处是系统结构紧凑,FPGA可以根据需要灵活配置,通用性更好,且更经济。DSP通过EMIF接口与FPGA相连,通过对FPGA进行编程重构,可以使FPGA用做协处理器、高速数据处理器或高速数据传输接口。
2.2.3 DSP端口及HPI boot的加載和实现
DSP端通过EMIF接口外扩了SDRAM和FLASH存储器,同时EMIF接口与FPGA连接。主机通过DSP提供的HPI这样不需要增加额外的外围器件,且便于DSP程序的更新和修改,具有更好的灵活性和方便性。为此,本系统利用DSP6713的HPI接口,通过巧妙的设计,实现了DSP程序的三种加载方式:串口加载、USB加载和通过以太网远程加载。其DSP的HPI接口信号示意图见下图,图中DSP的HPI逻辑信号均直接与FPGA的HPI逻辑部分相连接,相应的控制逻辑信号由FPGA提供。
图2 DSP的HPI信号接口图
上图中,HD[15:0]:实际上可以看作是一个数据和地址的公用总线,通过HD[15:0]传送的数据包括控制寄存器的设置值、初始化的访问地址以及真正的数据。DSP boot加载前,ARM主机通过串口、USB或以太网接口三者中任何一种方式,将需加载到DSP的二进制代码传输到ARM的特定存储区域,并设置相应的标志。此后,一旦触发相应的HPI加载事件(在特定的操作模式下,通过按键操作进行选择),FPGA内部的逻辑电路将DSP6713 HPI的HD[4:3]引脚下拉,选择主机加载模式,然后通过中断的方式通知主机ARM。主机ARM对DSP进行复位操作,此时只有DSP的内核进入复位状态,其余部分保持激活状态。接着主机ARM通过HPI初始化DSP的整个存储空间(包括片内的外设寄存器),对它们进行初始化。
相关初始化设置完成后,加载铁电存储器中的DSP可执行二进制程序代码以及数据到DSP6713指定的存储空间。加载完成后ARM主机向DSP的HPI控制寄存器HPIC的DSPINT位写1,此时DSP退出复位状态,接下来CPU从地址0处开始执行程序。
3.结语
总之,作品采用三个独立的子系统互连形成一个整体架构,利用FPGA多管脚的高度灵活特性,实现数据的高速率传输。同时利用FPGA的可重构性,在FPGA内部构造双口RAM来和ARM实现数据交换。总体效果良好,尤其是对于微波信号的处理效果极佳。■
参考文献
[1]陈巨涛. ARM+DSP嵌入式仿真平台的开发及其在实时仿真中的应用[D].上海海事大学,2004.
[2]池江. ARM+DSP嵌入式仿真系统的开发及其在船舶电力推进中的初步应用[D].上海海事大学,2004.
作者简介:
娄欣欣 (1989—) ,女,河南开封,硕士研究生,交通信息工程及其控制。