双通道DSP+FPGA的数字信号处理系统研究
2018-03-23许智勇李祥彬
许智勇,李祥彬
(上海航天电子技术研究所,上海 201109)
数字信号处理可以应用于各种领域,涉及通信、勘测、遥控、医学、控制等。相比较模拟信号处理平台,数字信号处理平台的应用范围更加广泛,精确度更高,可调整性更强,并且开发周期短、成本低。伴随信号处理系统的性能指标要求越来越高,单一的DSP芯片构成的信号处理系统在实际系统中越发显得不足,而FPGA可以弥补DSP芯片的不足之处,并且FPGA自身的优点使得该平台具备良好的可编程性[1]。
1 硬件部分
对于通讯速度、数据处理量的高要求,双通道信号处理系统采用对称结构。单个的信号处理通道由一片高性能的DSP芯片和一片大容量FPGA芯片构成:两片FPGA芯片之间使用离散线、总线和高速数据线连接交换通信;DSP芯片的工作频率约为1000MHz(1MHz=106Hz),并且在两片之间通过SRIO(通信速率不低于1.25Gbps)实现通信,实现两路之间的协同处理。CPLD可以分别为四片芯片提供复位信号、程序加载以及时钟信号综合配置,加载FPGA后按顺序依次加载DSP1、DSP2。
1.1 DSP设计
两片DSP芯片高速的数据交互功能是基于连接用的Rapid I/O接口。此外单片DSP芯片的Rapid I/O接口对外实现与其他模块的总线数据通信。DSP挂载一片用来存储程序代码的FLASH,系统上电后FLASH中的代码加载至DSP,并且通过EMIF总线连接至FPGA,实现资源共享,扩展外围接口。
DSP芯片要与FPGA芯片协同操作需要完成包括LVDS(Low Voltage Differential Signaling)、RS485(平衡电压数字接口电路的电气特性)、RS422等几种接口通信,并且需要在处理数据过程中实现快速数据交换功能。模数转换模块将外部输入的模拟信号(如电压信号、电流信号)转换成数字信号送入FPGA运算,FPGA进行简单运算之后,数字信号进入DSP芯片,并且信号可以在两者之间实时通信。
1.2 FPGA设计
虽然FPGA是本系统的协处理器,但其是整个设计的核心模块,极大的增强了系统的灵活性。系统中的FPGA需要处理好多个通信连接设计及数据配置:
(1)LVDS接口设计:是一种低压差分信号传输接口,本系统基于多片DS92LV16实现2收1发数据传输功能,由于LVDS的数据传输形式是电流,设计中在接收端接入匹配电阻形成可用于电压传输方式的接收端。
(2)UART接口设计:系统中DSP通过EMIF总线将数据传输给FPGA,FPGA再对数据进行通信协议转换实现UART通信。该接口设计主要通过FPGA调用IP核实现。
(3)数据配置:FPGA读取数据之前需要将其数据线、地址线、控制线连接到CPLD上,CPLD上电之后,FPGA从存储数据的外部FLASH中读取配置数据,并且根据时序将相应的数字信号和控制信号发送给FPGA[2]。
1.3 CPLD设计
CPLD作为辅助系统设计,主要的功能是为主处理器和协处理器提供复位功能,此外还为DSP和FPGA程序加载和时钟综合配置,顺序为先FPGA,之后DSP1、DSP2。
2 程序部分
作为控制中心,FPGA主要工作是数据处理、发送和接收。DSP1结合挂载外部FLASH的CPLD部分实现FPGA的动态加载。
FLASH中的数据由DSP1分配,经过总线写入FPGA1;数据进入FPGA1之后又通过DSP1控制,转向CPLD,而后通过总线转入FLASH,并且在FLASH中完成。
使用编译软件ISE生成网格文件,固化在FLASH中存储的数据在断电后仍会保持。CPLD在上电之后,从FLASH读取配置文件信息,对FPGA系统进行配置。在完成之后,FPGA与FLASH之间通过CPLD搭建的数据通道仍可用,即FPGA在配置完成后可以直接读取FLASH中存储的数据,并操作,达到拓展FPGA的内存目的。根据FLASH中存储的文件类型,需要将.out文件转换成可被读取的二进制文件,之后进行烧写。
3 结束语
本文所设计的基于DSP和FPGA的通用处理模块来构建的数字信号处理系统平台,系统稳定可靠,因为使用FPGA,系统可控制、可编程性增强,相较于传统的模拟信号处理平台而言,本平台的应用领域更加宽广。此外,本平台的设计周期短、成本低。数字信号实时处理平台是信号处理方式设计的趋势,而通过FPGA与DSP的紧密结合的处理平台更加成熟、更加可靠、更加小型化。
[1] 王诚,吴继华.Ahera FPGAPCPLD设计(高级篇)[M].北京:人民邮电出版社,2005.
[2] 宁李谱,杨宾峰,苗青林.FPGA 器件的配置方式研究[J].河南科技学院学报,2008,9:109-111.