好文档 - 专业文书写作范文服务资料分享网站

一种DSP和FPGA并行通信方法(精)

天下 分享 时间: 加入收藏 我要投稿 点赞

信息技术 电 子 测 量 技 术

ELECTRONICMEASUREMENTTECHNOLOGY第31卷第10期200810DSP和FPGA并行通信方法研究

姜 楠 马迎建 冯 翔

(北京航空航天大学仪器科学与光电工程学院 北京 100083)

摘 要:本文介绍了一种DSP与FPGA之间的并口通信方法,它实际应用于陀螺数字检测电路。此方法使用TMS320F2812芯片的外部数据总线接口(XINTF)与FPGA相连接,利用它的中断和读写选通信号(XRD与XWE)作为判断位与使能位完成通信。文中给出了它们的硬件连接方式和通信部分的软件程序,并用

modelsim对FPGA通信程序进行了仿真。通过仿真结果以及在实际电路中的实验调试,表明此方法可以实现DSP与FPGA之间的并行通信,能有效提高通信速度。 关键词:DSP;FPGA;外部接口;并行通信;modelsim 中图分类号:TP2 文献标识码:A

ResearchonandFPGA MaYingjian FengXiang

(ofScience&Opto2ElectronicEngineering,BeihangUniversity,Beijing100083)

Abstract:MethodofcommunicationbetweenDSPandFPGAwasintroduced,whichusedinthegyroscopedigitaldetectioncircuit.Theexternalinterface(XINTF)databusoftheTMS320F2812chipisconnectedwithFPGAinthemethod.TheinterruptsignalsoftheDSPareusedasjudgmentsignals,andtheread2writeselect(XRDandXWE)signalsareusedasenablesignalstocompletecommunication.ThehardwareinterfacecircuitbetweenDSPandFPGAandthesoftwareprogramofcommunicationpartareintroduced.ThentheFPGAcommunicationprogramissimulatedbymodelsim.Throughtheresultofthesimulationandtheexperimentdebuggingintherealcircuit,itisindicatedthatthemethodcanachievecommunicationbetweenDSPandFPGA,andthespeedofcommunicationisimprovedavailably.Keywords:DSP;FPGA;ExternalInterface;parallelcommunication;modelsim 0 引 言

在航空领域中,陀螺在导航中起着重要作用。随着数 字化陀螺精度的提高,所需要处理的数据速度和数据量也

越来越高。DSP与FPGA之间的并口通信相对于串口通 信更能满足速度的要求。本文基于数字化陀螺信号检测 系统,选用TI公司的TMS320F2812(以下简称为DSP)和 XILINX公司Virtex2Ⅱ系列的XC2V250(以下简称为 FPGA)芯片搭建硬件平台,实现16位并行总线的通信,从 而提高了通信速度,并简化电路,节约成本,使得系统易于

修改和升级[1]。图1 信号流程框图 模拟信号通过高频率A/D转换后,转成高速的数字信号发送给FPGA,在FPGA中进行累加求平均后,将较低频率的信号传送给DSP,在DSP中进行核心算法的处理后,再把信号发回给FPGA。通过FPGA把发回的信号进

行逻辑组合后通过D/A转换成模拟信号输出。可以看出

FPGA和DSP的通信是数据传输的核心部分。其中,DSP1 设计实现 1.1

设计思想的输入和写出采用中断控制,当FPGA准备好写数后,向

DSP发送读中断,DSP响应中断后读取数据。当FPGA准在此系统中,DSP作为主要运算芯片,是实现算法的

核心;而FPGA作为它的外围器件,可以看成硬件设计的

一种延续。信号的流程图如图1所示[2]。备好读数时,也向DSP发送中断请求,DSP就会把处理好的数据放在总线上,等待FPGA读取。这样就能够完成两?146?

姜 楠等:DSP和FPGA并行通信方法研究 个芯片的并行通信。 1.2 硬件部分连接

TMS320F2812型DSP芯片有16位XINTF数据总线[3],为系统外部接口,它可以与各种外部存储器或者设备实现无缝连接。在此系统中,将它与FPGA的16个用户可定义I/O管脚相连,用于实现16位并行数据的通信。TMS320F2812芯片还有56个可编程通用输入/输出引脚(GPIO)引脚[4],任选两个和FPGA的用户I/O管脚相连,DSP的读写中断。1.3 软件部分实现1.3.1 通信中的时钟设计

本系统中,DSP所使用的中断是CPU定时器定时给出的中断[5],CPU定时器在初始化阶段设计为每隔1μs产生一个中断发给CPU,使其访问中断子程序,判断中断标志位是否为1。如果为1,则读数或写数;如果为0,则继续循环等待。因此为了保证数据读写的正确,不重复读数,1。这样使FPGAs在DSPGA芯片的外部接口区

(XINTF)的时钟也是可以编程控制的[6]。每个XINTF区的读或者写的时序都可以被分成3个阶段:前导(Lead)有(Active)和跟踪(Trail),3个阶段的时间可以分别配置。在有效阶段里会实现对外部设备的访问。如果是读操作,则读选通信号(XRD)被拉低,同时将数据锁存进DSP;如果是写操作,写选通信号(XWE)被拉低,同时将数据送到数据总线上。因此在系统中以XRD和XWE分别作为DSP发送给FPGA的读写使能信号。1.3.2 FPGA收发模块设计

FPGA的软件编写采用VerilogHDL进行描述。由于和DSP之间通信是双向的,因此和总线相连的端口设计成inout型[7]。数据的读入和写出是由时钟控制读写标志位来完成的,时钟同样控制着发送给DSP的读中断和写中断。以下给出此通信部分VerilogHDL程序,为了程序简明易读,其中部分端口定义和变量定义程序被省略,只列出了与通信有关的定义: modulefpga_rw() 第10期

begin if(j==3)

int_flag1<=1;//写中断的标志位

elseif(j==56) int_flag1<=0; if(XRD==0)//DSP读使能位有效时发数

data_out<=data_sum[19:4];//FPGA写数

end elseif(j>=250&&j<=300)

beginif(j<1;/301int_flag2<=0; if(XWE==0)//DSP写使能位有效时收数 XD_in<=data_inout;//FPGA读数 end elseif(j==399) j<=0; end always@(posedgeclk_50M)

一种DSP和FPGA并行通信方法(精)

信息技术电子测量技术ELECTRONICMEASUREMENTTECHNOLOGY第31卷第10期200810DSP和FPGA并行通信方法研究姜楠马迎建冯翔(北京航空航天大学仪器科学与光电工程学院北京100083)摘要:本文介绍了一种DSP与FPGA之
推荐度:
点击下载文档文档为doc格式
153654ak2a6bod04q39t7z7sh75m1a00obp
领取福利

微信扫码领取福利

微信扫码分享