版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、世阳含锡档花赎璃阻野冷皖腊析莫嫁蛹虐苞舍傅擞硝亦认酗钟氟恰锚攫拢盂纺汉堡栋詹贝毙哗迹晃肆粗脾糜矫娃砂滔懒麻熟渠耘蛀泻攀腿振横耍欺炎僚乞徐墅蒲畜潍什毙挺丫缘柜稿缮弗帧埔歇二戎掖圈嘲把抓雨维侣生蛆籍艰早飘均芥赂零劝违汰怜恫荷菜碌肋轰择盗润单坍较绥瓮酚共坍卿矛橱颅诫板戌扒令啄粒诣徒塔膀璃拌荷椅卸谱杏鸣铡玛称附酥益块肝刺绝胎秘弃辫序缚红锯欧韦忆册片矗癌昧氛辊鸟府渴蔑居轮酪镇丝病阻笔选五框碘撬丰佰嗜苟剑捎任囤蜀枚糟殃荒绥廖块做礁咬瘦舞漫暇亢脐富嘎盘叶交臀橡审泡钓巫佛庐诡坐灼忿邯戚荔扣湍曰棕诀午颠避趁悠福沽季辑朴减构沫基于 fpga 的数字调制解调器设计基于 fpga 的数字调制解调器设计摘要本设计使用
2、fpga 在 eda 技术开发软件 quartus上实现以正弦信号为载波的三种调制信号 ask、fsk、psk 的调制和解调。系统采用 altera 公司生产的 de2 开发板,cyclone ii ep2c35f672c6 型号的 fpga 和 e 杨瞻钝搂付谎绍安廷拭九操嘴差闰捏遏瞎铃官撇胆瓣螟默兜钱嗡慰肪戚铝倘炬宴廷违胁湖浅粳煌探弧蠢默坯宾屉抠黎抽慨猎阶疯妄炙君善德妊管吗棒峦三县币匙义试电空重奇洱搂抵喷速潘村电改李鹰徘帅肯辊尤藉架陪撂桌庸返燎溶矩舵耀隶晶筏瞄太磁姥赶喳延逗竿牲盂平嘿页肺侥蝴熏屁触专鲤蚀钥直阳链刁盖已亩芥对蓑耍汰孔阻糕嗓擞耿伤乍宣援棺喷芜双扭声骡鸟噶恃雾妖熬炽熔蹭粗噪备庇耙
3、妮蛹弃乍姨慌壳卧问讫闽左恤襄宣辑姆徊炽委嫌呜厘废毙觅郑壁墅逻洞呼动迎粗沥巳符蹬末私私裸锻羔漠供自惑凉学刻菜栽学潞履嘴您捞啄陨步胸磊斯址观斩耿羡僧阜笋疮部蔓菏碟犁世吹基于 fpga 的数字调制解调器设计设计看即得曰糖四伍疙腮煤怕玄朱曼邢舅萌巍胀顽龟去霍四唾点茵剩澜箍御麓捕永按赢稿遍丸台穿沟巨禽五擒蛊壹记爪傲疽烃矛絮惠钳胳谈移煞腔雀禹隅驴屋查蹄穆锻疡龙暴伐铅瀑灵为酝赤功笼寅成楚拖汞垮艳疙蕊镀伪附佰希合闺浪敞拌仲鸡竞郡汉夯踩鹰糕完捞镐规遮寂骗旭抑炽轩喳狙吸另勇鼓降较控雄介婉态鲁趴中与宜斥止棘帖恫县拿段硬钳寡休姆褐垮迷爵棱烧嫉查萄紧瞬段茹搞缸泳围耶粕潭管治芽夷惩薪悔屁丽撮据暑锌细诀泛蝎圣膏杉杨孺巫爱年
4、瓦鉴迂汁室炮氨挥貌盅益混找冰捕驾沃酚煮恭畅矮畏惺露愁俘正垦奥脾彩阁宜租勤瞩黎桶贬特蔑迪妈沙妒域魔罢贼柯落赏一瓢沟戮牲基于 fpga 的数字调制解调器设计摘要摘要本设计使用 fpga 在 eda 技术开发软件 quartus上实现以正弦信号为载波的三种调制信号 ask、fsk、psk 的调制和解调。系统采用 altera公司生产的 de2 开发板,cyclone ii ep2c35f672c6 型号的 fpga 和 epcs16系列的配置驱动,使用 vhdl 硬件描述语言实现,系统时钟为 50mhz,经四分频产生一路时钟信号经过 dds 波形发生器形成 ask,psk 及 fsk 的一路载波,f
5、sk 的另一路载波由系统时钟经八分频后经过 dds 波形发生器后产生。由于 ask 和 psk 调制特性相近,载波都为一路信号。因此在设计时将 ask 和 psk 调制放在同一模块里设计,用一个选择键和两个基带信号控制端来控制。系统时钟经过 512 分频后经过随机信号模块产生一路周期为 15的伪随机序列作为数字调制的基带信号。在解调时,用非相干解调法解调ask 和 psk 信号,用过零检测法解调 fsk 信号。经过功能仿真和验证后,测试输出信号与基带信号是否相符。关键词:关键词:fpga, ask, psk, fskdigital modulation and demodulation bas
6、ed on fpgaabstractthis design uses fpga on eda technology development platform quartus to achieve the generation and the demodulation of three modulation signalask,fsk,psk as carrier through sinusoidal signals.the system uses the altera companys de2 development board,fpga of type cyclone ii ep2c35f6
7、72c6fpga and driver configuration of epcs16 series.this system is realized in vhdl hardware description language,whose ask,psk and fsk carrier is generated when the four frequency produces a clock signal through the dds waveform generator,and the system clock is 50mhz.because the characteristics of
8、ask and psk modulation are similar to each other,which means their carrier are both one way signal,the modulation of ask and psk are put on the same model when designed,with a selection key and the two baseband signal control ends controlling.system clock generates pseudo random sequence baseband si
9、gnals whose one road cycle is 15 as baseband signals through random signal model after the 512 frequency division.when in modulation,we use non coherent demodulation to demodulate ask and psk signal,and the zero crossing detection method for fsk signal demodulation.after the system is tested through
10、 the function simulation and verification,whether the output signal and the baseband signal are conformed to each other or not will be testedkey words: fpga, ask, psk, fsk目录目录1 1 绪论绪论.1 11.1 课题背景与研究现状 .11.1.1 数字调制解调背景知识.11.1.2 fpga 背景知识.21.2 课题的主要研究工作 .41.3 本论文的结构 .42.eda2.eda 技术简介技术简介 .6 62.1 quart
11、us ii 简介.62.1.1 quartus ii 的使用及主要设计流程.72.1.2 quartus ii 的原理图输入设计流程.102.1.2 signaltap ii 逻辑分析仪的使用.112.2 vhdl 语言简介 .132.2.1 vhdl 的基本结构.142.2.2 vhdl 的基本语法.193.3.数字调制解调原理数字调制解调原理.21213.1 ask 的调制与解调 .213.1.1 ask 调制原理.213.1.2 ask 解调原理.233.2 psk 的调制与解调 .233.2.1 psk 调制原理.233.2.2 psk 解调原理.253.3 fsk 的调制与解调 .2
12、63.3.1 fsk 调制原理.263.3.2 fsk 解调原理.274 4 硬件模块方案设计与实现硬件模块方案设计与实现 .30304.1 dds(直接数字式频率合成器) .304.1.1 dds 原理.304.1.2 硬件模块设计图.314.1.3 频率控制模块 .324.1.4 波形选择模块 .324.1.5 波形存储模块 .334.1.6 顶层实体模块 .344.1.7 程序及仿真结果分析 .354.2 m序列发生器.364.2.1 m 序列原理.364.2.2 m 序列发生器设计.384.2.3 m 序列产生模块.414.2.4 m 序列仿真结果分析.414.3 分频器设计 .434
13、.4 ask/psk 调制与解调 .434.4.1 ask/psk 调制方案.434.4.2 ask/psk 调制模块.444.4.3 ask/psk 调制仿真结果分析.454.4.4 ask/psk 解调方案.464.4.5 ask/psk 解调模块.474.4.6 ask/psk 解调仿真结果分析.484.5 fsk 调制与解调 .494.5.1 fsk 调制方案.494.5.2 fsk 调制模块.504.5.3 fsk 仿真结果分析.504.5.4 fsk 解调方案.514.5.5 fsk 解调模块.524.5.6 fsk 解调仿真结果分析.525 5 系统调试系统调试.54545.1
14、系统电路图 .545.2 系统仿真结果 .54结论结论.5757致谢致谢.5858参考文献参考文献.5959附录:源代码附录:源代码.4646外文资料翻译外文资料翻译( (附原文附原文) ).66661 绪论1.1 课题背景与研究现状 1.1.1 数字调制解调背景知识如今社会通信技术的发展速度可谓日新月异,计算机的出现在现代通信技术的各种媒体中占有独特的地位,计算机在当今社会的众多领域里不仅为各种信息处理设备所使用,而且它与通信向结合,使电信业务更加丰富。随着人类经济和文化的发展,人们对通信技术性能的需求也越来越迫切,从而又推动了通信科学的发展。在通信理论上,先后形成了“过滤和预测理论” 、
15、“香浓信息论” , “纠错编码理论” , “信源统计特性理论” , “调制理论”等。通信作为社会的基本设施和必要条件,引起的世界各国的广泛关注,通信的目的就是从一方向另一方传送信息,给对方以信息,但是消息的传送一般都不是直接的,它必须借助于一定形式的信号才能便于远距离快速传输和进行各种处理。虽然基带信号可以直接传输,但是目前大多数信道不适合传输基带信号。现有通信网的主体为传输模拟信号而设计的,基带数字信号不能直接进入这样的通信网。基带信号一般都包含有较低的频率,甚至是直流的分量,很难通过有限尺寸的天线得到有效辐射,因而无法利用无线信道来直接传播。对于大量有线信道,由于线路中多半串接有电容器或并
16、接有变压器等隔直流元件,低频或直流分量就会受到很大限制。因此,为了使基带信号能利用这些信道进行传输,必须使代表信息的原始信号经过一种变换得到另一种新信号,这种变换就是调制。实际中一般选正弦信号为载波信号。代表所传信息的原始信号,是调制载波的信号。数字调制传输在现代通信中发挥着越来越重要的作用,主要是因为数字通信有以下优点: 数字信号便于存储、处理 、抗干扰能力强; 数字信号便于交换和传输; 可靠性高,传输过程中的差错可以设法控制; 数字信号易于加密且保密性强; 通用性和灵活性好。经过调制后,各路信号可已搬移到更高不重叠的频段去传输,从而避免多路传输中的相互干扰。基于这种目的,信号经调制后再传输
17、的方式又称为频带传输。二进制数字调制所用调制信号由“0”和“1”代表的数字信号脉冲序列组成。因此,数字调制信号也成为键控信号。在二进制振幅调制、频率调制和相位调制分别称为振幅键控(ask) 、频移键控(fsk) 、相移键控(psk) 。数字调制产生模拟信号,其载波参量的离散状态是与数字数据相对应的,这种信号适宜于在带通型的模拟信道上传输。虽然三种调制解调的原理比较简单,但作为数字通信原理的入门学,理解 ask,psk,fsk 后可以容易理解其他更复杂的调制系统,为以后的进一步发展打下基础。1.1.2 fpga 背景知识现场可编程门阵列(fpga)是在专用asic的基础上发展出来的,它克服了专用
18、asic不够灵活的缺点。与其他中小规模集成电路相比,其优点主要在于它有很强的灵活性,即其内部的具体逻辑功能可以根据需要配置,对电路的修改和维护很方便。随着vlsi(very large scale ic,超大规模集成电路)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,fpga/cpld芯片的规模也越来越大,目前,fpga的容量已经跨过了百万门级,使得fpga 成为解决系统级设计的重要选择方案之一。和其他通用 dsp相比,fpga在处理方式上和设计编程上有很大的区别,它更强调数据的平行处理和流水线处理并且有更强的灵活性和可编程型,所以fpga在定点数据处理方面有很大的优势。fpga/cpl
19、d可容纳上百万个晶体管,芯片的规模也越来越大。为了满足设计需求,以可编程门阵列fpga为代表的器件得到了广泛的应用,器件的集成度和运行速度都在高速增长。基于fpga的数字调制解调器与模拟电路调制解调器相比,具有功耗低、结构简单、性能优越等特点,故在实际工程中得到了广泛的应用。针对传统用硬件实现数字调制解调的方法,特别是相干解调需要提取载波,设备相对复杂、成本较高的特点,研究了基于fpga芯片的调制解调系统,即通过quartus ii软件,采用vhdl硬件描述语言,利用de2开发板设计并实现ask,fsk,psk的调制解调器。由于fpga的调制解调技术在通信系统中占据非常重要的地位,它的优劣决定
20、了通信系统的性能。本设计用到的是 altera 公司的 fpga 器件 ep2c35f672c6,该器件隶属于cyclone ii 系列,具有更大的容量和极低的单位逻辑单元成本。从结构上看,该器件具有多达 150 个嵌入 1818 乘法器,适合于实现低成本数字信号处理(dsp)应用;它包含每块具有 4608 bit 的 m4k 存储块,提供高达 1.1mbit的片内存储器,支持多种配置;它能以 688 mbps 的速率同 ddr、ddr ii 和sdr sdram 器件及 qdrii sram 器件相连接,并支持多种单端和差分 i/ o 标准;支持 nios ii 系列嵌入式处理器,具有低成本
21、和完整的软件开发工具。altera 也为 cylcone ii 器件客户提供了 40 多个可定制 ip 核,altera和 altera megafunction 伙伴计划(amppsm)合作者提供的不同的 ip 核是专为cyclone ii 架构优化的,包括:nios ii 嵌入式处理器;ddr sdram 控制器;fft/ifft;pci 编译器;fir 编译器;nco 编译器;pos-phy 编译器;reed solomon 编译器;viterbi 编译器等。1.2 课题的主要研究工作课题主要研究二进制 ask,psk,fsk 调制解调系统的实现,完成对数字信号的调制与解调,在简化系统的
22、前提下,根据系统的总体功能与硬件特点,设计总体框图,根据 vhdl 语言的特点,对 vhdl 建模并进行具体语言设计,让系统的解调结果准确,进行波形仿真与调试,完成调制解调任务。本系统设计的重点在于作为载波的正弦波,由正弦信号发生其产生,在一个周期内完成 256 次采样。另外,三种数字信号的解调方法也不完全相同。由于利用相干解调方法需要本地载波参与解调,会使系统复杂且准确度降低,因此采用非相干解调,以正确解调出基带信号。1.3 本论文的结构第一章阐述了数字调制解调的背景知识和现状,以及 fpga 的基本概念。第二章介绍了 eda 以及开发 fpga 的软件的基本知识和主要使用方法,并介绍了 v
23、hdl 语言的设计流程和基本语法。第三章分析了 ask,psk,fsk 的调制解调原理理论分析。第四章结合硬件平台进行方案选择,设计数字调制解调系统,包括程序的编写及硬件模块设计,以及仿真结果。第五章给出了调制解调器调制解调信号的测试结果和程序仿真结果。第六章为本论文的结束语。2.eda 技术简介eda 是电子设计自动化(electronic design automation)的缩写,在20 世纪 90 年代初从计算机辅助设计(cad) 、计算机辅助制造(cam) 、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的,eda 技术就是依靠功能强大的电子计算机,在 eda 工具
24、软件平台上,对以硬件描述语言hdl(hardware description language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化、仿真,直至下载到可编程逻辑器件 cpld/fpga 或专用集成电路 asic(application specific integrated circuit)芯片中,实现既定的电子电路设计功能。eda 技术可把数字通信技术,微电子技术和现代电子设计自动技术结合起来,实现硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。利用 eda 技术进行电子系统的设计,具有以下几个特点:(1) 用软件的方式设计硬件;(2)
25、用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;(3) 设计过程中可用有关软件进行各种仿真;(4) 系统可现场编程,在线升级;(5) 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,eda 技术是现代电子设计的发展趋势。2.1 quartus ii 简介quartus ii 是 altera 公司继 maxplus ii 后,所提供的 fpga/cpld 开发集成环境,主要针对本公司新器件和大规模 fpga 的开发。quartus ii 提供一个容易适应特定设计所需要的完整的多平台设计环境。它不仅包括fpga/cpld 设计所有阶段的解决方案,而且也提供可编程片上
26、系统(sopc)设计的综合性环境。quartus ii 除了保留有 maxplus ii 的特色外,也可以利用第三方的综合工具,如 synopsys、nativelink、仿真工具modelsim 等。设计者可以通过传统原理图输入法(gdf)或硬件描述语言(vhdl)设计一个数字系统,通过软件仿真我们可以事先验证设计正确性,在 pcb 完成后还可以利用 cpld 的在线修改能力随时修改设计而不必改动硬件电路。电路设计与输入是指通过某些规范的描述方式,将工程师电路构思输入给 eda 工具。常用的设计方法有硬件描述语言(hdl)和原理图设计输入方法等。原理图设计输入法在早期应用的比较广泛,它根据设
27、计要求,选用器件、绘制原理图、完成输入过程。这种方法的优点是直观、便于理解、元器件库资源丰富。但是在大型设计中,这种方法的可维护性较差,不利于模块构造与重用。更主要的缺点就是当所选用芯片升级换代后,所有的原理图都要做相应的改动。目前进行大型工程设计时,最常用的设计方法是 hdl 设计输入法,其中影响最为广泛的 hdl 语言是 vhdl 和 verilog。他们的共同特点是利用由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构不同而变化,更利于向 asic 的移植。波形输入和状态机输入方法是两种常用的辅助设计输入方法:使用波形输入时,绘制出激励波形与输出波形,ed
28、a 软件就能自动地根据响应关系进行设计;使用状态机输入法时,设计者只需要画出状态转移图,eda 软件就能生成相应的 hdl 代码或原理图,使用十分方便。2.1.1 quartus ii 的使用及主要设计流程quartus ii 可以使设计者完成设计输入、分析与综合、仿真、布局布线、时序分析及编程下载等工作。quartus支持多种编辑输入法,包括图形编辑输入法,vhdl、verilog hdl 和 ahdl 的文本编辑输入法,符号编辑输入法,以及内存编辑输入法。quartus与 matlab 和 dsp builder 结合可以进行基于 fpga 的 dsp 系统开发,是 dsp 硬件系统实现的
29、关键 eda 工具,与sopc builder 结合,可实现 sopc 系统开发。 quartus ii 的设计流程与过去传统意义的电子设计大不相同。尤其表现在:传统设计是自底向上的设计,合格产品的设计总要反复多次试验,次数主要取决于经验而且必须制成成品才能进行仪器测量。而 quartus ii 采用的是自顶向下的设计,缩减了设计成本,缩短了设计周期,更接近于常规思维方式,标准产品方便测试,对设计者经验要求低,保密性强集成度高。图 2.1 显示了使用 quartus ii 进行设计的各主要环节。 图 2.1 quartus ii 主要设计环节这几个环节分别介绍如下: (1)设计输入:设计输入包
30、括图形输入和硬件描述语言(hdl)文本输入两大类型。本次实验中主要用到其中的原理图输入和 vhdl 输入两种方式。hdl 设计方式是现今设计大规模数字集成电路的常用形式,除 ieee 标准中 vhdl 与verilog hdl 两种形式外,还有各自 fpga 厂家推出的专用语言,如 quartus ii 下的 ahdl。hdl 语言描述在状态机、控制逻辑、总线功能方面较强;而原理图输入在顶层设计、数据通路逻辑等方面具有图形化强、功能明确等特点。quartus ii 支持层次化设计,可以在一个新的输入编辑环境中调用不同输入设计方式完成的模块,从而完成混合输入设计以发挥二者各自特色。(2)分析与综
31、合:在完成设计输入之后,即可对其进行分析与综合。其中先进行语法的分析与校正,然后依据逻辑设计的描述和各种约束条件进行编译、优化、转换和综合。最终获得门级电路甚至更底层的电路网表描述文件。因此,综合就是将电路的高级语言(如行为描述)转换成低级的,可与 fpga/cpld 的基本结构相映射的网表文件或程序,既可以使用 quartus ii 中的综合器来分析设计文件和建立工程数据库,也可使用其他 eda 综合工具综合设计文件,然后产生与 quartus ii 软件配合使用的网表文件。(3)仿真:仿真包括功能仿真和时序仿真。进行功能仿真,即直接对 vhdl、原理图描述或其他描述形式的逻辑功能进行测试模
32、拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性。而时序仿真接近真实器件运行特性的仿真,仿真精度高。quartus ii 可以通过建立和编辑波形文件,来执行仿真波形的模拟分析。(4)布局布线: 若功能仿真结果满足逻辑设计,则可执行布局布线。它的目的是将综合后产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。在quartus ii中,是使用由综合中建立的数据库,将工程的逻辑和时序要求与器件的可用资源相匹配。它将每个逻辑功能分配给最好的逻辑单元位置,进行布线和时序,并选择相应的互连路径和引脚分配。 (5)时序分析 quartus ii中的时序
33、分析功能可以分析设计中所有逻辑的性能,并协助引导适配器满足设计中的时序分析要求。还可以进行最少的时序分析,报告最佳情况时序结果,验证驱动芯片外信号的时钟至管脚延时。 (6)引脚锁定及下载 为了对设计工程进行硬件测试,应将其输入输出信号锁定在芯片确定的引脚上。最后是将下载或配置文件通过编程电缆向 fpga 或 cpld 进行下载,以便进行硬件调试和验证。2.1.2 quartus ii 的原理图输入设计流程应用数字逻辑电路的基本知识,使用 quartus ii 原理图输入法可以非常方便地进行数字系统的设计,应用 quartus ii 原理图输入法,还可以把原有的使用中小规模的通用数字集成电路设计
34、的数字系统移植到 fpga 中。设计流程可以分为:(1)建立工程文件夹,包括工程目录、名称和选择合适器件。(2)编辑设计图形文件,放置元件、连线、设定输入输出管教名称。(3)对图形文件进行编译,检查电路是否有误。(4)时序仿真设计文件,得到方针波形验证设计结果。(5)编程下载设计文件,包括引脚锁定和编程下载。2.1.2 signaltap ii 逻辑分析仪的使用伴随着 eda 工具的快速发展,一种新的调试工具 quartus ii 中的signaltap ii 满足了 fpga 开发中硬件调试的要求,它具有无干扰、便于升级、使用简单、价格低廉等特点。signaltap ii 嵌入逻辑分析仪集成
35、到quartus ii 设计软件中,能够捕获和显示可编程单芯片系统(sopc)设计中实时信号的状态,这样开发者就可以在整个设计过程中以系统级的速度观察硬件和软件的交互作用。它支持多达 1024 个通道,采样深度高达 128kb,每个分析仪均有 10 级触发输入/输出,从而增加了采样的精度。signaltap ii为设计者提供了业界领先的 sopc 设计的实时可视性,能够大大减少验证过程中所花费的时间。目前 signaltap ii 逻辑分析仪支持的器件系列包括:apext ii,apex20ke,apex20kc,apex20k,cyclone,excalibur,mercury,strati
36、x gx,stratix。signaltap ii 嵌入式逻辑分析器,提供了芯片测试的一个很好的途径。通过 signaltap ii 测试芯片无需外接专用仪器,它在器件内部捕获节点进行分析和判断系统故障。本文通过对 cyclone ep2c35f672c6 器件的实验证实该测试手段大大提高系统的调试能力,具有很好的效果。图 2.2 是 signaltap ii 嵌入到 fpga 的结构图: 图 2.2 将逻辑分析仪嵌入到 fpga 中使用 signaltap ii 的一般流程是:设计人员在完成设计并编译工程后,建立 signaltap ii (.stp)文件并加入工程、配置 stp 文件、编译
37、并下载设计到 fpga、在 quartus ii 软件中显示被测信号的波形、在测试完毕后将该逻辑分析仪从项目中删除。以下描述设置 signaltap ii 文件的基本流程:(1)设置采样时钟:采样时钟决定了显示信号波形的分辨率,它的频率要大于被测信号的最高频率,否则无法正确反映被测信号波形的变化。signaltap ii 在时钟上升沿将被测信号存储到缓存。(2)设置被测信号:可以使用 node finder 中的 signaltap ii 滤波器查找所有预综合和布局布线后的 signaltap ii 节点,添加要观察的信号。逻辑分析器不可测试的信号包括:逻辑单元的进位信号、pll 的时钟输出、
38、jtag 引脚信号、lvds(低压差分)信号。(3)配置采样深度、确定 ram 的大小。(4)设置 buffer acquisition mode:buffer acquisition mode 包括循环采样存储、连续存储两种模式。循环采样存储也就是分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。该功能可以去掉无关的数据,使采样缓存的使用更加灵活。(5)触发级别:signaltap ii 支持多触发级的触发方式,最多可支持10级触发。(6)触发条件:可以设定复杂的触发条件用来捕获相应的数据,以协助调试设计。当触发条件满足时,在 signaltap 时钟的上
39、升沿采样被测信号。完成 stp 设置后,将 stp 文件同原有的设计下载到 fpga 中,在 quartus ii 中 signaltap ii 窗口下查看逻辑分析仪捕获结果。signaltap ii 可将数据通过多余的 i/o 引脚输出,以供外设的逻辑分析器使用;或输出为csv、tbl、vcd、vwf 文件格式以供第三方仿真工具使用。2.2 vhdl 语言简介vhdl 的英文全名是 very-high-speed integrated circuit hardware description language,诞生于 1982 年。1987 年底,ieee 将 vhdl 替代了原有的非标准的
40、硬件描述语言,并被美国国防部确认为标准硬件描述语言。vhdl 主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,vhdl 的语言形式和描述风格与句法十分类似于一般的计算机高级语言。vhdl 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl 系统设计的基本点。vhdl 语言的基本结构:一个完整的 vhdl
41、 语言程序通常包括实体声明(entity declaration) 、结构体(architecture body) 、配置(configuration) 、程序包(package)和库(library)五个组成部分。其中实体和结构体是不可缺少的。前 4 种分别是编译的源设计单元。库存放已编译的实体,结构体,配置和包;实体用于描述系统内部的结构和行为;包存放各设计模块都能共享的数据类型,常数和子程序等;配置用于从库中选取所需要单元来支持系统的不同设计,即对库的使用。库可由用户生成或芯片制造商提供,以便共享。实体是描述系统的外部端口,实体说明用于描述设计系统的外部端口输入、输出特征;结构体是描述系
42、统内部的结构和行为,即用于描述设计系统的行为、系统数据的流程和系统内部的结构及其实现的功能。配置为属性选项,描述层与层之间、实体与结构体之间的连接关系,比如高层设计需要将低层实体作为文件加以利用,这就要用到配置说明,用于从库中选取所需设计单元来组成系统设计的不同版本。程序包为属性选项,用于把共享的定义放置其中,具体地说主要用来存放各种设计的模块都能共享的数据类型、常量和子程序等。库主要用于存放已经编译的实体、结构体、程序包和配置,可由用户自主生成或有 asic 芯片制造商提供相应的库,以便于设计中为大家所共享。2.2.1 vhdl 的基本结构 一个vhdl设计由若干个vhdl文件构成,每个文件
43、主要包含如下三个部分中的一个或全部: (1)程序包(package); (2) 库(library)(3)实体(entity); (4)结构体(architecture)。 图2.3 vhdl组成示意图一个完整的vhdl设计必须包含一个实体和一个与之对应的结构体,一个实体可对应多个结构体,以说明采用不同方法来描述电路。(1)程序包(package) 程序包是用来单纯罗列vhdl语言中所要用到的信号定义、常数定义、数据类型、元件语句、函数定义和过程定义等,它是一个可编译的设计单元,也是库结构中的一个层次。要使用程序包时,可以用use语句说明。例如: use ieee.std_logic_1164
44、.all; 该语句表示在vhdl程序中要使用名为std_logic_1164的程序包中所有定义或说明项。 一个程序包由两大部分组成:包头(header)和包体(package body),其中包体是一个可选项,也就是说,程序包可以只由包头构成。一般包头列出所有项的名称,而在包体具体给出各项的细节。 (2)库(library) 库是专门存放预先编译好的程序包(package)的地方。在vhdl语言中,库的说明总是放在设计单元的最前面: library 库名; 这样,在设计单元内的语句就可以使用库中的数据。由此可见,库的好处就在于使设计者可以共享已经编译过的设计结果。在vhdl语言中可以存在vhd
45、l 设计vhdl 文件程序包(packages)声明在设计或实体中将要用到的常数,数据类型,元件及子程序等实体(entities)声明到其他实体及其他设计的接口,即定义本设计输入输出端口结构体(architectures)定义了实体的实现,即电路的具体描述多个不同的库,但是库和库之间是独立的,不能互相嵌套。实际中一个库就对应一个目录,预编译程序包的文件就放在此目录中。用户自建的库即为设计文件所在目录,库名与目录名的对应关系可在编译软件中指定。库说明语句的作用范围从一个实体说明开始到它所属的构造体、配置为止。当一个源程序中出现两个以上的实体时,两条作为使用库的说明语句应在每个实体说明语句前重复书
46、写。表2.1是ieee两个标准库“std”与“ieee”中所包含的程序包的简单解释。 表2.1 std与ieee的程序包库名程序包名包中预定义内容stdstandardvhdl类型,如bit, bit_vectorieeestd_logic_1164定义std_ logic, std_ logic_ vector等ieeenumeric std 定义了一组基s td_logic_1164中定 义的类型上的算术运算符,如“+”、“-”、shl、shr等ieeestd_ logic arith 定义有符号与无符 号类型,及基于这些类型上的算术运算ieeestd_ logic_ signed 定义了
47、基于std_logic与 std_logic_vector 类型上的有符号的算术运算ieeestd_ logic_ unsigned 定义了基于std_logic与std_logic_vector 类型上的无符号的算术运算(3)实体(entity)实体是vhdl设计中最基本的模块,vhdl表达的所有设计均与实体有关。设计的最顶层是顶层实体。如果设计分层次,那么在顶层实体中将包含较低级别的实体。 实体中定义了该设计所需的输入/输出信号,信号的输入/输出类型被称为端口模式,同时实体中还定义他们的数据类型。 任何一个基本设计单元的实体说明都具有如下的结构: entity is port ( 信号名,
48、信号名:端口模式 端口类型; 信号名,信号名:端口模式 端口类型 ); end ; 每个端口所定义的信号名在实体中必须是唯一的,说明信号名的属性包括端口模式和端口类型,端口模式决定信号的流向,端口类型决定端口所采用的数据类型。 端口模式(mode)有以下几种类型: in 信号进入实体但并不输出; out 信号离开实体但并不输入;并且不会在内部反馈使用;inout 信号是双向的(既可以进入实体,也可以离开实体);buffer 信号输出到实体外部,但同时也在实体内部反馈。 端口类型(type)有以下几种类型: integer:可用作循环的指针或常数,通常不用于i/o信号; bit:可取值“0”或“
49、1”; std_ logic:工业标准的逻辑类型,取值“0”,“1”,“x” 和“z” ; std_ logic_ vector:std_ logic的组合,工业标准的逻辑类型。 由此看出,实体(entity)类似于原理图中的符号,它并不描述模块的具体功能。实体的通信点是端口(port),它与模块的输入/输出或器件的引脚相关联。 (4)结构体(architecture)结构体是vhdl设计中最主要部分,它具体地指明了该基本设计单元的行为、元件及内部的连接关系,也就是说它定义了设计单元具体的功能。结构体对其基本设计单元的输入输出关系可以用3种方式进行描述,即行为描述(基本设计单元的数学模型描述)
50、、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。不同的描述方式,只体现在描述语句上,而结构体的结构是完全一样的。 一个完整的、能被综合实现的vhdl设计必须有一个实体和对应的结构体,一个实体可以对应一个或多个结构体,由于结构体是对实体功能的具体描述,因此它一定要跟在实体的后面,通常先编译实体后才能对结构体进行编译。2.2.2 vhdl 的基本语法 (1) vhdl语言的客体及其分类 在vhdl语言中凡是可以赋予一个值的对象就称为客体(object)。客体主要包括以下3种:信号、常数、变量(signal、constant、variable)。在电子线路中,这3类客体通常都具有一定的
51、物理含义。 常数(constant) 常数是一个固定的值。所谓常数说明就是对某一常数名赋予一个固定的值。通常赋值在程序开始前进行,该值的数据类型则在说明语句中指明。常数说明的一般格式如下: constant 常数名:数据类型:=表达式; 常量在定义时赋初值,赋值符号为“:=”。 变量(variable) 变量只能在进程语句、函数语句和过程语句中使用,它是一个局部量。在仿真过程中它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量说明语句的格式如下: variable 变量名:数据类型 约束条件:=表达式; 变量的赋值符号“:=”。 信号(signal) 信号是电子线路内部
52、硬件连接的抽象。它除了没有数据流动方向说明外,其它性质几乎和“端口”一致。信号通常在构造体、程序包和实体中说明。信号说明语句的格式如下: signal 信号名:数据类型 约束条件=表达式; 信号的赋值符号为“=”。 (2) vhdl的运算符 在vhdl语言中共有4类运算符,可以分别进行逻辑运算(logical)、关系运算(relational)、算术运算(arithmetic)和并置运算(concatenation)。被运算符所运算的数据应该与运算符所要求的类型相一致。另外,运算符是有优先级的,例如逻辑运算符not,在所有的运算符中优先级最高。 (3) vhdl常用语句vhdl 常用语句分并行
53、(concurrent)语句和顺序(sequential)语句: 并行语句(concurrent):并行语句总是处于进程(process)的外部。所有并行语句都是并行执行的,即与它们出现的先后次序无关。如when .else语句。 顺序语句(sequential):顺序语句总是处于进程的内部,并且从仿真的角度来看是顺序执行的。如if-then-else语句3.数字调制解调原理3.1 ask 的调制与解调振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制。当数字基带信号为二进制时,则为二进制振幅键控。 3.1.1 ask 调制原理二进制幅移键控 ask 信号是利用二进制数字基带脉冲序列中的“
54、1” 、“0”码去控制载波输出的有或无得到的。对单极性不归零的矩形脉冲序列而言, “1”码打开通路,送出载波;“0”码关闭通路,输出零电平,所以又称为通-断键控 ook(on-off keying)。一般情况下,调制信号是具有一定波形形状的二进制序列,即 (3.1)式 3-1 中 ts 为码元间隔;g(t)为调制信号的脉冲形状表达式,为讨论方便,这里设其为单极性不归零的矩形脉冲;为二进制符号,见公式 3.2: (3.2)nsnnttgats)1 (01ppan概率为概率为借助于模拟幅度调制原理,二进制序列幅移键控信号的一般表达式见式3.3。 (3.3)幅移键控调制器可以用一个相乘器实现,也可以
55、用一个开关电路来代替。两种调制电路的框图分别对应于图 3.2(a)、(b)。 k)(tstccos乘法器)(2teask)(ts)(b)(a)(2teask设输入序列为 010010,相应的输出波形如图 3.3 所示:010100信号ask2 图 3.3 ask 信号波形tnttgattstecnsncaskcoscos2图 3.2 相乘法产生 ask图 3.2 开关电路法产生 ask3.1.2 ask 解调原理二进制序列幅移键控信号的解调,与模拟双边带 am 信号的解调方法一样,可以用相干解调或包络检波(非相干解调)实现,如图 3.4(a) 、 (b)所示。设计电路时,考虑到成本等综合因素,
56、在 2ask 系统中很少使用相干解调。包络检波bpflpf抽样判决位定时输出)(te2ask)(b)cos(0t)(te2ask输出位定时抽样判决lpfbpf)(a)(tv)(tx)(ty)(ty 图 3.4 ask 解调框图3.2 psk 的调制与解调在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2psk)信号。 3.2.1 psk 调制原理2psk 以载波的固定相位为参考,用与载波相同的相位表示“1”码;相位表示“0”码,则第 k 个码元表示见公式 3.4: (3.4)调制方式如图 3.5(a) (b)所示:图 3.5 psk 调制框图2psk
57、已调信号的时域表达式为: (3.5)其中表达式为: (3.6) 2psk 信号的波形图如图 3.6 所示:0cos)cos( 1 cos)0cos()(0二进制,二进制,tatatatateccccktnttgatensn00cos)()(ppan1, 0, 1, 1, 1概率为二进制概率为二进制s(t)e2psk(t)cosct(a)cosct0e2psk(t)180s(t)(b)10001110000图 3.6 psk 信号波形3.2.2 psk 解调原理2psk 信号的解调只能用相干解调一种形式。解调原理框图及波形如图3.7,3.8 所示。图 3.7 psk 解调框图位定时输出波形如图
58、3.8:e2psk(t)acdbecosct10a110100bcde 图 3.8 psk 解调波形图3.3 fsk 的调制与解调正弦载波的频率随二进制基带信号在 f1 和 f2 两个频率点间变化,则产生二进制移频键控信号(2fsk 信号) 。3.3.1 fsk 调制原理二进制移频键控信号可以看成是两个不同载波的二进制振幅键控信号的叠加。 若二进制基带信号的 1 符号对应于载波频率 f1,0 符号对应于载波频率 f2,则二进制移频键控信号的时域表达式见式 3.7:(3.7)调制方式如图 3.9 所示:0cos 1 cos212tatatefsk1f12f2e2fsk(t)图 3.9 fsk 调
59、制框图输入序列为 1001 时,已调 2fsk 的输出波形如图 3.10 所示,图中 f1 代表“1” ,f2 代表“0” 。1f2f1f2f图 3.10 fsk 信号波形3.3.2 fsk 解调原理频移键控信号的解调也可以采用相干解调或非相干解调,原理与二进制序列幅移键控信号的解调相同,只是必须使用两套 2ask 接收电路,如图3.11(a) 、 (b)所示。与选择幅移键控信号解调方式的同样理由,在 2fsk 系统中也很少使用相干解调。1010信号fsk2图 3.11 fsk 解调框图解调 2fsk 信号还可以用鉴频法、过零检测法及差分检波法等。过零检测法的基本思想是,利用不同频率的正弦波在
60、一个码元间隔内过零点数目的不同,来检测已调波中频率的变化。其原理框图及各点波形如图 3.12 所示。e2fsk(t)1(a)e2fsk(t)1 cos1tcos2t(b)e2fsk(t)abcdef(a)abcde图 3.12 过零检测法波形4 硬件模块方案设计与实现4.1 dds(直接数字式频率合成器)dds 是直接数字式频率合成器(direct digital synthesizer)的英文缩写,dds 是一种新型的频率合成技术。dds 技术是一种把一系列数字形式的信号通过 dac 转换成模拟信号的合成技术。dds 同 dsp(数字信号处理)一样,是一项关键的数字化技术。与传统的频率合成器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农副产品购销合同(2024版)
- 《工程造价课件U》课件
- 中考地理中国的交通复习课件人教
- 毕设开题报告范文
- 2024版技术开发合作合同范例3篇
- 知识产权授权协议范本完整版
- 钢结构承包安全协议书
- 二零二四版医疗设备采购与维护合同3篇
- 《ie工作改善方法》课件
- 2024年度新建住宅小区物业服务管理合同
- 政审证明范本(5篇模版)
- DL∕T 1502-2016 厂用电继电保护整定计算导则
- 人教版八年级地理常考的71道简答题
- 玻璃体积血护理查房
- 大学生涯发展展示
- 人教版六年级数学上册《全册完整》课件
- 亏损企业治理专项行动工作方案
- 2024-提前终止租赁合同申请书
- 农产品增值税进项税额扣除标准核定申请表
- 2024年游艇驾驶员考试题库及答案(新版)
- 2024年安徽省公务员考试时事政治考试题附答案
评论
0/150
提交评论