CN106487395A - 基于fpga的多模式解调*** - Google Patents
基于fpga的多模式解调*** Download PDFInfo
- Publication number
- CN106487395A CN106487395A CN201610907808.7A CN201610907808A CN106487395A CN 106487395 A CN106487395 A CN 106487395A CN 201610907808 A CN201610907808 A CN 201610907808A CN 106487395 A CN106487395 A CN 106487395A
- Authority
- CN
- China
- Prior art keywords
- module
- fpga
- demodulation
- dpsk
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/0003—Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/10—Frequency-modulated carrier systems, i.e. using frequency-shift keying
- H04L27/14—Demodulator circuits; Receiver circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2655—Synchronisation arrangements
- H04L27/2657—Carrier synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
基于FPGA的多模式解调***,属于通信技术领域。为了解决现有的基于软件无线电的硬件平台存在浪费硬件资源及通用性差的问题。包括:DPSK/DQPSK解调模块、FSK解调模块和动态切换模块均基于FPGA实现;DPSK/DQPSK解调模块,基于FPGA,用于实现差分相移键控DPSK和四相相对相移键控DQPSK解调;FSK解调模块,基于FPGA,用于实现频移键控FSK解调;动态切换模块,用于通过FPGA实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的切换;所述FPGA为通过Microblaze软核处理器对该FPGA的动态部分进行重构后的。本发明用于通信接收机中解调。
Description
技术领域
本发明涉及一种解调***,特别涉及一种基于FPGA的多模式解调***,属于通信技术领域。
背景技术
随着通信技术的不断发展,越来越多的针对不同通信环境下的通信协议得到应用,以适应各种条件下的通信***。传统的通信接收机模式单一,结构固定。然而就目前来看,没有哪一种通信协议是可以适用于所有场合的。当环境发生改变时,某一种通信协议便很可能不再是最佳选择。传统通信接收机的缺陷便显现出来,那就是无法适应不同的通信场合,多体制的通信***之间无法有效顺利地互联。因此对于未来的通信接收***,要求能做到可以将具有不同调制方式,数据速率以及通信协议的信号用一个通用性的硬件平台来接收并解调。用软件设计来实现整个通信过程,而不是依靠已经固定的硬件电路。这就是软件无线电。
软件无线电,通常也被称作软件定义无线电。它是指构建一个通用的,开放性的硬件平台,将通信***中诸如调制解调,编码译码,同步跟踪等环节用软件的方式实现。即用软件来实现通信中物理层的连接。软件无线电的目标是将A/D、D/A尽可能的靠近天线,使通信***尽可能的软件化。这种方式的好处在于,软件化的通信***具有通用性,开放性,可以在不更换或改***件平台的前提下,适应多种通信环境。软件无线电的产生最初源自于军事上的需求。旨在解决美军在战争过程中陆海空三军由于电台通信体制的不同而遇到的通信联络难以达到互联、互通、互操作的问题。另外,在民用方面,民用移动通信中,产品与标准耦合紧密,各标准之间难以互操作,并且特定的芯片升级换代困难。无论军用还是民用,基于软件无线电的多模式的通用通信平台是当前迫切所需。在软件无线电技术正成为通信主导技术的背景下,基于软件无线电的多模式收发信机被认为是下一代多模式终端的发展方向。
而现有的基于软件无线电的硬件平台存在浪费硬件资源及通用性差的问题。
发明内容
本发明的目的是为了解决现有的基于软件无线电的硬件平台存在浪费硬件资源及通用性差的问题,本发明提供一种基于FPGA的多模式解调***。
本发明的基于FPGA的多模式解调***,包括DPSK/DQPSK解调模块、FSK解调模块和动态切换模块;DPSK/DQPSK解调模块、FSK解调模块和动态切换模块均基于FPGA实现;
DPSK/DQPSK解调模块,基于FPGA,用于实现差分相移键控DPSK和四相相对相移键控DQPSK解调;
FSK解调模块,基于FPGA,用于实现频移键控FSK解调;
动态切换模块,用于通过FPGA实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的切换;
所述FPGA为通过Microblaze软核处理器对其中动态部分进行重构后的FPGA。
优选的是,所述DPSK/DQPSK解调模块包括载波同步模块、数字位同步模块和码变换模块;
载波同步模块,用于对待解调的信号进行载波同步,输出基带信号;
数字位同步模块,利用符号同步,获取与发送端调制所述基带信号时同频率同相位的时钟信号;
码变换模块,用于根据获取的时钟信号,对基带信号进行码变换,获取解调后的信号。
优选的是,所述载波同步环模块采用Costas环实现,其中,Costas环的数控振荡器通过调用Xilinx的IP核来实现;
Costas环的环路滤波器模块包括第一乘法器、第二乘法器、第一加法器、Z-1运算器和第二加法器;
环路滤波器模块的输入信号同时输入至第一乘法器和第二乘法器,输入信号与系数C1经第一乘法器相乘后输出,第一乘法器的输出与Z-1运算器的输出同时输入至第一加法器,经第一加法器相加后输出,第一加法器的输出为环路滤波器模块的输出;
所述输入信号与系数C2经第二乘法器相乘后输出,第二乘法器的输出与Z-1运算器的输出同时输入至第二加法器,经第二加法器相加后输出,Z-1运算器在采样时钟的作用下,第二加法器的输出输入至Z-1运算器,Z-1运算器的输出同时输入至第一加法器和第二加法器;
C1=0.0429687,C2=-0.0419921875。
优选的是,所述数字位同步模块包括全波整流模块、第一瞬时抽样及保持模块、第二瞬时抽样及保持模块分频计数器和加法器;
全波整流模块,用于对输入的基带信号进行全波整流,输出整流信号;
第一瞬时抽样及保持模块,用于滞后一个采样时钟周期对整流信号进行抽样,获得滞后支路数据;
第二瞬时抽样及保持模块,用于超前一个采样时钟周期对整流信号进行抽样,获得超前支路数据;
加法器,用于将超前支路数据与滞后支路数据行相减后输出;分频计数器,用于输出采样时钟周期;
判断模块,判断加法器的输出,当超前支路数据等于滞后支路数据,将当前采样时钟周期作为数字位同步模块的输出;当超前支路数据大于滞后支路数据,增大分频计数器的分频数;当超前支路数据小于滞后支路数据,减小分频计数器的分频数。
优选的是,FSK解调模块包括FSK调制波形生成模块、时钟计数模块、过零计数模块和判断形成模块
FSK调制波形生成模块,用于根据待解调的信号,生成FSK调制信号;
时钟计数模块,用于对一个码元周期内的采样时钟周期数进行计数的模块;
过零计数模块,用于根据采样时钟的时序判断生成的FSK调制信号的符号位是否过零,获取发生过零的次数;
判断形成模块,用于根据过零的次数,判断频率,进而得到对应的码元信息,实现解调。
优选的是,所述通过Microblaze软核处理器对该FPGA的动态部分进行重构过程包括:
将实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的相关模块划分为动态模块和静态模块;
基于Microblaze软核处理器搭建嵌入式***;
加入用户自定义IP核;
创建PlanAhead工程;
在创建的PlanAhead工程中,以黑盒形式添加划分得到的动态模块;
根据添加的动态模块,利用PlanAhead对FPGA上的逻辑资源区域进行划分,划出重构区域区域;
PlanAhead是集成软件环境ISE中实现对工程进行综合并从硬件层面设计FPGA内部的布局布线的工具;
对获得的重构区域进行DRC检查;
对DRC检查后的重构区域配置Implement属性生成BIT流配置文件;
Implement为执行布局布线操作的工具;
优选的是,所述嵌入式***包括:Microblaze软核处理器、HWICAP控制器、LMB总线、System ACE、串口和CF卡;
Microblaze软核处理器,用于重构的控制和进程管理;
HWICAP控制器,用于访问动态重构的端口;
LMB总线,用于Microblaze软核处理器与数据寄存器、指令寄存器之间的数据传输;
System ACE,用于为CF卡与FPGA器件和上位机之间提供接口;
串口,用于传输外部配置命令;
CF卡,用于配置比特流。
本发明的有益效果在于,本发明采用FPGA的动态部分可重构在Xilinx的FPGA开发平台上实现多模式接收机的多模式解调,实现DPSK(Differential Phase Shift Keying,差分相移键控)、DQPSK(Differential Quadrature Reference Phase Shift Keying,四相相对相移键控)、FSK(Frequency-shift keying,频移键控)三种解调方式的动态切换。这种方式是数字通信接收机具有通用性以及开放性,本发明缩短了配置时间,节省了硬件资源。
附图说明
图1为本发明的基于FPGA的多模式解调***的原理示意图。
图2为DPSK/DQPSK解调模块的原理示意图。
图3为现有Costas环的原理示意图。
图4为环路滤波器的数字化模型的原理示意图。
图5为环路滤波器归一化幅频特性曲线。
图6为环路滤波器归一化相频特性曲线。
图7为Costas环输出频差仿真图。
图8为数字位同步模块的原理示意图。
图9为FSK解调模块的原理示意图。
图10为FPGA的部分重构原理示意图。
图11为嵌入式***的原理示意图。
具体实施方式
结合图1说明本实施方式,本实施方式所述的基于FPGA的多模式解调***,包括DPSK/DQPSK解调模块、FSK解调模块和动态切换模块;DPSK/DQPSK解调模块、FSK解调模块和动态切换模块均基于FPGA实现;
DPSK/DQPSK解调模块,基于FPGA,用于实现差分相移键控DPSK和四相相对相移键控DQPSK解调;
FSK解调模块,基于FPGA,用于实现频移键控FSK解调;
动态切换模块,用于通过FPGA实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的切换;
所述FPGA为通过Microblaze软核处理器对该FPGA的动态部分进行重构后的。
FPGA的动态可重构明显提高硬件平台通用化,以及通信***软件化的程度。本实施方式利用FPGA逻辑资源可重配置的特点,对FPGA内部的逻辑资源时分复用。动态部分重构是利用基于SRAM的FPGA的逻辑结构特性,在不中断FPGA运行的情况下,对FPGA内部部分逻辑进行重新配置,同时又不影响未重配置逻辑的正常工作。采用动态重构技术的的通信***将更加通用,灵活,更接近于理想的软件无线电。
本实施方式采用相干解调法对DPSK信号解调在FPGA进行了实现。所用的FPGA是Xilinx的Virtex-5XUP5VLX110T芯片。优选实施例中,如图2所示,DPSK/DQPSK解调模块包括载波同步模块、数字位同步模块和码变换模块;
载波同步模块,用于对待解调的信号进行载波同步,输出基带信号;
数字位同步模块,利用符号同步,获取与发送端调制所述基带信号时同频率同相位的时钟信号;
码变换模块,用于根据获取的时钟信号,对基带信号进行码变换,获取解调后的信号。
目前可以实现载波同步的电路结构有许多。常见的有平方环、Costas环,判决反馈环以及通用载波恢复环等等。其中Costas环是J.P.Costas在1956年首先提出的,随后被Riter证明是跟踪低信噪比的抑制载波信号的最佳装置。本实施方式的载波同步环模块采用Costas环实现,Costas环的原理框图如图3。其中数控振荡器通与环路滤波器的实现是Costas环FPGA实现的核心。
数控振荡器,其作用是输出与被调制信号同频同相的本地载波。在实施方式中,数控振荡器通过调用Xilinx的IP核来实现。IP核参数设置时,DATA引脚为相位累加字输入引脚。相位累加字即为数控振荡器读取ROM表的步长。相位累加字越大,步长越大,在***时钟频率一定的条件下,数控振荡器输出的正弦波频率也越高。CLK引脚为***时钟输入引脚。WE为使能引脚。在本实施方式中,将该接高电平,使数控振荡器一直处于正常工作状态。SINE与COSINE为正弦波输出引脚。两个引脚输出的正弦波相位相差π/2。
相位累加字位数设为34位,数控振荡器的时钟频率32MHz,输出频率4.4MHz。其中相位累加字位数越高,则输出的正弦波相位调整越精细。幅度精度位数越高,输出正弦波幅度量化精度越高,波形越精准。
环路滤波器为数控振荡器提供误差控制电压,在跟踪的过程中不断对数控振荡器的相位累加字进行调整,通过调整数控振荡器输出的正弦波频率来达到相位调整和跟踪的目的。对于二阶环路的环路滤波器的数字化***函数为:
其中系数C1和C2与环路阻尼系数ξ,自然角频率ωn和数字采样周期T相关。其具体表达式为:
其中式中,N为相位累加字位数,Tdds为相位累加字更新周期,Blp为环路滤波器输出的有效数字位宽,fs为数字采样频率。通过查阅资料了解到,对于理想二阶环路来讲阻尼系数通常设ξ=0.707。环路滤波器其本质上相当于一个一阶数字低通滤波器,其数字化模型如图4:Costas环的环路滤波器模块包括第一乘法器、第二乘法器、第一加法器、Z-1运算器和第二加法器;
环路滤波器模块的输入信号同时输入至第一乘法器和第二乘法器,输入信号与系数C1经第一乘法器相乘后输出,第一乘法器的输出与Z-1运算器的输出同时输入至第一加法器,经第一加法器相加后输出,第一加法器的输出为环路滤波器模块的输出;
所述输入信号与系数C2经第二乘法器相乘后输出,第二乘法器的输出与Z-1运算器的输出同时输入至第二加法器,经第二加法器相加后输出,Z-1运算器在采样时钟的作用下,第二加法器的输出输入至Z-1运算器,Z-1运算器的输出同时输入至第一加法器和第二加法器;
准线性分析结果表明,工程上锁相环路能够正常锁定时,环路信噪比由于本实施方式中要求环路输入信噪比且载波频差ωn在大于100kHz的条件下能够实现同步。根据关系式:
其中BI为环路前置带宽,ΔωL为快捕带。关系式推导较为冗杂,在这里不做讨论。在本设计中环路前端带通滤波器带宽为800kHz。因此BI=800kHz。将数值带入以上两个关系式中。可求得ωn取值范围为:
0.444×106<ωn<1.137×106(rad/s)
由于自然角频率ωn越小,环路抗噪声性能越强,ωn越大捕获越快。为了兼顾二者,本设计中取ωn=150kHz。本设计数字抽样频率是66MHz,LP的位宽Blp为34位,每8个时钟周期对频率字进行一次更新。因此带入公式可求得C1=0.0429687,C2=-0.0419921875。
由MATLAB绘制出环路滤波器归一化幅频特性曲线如图5所示,相频特性曲线如图6所示。
在得到环路滤波器系数C1和C2后,利用VHDL语言对环路滤波器进行实现并生成环路滤波器模块。
本实施方式中在实现Costas环后,编写仿真代码,利用ISim对其进行了仿真,并将仿真后输出的频差数据导入到MATLAB中绘制图像如图7所示。
图中横坐标是采样点数,纵坐标是用频率字所表示的频差大小。频率字为33位,采样时钟32MHz,因此换算后对应稳定后的频差为1.8kHz。
在数字通信***中,接收机要想正确恢复出原始调制信息,其解调部分就需要按照调制信息的码速率对接收到的信号进行采样、判决。那么就要求接收端能够产生一个与原始调制码流同频率同相位的时钟信号,从而确保在正确的位置采样。因此,符号同步是正确采样的基础。
在实际通信的过程中,接收机所产生的本地位同步时钟需要在频率和相位上都与发端保持一致,从而确保采样点在每个码元周期内的最佳位置,即最佳采样点。因此,收端时钟相位十分重要。把在符号间隔内所选择的采样瞬时称为定时相位。在实际工程应用中,收发时钟不可能时刻保持同步。为此,接收机必须能够做到实时地对本地时钟进行调整,使其与发送端步调一致。以确保对解调输出信号采样瞬时最佳化。
现在较为成熟的位同步方法有直接位同步和发端***导频两种方式。在发端***导频虽然为接收机省去了很多工作,但是要付出占用更多频率资源的代价,因此并没有得到广泛应用。其中,较为经典的应用例子是GPS通信。GPS的发送端往往能够提供一个精准的时钟信号。直接法是从数字信号流中提取位同步信息,目前多数采用的都是锁相环路的思路及其衍生出的各种变种,基于超前滞后的环路是应用较为广泛的一种方法。优选实施例中,本实施方式所采用的改进型超前滞后符号同步环,其原理图见图8。
本实施方式的数字位同步模块包括全波整流模块、第一瞬时抽样及保持模块、第二瞬时抽样及保持模块分频计数器和加法器;
全波整流模块,用于对输入的基带信号进行全波整流,输出整流信号;
第一瞬时抽样及保持模块,用于滞后一个采样时钟周期对整流信号进行抽样,获得滞后支路数据;
第二瞬时抽样及保持模块,用于超前一个采样时钟周期对整流信号进行抽样,获得超前支路数据;
加法器,用于将超前支路数据与滞后支路数据行相减后输出;分频计数器,用于输出采样时钟周期;
判断模块,判断加法器的输出,当超前支路数据等于滞后支路数据,将当前采样时钟周期作为数字位同步模块的输出;当超前支路数据大于滞后支路数据,增大分频计数器的分频数;当超前支路数据小于滞后支路数据,减小分频计数器的分频数。
在本实施方式中,主要是利用基带波形的对称性,通过两个延时门增加或减小当前时钟波形的相位,实现调整。该环路在输入数据之前先要进行波形的预处理,实现全波整流。当符号同步时,超前及滞后支路采样的数据相等。通过VHDL语言编程,设置分频计数器的计数周期为8,即分频后时钟周期为4MHz;当超前支路数据大于滞后支路数据时,说明本地时钟的相位此时滞后于发端时钟,此时应当改变分频计数器参数值以缩短当前时钟周期,使下一个采样时刻提前一个采样时钟周期;当超前支路数据小于滞后数据时,则说明本地时钟超前于发端码相位,此时应当减小分频计数器的分频数,使下个采样时刻向后延时一个采样时钟周期;经过不断地反馈调整,使得本地钟相位逐步逼近与发端码元相位,最后找到最佳采样点。
FSK解调模块:
优选实施例中,本实施方式采用了过零检测法对FSK解调进行了实现。如图9,FSK解调模块包括FSK调制波形生成模块、时钟计数模块、过零计数模块和判断形成模块
FSK调制波形生成模块,用于根据待解调的信号,生成FSK调制信号;
时钟计数模块,用于对一个码元周期内的采样时钟周期数进行计数的模块;
过零计数模块,用于根据采样时钟的时序判断生成的FSK调制信号的符号位是否过零,获取发生过零的次数;
判断形成模块,用于根据过零的次数,判断频率,进而得到对应的码元信息,实现解调。
本实施方式在进行VHDL语言实现时利用了简化思想。过零计数模块通过判断输入的采样数字信号的符号位变化来判断是否过零,关键代码如下:
case({buffer[31:30],buffer[1:0]})
4'b1110:zero_count<=zero_count+4'd1;
4'b1101:zero_count<=zero_count+4'd1;
4'b0001:zero_count<=zero_count+4'd1;
4'b0010:zero_count<=zero_count+4'd1;
4'b1000:zero_count<=zero_count-4'd1;
4'b1011:zero_count<=zero_count-4'd1;
4'b0100:zero_count<=zero_count-4'd1;
4'b0111:zero_count<=zero_count-4'd1;
endcase
寄存器buffer是一个32位的移位寄存器,按照采样时钟的时序串行移入FSK调制信号的符号位。如果相邻两个符号位发生由0到1或由1到0的变化则说明输入信号发生了过零。
在判断形成模块中,以6为判决门限。当过零计数模块输出大于等于6时,则可判断此时对应频率为f1较高频率,对应码元信息为“1”。当过零计数模块输出小于6时,则可判断此时对应频率为f2较低频率,对应码元信息为“0”。经过判决后得到原始基带信息。
本实施方式的动态切换模块利用Virtex系列FPGA基于SRAM结构的结构特性,在FPGA上的程序运行的过程中,对片上全部或部分区域的逻辑进行重新配置。
对于动态部分可重构,可以将整个设计划分为两个模块,静态模块与动态模块。其中静态模块是指即使进行重构逻辑结构也仍然保持不变的部分,动态模块就是可根据需要进行重配置的部分。为了更加清晰的阐释这一概念,画出重构的原理如图10。假设A、B、C是三个bit文件。在进行动态重构时,A、B、C三个bit文件中的一个会根据***当前任务的需要,加载到FPGA的可重构区域上,对可重构区域进行重新配置。而可重构区域外的部分保持不变,并且正常运行。
本实施方式所使用的器件是Xilinx公司的Virtex-5系列FPGA。该芯片支持动态全局与本重构,功能强大,资源丰富。
优选实施例中,通过Microblaze软核处理器对该FPGA的动态部分进行重构过程包括:
1、将实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的相关模块划分为动态模块和静态模块:
对于本实施方式中的DPSK、DQPSK、FSK解调。对于解调***中乘法器,载波同步属于共用模块,因此应当划分为静态模块。对于其中的采样判决部分,由于判决依据不同,因此需要将其划分为动态模块,从而根据不同的输入信号,转换判决方式,完成对应输入信号的解调。
在模块划分之前,首先要通过硬件语言对每一个模块进行具体实现并生成网表。随后通过例化调用的方式进行实现和应用。与通常意义的模块不同的是,由于每个模块逻辑可变,因此还需要为每一个模块制作黑盒。黑盒只具有输入输出端口,在其内不不包含逻辑功能。它相当于各个功能模块的外壳。只反映各个模块之间的逻辑连接关系。
每一个动态模块都需要用硬件语言对其功能逻辑进行单独实现,并不是在同一个ISE工程下建立。动态模块之间是可以相互替换的而它们的黑盒确实共同的一个。因此所有的动态模块都需要统一端口。对于本实施方式中所涉及到的2FSK,QPSK与DPSK信号解调模块。这三个动态模块的输入端口统一为时钟输入CLK,8位宽的信号输入data_in,以及解调输出resault。另外还需要注意的是,在对这些动态模块进行综合的时候需要对I/OBuffers进行禁用。因为黑盒的加入,这些模块的输入输出端口已不是完整的接口,因此不能包含在综合中,以免报错。
本实施方式在FPGA内部搭建嵌入式***,通过Microblaze或PowerPC这样的软核处理器来对***进行控制,实现动态bit流文件的读取操作。并通过嵌入式编程实现将bit文件送至配置访问控制器,对FPGA内指定区域进行重构。本实施方式在内部搭建软核可以省去外部上位机或其它处理器***的参与,减小了硬件实现的规模。同时通过内部搭建嵌入式处理***也充分利用了FPGA内的硬件资源,使得该***具有更强的灵活性,开放性。
MicroBlaze软核的优势在于它更加的高效。它用了较少的逻辑资源,但是仍保持着很高的运算和处理速度。并且十分灵活,可以随时根据研发的需求而重新配置。目前它多用与高级军事装备的研发以及其它通信领域。
Xilinx公司的MicroBlaze软核分为64位和32位。处理器的运行时钟频率可达150MHz,支持CoreConnect总线的标准外设集合,可提供125D-MIPS的性能。基于该软核的嵌入式***,因为具有极强的灵活性和高运算能力,非常适合与高速率数字通信,复杂算法验证等场合。
以MicroBlaze软核为核心的嵌入式***基于哈佛总线结构。拥有32为的数据和地址总线。它可以连同Xilinx其它IP和一起组成一个嵌入式***,实现对芯片的可编程设计。它的地址访问范围可以在片上存储器,也可以在片外存储器。该软核处理器内部包含了32个通用存储器,每个存储器都是32位的。Microblaze还设有专门的指令存储器与数据存储器,存储器位宽32位。执行的指令包括算术运算,逻辑运算,读写指令,中断指令。它们按照流水线的方式进行同步执行。
MicroBlaze的中断包括软中断和硬中断。如果需要继续在外部扩展中断,则需要通过扩展逻辑以达到该功能。另外,Xilinx还提供了专门的微处理器调试模块。该模块随建立MicroBlaze时一并产生。该调试模块可借助于JTAG口来实现对Microblaze处理器的全方位调试。多个MicroBlaze处理器可以用1个MDM来完成多处理器调试。
为实现数据与指令的快速交互和传递,MicroBlaze软核专门设有8输入8输出的单一链路接口。该接口专门用来实现点到点的数据传输。每一个输入输出端口都可以独立的发送接收指令或数据。
2、基于Microblaze软核处理器搭建嵌入式***;
本实施方式利用Xilinx的EDK工具Xilinx Platform Studio实现了嵌入式***的搭建。在启动XPS后,利用其自带的工程向导来完成工程的建立。
本实施方式的Microblaze软核处理器用的是PLB总线。在确定了总线类型以及软核类型后需要对Microblaze软核的工作频率等参数进行设置。
在完成了软核参数配置后,进入到***搭建环节。从IP目录中选则***所需IP核,并将其置入***之中。
优选实施例中,如图11所示,本实施方式的嵌入式***包括:Microblaze软核处理器、HWICAP控制器、LMB总线、System ACE、串口和CF卡;
Microblaze软核处理器,用于重构的控制和进程管理;
HWICAP控制器,用于访问动态重构的端口;
LMB总线,用于Microblaze软核处理器与数据寄存器、指令寄存器之间的数据传输;
System ACE,用于为CF卡与FPGA器件和上位机之间提供接口;
串口,用于传输外部配置命令;
CF卡,用于配置比特流。
System ACE、串口和CF卡是所要用到的***设备。其中System ACE的默认配置方式是通过边界扫面的方式将配置数据配置到FPGA链中。
System ACE(System Advanced Configuration Environment)是Xilinx公司开发的***高级配置系列,用以满足面向多个FPGA的***对高效空间、预置、高密度配置需求的解决方案。
该***的具体工作过程是:首先,***上电时,将压缩闪存中的ACE***文件读取出来,加载ACE文件即对FPGA进行初始化。在这之后,便可以通过拨码开关将重构控制指令发给Microblaze。再由Microblaze控制SystemACE控制器读取配置bit文件,并将其写入动态访问端口控制器,最终完成对FPGA指定区域内的重构。
3、加入用户自定义IP核:
在完成嵌入式***搭建后,需要加入用户自定义IP核。本实施方式中利用了Creator Import Peripheral组件实现了用户自定义IP的创建。当IP核创建完成时,在已建的工程根目录下出现了pcores文件夹。该文件夹中包含了三个子文件夹:devl文件夹、data文件夹以及hdl文件夹。data文件夹用于存放所建嵌入式***中所用到的所有IP核头文件类属函数等相关信息。,而hdl文件夹则保存了每一个IP核的硬件语言具体实现。在该文件夹下,具体包含了math.vhd和user logic.vhd两个文件。其中,math.vhd是Xilinx公司为设计者提供的IPIF接口。该接口用于用户自定义IP以及其它一些引入IP与总线的连接。从而避免了PLB总线的复杂结构和协议给开发者带来的困扰。另一个,user logic.vhd文件则是对自定义IP的硬件语言实现。对于本实施方式来说,需要修改的是user logic文件中的模块功能实现部分,对动态模块进行例化调用,并将端口进行逻辑连接。
在建立完用户自定义IP后,需要对当前工程进行综合,生成网表文件。为下一步利用SDK对嵌入式***进行软件开发而做准备。SDK是一个由Xilinx公司提供的软件开发平台。该平台对硬件开发和嵌入式***运行程序的开发有着十分良好的衔接。本实施方式中对于嵌入式***如何通过拨码开关指令读取相应的配置文件,以及SystemACE对CF卡的读取和对ICAP的写入过程,都是在SDK软件中通过编写嵌入式C语言来完成的。
4、创建PlanAhead工程;
PlanAhead是集成软件环境ISE中实现对工程进行综合并从硬件层面设计FPGA内部的布局布线的工具;它的优点是直观,简化。该工具是对FPGA硬件层面的操作。通过分布的设计,将大型工程进行分割,并逐一设计,细化各个模块的设计。本实施方式利用PlanAhead完成重构区域的划分。
5、在创建的PlanAhead工程中,以黑盒形式添加划分得到的动态模块;
6、根据添加的动态模块,利用PlanAhead对FPGA上的逻辑资源区域进行划分,划出重构区域区域:
PlanAhead提供了对FPGA进行逻辑划分的功能。在Physical Constrains窗口中,选择相应的动态重构分区。这一步是从硬件层面划出FPGA芯片上实现动态模块的区域,在具体实现时,需要根据实际工程对所需逻辑资源进行估计,从而确定区域的大小和位置。这一过程实际上就是对重构区域的约束。
7、对获得的重构区域进行DRC检查:
对DRC在划分完可重构区域后,要对硬件逻辑单元的连接进行检查。在PlanAhead左上角的工具菜单下,运行DRC检查。
8、检查后的重构区域配置Implement属性生成BIT流配置文件:
Implement为执行布局布线操作的工具;
该步骤的作用是为最后一步设计实现做准备。在最后进行实际配置实现之前需要对运行属性和参数进行确定,否则Implement是将会报错。需要对实现策略中的相关进行修改。其中最主要的修改是,将之前在XPS搭建嵌入式***硬件部分所产生的.bmm格式文件进行关联。该文件是一个内存映射文件。
在完成内存映射文件的关联后,点击Generate Bitstream,从而生成bit流配置文件。本实施方式所包含的动态bit流配置文件包括FSK解调、DPSK解调、FSK调制、DPSK调制这4个bit文件。对于静态比特文件只有一个。本实施方式所选用的是SystemACE+CF的配置方案,压缩闪存只识别ACE格式的文件。因此,需要利用Xilinx软件工具包中的IMPACT软件,对当前得到的bit文件进行转化,生成最终所需的ACE文件。最后,将得到的ACE文件以及4个动态bit流配置文件放入CF卡内的根目录下。至此,基于Microblaze嵌入式软核的可重构***便搭建完成。接下来将各个解调模块的bit文件与ace文件一并放入CF卡中,便可进行可重构解调。
对本实施方式的多模式解调***的性能进行测试。具体的测试方法是:通过Matlab在调制信号中引入不同强度的高斯白噪声,然后将实际解调后的数据导入txt文本中,再利用Matlab与原始正确调制信息进行比对,并统计误码个数,计算误码率。测试后的结果见表1和2。
表1 DPSK解调误码率
信噪比(dB) | 误码率 |
3 | 6.12×10-2 |
4 | 4.33×10-2 |
5 | 1.89×10-2 |
6 | 7.11×10-3 |
7 | 3.84×10-3 |
8 | 1.73×10-3 |
表2 FSK解调误码率
Claims (7)
1.一种基于FPGA的多模式解调***,其特征在于,包括DPSK/DQPSK解调模块、FSK解调模块和动态切换模块;DPSK/DQPSK解调模块、FSK解调模块和动态切换模块均基于FPGA实现;
DPSK/DQPSK解调模块,基于FPGA,用于实现差分相移键控DPSK和四相相对相移键控DQPSK解调;
FSK解调模块,基于FPGA,用于实现频移键控FSK解调;
动态切换模块,用于通过FPGA实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的切换;
所述FPGA为通过Microblaze软核处理器对其中动态部分进行重构后的FPGA。
2.根据权利要求1所述的基于FPGA的多模式解调***,其特征在于,
所述DPSK/DQPSK解调模块包括载波同步模块、数字位同步模块和码变换模块;
载波同步模块,用于对待解调的信号进行载波同步,输出基带信号;
数字位同步模块,利用符号同步,获取与发送端调制所述基带信号时同频率同相位的时钟信号;
码变换模块,用于根据获取的时钟信号,对基带信号进行码变换,获取解调后的信号。
3.根据权利要求2所述的基于FPGA的多模式解调***,其特征在于,所述载波同步环模块采用Costas环实现,其中,Costas环的数控振荡器通过调用Xilinx的IP核来实现;
Costas环的环路滤波器模块包括第一乘法器、第二乘法器、第一加法器、Z-1运算器和第二加法器;
环路滤波器模块的输入信号同时输入至第一乘法器和第二乘法器,输入信号与系数C1经第一乘法器相乘后输出,第一乘法器的输出与Z-1运算器的输出同时输入至第一加法器,经第一加法器相加后输出,第一加法器的输出为环路滤波器模块的输出;
所述输入信号与系数C2经第二乘法器相乘后输出,第二乘法器的输出与Z-1运算器的输出同时输入至第二加法器,经第二加法器相加后输出,Z-1运算器在采样时钟的作用下,第二加法器的输出输入至Z-1运算器,Z-1运算器的输出同时输入至第一加法器和第二加法器;
C1=0.0429687,C2=-0.0419921875。
4.根据权利要求1或3所述的基于FPGA的多模式解调***,其特征在于,所述数字位同步模块包括全波整流模块、第一瞬时抽样及保持模块、第二瞬时抽样及保持模块分频计数器和加法器;
全波整流模块,用于对输入的基带信号进行全波整流,输出整流信号;
第一瞬时抽样及保持模块,用于滞后一个采样时钟周期对整流信号进行抽样,获得滞后支路数据;
第二瞬时抽样及保持模块,用于超前一个采样时钟周期对整流信号进行抽样,获得超前支路数据;
加法器,用于将超前支路数据与滞后支路数据行相减后输出;分频计数器,用于输出采样时钟周期;
判断模块,判断加法器的输出,当超前支路数据等于滞后支路数据,将当前采样时钟周期作为数字位同步模块的输出;当超前支路数据大于滞后支路数据,增大分频计数器的分频数;当超前支路数据小于滞后支路数据,减小分频计数器的分频数。
5.根据权利要求4所述的基于FPGA的多模式解调***,其特征在于,FSK解调模块包括FSK调制波形生成模块、时钟计数模块、过零计数模块和判断形成模块
FSK调制波形生成模块,用于根据待解调的信号,生成FSK调制信号;
时钟计数模块,用于对一个码元周期内的采样时钟周期数进行计数的模块;
过零计数模块,用于根据采样时钟的时序判断生成的FSK调制信号的符号位是否过零,获取发生过零的次数;
判断形成模块,用于根据过零的次数,判断频率,进而得到对应的码元信息,实现解调。
6.根据权利要求4所述的基于FPGA的多模式解调***,其特征在于,所述通过Microblaze软核处理器对该FPGA的动态部分进行重构过程包括:
将实现差分相移键控DPSK解调、四相相对相移键控DQPSK解调和频移键控FSK解调的相关模块划分为动态模块和静态模块;
基于Microblaze软核处理器搭建嵌入式***;
加入用户自定义IP核;
创建PlanAhead工程;
在创建的PlanAhead工程中,以黑盒形式添加划分得到的动态模块;
根据添加的动态模块,利用PlanAhead对FPGA上的逻辑资源区域进行划分,划出重构区域区域;
PlanAhead是集成软件环境ISE中实现对工程进行综合并从硬件层面设计FPGA内部的布局布线的工具;
对获得的重构区域进行DRC检查;
对DRC检查后的重构区域配置Implement属性生成BIT流配置文件;
Implement为执行布局布线操作的工具。
7.根据权利要求6所述的基于FPGA的多模式解调***,其特征在于,所述嵌入式***包括:Microblaze软核处理器、HWICAP控制器、LMB总线、System ACE、串口和CF卡;
Microblaze软核处理器,用于重构的控制和进程管理;
HWICAP控制器,用于访问动态重构的端口;
LMB总线,用于Microblaze软核处理器与数据寄存器、指令寄存器之间的数据传输;
System ACE,用于为CF卡与FPGA器件和上位机之间提供接口;
串口,用于传输外部配置命令;
CF卡,用于配置比特流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610907808.7A CN106487395A (zh) | 2016-10-18 | 2016-10-18 | 基于fpga的多模式解调*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610907808.7A CN106487395A (zh) | 2016-10-18 | 2016-10-18 | 基于fpga的多模式解调*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106487395A true CN106487395A (zh) | 2017-03-08 |
Family
ID=58270240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610907808.7A Pending CN106487395A (zh) | 2016-10-18 | 2016-10-18 | 基于fpga的多模式解调*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106487395A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404449A (zh) * | 2017-09-21 | 2017-11-28 | 天津光电通信技术有限公司 | 一种利用软件无线电实现解调的解调装置 |
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN108599781A (zh) * | 2018-04-10 | 2018-09-28 | 中国科学院国家空间科学中心 | 一种fpga芯片、中频解调卡及卫星数传地检测试中频接收机 |
CN109450608A (zh) * | 2018-11-16 | 2019-03-08 | 上海工程技术大学 | 一种改进的符号同步环路的同步方法 |
CN109709851A (zh) * | 2018-12-25 | 2019-05-03 | 北京无线电计量测试研究所 | 一种复杂调制信号高速生成装置和方法 |
CN109710566A (zh) * | 2018-12-28 | 2019-05-03 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 基于fpga的动态局部可重构数字上变频方法及装置 |
CN111125975A (zh) * | 2019-12-09 | 2020-05-08 | 思尔芯(上海)信息科技有限公司 | 一种fpga时分复用多路数据传输的方法、存储介质及终端 |
CN113544648A (zh) * | 2018-12-14 | 2021-10-22 | 芯力能简易股份公司 | 适于与柔性逻辑单元一起使用的通信接口 |
CN113992487A (zh) * | 2021-09-18 | 2022-01-28 | 电子科技大学 | 一种基于soc的可配模拟解调方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200980092Y (zh) * | 2006-11-27 | 2007-11-21 | 天津中晶微电子有限公司 | 基于数字锁相环的频移键控解调器 |
CN202217425U (zh) * | 2011-09-30 | 2012-05-09 | 北京化工大学 | 一种基于软件无线电的通用调制解调实验装置 |
CN103067330A (zh) * | 2012-12-14 | 2013-04-24 | 北京大学 | 一种动态可重构水下声学调制解调器及其通信方法 |
CN104536755A (zh) * | 2014-12-29 | 2015-04-22 | 深圳市国微电子有限公司 | 可编程逻辑器件重构方法及装置 |
-
2016
- 2016-10-18 CN CN201610907808.7A patent/CN106487395A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200980092Y (zh) * | 2006-11-27 | 2007-11-21 | 天津中晶微电子有限公司 | 基于数字锁相环的频移键控解调器 |
CN202217425U (zh) * | 2011-09-30 | 2012-05-09 | 北京化工大学 | 一种基于软件无线电的通用调制解调实验装置 |
CN103067330A (zh) * | 2012-12-14 | 2013-04-24 | 北京大学 | 一种动态可重构水下声学调制解调器及其通信方法 |
CN104536755A (zh) * | 2014-12-29 | 2015-04-22 | 深圳市国微电子有限公司 | 可编程逻辑器件重构方法及装置 |
Non-Patent Citations (1)
Title |
---|
李伦等: "一种支持多模式调制解调的通用硬件平台设计", 《天津理工大学学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404449A (zh) * | 2017-09-21 | 2017-11-28 | 天津光电通信技术有限公司 | 一种利用软件无线电实现解调的解调装置 |
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN108599781A (zh) * | 2018-04-10 | 2018-09-28 | 中国科学院国家空间科学中心 | 一种fpga芯片、中频解调卡及卫星数传地检测试中频接收机 |
CN108599781B (zh) * | 2018-04-10 | 2020-10-23 | 中国科学院国家空间科学中心 | 一种fpga芯片、中频解调卡及卫星数传地检测试中频接收机 |
CN109450608A (zh) * | 2018-11-16 | 2019-03-08 | 上海工程技术大学 | 一种改进的符号同步环路的同步方法 |
CN113544648A (zh) * | 2018-12-14 | 2021-10-22 | 芯力能简易股份公司 | 适于与柔性逻辑单元一起使用的通信接口 |
CN109709851A (zh) * | 2018-12-25 | 2019-05-03 | 北京无线电计量测试研究所 | 一种复杂调制信号高速生成装置和方法 |
CN109710566A (zh) * | 2018-12-28 | 2019-05-03 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 基于fpga的动态局部可重构数字上变频方法及装置 |
CN111125975A (zh) * | 2019-12-09 | 2020-05-08 | 思尔芯(上海)信息科技有限公司 | 一种fpga时分复用多路数据传输的方法、存储介质及终端 |
CN113992487A (zh) * | 2021-09-18 | 2022-01-28 | 电子科技大学 | 一种基于soc的可配模拟解调方法 |
CN113992487B (zh) * | 2021-09-18 | 2022-10-28 | 电子科技大学 | 一种基于soc的可配模拟解调方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487395A (zh) | 基于fpga的多模式解调*** | |
CN2849872Y (zh) | 开放式通信原理实验平台 | |
CN209462366U (zh) | 一种遥测数字中频接收机 | |
CN101009544A (zh) | 自动锁相跟踪时钟同步的***及方法 | |
Goldsmith et al. | Control and visualisation of a software defined radio system on the Xilinx RFSoC platform using the PYNQ framework | |
CN108809618B (zh) | 一种8b10b编码串行数据的时钟恢复方法 | |
CN102946306B (zh) | 时钟数据恢复电路结构及数字化时钟数据恢复方法 | |
CN102063075A (zh) | 中频采集卡板载dsp实时数字信号处理*** | |
CN106650128B (zh) | 一种图形化显示时钟结构及时序相关性的方法 | |
CN111158662B (zh) | 一种利用LabVIEW设计MSCAN通讯的方法 | |
Liu et al. | Design of the differential chaos shift keying communication system based on DSP builder | |
Mukherjee et al. | Formal verification of hardware/software power management strategies | |
Pham-Thai et al. | A novel multichannel UART design with FPGA-based implementation | |
Srinivasan et al. | Implementation of Digital Modulation Techniques in High-Speed FPGA Board | |
CN103067114B (zh) | 一种传输***异步映射时钟恢复方法及设备 | |
CN105046014A (zh) | 一种基于ams的异步时序电路设计方法 | |
CN205092869U (zh) | 一种短波数字通信电台载波同步的科斯塔斯环 | |
Jothimani et al. | Design of various modulation schemes using dds | |
CN114036769A (zh) | 面向航电***物理架构的功能部署方案生成方法及装置 | |
CN206879107U (zh) | 一种用于数字基带环回测试装置 | |
CN103425810A (zh) | 一种时钟与数据恢复电路和模拟电路的行为级建模方法 | |
Yang et al. | Separation algorithm of interference signal in anonymous communication of ship wireless network | |
CN109507650A (zh) | 一种微波着陆全数字多径干扰信号模拟方法及*** | |
Chen et al. | A SystemC virtual prototyping based methodology for multi-standard SoC functional verification | |
Millard et al. | Digital signal processing architecture design for gate array based software defined radios |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170308 |