


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、八位序列检测器设计摘要:序列检测器多用于通信系统中对禁用码的检测,或者是对所需信号的提取,即一旦检测到所需信号就输出高电平,这在数字通信领域有广泛的应运。本文介绍了一种采用单片PGA芯片进展脉冲序列检测器的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法,利用FPGA的可编程性,简洁而乂多变的设计方法,缩短了研发周期,同时使设计的电路体积更小功能更强大。本次课程设计设计出能够检测序列“11010011”的序列检测器,并以此来描述序列检测器的设计过程和基于FPGA的软件仿真。最后通过QuartusII的波形输出对设计方案进展检测,在硬件调试经检测输出正确设计符合要求。关键词:VH
2、DL序列检测QuartusUFPGAAbstract:Sequencedetectorsystemusedformunicationonthedetectioncodedisabled,oristheextractionofthedesiredsignal,thatis,oncedetected,therequiredhighoutputsignal,whichinthebroadfieldofdigitalmunicationstobetransported.ThispaperpresentsasingleFPGAchipwiththedetectorpulsesequencedesignm
3、ethod,mainlyonhowtousenewdevicetoreplacethetraditionalEDAelectronicdesign,theuseofFPGA'sprogrammability,conciseandchangingthedesignmethodshortensthedevelopmentcycle,whileallowingsmallercircuitdesignandmorepowerful.Thecurriculumisdesignedtodetectsequence"11010011"sequencedetectors,andde
4、tectorinordertodescribethesequenceofthedesignprocessandFPGA-basedsoftwaresimulation.Finally,theoutputofthewaveformQuartusIIdesigntesting,debuggingthehardwaredesignhasbeentestedandmeettherequirementsofthecorrectoutput.FPGAKeywords:VHDLSequencedetectionQuartusU目录2. 1前言11.1课题设计背景1总体方案设计22.1方案比拟23. 2.2两
5、种方案的论证与比拟3单元模块设计43.1序列信号发生器43.2序列检测器63.3计数器73.4顶层文件设计84系统调试与验证94.1待测序列的输入94.2时序仿真114.3结果分析125总结与体会136辞147参考文献151前言1.1课题设计背景随着数字通信的广泛应用,可编程逻辑器件容量、功能的不断扩大,集成电路的设计已经进入片上系统(SOC卿专用集成电路(ASIC*勺时代。由于硬件描述语言VHDL可读性、可移植性、支持对大规模设计的分解和对已有设计的再利用等强大功能,迅速出现在各种电子设计自动化(EDA海统中,先进的开发工具使整个系统设计调试周期大缩短。利用硬件描述语言(如VHDL床完成对系
6、统硬件功能的描述,在EDA工具的帮助下通过波形仿真得到时序波形,这样就使得对硬件的设计和修改正程软件化,提高了大规模系统设计的自动化程度。传统的脉冲序列检测器,它的实现方法是把一个算法转化为一个实际数字逻辑电路的过程。在这个过程中,我们所得到的结果大概一致,但是在具体设计方法和性价比上存在着一定的差异,存在电路设计复杂,体积大,抗十扰能力差以及设计困难、设计周期长等缺点。而利用FPGA乍为硬件电路,采用VHDL等硬件描述语言对硬件的功能进展编程,加快了系统的研发进程,采用数字化的控制方式,大幅度提高了逻辑控制的准确度,实时控制效果好,实践证明,FPGA芯片可以代替传统的复杂的电路,而且可以大比
7、例地缩小了电路的硬件规模,提高了集成度,降低开发本钱,提高系统的可靠性,为脉冲序列检测器电路的设计开辟了新的天地。脉冲序列检测器在现代数字通信系统中发挥着重要的作用,通过中小规模的数字集成电路构成的传统脉冲序列检测器电路往往存在电路设计复杂体积大、抗十扰能力差以及设计困难、设计周期长等缺点。因此脉冲序列检测器电路的模块化、集成化已成为开展趋势,它不仅可以使系统体积减小、重量减轻且功耗降低、同时可使系统的可靠性大大提高。随着电子技术的开展,特别是专用集成电路(ASIC段计技术的日趋完善,数字化的电子自动化设计(EDA区具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计
8、系统工程的诸多不便。随着ASIC技术、EDA技术的不断完善和开展以及VHDLHDL等通用性好、移植性强的硬件描述语言的普及,FPGA可编程逻辑器件必将在现代数字应用系统中得到广泛的应用,发挥越来越重要的作用。2.总体方案设计通过查阅大量相关技术资料,并结合自己的实际知识,我们主要提出了两种技术方案来实现系统功能。下面我将首先对这两种方案的组成框图和实现原理分别进展说明,并分析比拟它们的优劣2.1方案比拟2.1.1方案一工作原理:基丁FPGA勺多路脉冲序列检测器的设计方案,使用VHDL语言设计时序逻辑电路,先设计序列发生器产生序列:101101000110101Q再设计序列检测器,检测序列发生器
9、产生序列,假设检测到信号与预置待测信号一样,那么输出“1”,否那么输出“0”,并且将检测到的信号的显示出来。系统框图如下图:时钟输入模块序列输入模块序列检测判断模块计数模块结果输出模块图2.12.1.2万案二工作原理:使用proteus软件进展仿真,先画出原始状态图和状态表,在根据状态图使用D触发器,与门,或门以及非门等元件画出时序逻辑图,再根据结果译码,最后使用LED灯显示结果系统框图如下图:图2.22.2两种方案的论证与比拟第一种方案使用quartus软件进展仿真和验证,直接输入源代码比拟简单方便,并且还可以检测其他的序列,只需要修改一局部代码就可以实现。方案二使用proetus软件进展仿
10、真和验证,需要先进展复杂的状态图分析,如果需要检测的序列过长就会造成原理图连接过丁复杂,不易实现。而且一旦原理图连接好久只能检测一种序列,如果要检测其他序列就要重新连图。通过比拟发现第一种方案明显优丁第二种方案,因此选择第一种方案。3.单元模块设计主要介绍系统各单元模块的具体功能、电路构造、工作原理、以及各个单元模块之间的联接关系;同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进展必要说明。3.1序列信号发生器序列信号是指在同步脉冲作用下循环地产生一申周期性的二进制信号。利用状态机设计,首先定义一个数据类型FSM_ST它的取值为st0到st15的16个状态。REGs0s1s2s3
11、s4s5s6s7Q10110100REGs8s9s10s11s12s13s14s15Q01101010表3.1序列信号发生器的代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSHKISPORT(CLK,RST:INSTD_LOGIC;CO:OUTSTD_LOGIC);ENDSHK;ARCHITECTUREbehavOFSHKISTYPEFSM_STIS(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);SIGNALREG:FSM_ST;SIGNALQ:STD_LOGIC;BEGINP
12、ROCESS(CLK,RST)BEGINIFRST='1'THENREG<=s0;Q<='0'ELSIFCLK'EVENTANDCLK='1'THENCASEREGISWHENs0=>Q<='1'REG<=s1;WHENs1=>Q<='0'REG<=s2;WHENs2=>Q<='1'REG<=s3;WHENs3=>Q<='1'REG<=s4;WHENs4=>Q<='0
13、9;REG<=s5;WHENs5=>Q<='1'REG<=s6;WHENs6=>Q<='0'REG<=s7;WHENs7=>Q<='0'REG<=s8;WHENs8=>Q<='0'REG<=s9;WHENs9=>Q<='1'REG<=s10;WHENs10=>Q<='1'REG<=s11;WHENs11=>Q<='0'REG<=s12;WHENs12=&
14、gt;Q<='1'REG<=s13;WHENs13=>Q<='0'REG<=s14;WHENs14=>Q<='1'REG<=s15;WHENs15=>Q<='0'REG<=s0;WHENOTHERS=>REG<=s0;Q<='0'ENDCASE;ENDIF;ENDPROCESS;CO<=Q;ENDbehav;转化成可调用的元件:图3.1vlaiteiTimeBar15.&5ns土PointinValueat1568m波
15、形仿真如下:79696nsIn诚sM78131mSumEnd:n3E0,0m640.0g96D0L/31.G«nn.nnnnnnnnnnnnnnnnnnrJ图3.23.2序列检测器脉冲序歹0检测起可用丁检测一组或多组二进制码组成的脉冲序歹0信号,当序歹0检测器连续接收到一组穿行二进制码后,如果这组码与检测器中预先设置的码一样,那么输出1,否那么输出0。由丁这种检测的关键在丁正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确的序列,直到连续的检测中所收到的每一位码都与预置数的对应码一样。在检测过程中,任何一位不相等将回到初始状态重新开场检测。序列检测器的代码如下:li
16、braryieee;useieee.std_logic_1164.all;entitySCHK1isport(datain,clk:instd_logic;t:instd_logic_vector(4downto0);q:outstd_logic;cq:outstd_logic_vector(4downto0);endSCHK1;architecturert1ofSCHK1issignalreg:std_logic_vector(4downto0);beginprocess(clk)variablet1:std_logic_vector(4downto0);beginifclk'eve
17、ntandclk='1'thenreg(0)<=datain;reg(4downto1)<=reg(3downto0);endif;t1:=t;ifreg=t1thenq<='1'elseq<='0'cq<=reg;endif;endprocess;endrt1;转化成可调用的元件:图3.3波形仿真如下:图3.43.3计数器0、利用序列检测器产生的信号1和0作为计数器模块的时钟信号,产生的信号1变化,形成类似的CLK信号,实现计数器计数。计数器的代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1
18、164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOUNTISPORT(CLK,EN,RST:INSTD_LOGI(Q1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGICENDENTITYCOUNT;ARCHITECTUREONEOFCOUNTISBEGINPROCESS(CLK,EN,RST)VARIABLECQI:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHE
19、RS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENIFCQI<153THENIFCQI(3DOWNTO0)=9THENCQI:=CQI+7;-高位进位ELSECQI:=CQI+1;ENDIF;ELSECQI:=(OTHERS=>'0');ENDIF;ENDIF;ENDIF;IFCQI=153THENCOUT<='1'ELSECOUT<='0'ENDIF;Q1<=CQI(3DOWNTO0);Q2<=CQI
20、(7DOWNTO4);ENDPROCESSCOUNT;ENDARCHITECTUREONE;转化成可调用的元件:波形仿真如下:MasteiTimeEar;17.275ms,Fuirler101.45nsInteivaL164.18nsStart:UTTCOENRS5亚|3±Valueat12&heB10B10D1B00000ODJps80.Jns18U.0nsZ40.0m320.0m4IJ0.0nw48U.Umiiii_i1Y."27Sdfirm口FinnnnnIIIIIIIIIIIII(I|IIIIiIIJIIIIIIIIIIItlIIIIIIIIIlIOn6图3
21、.63.4顶层文件设计通过前面的准备,我们已经得到了全部所需要的3个模块,即序列信号发生器、序列检测器、计数器。在此,我们运用原理图法来生成顶层实体。具体的实现方法是,将上述3个模块,通过我们的设计软件,生成可以移植,调用的原理图文件,在将其在顶层设计中直接调用即可。本次设计生成的顶层实体如下列图所示:图3.74系统调试与验证4.1待测序列的输入输入检测的8位序列“11001011程序如下:libraryieee;useieee.std_logic_1164.all;entitySCHK1isport(din,clk,clr:instd_logic;pre_load:instd_logic_v
22、ector(7downto0);ab:outstd_logic_vector(3downto0);endSCHK1;architecturebehavofSCHK1issignalq:integerrange0to8;signald:std_logic_vector(7downto0);beginD<=pre_load;-置入待检测序歹Uprocess(clk,clr)beginifclr='1'thenq<=0;elsifclk'eventandclk='1'thencaseqiswhen0=>ifdin=d(7)thenq<=
23、1;elseq<=0;endif;when1=>ifdin=d(6)thenq<=2;elseq<=0;endif;when2=>ifdin=d(5)thenq<=3;elseq<=0;endif;when3=>ifdin=d(4)thenq<=4;elseq<=0;endif;when4=>ifdin=d(3)thenq<=5;elseq<=0;endif;when5=>ifdin=d(2)thenq<=6;elseq<=0;endif;when6=>ifdin=d(1)thenq<=
24、7;elseq<=0;endif;when7=>ifdin=d(0)thenq<=8;elseq<=0;endif;whenothers=>q<=0;endcase;endif;endprocess;process(q)beginifq=8thenab<=1;elseab<=0;endif;endprocess;endbehav;转化成可调用的元件:4.2时序仿真图4.1置入待检测序列:图4.2仿真结果:图4.34.3结果分析:1. 根据序列检测器的输出端q可以看出,当检测器检测到申行信号与预置的序列信号一样时,q那么输出“A",没有检
25、测到,q那么输出“B”;根据计数器的输出端Q1可以看出,Q1将序列检测器检测到的序列信号的数目显示出来。通过仿真结果还可以看到,输出的波形出现了一些毛刺,这是因为信号在FPGA器件过逻辑单元连线时,一定存在延时。延时的大小不仅和连线的长短和逻辑单元的数目有关,而且也和器件的制造工艺、工作环境等有关。因此,信号在器件中传输的时候,所需要的时间是不能准确估计的,当多路信号同时发生跳变的瞬间,就产生了竞争冒险"。这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是毛刺"。5总结与体会经过这次课程设计的学习,我确实学习了很多知识,真正的感受到了理论联系实际的重要性,以及这之间莫大区别,到最后看着自己的结果心里还是感到很欣慰的。具体做了以下几项工作:1. 查找相关资料,了解EDA技术的开展及优点,同时详细分析了利用可编程逻辑器件来设计脉冲序列检测器的优势。2. 简要分析了FPJA器件的特征和构造,详细介绍了FPGAS计流程,同时详细介绍了硬件描述语言VHDL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《卓越的推销员》课件
- 学习食品安全
- 团队成员发展规划
- 机场内部园林工程协议
- 信托项目招投标改进策略
- 仓库防盗门安装合同
- 商业秘密侵权和解书
- 通信设备招投标及合同执行指南
- 学生户外活动安全协议
- 商业街装修工程合同样本
- 宪法知识讲座讲稿(课堂PPT)
- 多维阅读Crazy Cat 课件
- 数学建模案例分析--线性代数建模案例(20例)
- 马来酸酐接枝聚丙烯
- PE管道焊接工艺卡
- 第四章分子的对称性
- (最新)专家服务基层工作培训会领导讲话(精)
- 苏州预防性试验、交接试验费用标准
- 最新【SD高达G世纪-超越世界】各强力机体开发路线
- 专业英语四级听力模拟题
- [广州]污水处理厂工程监理投标大纲(325页完整)_secret
评论
0/150
提交评论