无线数传电台数字信号处理模块中fpga与dsp通信结构与方法

文档序号:7647096阅读:206来源:国知局
专利名称:无线数传电台数字信号处理模块中fpga与dsp通信结构与方法
技术领域
本发明涉及一种无线数传电台的通信方式。特别是涉及一种在基于DSP和FPGA的硬 件平台上实现调制解调,数字下变频与信道编解码。提高了精度和运算速度,消除数字 信号处理器瓶颈,简化了硬件电路的设计,通用性好,且易于修改、升级的无线数传电 台数字信号处理模块中FPGA与DSP通信结构与方法。
背景技术
近年来,软件无线电作为一种新的无线通信体系结构备受关注。它突破了传统无线 电台以功能单一、可扩展性差的硬件为设计核心的局限性,把硬件作为无线通信的基本 平台,而把尽可能多的无线通信功能用软件来实现。无线数传电台是无线数据传输电台的简称,在欧美、日本应用比较广泛,技术比较成 熟,但是成本很高。国内无线数传电台生产厂家在高频电路的软件与硬件设计能力、生 产工艺水准、质量控制等方面还有很大距离,产品的各项技术指标很难达到国家无线电 产品技术标准,频率稳定度和接收机灵敏度都比较差,且该类设计中多使用专用调制解 调器和下变频器等专用模块,成本较高。无线数传电台的应用如图l所示。.数传电台的基本结构如图2所示,具有一般的无线传输系统的结构。由射频发射接 收设备、调制解调设备、信道编码设备以及接口控制设备组成。DSP和FPGA是软件无线电技术中不可或缺的硬件资源,随考DSP和FPGA技术的迅 猛发展,芯片集成度的提高也使芯片成本降低,这导致DSP和FPGA的需求上升和应用领 域的扩展,DSP和FPGA在整个电子信息领域得到了广泛的应用,越来越多的人开始或从 事DSP和FPGA设计和研发。现代通信系统中的数字化、宽带化、智能化和多媒体化都要 求与DSP和FPGA相结合。DSP和FPGA已经广泛应用于高速自动控制、无线电、语音处理、 网络设备等领域,DSP和FPGA结合为数字信号处理提供了高效而可靠的硬件基础,可以 认为这是通信平台技术未来的发展方向。如何有机地把他们联系起来,是一个关键地问' 题。 .发明内容本发明所要解决的技术问题是,提供一种在基于DSP和FPGA的硬件平台上实现调制 解调,数字下变频与信道编解码的技术。降低了成本,提高了精度和运算速度,消除数 字信号处理器瓶颈,简化了硬件电路的设计,通用性好,且易于修改、升级,实现了低 成本高性能的无线数传电台数字信号处理模块中FPGA与DSP通信结构与方法。本发明所采用的技术方案是无线数传电台数字信号处理模块中FPGA与DSP通信结 构与方法,其中的通信结构是,设置有FPGA芯片和DSP芯片,在FPGA芯片中包括有 先进先出存储/接收单元和接收先进先出存储/接收单元信号的调制模块,以及解调模块 和接收解调模块信号的^进先出存储/发送单元;DSP芯片中包括有与FPGA芯片的先进 先出存储/接收单元对应连接的第一串行接口和与FPGA芯片的先进先出存储/发送单元对 应连接的第二串行接口,以及接收FPGA芯片中断请求的INT1脚和INT2脚。所述的FPGA芯片中,先进先出存储/接收单元的empty/full脚连接DSP芯片的INT1 脚,先进先出存储/发送单元的empty/full脚连接DSP芯片的INT2脚;而FPGA芯片中 先进先出存储/接收单元的dataout脚、wrreq/rdreq脚、datain脚、clock脚相对应地 连接DSP芯片中第一串行接口的BDRO脚、BFSX0脚、BDX0脚、BCLKX0脚;FPGA芯片中 先进先出存储/发送单元的dataout脚、Wrreq/rdreq脚、datain脚、clock脚相对应地 连接第二串行接口的BDR1脚、BFSX1脚、BDX1脚、BCLKX1脚;所述的FPGA芯片的调制模块的输出信号连接D/A转换器;FPGA芯片的解调模块的输 入端连接A/D转换器。所述的FPGA芯片还连接PROM存储器。所述的DSP芯片还分别连接有FLASH存储器和随机存储器,以及外部时钟CLK和下 载数据用的JTAG接口。其中的通信方法是,由主程序和外部中断程序两部分构成,其中, 主程序包括有如下步骤1) 对DSP芯片和其串行接口 MCBSP1进行初始化;2) 等待外部中断,当没有外部中断信号时继续等待,有外部中断信号时进入下一步;3) 执行外部中断,外部中断程序执行完毕返回到第2)步进行循环; 外部中断程序包括有如下步骤 _1) 外部中断函数开启第一串行接口发送数据;2) 判断数据是否发送完毕,未完继续发送,发送完毕进入下一步;3) 外部中断函数开启第二串行接口接收数据;4) 判断数据是否接收完毕,未完继续接收,接收完毕进入下一步;5) 开启外部中断函数;6) 进入主程序中的第2)步等待外部中断。所述的外部中断程序的外部中断函数开启第一串行接口发送数据,首先打开发送中 断,然后再开始发送数据。所述的外部中断程序的外部中断函数开启第二串行接口接收数据,首先打开接收中 断,然后再开始接收数据。本发明的无线数传电台数字信号处理模块中FPGA与DSP通信结构与方法,基于DSP 和FPGA的硬件平台上实现调制解调,数字下变频与信道编解码。降低了成本,提高了精 度和运算速度,消除数字信号处理器瓶颈,简化了硬件电路的设计,通用性好,且易于
修改、升级,实现了低成本高性能。而且,无线数传电台中FPGA与DSP通信结构特别适 合于串口通信,在带宽25KHz下,通信速率可以达到19.2kbit/s,能够有效的完成FPGA 和DSP之间的数据通信^为可靠的数据传输提供了保障。


