基于vhdl的2fsk调制系统设计毕业论文内容摘要:

,对大系统在设计的早期可在远离门级的高层次上进行模开关 RTL 门 门 开关 算法 图 混合设计层次建模 拟,以利于设计者确定整个设计的结构和功能的可行性。 VHDL 强大的行为描述能力和程序结构,使其具有支持大规模设计进行分解,以及对已有的设计进行再利用的功能,运用 VHDL 设计系统硬件具有相对独立性,设计时没有嵌入与工艺有关的信息,对硬件的描述与具体的工艺技术和硬件结构无关;当门级或门级以上的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺,这使硬件实现的目标器件有很宽的选择范围,并且修改电路与修改工艺相互之间不会产生不 良影响。 一个完整的 VHDL 程序通常包括实体( Entity)、结构体( Architecture)、配置( Configuration)、程序包( Package)和库( Library)五个部分。 其基本结构如图 所示 [1720]。 图 程序的结构 ( 5) VHDL 与 ABELHDL、 Verilog HDL、 AHDL 的描述能力比较 通过前面的介绍,我们了解了三种语言的基本功能,我们知道 VHDL 和Verilog HDL作为被 IEEE所采用的两 种工业标准硬件描述语言,得到了众多 EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言,它们相对于ABELHDL语言、 AHDL语言的功能更加强大。 而且 VHDL语言很早就成为 IEEE标准,成为系统描述的国际公认标准,得到众多 EDA 公司的支持。 VHDL 语言覆盖面广,描述能力强,能支持硬件的设计、验证、综合和测试; VHDL 标准、规范,语法较为严格,采用 VHDL 的设计便于复用和交流, VHDL 所具有的内库说明 LIBRARY 程序包 PACKAGE 实体 ENTITY 行为描述 Behavior Process 配置 CONFIGURATION 数据流描述 Data Flow 结构描述 Structure 结构体 ARCHITECTURE 属描述语句和子程序调用等功能,使设计者对完成的设计,不必改变源程序,只需改变内属参数或函数,就可以改变 设计的规模与结构 [21]; VHDL 语言的还可以描述与工艺相关的信息,工艺参数可以通过设计文件语言参数来调整,不会因工艺发展与变化而使 VHDL 设计过时,设计的生命周期与其他设计相比是很长的。 所以我选用 VHDL 语言。 设计方案的性能比较 用小逻辑器件实现 根据 2FSK 的调制原理,我们可以将 2FSK 调制器分为以下几个部分:随机信号产生器、正弦信号发生器、反相器、相乘器和相加器。 现在的小逻辑器件功能齐全,完全可以用小逻辑器件来完成上述几个模块的设计。 我选用了几种简单的器件来实现。 ( 1)用几个 D 触发器来做一个随机信号产生器,或者用一个移位器件来产生随机信号;( 2)正弦信号就可以用一个正弦波振荡器来完成,或者用一个同步脉冲经过分频器分频,然后经过带通滤波器进行滤波后,就可得到正弦波了;( 3)反相器是一种简单的逻辑器件,可采用非门;( 4)相乘器就可以用两个与非门来实现,两个信号经过两次与门就成了两信号相乘;( 5)一个或门就相当于相加器。 当然,以上各个部分也可以用其它方法和逻辑器件来实现,我就只说了一些比较简单的方法。 将以上各个部件根据 2FSK的调制原理结合起来就可以实现 2FSK 调制了。 结构图如图 示。 图 小逻辑器件组成 2FSK 调制器 由于小逻辑器件比较容易生产,而且价格比较便宜,所以可以很方便的实现2FSK 的调制。 但是,由于小逻辑器件主要用在对时间要求不是很严格的场合,在制造时就没有过多的考虑到传输中延迟的问题,并且不同的器件的响应延迟也有较大的差别,而在通信系统中,信号的传输往往对器件响应的实时性要求很高,很小的传输延迟就会造成接受端所接受的信号出现失真。 所以小逻辑器件可以说是很难满足通信系统的实时性要求的,我们不能用小逻辑器件来做上述的 2FSK调制器。 随机信号 振荡器 w1 相乘器 相乘器 振荡器 w2 相加器 反相器 2FSK 信号 用 2ASK的调制方案来实现 2FSK 调制 在前面的讲述中,提到过 2FSK 调制信号可以看作是两个载波频率不同的2ASK 调制信号的波形组合而成的。 那么我们可以用 2ASK 调制的方法来实现2FSK 信号的调制。 用频率为 f1的载波来表示数随机数字信号中的“ 1”,用频率为 f2 的载波来表示数随机数字信号中的“ 0”。 即先用频率为 f1 的载波信号来对随机信号进行 2ASK 调制 —— 用频率为 f1的载波代表“ 1”,再将随机数字信号反相,用频率为 f2 的载波信号来对随机信号进行 2ASK 调制 —— 用频率为 f2 的载波代表“ 0”。 最后将两信号按时间顺序合并,就得到了一个 2FSK 信号,其原理见图 示。 用 2ASK 调制的方法来实现 2FSK 调制是一种很直接、简洁的方法,它反映了 2FSK 的调制原理,利用了两信号合一的方案,让大家更进一步了解了 2ASK和 2FSK 之间的联系,对我们学习和掌握通信原理的相关知识有很大帮助。 但是,用该种方法有一些缺点:第一,它在调制过程中使用了两次 ASK 调制器,浪费了一些器件,使得调制器的设计费用很高,这是一个很不经济的方案;第二,这种方案也不能很好的解决信号调制过程中出现的传输延迟问 题,当随机信号经过非门后,由于器件不是很理想,会出现传输延迟,使得两路信号相加后与理论上的波形不一致,产生波形失真。 用可编程逻辑器件设计 2FSK 调制器 在可编程逻辑器件的系列产品种类繁多的电子时代,我们就不用完全依靠硬件来实现 2FSK 的调制器了。 我选择了用 CPLD 来做 2FSK 调制器。 可编程逻辑器件可以由用户通过编程来决定芯片的最终功能,它与其它一些器件相比有一些很大的优势: ( 1)使研制时间缩短 可编程逻辑器件可以和其它规格型号的通用器件一样在市场上买到,但它的功能的实现完全独立于工厂,有用 户在实验室就可以完成,而且采用了先进的 EDA 技术,可编程逻辑器件的设计与编程均十分有效,整个设计通常只需要几天就可以完成了; 相加 取反 随机信号 2ASK 调制器 w1 2ASK 调制器 w2 2FSK 信号 图 用 2ASK 来实现 2FSK 调制 ( 2)降低了设计成本 和以前的掩膜器件相比,可编程逻辑器件可以大量生产,不需要生产过程中进行程序固化,不会产生产品滞销,因此生产价格比较便宜; ( 3)设计的灵活性高 编程逻辑器件是一种由用户通过编程来实现芯片功能的器件,有较好的灵活性。 它可以在完成设计后立即编程进行验证,有利于较早发现设计中的问题;它可以反复多次编程,为设计和产品升级带来方便;在系统设计中引入了“软硬件”的全新概念, 使得电子系统有更好的灵活性和自适应性。 我用 CPLD器件的相关原理设计了一个 2FSK的调制系统的模块图见图。 其中的两个频率产生器和随机数字信号产生器都是用同一块 CPLD 芯片来实现。 换句话说就是只用一片芯片就可以完成设计了。 在一片芯片里面完成整个 2FSK的调制过程,即从随机信号、载波信号等的发生到信号的调制过程都是用的一块芯片来完成的,所有的模块的时钟信号都用的 CPLD 器件里面的同一个时钟信号发生器来完成的,这样几可以比较容易地实现各个信号的同步,较好地避免信号因在不同的时钟信号的作用下而产生的信号延迟 问题。 几种方案的性能比较 由上所述,我们可以很清楚的看到,用小逻辑器件做 2FSK 调制系统会因为使用的器件太多而出现较大的延时,是调制信号失真。 而用两个 2ASK 调制器来实现 2FSK 调制虽然可以相应的减少延时,但是价格有太贵。 采用可编程逻辑器件设计 2SK 调制比其它两种方案就有很大的优势。 由 CPLD 设计的系统,所采用的器件少,价格便宜,灵活性好,它可以有用户自己编程,在设计的过程中有很大的活动空间。 而且它的响应速度很快,基本上可以满足通信系统的实时性要求,是一个可取的设计方案。 随着科技的不断进步,可编程逻辑器件的生产技术的不断发展,可编程逻辑器件的应用的不断推广,目前可编程逻辑器件的生产厂家很多,可以说各种品牌和型号的可编程逻辑器件是琳琅满目。 由于不同的可编程逻辑器件生产厂家的生产 CPLD 器件的结构大有不同,不同器件对应的程序编写方法就不一样,而且 VHDL 语言本身就具有强大的行为描述能力,用语言来描述硬件的行为,硬件不同时描述的方式就不一样,每一款芯片都有其独特的设计,我们在编写程序的时候要严格根据硬件的物理构成来编写对应的程序,使其完成我 们所预想的功能。 可编程逻辑器件的产品的选择 FPGA 与 CPLD 是在 PAL、 GAL 等器件的基础之上发展起来的大规模集成可编程逻辑器件,与 PAL、 GAL等器件相比, CPLD/ FPGA 的规模比较大,一个 CPLD/ FPGA 芯片可以替代几十甚至数百片通用 IC 芯片。 这样的 CPLD/FPGA 实际上就是一个子系统部件。 经过十多年的发展,国外许多公司相继研制出各种类型的 CPLD/ FPGA。 美国 Altera 公司的 CPLD 器件系列和 Xilinx 公司的 FPGA 器件系列开发较早,占据了国内外较大的 PLD 市场,是目前 CPLD/FPGA 市场应用的主流。 虽然 FPGA 与 CPLD 在结构上有很多相似之处,但还是有一些差别。 FPGA具有硬件结构可以重构的特点,适合于算法结构固定、运算量大的前端数字信号处理。 新近推出的 FPGA 产品都采用多层布线结构,更低的核心电压,更丰富的I/O 管脚,容量可以达到 100K 个逻辑单元,内嵌入式的 RAM 资源等等,这都使得 FPGA 在数字信号处理领域显示出自己特有的优势。 而 CPLD 是标准的大规模集成电路,可用于各种数字逻辑系统的设计。 近年来采用先进的集成工艺和大批量生产, CPLD 器件的成本不断下降,集成密度、速 度和性能大幅度提高。 一个芯片就可以实现一个复杂的数字电路系统;由于该产品即适用于短研制周期、小批量产品的开发,也可用于大批量产品的样品复制,且开发费用低、时间短,给设计、修改带来极大的方便 [2124]。 CPLD 是复杂的 PLD,与 SPLD 相比, CPLD通常具有更多的输入信号、乘积项和宏单元,内含多个逻辑块 [25]。 延时是所有的器件不可避免的问题。 CPLD 器件的延时特性主要有:信号传导延时 Ht 、信号建立时间 St 、时钟-输出延 时 COt 、以及寄存器-寄存器延时 PDt ,如图 所示 [2 27]。 与利用 FPGA 进行电路设计实现相比较,采用 CPLD 器件进行设计实现后的延时特性通常是能够预测的 ,即是说,在开始设计之前,用户就可以很精确地估价设计的延时性能。 这就是 CPLD 器件比 FPGA 器件的优越之处。 而且与 FPGA 器件相比, CPLD 器件比较经济,适用范围广,而且在开始设计之前,它的延时可以精确地估计,所以我选用 CPLD 器件来 做这个设计。 可编程逻辑器件的产品的介绍 在上面对的芯片讲述中,我们对 CPLD 器件的总体发展情况有了一个较详细的了解 ,对它的相关功能也有了一个大概的认识。 设计所选用的可编程逻辑器件是 Xilinx 公司生产的 XC9500 系列芯片。 下面对 Xilinx 公司的 XC9500 系列的CPLD 芯片进行简要介绍。 Xilinx 公司的 XC9500 系列的 CPLD 芯片 是一款高性能、有特点的可编程逻辑器件。 这系列器件的一个重要特点是:一块给定的芯片可以有几个不同的封装。 这点很重要,不仅可以适应不同的制造方式,而且能够提供一些 选择并节约外部I/O 引脚数目。 在大多数的应用中,没有必要使状态机或子系统中所有的内部信号对系统的其它部分可见并为其所用。 所以,尽管 XC95108 具有 108个内部宏单元,但是在该器件的 84 引脚 PLCC 版本中,至多只有 64 个宏单元输出可以外部方式,连接起来。 事实上, 69 个 I/O 脚的大多数常常用于输入,在这种情况下外部可见的输出更少。 剩下的宏单元输出在内部仍然十分有用,因为可以通过CPLD 的可编程内部连线能力将它们在内部连接起来,对于其输出仅在内部有效的那些宏单元,有时候被称为掩式宏单元( buried macrocell)。 典型 XC9500系列 CPLD 内部结果的方框图如图 所示,根据器件的编程,每一个外部 I/O引脚可以用作输入、输出或双向引脚。 图中底部的引脚还可用于特殊用途。 其中有 3 个引脚中的任一个都可用作“全局时钟”( GCK),并且稍后会知道每一个宏单元都能够被编程,以便使用所选的时钟输入。 一个引脚可用作“全局设置 /图 延时参数的关系 重置”( GSR),且每个宏单元都能被编程以便将该信号用作异步预置或清除。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。