FPGA课程设计基于VHDL的2FSK的信号发生器

上传人:仙*** 文档编号:32873965 上传时间:2021-10-16 格式:DOC 页数:14 大小:504.50KB
返回 下载 相关 举报
FPGA课程设计基于VHDL的2FSK的信号发生器_第1页
第1页 / 共14页
FPGA课程设计基于VHDL的2FSK的信号发生器_第2页
第2页 / 共14页
FPGA课程设计基于VHDL的2FSK的信号发生器_第3页
第3页 / 共14页
点击查看更多>>
资源描述
FPGA原理及应用结课论文题目基于VHDL的2FSK的信号发生器 专业名称通信工程班级学号学生姓名提交时间2012年12月13日设计题目:基于VHDL的2FSK的信号发生器一、设计实验条件Quartus II开发环境二、设计目标1. 通过练习,能够较为熟练的运用Quartus II软件,同时对VHDL语言掌握更加熟悉;2. 基于Quartus II开发环境,利用VHDL硬件描述语言,自上而下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件2FSK信号发生器;三、设计报告的内容1. 前言(绪论)(设计的目的、意义等)2. 设计主体(原理、步骤、程序或原理图、结果等)3. 对仿真结果进行分析4. 参考资料一前言在通信领域中,为了传送信息,一般都将原始的信号进行某种变换变成适合于通信传输的信号形式。在数字通信系统中,一般将原始信号(图像、声音等)经过量化编码变成二进制码流,称为基带信号。 但数字基带信号一般不适合于直接传输。例如,通过公共电话网络传输数字信号时,由于电话网络的带宽为4 kHz以下,因此数字信号不能直接在其上传输。此时可将数字信号进行调制,2FSK即为一种常用的数字调制方式。2FSK,即二进制频移键控方法简单,易于实现,解调不需恢复本地载波,支持异步传输,抗噪声和抗衰落性能也较强。因此2FSK调制技术在通信行业得到了广泛的应用,并且主要适用于低、中速数据传输。由于微电子技术的迅猛发展,使得VHDL的性能指标,例如规模、功能、时间等性能也越来越好。VHDL在数字系统设计中占据了越来越重要的位置。而随着器件的发展,开发环境也进一步得到优化。VHDL程序的设计可用Altera公司的Quartus II软件开发系统来实现,它为用户提供了良好的开发环境,包含有丰富的库资源,很容易实现各种电路设计,它支持多种输入方式,并有极强的仿真系统。故利用FPGA 这一新的技术手段来研究数字调制技术有重要的现实意义。设计采用FPGA现场可编程技术, 运用自顶向下的设计思想设计2FSK信号发生器。避免了硬件电路的焊接与调试, 而且由于FPGA 的I/ O 端口丰富, 内部逻辑可随意更改, 使得2FSK信号发生器的实现较为方便。二设计主体1、2FSK信号产生原理数字频率调制又称频移键控(FSK),二进制频移键控记作2FSK。数字频移键控是用载波的频率来传送数字消息,即用所传送的数字消息控制载波的频率。2FSK信号便是符号“1”对应于载频,而符号“0”对应于载频(与不同的另一载频)的已调波形,而且与之间的改变是瞬间完成的。2FSK调制的波形如图1示。从原理上讲,数字调频可用模拟调频法来实现,也可用键控法来实现。模拟调频法是利用一个矩形脉冲序列对一个载波进行调频,是频移键控通信方式早期采用的实现方法。2FSK键控法则是利用受矩形脉冲序列控制的开关电路对两个不同的独立频率源进行选通。键控法的特点是转换速度快、波形好、稳定度高且易于实现,故应用广泛。2FSK信号的产生方法如图1所示。图中为代表信息的二进制矩形脉冲序列,即使2FSK信号。s(t) 模拟调频器 s(t) 0 1 0 0 1 0图1 2FSK产生方法2、设计原理及原理图由于FSK为模拟信号,而FPGA只能产生数字信号,因此需对正弦信号采样并经模数变换来得到所需的FSK信号。本例由FPGA产生正弦信号的采样值。FSK信号发生器框图如图2所示,整个系统共分为分频器、m序列产生器、跳变检测、2:1数据选择器、正弦波信号产生器和DAC数模变换器等6部分,其中前5部分由FPGA器件完成。图2 2FSK调制信号发生器框图(1)分频器本实例中数据速率为1.2 kHz,要求产生1.2 kHz和2.4 kHz两个正弦信号。对正弦信号每周期取100个采样点,因此要求能产生3个时钟信号:1.2 kHz(数据速率)、120 kHz(产生1.2 kHz正弦信号的输入时钟)和240 kHz(产生2.4 kHz正弦信号的输入时钟)。基准时钟由一个12 MHz的晶振提供。设计中要求一个50分频(产生240 kHz信号),再2分频(产生120 kHz信号)和100分频(产生1.2 kHz信号),共有三个分频值。(2)m序列产生器m序列是伪随机序列的一种,它的显著特点是:随机特性,预先可确定性,循环特性。正因为这些特性,使得m序列产生器在通信领域得到了广泛的应用。这里用一种带有两个反馈抽头的3级反馈移位寄存器,得到一串“1110010”循环序列,并采取措施防止进入全“0”状态。通过更换时钟频率可以方便地改变输入码元的速率。m序列产生器的电路结构如图3所示。图3 m序列产生器m序列产生器电路结构(3)跳变检测将跳变检测引入正弦波的产生中,可以使每次基带码元上升沿或下降沿到来时,对应输出波形位于正弦波形的sin0处。引入跳变检测主要是为了便于观察,确保示波器上显示为一个连续的波形。基带信号的跳变检测可以有很多方法,图4为一种便于在可编程逻辑器件中实现的方案。图4 信号跳变检测电路(4)2:1数据选择器2:1数据选择器用于选择正弦波产生器的两个输入时钟。一个时钟的频率为120 kHz,此时正弦波产生器产生一个1.2 kHz的正弦波,代表数字信号“0”;另一个时钟的频率为240 kHz,此时产生一个2.4 kHz的正弦波信号,代表数字信号“1”。(5)正弦信号的产生用数字电路和DAC变换器可以产生要求的模拟信号。根据抽样定理可知,当用模拟信号最大频率两倍以上的速率对该模拟信号采样时,便可将原模拟信号不失真地恢复出来。本例要求得到的是两个不同频率的正弦信号,实验中对正弦波每个周期采样100个点,即采样速率为原正弦信号频率的100倍,因此完全可以在接收端将原正弦信号不失真地恢复出来,从而可以在接收端对FSK信号正确地解调。经DAC转换后,可以在示波器上观察到比较理想的波形。本设计中每个采样点采用8位量化编码,即8位分辨率。采样点的个数与分辨率的大小主要取决于CPLD/FPGA器件的容量,其中分辨率的高低还与DAC的位数有关。实验表明,采用8位分辨率和每周期100个采样点可以达到相当不错的效果。具体的正弦信号产生器可以用状态机来实现。按前面的设计思路,本实现方案共需100个状态,分别为s1s100。同时设计一个异步复位端,保证当每个“1”或“0”到来时其调制信号正好位于坐标原点,即sin0处。状态机共有8位输出(Q7Q0),经DAC变换为模拟信号输出。为得到一个纯正弦波形,应在DAC的输出端加上一个低通滤波器,由于本设计仅观察FSK信号,因此省去了低通滤波器。本设计中,数字基带信号与FSK调制信号的对应关系为“0”对应1.2 kHz,“1”对应2.4 kHz,此二载波的频率可以方便地通过软件修改。3、对仿真结果进行分析2FSK的总体波形如图5所示,其中CLOCK为正弦波发生器时钟MODE表示0:2FSK;1:2PSK,CLK120为用于产生一个1.2KHz的正弦波信号,CLK240为用于产生一个2.4KHz的正弦波信号,VALUE为正弦波的采样点峰值,M_MODE为输出m序列。图5 2FSK仿真波形图下图6所示为产生的2FSK波形,可以明显地看到在M_MODE跳变前后VALUE的码元宽度相差一倍,实现了2FSK的频率变化来传递数字信息,即120KHz表示信号“0”,240KHz表示信号“1”。图6 2FSK仿真波形图下图3-6可以看出传递信号“1”的波形密度明显比传递信号“0”的波形密度高。 图7 2FSK仿真波形图2FSK的信号传递频率从下图8中可以看出为240KHz,信号“1”和“0”的跳变是通过相位的改变来实现的。图8 2FSK仿真波形图4、具体程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all;USE IEEE.std_logic_unsigned.all;USE IEEE.std_logic_arith.all;ENTITY PSKFSK ISPORT(CLOCK:IN STD_LOGIC; -正弦波发生器时钟 MODE:IN STD_LOGIC; -0:FSK;1:PSK CLK240: buffer STD_LOGIC; -用于产生一个2.4KHz的正弦波信号 CLK120: buffer STD_LOGIC; -用于产生一个1.2KHz的正弦波信号 VALUE: out std_logic_vector (7 DOWNTO 0); -正弦波的采样点峰值 M_CODE:BUFFER STD_LOGIC); -输出m序列END PSKFSK;ARCHITECTURE PSKFSK_ARCH OF PSKFSK IS SIGNAL COUNT100:INTEGER RANGE 0 TO 99; -记录100个状态 SIGNAL COUNT50: INTEGER RANGE 0 TO 49; -记录50个状态 SIGNAL COUNT: INTEGER RANGE 1 TO 10; -记录10个状态,实现12M分频到240KHz得到CLK240时钟信号 SIGNAL SINCLK,CODERATE: STD_LOGIC; -正弦波信号的频率以及随机序列的编码速率 SIGNAL TEMP,JUMP_HIGH,JUMP_LOW: STD_LOGIC; -0,1跳变标志 SIGNAL M: std_logic_vector (2 DOWNTO 0); -m序列BEGINPROCESS(CLOCK) -分频为240KHz的CLK240信号 BEGIN IF (CLOCKEVENT AND CLOCK = 1) THEN IF (COUNT = 10) THEN COUNT=1; -计数满时计数回复初值 CLK240=NOT CLK240; -输出时钟翻转一次 ELSIF (COUNT=5) THEN COUNT=COUNT+1; CLK240 = NOT CLK240;-输出时钟翻转一次 ELSE COUNT=COUNT+1; END IF; END IF;END PROCESS;PROCESS(CLK240) -分频为120KHz的CLK120信号 BEGIN IF (CLK240EVENT AND CLK240 = 1) THEN CLK120=NOT CLK120; END IF;END PROCESS;PROCESS(CLK120) -LOAD_CLK1 100分频得到CODERATE码元速率1.2KHzBEGIN IF (CLK120EVENT AND CLK120= 1) THEN IF(COUNT50=49) THEN COUNT50=0; CODERATE=NOT CODERATE; ELSE COUNT50=COUNT50+1; END IF; END IF;END PROCESS;M_SEQUENCE_FORM: -产生1110010m序列PROCESS(CODERATE)BEGIN IF(CODERATEEVENT AND CODERATE= 1) THEN M(0)=M(1); -实现移位功能 M(1)=M(2); END IF;END PROCESS;PROCESS(CODERATE)BEGIN IF(CODERATEEVENT AND CODERATE= 1) THEN M(2)=(M(1) XOR M(0) OR (NOT (M(0) OR M(1) OR M(2); -逻辑表达式跟上面的移位功能产生m的随机序列“1110010” END IF;END PROCESS;M_CODE=M(0);PROCESS(MODE,CLK240,CLK120,M_CODE)BEGIN IF (MODE=0 AND M_CODE=0) THEN SINCLK=CLK120; ELSE SINCLK=CLK240; -选择正弦信号波产生器的时钟频率 END IF;END PROCESS;JUMP_HIGH=(NOT TEMP) AND M_CODE; -0到1跳变JUMP_LOW=(NOT M_CODE) AND TEMP; -1到0跳变PROCESS(SINCLK) -2FSK与2PSK对跳变的不同处理BEGIN IF(SINCLKEVENT AND SINCLK= 1) THEN TEMP=M_CODE; IF(COUNT100=99) OR (JUMP_HIGH=1) THEN COUNT100=0; -波形输出 ELSIF(JUMP_LOW=1) AND (MODE=1) THEN COUNT100=50; ELSE COUNT100valuevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevalueNULL; END CASE;END PROCESS;END PSKFSK_ARCH;5、参考资料1 褚振勇,齐亮FPGA设计及应用M 西安:西安电子科技大学出版社,2006
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!