图1是现有的数传电台的应用系统的结构示意图; 图2是现有的数传电台的系统原理框图; 图3是本发明的整体结构示意图;图4是本发明的方法FPGA部分FIFO存储器的原理方框图;图5是本发明的方法FPGA部分FIFO内部读取数据的程序流程图;图6是本发明的方法FPGA部分FIFO内部数据写入的程序流程图;图7是使用本发明的方法的无线数传电台数字信号处理模块的结构示意图;图8是本发明的方法DSP部分流程的主程序;图9是本发明的方法DSP部分流程的程序流程图;图10是DSP发送FPGA接收过程中串口通信中的数据流整体效果图; 图11是DSP发送FPGA接收过程中串口通信中的数据流局部效果图; 图12是FPGA发送DSP接收过程中串口通信中的数据流整体效果图; 图13是FPGA发送DSP接收过程中串口通信中的数据流局部效果图。 其中-1: FPGA芯片 3: D/A转换器 5: PROM存储器 9:随机存储器 12:解调模块14:先进先出存储/发送单元 22:第二串行接口2: DSP芯片4: A/D转换器 8: FLASH存储器11:调制模块13:先进先出存储/接收单元 21:第一串行接口具体实施方式
下面结合实施例对本发明的无线数传电台数字信号处理模块中FPGA与DSP通信结构 与方法做出详细说明。如图3所示,本发明的无线数传电台数字信号处理模块中FPGA与DSP通信结构,设 置有FPGA芯片1和DSP芯片2,在FPGA芯片1中包括有先进先出存储/接收单元13 和接收先进先出存储/接收单元13信号的调制模块11,以及解调模块12和接收解调模块 12信号的先进先出存储/发送单元14。 FPGA芯片1的调制模块11的输出信号连接D/A 转换器3, FPGA芯片1的解调模块12的输入端连接A/D转换器4 , FPGA芯片1还连接
PR0M存储器(可编程只读存储器)5;先进先出存储/接收单元13和先进先出存储/发送单元14是相同的结构,也就是先 进先出堆栈FIFO,作为^据缓冲器,它是由随机存储器(RAM)和一系列控制结构组成的。 这些控制结构有读、写记数器,空、满标志生成器,选择判断结构等。整个FIFO的外部 引脚由时钟信号(clk),数据输入(datain),数据输出(dataout),空/满标志位 (empty/full),读/写控制端(wrreq/rdreq)组成。FIF0存储器的原理方框图如图4所示,FIF0内部读取数据的程序流程图如图5所示, FIFO内部数据写入的程序流程图如图6所示。DSP芯片2中包括有与FPGA芯片1的先进先出存储/接收单元13对应连接的第一 串行接口 21和与FPGA芯片1的先进先出存储/发送单元14对应连接的第二串行接口 22, 以及接收FPGA芯片1中断请求的INT1脚和INT2脚。DSP芯片2还分别连接有FLASH存 储器(掉电非易失性存储器)8和随机存储器9,以及外部时钟CLK和下载数据用的JTAG 接口。DSP发送数据,FPGA接收数据。FPGA以恒定速率从FIFO中读取数据进行调制,当 FIFO数据减少到一定程度时,自动向DSP发送请求信号。DSP发送一定量数据后(其发 送速率快),停止发送,等待再次收到请求信号,如此反复。FIFO的编写要注意设置输入宽度为1 (因为在此采用的是串行通信),深度要适当 大一些,要保证在FIFO中存储数据低于半满后和数据输入之间这段时间FIFO不能取空, 由于调制取数速率比较慢,这种条件很容易满足。所述的FPGA芯片1中,先进先出存储/接收单元13的empty/full脚连接DSP芯片2 的INT1脚,先进先出存储/发送单元14的empty/full脚连接DSP芯片2的INT2脚;而 FPGA芯片1中先进先出存储/接收单元13的dataout脚、wrreq/rdreq脚、datain脚、 clock脚相对应地连接DSP芯片2中第一串行接口21的BDRO脚、BFSX0脚、BDX0脚、BCLKX0 脚;FPGA芯片1中先进先出存储/发送单元14的dataout脚、Wrreq/rdreq脚、datain 脚、clock脚相对应地连接第二串行接口 22的BDR1脚、BFSX1脚、BDX1脚、BCLKX1脚; 接收数据FIFO的读时钟与调制部分的串行数据输入时钟相连,FIFO数据输出与调 制串行输入相连,读使能从调制开始一直开启。写时钟与DSP的BCLKX1 (串行口一的发 送数据时钟)相连,写使能与DSP的BFSX1 (串行口一的帧同步口)相连,FIFO数据输 入与DSP的BDX1 (串行口一的数据输出口)相连。还需注意的是,对于半满状态的指示, 有两个信号,分别由写时钟和读时钟控制,由于FPGA接受数据FIFO的读信号是持续的, 所以这里的半满显示信号应选择读控制信号。由于FPGA在调制时要以同一速率(19.2 kbit/s)连续取数,而DSP发送数据快的 多,所以设置FIFO作为缓冲。当FIFO少于半满的时候,向DSP发出请求信号,触发DSP 的输出中断INTO (外部中断0),开始向FPGA输入数据(注意每次接受请求信号后DSP 输出的数据是固定长度的,比如16位)。当FIFO多于半满的时候停止发送中断。如此
反复。所以,输入数据DSP是主动的。需要注意的是,中断信号虽然以低电平有效,但一次低电平只能触发一次中断,所 以,实际在发出中断的时候,要不断的发出脉冲信号才不断产生中断。当不需要产生中 断时,保持中断信号不变就可以了。FPGA发送数据FIFO的编写与FPGA接收数据FIFO的编写基本相同。需要注意的是, FIFO发送数据的过程,实际是DSP从FIFO读数的过程。所以,发送数据FIFO的读时钟与DSP的BCLKX1相连,读使能与DSP的BFSX1相连。 注意最好不要用BCLKRl (串行口一的接受数据时钟),和BFSR1 (串行口一的接收数据 帧同步)。虽然DSP设计了这个两个口,但BCLKRl时钟是从BCLKX1得到的,应用此口 时钟,实际应用中很容易在最后一位输入数据得到误码(一般保持倒数第二位码的状态, 而不是实际接收的码值),所以釆用BCLKX1 口,和BFSX1 口最好。此外,FIFO数据输出 与BDR1 (串行口一的数据接收口)相连。另一方面,发送数据FIFO的数据输入与解调的数据输出相连,写时钟与解调的与数 据输出同步的时钟相连。解调开始,写使能即开启。当FIFO多于半满的时候,向DSP发出请求信号,触发DSP的输出中断INT1 (外部 中断l),开始从FPGA读取数据(注意每次中断DSP读取的数据也是固定长度的,比如 16位),当FIFO少于半满的时候,停止触发中断信号。如此反复。很明显,在FPGA发 送FIFO发送数据,DSP接收数据时,DSP仍然是主动的。需要强调的是,以上说的FPGA发送数据FIFO和接收数据FIFO的半满并非指FIFO 的一半,可设多个比例值,只要满足要求即可。如图4、图5所示,本发明的无线数传电台数字信号处理模块中FPGA与DSP通信方 法,首先设置中断向量表。即,对应外部中断INTO、 INT1填写相应中断函数地址。注意 中断向量表每个中断占有四个字,指令长不够的要用NOP补足。中断向量的边界要 用.align伪指令将其对齐128字页边界。对程序入口符号要进行全局符号定义。然后通 过主程序和外部中断程序两部分完成,其中, 主程序包括有如下步骤1)对DSP芯片2和其串行接口 MCBSP1进行初始化;DSP和串行接口的初始化。该初始化程序在主程序中调用。初始化程序包括初始化 PMST寄存器,实际程序将当前中断向量指针IPTR指向以地址0x80开始的128字区间, 将MP/ MC引脚置为0 (即微计算机模式),将OVLY置为1 (DARAM映射到程序空间和数 据空间);将IFR (中断标志寄存器)置零。将INTM (中断模式位)置l,禁止可屏蔽 中断。将IMR(中断屏蔽寄存器)置O。设置SPCR1 (串行接口接收控制寄存器l) 、 SPCR2 (串行接口接收控制寄存器2);还有PCR (引脚控制寄存器),主要设置帧同步有效极 性和时钟的有效沿的方向;RCR (接收控制寄存器)、XCR (发送控制寄存器),主要设 置发送和接收的帧格式和字长;SRGR1 (采样率发生寄存器l) 、 SRGR2 (采样率发生寄存
器2),设置帧宽度和时钟频率。2) 等待外部中断,当没有外部中断信号时继续等待,有外部中断信号时进入下一歩; DSP要不断的等待f断信号,其主程序必须要一直处于循环等待中。在响应中断以后,要对已接收到的数据进行处理,或运算出待发送的数据。3) 执行外部中断,外部中断程序执行完毕返回到第2步进行循环; 外部中断程序包括有如下步骤1) 外部中断函数开启第一串行接口 21发送数据,首先打开发送中断,然后再开始 发送数据;外部中断函数,负责开启相应寄存器,打开时钟,使能接收中断,关闭外部中断。 DSP的发送数据是靠中断来进行的。而且发送数据时要屏蔽其它中断。所以,在外部接收 中断函数中,要设置IMR开启接收中断,屏蔽其它中断。之后还要设置SPCR1、 SPCR2的 值开启时钟,帧同步,使能发送器。进行处理数据的发送。2) 判断数据是否发送完毕,未完继续发送,发送完毕进入下一步;3) 外部中断函数开启第二串行接口 22接收数据,首先打开接收中断,然后再开始 接收数据;外部中断函数,负责开启相应寄存器,打开时钟,使能发送中断,关闭外部中断。 DSP的接收数据是靠中断来进行的。而且接收数据时要屏蔽其它中断。所以,在外部发送 中断函数中,要设置IMR开启发送中断,屏蔽其它中断。之后还要设置SPCR1、 SPCR2的 值开启时钟,帧筒步,使能接收器。进行处理数据的接收。4) 判断数据是否接收完毕,未完继续接收,接收完毕进入下一步;5) 开启外部中断函数;6) 进入主程序中的第2步等待外部中断。程序中循环执行指定次数的发送和接收后,要关闭接收中断或发送中断,打开外部 中断。还要将IMR的值重新设置,将INT0、 INT1中断打开,转而屏蔽其它中断。从而返 回主程序后,再次执行中断。但要强调一点,在DSP中INTO、 INT1是同等级的中断,所 以应避免同时向两个中断信号同时发送中断请求的情况。
权利要求
1. 一种无线数传电台数字信号处理模块中FPGA与DSP通信结构,设置有FPGA芯片 (1)和DSP芯片(2),.其特征在于,在FPGA芯片(1)中包括有先进先出存储/接收单元(13)和接收先进先出存储/接收单元(13)信号的调制模块(11),以及解调模块 (12)和接收解调模块(12)信号的先进先出存储/发送单元(14) ; DSP芯片(2)中包 括有与FPGA芯片(1)的先进先出存储/接收单元(13)对应连接的第一串行接口 (21) 和与FPGA芯片(1)的先进先出存储/发送单元(14)对应连接的第二串行接口 (22), 以及接收FPGA芯片(1)中断请求的INT1脚和INT2脚。
2. 根据权利要求1所述的无线数传电台数字信号处理模块中FPGA与DSP通信结构, 其特征在于,所述的FPGA芯片(1)中,先进先出存储/接收单元(13)的empty/full 脚连接'DSP芯片(2)的INT1脚,先进先出存储/发送单元(14)的empty/full脚连接 DSP芯片(2)的INT2脚;而FPGA芯片(1)中先进先出存储/接收单元(13)的dataout 脚、wrreq/rdreq脚、datain脚、clock脚相对应地连接DSP芯片(2)中第一串行接口(21)的BDR0脚、BFSX0脚、BDX0脚、BCLKX0脚;FPGA芯片(1)中先进先出存储/发 送单元(14)的dataout脚、Wrreq/rdreq脚、datain脚、clock脚相对应地连接第二串 行接口 (22)的BDR1脚、BFSX1脚、BDX1脚、BCLKX1脚;
3. 根据权利要求1所述的无线数传电台数字信号处理模块中FPGA与DSP通信结构, 其特征在于,所述的FPGA芯片(1)的调制模块(11)的输出信号连接D/A转换器(3); FPGA芯片(1)的解调模块(12)的输入端连接A/D转换器(4)。
4. 根据权利要求1所述的无线数传电台数字信号处理模块中FPGA与DSP通信结构, 其特征在于,所述的FPGA芯片(1)还连接PROM存储器(5)。
5. 根据权利要求1所述的无线数传电台数字信号处理模块中FPGA与DSP通信结构, 其特征在于,所述的DSP芯片(2)还分别连接有FLASH存储器(8)和随机存储器(9), 以及外部时钟CLK和下载数据用的JTAG接口 。
6. —种无线数传电台数字信号处理模块中FPGA与DSP通信方法,其特征在于,是 由主程序和外部中断程序两部分构成,其中,主程序包括有如下步骤1) 对DSP芯片(2)和其串行接口 MCBSP1进行初始化;2) 等待外部中断,当没有外部中断信号时继续等待,有外部中断信号时进入下一步;3) 执行外部中断,外部中断程序执行完毕返回到第2)步进行循环; 外部中断程序包括有如下步骤-1) 外部中断函数开启第一串行接口 (21)发送数据;2) 判断数据是否发送完毕,未完继续发送,发送完毕进入下一步;3) 外部中断函数开启第二串行接口 (22)接收数据;4) 判断数据是否接收完毕,未完继续接收,接收完毕进入下一步; 5) 开启外部中断函数;6) 进入主程序中的第2)步等待外部中断。
7. 根据权利要求6所述的无线数传电台数字信号处理模块中FPGA与DSP通信方法, 其特征在于,所述的外部中断程序的外部中断函数开启第一串行接口 (21)发送数据, 首先打开发送中断,然后再开始发送数据。
8. 根据权利要求6所述的无线数传电台数字信号处理模块中FPGA与DSP通信方法, 其特征在于,所述的外部中断程序的外部中断函数开启第二串行接口 (22)接收数据, 首先打开接收中断,然后再开始接收数据。
全文摘要
无线数传电台数字信号处理模块中FPGA与DSP通信结构与方法,结构是,FPGA芯片先进先出存储/接收单元和调制模块,及解调模块和先进先出存储/发送单元;DSP芯片与FPGA芯片对应连接的第一串行接口和第二串行接口,以及接收FPGA芯片中断请求的INT1脚和INT2脚。方法有,主程序对DSP芯片和其串行接口MCBSP1进行初始化;等待外部中断;执行外部中断;外部中断程序外部中断函数开启第一串行接口发送数据;判断数据是否发送完毕;外部中断函数开启第二串行接口接收数据;判断数据是否接收完毕;开启外部中断函数;进入主程序中的第二步等待外部中断。本发明成本低,精度高,运算速度快,消除数字信号处理器瓶颈,简化了硬件电路的设计,通用性好,且易于修改、升级,实现了低成本高性能。
文档编号H04B1/707GK101145797SQ20071005896
公开日2008年3月19日 申请日期2007年8月17日 优先权日2007年8月17日
发明者刘开华, 段建峰, 马永涛 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1