1、发展史及特点. 33.2应用. 44方案选择及论证. 65设计原理. 75.1巴克码发生器. 75.2巴克码检测器. 96编译与仿真. 136.1程序编译. 136.2实验仿真. 187小结. 20参考文献:. 21摘要本课程设计主要是利用QUARTERS设计一个七位巴克码(X1110010)代码检测器,当识别到一组代码时,输出一个高电平脉冲。巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。关键词:QUARTERS,巴克码,信号检测器,序列AbstractThi
2、scourseisdesignedusingdesignasevenbuckcode(X1110010)codedetector,whentorecognizesetofcode,andtheoutputpulsehighlevel.Buckmainlyusedforcommunicationsystemframesynchronization,characterizedbysharpautocorrelation,facilitateandrandomdigitalinformationdistinguish,easyidentify,appearthepossibilitypseudosy
3、nchronoussmall.onekindhasspeciallawbinarygroup,itnon-periodicsequence.Keywords:,yards,signaltester,sequence绪论在通信系统中,同步技术起着相当重要的作用。通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。通信系统中的同步可分为载波同步、位同步、帧同步等几大类。当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。而在数字通信中,消息是一串连续的信号码元序列,解调时常须知道每个码元的起止时刻。因此
4、,就要求接收端必须能产生一个用作定时的脉冲序列,以便与接收的每一个码元的起止时刻一一对齐。在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步。数字通信中的消息数字流总是用若干码元组成一个字”,又用若干“字”组成一“句”。因此,在接收这些数字流时,同样也必须知道这些字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。当通信是在两点之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复出数字信息。在数字通信系统中,实现帧同步的方
5、法通常有两种:起止式同步法和集中式插入同步法。起止式同步比较简单,一般是在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧的开始和结束。另外在计算机RS232串口通信中通常也使用类似方法。而在集中式插入同步法中,要求插入的同步码在接收端进行同步识别时出现伪同步的概率尽可能小,并且要求该码组具有尖锐的自相关函数以便于识别。同时接收机端的同步码识别器要尽量简单。目前用得比较广泛的是性能良好的巴克(Barker)码。巴克码简介一个位的巴克码组为,:,.,其中的取值是+1或一1,其局部自相关函数为:目前已发现的所有巴克码组如表表已发现的巴克码组其中,“+”表示取值为高电平1,“一”表示取值
6、为低电平0。依要求及上面的巴克码组可知,8位的巴克码发生器应在输入时钟信号作用下依次产生01110010”的码元序列。1Quarters设计软件介绍发展史及特点诞生于1982年。随后各EDA公司相继推出了自己的设计环境,或宣布自己的设计工具可以和接口。此后在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对进行了修订,从更高的抽象层次和系统描述能力上扩展的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为的工业标准硬件描述语言,又得到众多公司的支持,在电子工程领域,已成为事实上的通用
7、硬件描述语言。有专家认为,在新的世纪中,VHDL于语言将承担起大部分的数字系统设计任务。的英文全写是:VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptiongLanguage.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。语言特点(1
8、)VHDL语言功能强大、设计灵活。具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。(2)支持广泛、易于修改。由于已经成为标准所规范的硬件描述语言,目前大多数工具几乎都支持VHDL,这为的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用编写的源代码,因为易读和结构化,所以易于修改设计。(3)强大的系统硬件描述能力。具有
9、多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。(4)独立于器件的设计、与工艺无关。设计人员用进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以2用多种不同的器件结构来实现其功能。(5)很强的移植能力。是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的
10、移植成为可能。(6)易于共享和复用。采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。(7)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(8)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。对于用完成的一个确定的设计,
11、可以利用工具进行逻辑综合和优化,并自动的把描述设计转变成门级网表。(9)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。总之,由于语言有这么多优点和特点,因此它被广泛的应用在电路系统的设计和器件的设计仿真中。应用Quarters 是Altera公司推出的新一代开发软件,适合于大规模逻辑电路设计,是公司的第代可编程逻辑器件集成开发环境,提供了从设计输入到器件编程的全部功能,与Max+plus相比,Quarters设计软件增加了网络编辑功能,提升了调试能力,解决了潜在的设计延迟,同时其强大的设计能力和直观易用的接口,受到数字系
12、统设计者的普遍欢迎。开发系统具有以下主要特点:可以产生并识别EDIF网表文件、VHDL网表文件和HDL网表文件,为第三方工具提供了方便的接口。支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计,与Cadence,ExemplarLogic,MentorGraphics,Synopsys和Synplicity等EDA供应商的开发工具相兼容。Quarters 作为一种设计环境,除支持的APEX 20KE,APEX20KC,APEX,ARMExcalibur嵌入式处理器方案,Mercury,FLEX10KEACEX1K之外,还支持MAX3000AMAX7000系列乘积项器件。3Q
13、uarters 增加了一个新的快速适配编译选项,可缩短50%的编译时间。快速适配功能保留了最佳性能的设置,加快了编译过程,编译速度更快,对设计性能的影响最小3境,或宣布自己的设计工具可以和在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。设计软件界面如图3.1所示。图 3.1设计软件界面4方案选择及论证方案一:在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。同时,状态机的设计方法也是数字系统中一种常用的设计方法,其输出仅仅是当前状态值的函数,并且在时钟上升沿到来时才发生变化。米立机的输出则是当前状态值、当前输出
14、值和当前输入值的函数。本实验要从一串二进制码中检测出一个已预置的位二进制码,每增加一位二进制相当于增加一个状态,用个状态可以实现。方案二:利用移位寄存器实现序列检测:上面检测的原理是:逐位检测,的那个检测到信号时则转入下一个状态。这种检测的原理清晰,但缺点是当检测到序列比较长时就非常麻烦,而且检测的灵活性差。利用移位寄存器能实现简便快速,可移植的序列检测器。通过比较可以看出方案一比较容易实现,因此本次课程设计我选择的是方案一。5设计原理序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
15、由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。在本次设计中首先要设计一个巴克码发生器,然后再设计巴克码检测器。巴克码发生器发生器原理:N位触发器构成的计数器可产生M个代码。原理图:图巴克码发生器原理图当计数脉冲不断进入由Q3Q2Q1组成的三位二进制异步计数器时,3-8译码器的8个输出经反相器后顺序输出高电平。其中五路信号经“或非”后再和其中6路“或”,在Y端便可顺序产生11000100代码序列。代码序列发生:libraryieee
16、;useieee.std_logic_1164.all;ieee.std_logic_unsigned.all;entitybak1isport( clk,reset:instd_logic;dout:outstd_logic);endbak1;architecturecount:std_logic_vector(2downto0);tmp1:begindout=tmp1;process(clk,reset)ifreset=0thencount);elsifrising_edge(clk)=count+1;case000=tmp1case;if;process;a;序列检测器(1110010)
17、0 11 1S1 S2S3S40S80/1S7S6S5巴克码检测器状态图用状态机设计的巴克码检测器总设计程序如下所示:8ieee.std_logic_arith.all;createport(CLRCLK_1SSIG_OUTCODEstd_logic_vector(60)entity;behavetypestatesis(st0,st1,st2,st3,st4,st5,st6,st7);current_statestates;process(CLK_1S,CLR,CODE)=st0;rising_edge(CLK_1S)st0CODE(0);st1;st1CODE(1);st2;st2CODE(2);st3;9st3CODE(3);st4;st4CODE(4);st5;st5CODE(5);st6;st6CODE(6);st7;st7othersbehave;本次课程设计所用的频率是由实验箱pin16提供20M的频率,但我们实际中不会用到那么高的频率,因此我们需要一个分频器将此的频率分频到我们所需的频率,分频器原程序如下所示:divCLK_INCLK_OUTbufferDIV_TIMEstd_logic_vector(1510data1:integerrange10000000;data2:p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1