




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数字通信原理》课程设计说明书基于FPGA的HDB3的编译码系统设计学院:学生姓名:指导教师:专业:班级:学号:完成时间:摘要一般由信源发出的数字基带信号含有丰富的低频分量,甚至直流分量,这些信号往往不宜直接用于传输,易产生码间干扰进而直接影响传输的可靠性,因而要对其进行编码以便传输。FPGA(现场可编程门阵列)作为一种新兴的可编程逻辑器件,具有高集成度、成本低、可靠性高、开发周期短、可重复编程等特点,能将编解码电路集成在一片芯片上。HDB3码(三阶高密度双极性码)具有解码规则简单,无直流,低频成份少,可打破长连0和提取同步方便等优点。基于上述情况,本文提出了基于FPGA的HDB3编译码设计方案。本文先对HDB3码、VHDL语言、FPGA器件和EDA技术进行简述。然后介绍HDB3码的编译码原理以及其特点。最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。关键词:HDB3码;FPGA;EDA;VHDL;编译码目录1绪论 11.1引言 11.2EDA技术 11.3FPGA芯片 21.4VHDL硬件描述语言 22HDB3码的介绍和编译码规则 32.1选择HDB3码的理由 32.2HDB3码的介绍 32.2.1单极性不归零码(NRZ-L) 32.2.2双极性不归零码(Bi-NRZ) 32.2.3交替传号极性码(AMI) 32.2.4三阶高密度双极性码(HDB3) 42.3HDB3的编译码规则 42.3.1单极性不归零码(NRZ-L)的编码规则 42.3.2AMI码的编码规则 42.3.3HDB3码的编译码规则 53HDB3编码器的FPGA实现 63.1HDB3编码的设计思路 63.2HDB3编码的VHDL语言设计 63.3HDB3编码的VHDL程序 73.4HDB3编码的仿真波形 74HDB3译码器的FPGA实现 94.1HDB3码译码的设计思路 94.2HDB3译码的VHDL语言设计 94.3HDB3译码的VHDL程序 94.4HDB3译码的仿真波形 94.5HDB3编译码器测试 104.5.1HDB3编码器和译码器在顶层文件连接 104.5.2HDB3编译码器的仿真波形 11结束语 12参考文献 13致谢 14附录 15附录一HDB3编码程序 15附录二HDB3译码程序 181绪论1.1引言信号在信道的传输过程中,如何才能保证信号失真最小且可靠的传输是研究人员一致的目标。一个完整的通讯系统,当信号经过一定距离的传送后,总要受到干扰、移相和衰减,因而必须要对数字信号进行再生。从信源输出的信号一般是0、l两种状态的单极性NRZ码,在进行数字信号传输时,必须考虑到传输信道的特点,将信息比特变换为适合于信道传输的数字信号,即进行线路编码。由模拟信源转换而来的PCM信号,或离散信源产生的符号序列,以及数字源发出的代码,从广义角度,我们均称其为PCM编码.在PCM的基带传输系统中,存在着平衡电路和不平衡电路的变换,及远端的供电电路,这些电路中都存在着变压器,因而含有丰富的直流和低频的基带信号,这些信号就不适宜在信道中传输,否则会造成正常信号的严重畸变。为了使得终端机编码输出的由0和l组成的单极性数码流适应于传输信道的特性,还必须经过码型变换,即对信号进行编码。选择码型时一般应该考虑几方面的因素,比如从线路码流中容易提取时钟,线路码型中不宜含有直流分量,高、低频成分应尽量减少,设备应简单,易于实现码型变换和码型反变换的调试等。基于此,人们又在考虑能不能有一种更好的方法来弥补这一不足之处。FPGA具有编程灵活的特点,能够在不大改动系统平台的情况下具有改变系统特性和行为的灵活性,因而能完成对实时信号的处理;同时FPGA作为一种新兴的高密度可编程逻辑器件,可以将编码与解码电路集成在一片FPGA芯片上,它的体积小,其结果大大提高了系统的集成度。HDB3码的具有其译码规则简单,便于时钟的提取,无直流分量,实现的电路也远比采用曼彻斯特编码方式简单等优点。本文主要就是要研究如何在一片FPGA芯片上实现HDB3编译码的设计。1.2EDA技术EDA(ElectronicDesignAutomation)即电子设计自动化,它是指利用计算机来完成电子系统的设计。EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级三个层次的设计。其涉及的电子系统是指从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此,EDA技术研究的范畴相当广泛。从专用集成电路(ASIC)开发与应用角度看,EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。在现代电子设计技术领域种,EDA技术已成为主要的设计手段。EDA技术可把数字通信技术,微电子技术和现在电子设计自动技术结合起来,实现了硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。1.3FPGA芯片典型的FPGA它通常包含三类编程资源:可编程逻辑功能块CLB(ConfigurableLogicBlocks),可编程I/O模块IOB(Input/OutputBlock)和可编程内部互连PI(ProgrammableInterconnect)。CLB是实现逻辑设计的基本单元,它们排列为阵列,散布于整个芯片。CLB的功能很强,不仅实现了逻辑函数,还可配置为RAM等复杂形式。IOB作为芯片上逻辑与外部封装引脚的接口,通常围绕着阵列芯片的周围。PI包括各种长度的连线和一些可编程连接开关,通过它们把各个CLB、IOB按设计要求连接起来,构成特定功能的电路。FPGA器件的功能由逻辑结构的配置数据决定,工作时,配置数据存放于片内的SRAM或熔丝上。使用SRAM的FPGA器件,工作前需从芯片外部加载配置数据。配置数据可存储于片外的EPROM或其他存储体上。用户可控制加载过程,在现场修改器件逻辑功能,即现场可编程。1.4VHDL硬件描述语言VHDL是一种超高速集成电路硬件描述语言,它提供了一个标准的,从逻辑门级到数字系统级的各抽象级描述硬件的标准文本,提供了精确的语法和语义,为集成电路及系统设计提供了形式化、层次化和规范化的描述,不仅能有效地用于CAD进行模拟,而且可作为一种精确的自然语言用于设计者之间的设计交流,它允许设计者在语言的基本作用范畴之外表示信息,尽管最初的工具在某些级(例如开关级)不能提供模拟。由于没有限制设计者必须拥有特殊的硬件技术或设计方法,该语言在工业上有着广泛的用途,它被喻为硬件描述语言中的"FORTRAN",其性能是其它硬件描述语言无法媲美的。由此,VHSIC的硬件描述语言(VHSICHDL)即VHDL便诞生了,并很快被美国电气和电子工程师协会所承认。VHDL语言描述电路的行为,具有很强的电路功能描述能力,适用于大规模电子系统的设计。2HDB3码的介绍和编译码规则2.1选择HDB3码的理由发送信号设计中一个主要的问题是确定信号的线路编码类型,考虑对直流或低频受限信道,线路编码应不含直流分量;码型变换要保证透明传输,唯一可译,同时可使两端用户方便发送并正确接收原编码序列,而无觉察中间环节的形式转换,即码型选择仅是传输的中间过程;便于从接收码流中提取定时信号;所选码型以及形成波形,应有较大能量,以提高自身抗噪声及干扰的能力;码型具有一定检错能力,能减少误码扩散。所以选择HDB3码。2.2HDB3码的介绍HDB3码是由基带信号NRZ码对应的传输码AMI码改进而来。为了解HDB3码的编码规则,我们需要先了解基带信号NRZ码和传输码AMI码。2.2.1单极性不归零码(NRZ-L)单极性不归零码(UnipolarNonreturn-to-zero)的0、l码与基带信号的0电位及正电位对应,脉冲无间隔,只适于短距离传输。缺点:含有直流(DC)分量;接收判决门限为接收电平的一半,门限不稳,判决易错;不便直接从接收码序列中提取同步信号;传输时信道一端需接地(不平衡传输)。2.2.2双极性不归零码(Bi-NRZ)双极性码的0、l码与基带信号的负、正电位对应。与单极性相比,双极性不归零码(Bipolar-NRZ)优点为:从统计平均看,l、0各半,不含直流分量;两种码元极性相反,接收判决电平为0,稳定性高;可在电缆等线路不接地传送(平衡传输)。因此,Bi-NRZ码比较常用,更适合于速度不高的比特流传输,将单极性转换为双极性也较简单。缺点:不易从中直接提取同步信息;I、0不等概率时仍有直流分量。2.2.3交替传号极性码(AMI)AMI码(AlternativeMarkInversedEncoding)又称双极性方式码(BipolarEncoding)、平衡对称码或传号交替反转码,它属于单极性码的变型,当遇0码时为0电平,当遇l码时则交替转换极性,这样成为确保正负极性个数相等的"伪三进制"码。优点:确保无直流,零频附近的低频分量小,便于变量器耦合匹配;有一定检错能力,当发生1位误码时,可按AMI规则发现错误,以ARQ纠错;接收后只要全波整流,则变为单极性码,如果它是AMI--RZ型,可直接提取同步。缺点:码流中当连0过多时,同步不易提取。2.2.4三阶高密度双极性码(HDB3)这种码型属于伪三进制码。HDB3中"3阶"的含义是限制连"0"个数不超过3位.为减少连"0"数,有的做法采取"扰码",按一定规则将多个连"0"分散,尽量使码序列随机化。有效的办法是采用HDBn(n=l,2,3),一般多使用n=3。优点:译码规则简单、无直流、低频成份少、频带较窄、可打破长连0,提取同步方便、不受信源统计特性的影响。2.3HDB3的编译码规则该设计的基带信号码型为单极性不归零码(NRZ-L),传输码型为交替传号极性码(AMI)改进的三阶高密度双极性码(HDB3),所以介绍HDB3的编译码原理前先介绍单极性不归零码(NRZ-L)和传交替传号极性码(AMI)的编译码规则。2.3.1单极性不归零码(NRZ-L)的编码规则单极性NRZ码在表示一个码元时,二进制符号"1"和"0"分别对应基带信号的正电平和零电平,在整个码元持续时间,电平保持不变。如图1所示。图1单极性NRZ-L码2.3.2AMI码的编码规则AMI码又称为平衡对称码。这种码的编码规则是:把码元序列中的―1码变为极性交替变化的传输码1、-1、1、-1、...,而码元序列中的0码保持不变。如图2所示。图2AMI码由AMI码的编码规则可以看出,由于1和-1各占一半,因此,这种码中无直流分量,且其低频和高频分量也较少,信号的能量主要集中在2Tf处,其中Tf为码元速率。此外,AMI码编码过程中,将一个二进制符号变成了一个三进制符号,即这种码脉冲有三种电平,因此我们把这种码称为伪三电平码,也称为1B/1T码型。AMI码除了上述特点外,还有编译码电路简单及便于观察误码情况等优点。但是AMI码有一个重要的缺陷,就是当码元序列中出现长连0时,会造成提取定时信号的困难,因而实际系统中常采用AMI码的改进型HDB3码。2.3.3HDB3码的编译码规则HDB3是三阶高密度双极性码,它是为了克服传输波形中出现长连0码情况而设计的AMI码的改进型。HDB3码的编码规则是:1、把码元序列进行AMI编码,然后去检查AMI码中连0的个数,如果没有四个以上(包括四个)连0串时,则这时的AMI码就是HDB3码。2、如果出现四个以上连0串时,则将每4个连0小段的第4个0变成与其前一个非0码(1或-1)相同的码。显然,这个码破坏了+―极性交替反转的规则,因而称其为破坏码,用符号V表示。3、为了使附加V码后的序列中仍不含直流分量,必须保证相邻的V码极性交替。这一点,当相邻的V码之间有奇数个非0码时,是能得到保证的;但当相邻的V码之间有偶数个非0码时,则得不到保证。这时再将该连0小段中的第1个0变成B或-B,B的极性与其前一个非0码相反,并让后面的非零码从V码后开始再极性交替变化。NRZ码:100001000011000011AMI码:-10000+10000-1+10000-1+1HDB3码:-1000-V+1000+V-1+1-B00V+1-1虽然HDB3码的编码规则比较复杂,但译码却比较简单。从编码过程中可以看出,每一个V码总是与其前一个非0码(包括B码在内)同极性,因此从收到的码序列中可以很容易地找到破坏点V码,于是可断定V码及其前3个码都为0码,再将所有的-1变为1后,便可恢复原始信息代码。HDB3码的特点是明显的,它既保留AMI码无直流分量,便于直接传输的优点,又克服了长连0串(连0的个数最多3个)的出现,HDB3码的频谱中既消除了直流和甚低频分量,又消除了方波中的高频分量,非常适合基带传输系统的特性要求。因此,HDB3码是目前实际系统中应用最广泛的码型。3HDB3编码器的FPGA实现3.1HDB3编码的设计思路在数字基带传输系统中,从信号源输出的信号一般是用"0"和"1"两种状态表示的单极性NRZ码。因此看来,HDB3编码器的主要转换对象就是NRZ码。由HDB3码的编码规则可知,编码器的主要工作就是按AMI码对信号进行编码,判断是否应该加入破坏符V,V加入后是否应该补B,由于需要检查到四位连"0"才能进行加V补B的操作,这样用于存放数据的移位寄存器就不能少。这个设计的难点在于加V和补B的判决。HDB3编码设计框图如图3所示。图3HDB3编码设计框图设计思路如下:1、对输入为1码元交替翻转编码,即依次在H+和H-端口输出1。2、对输入为0码元同时在H+和H-端口输出0。3、当连续输入4个0码元,且与上一个连续0码元之间1码元为奇数个时,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:在同端口输出。4、当连续输入4个0码元,且与上一个连续4个0码元之间1码元为偶数个时,第一个0码元改为1码元,与之前1码元的最后一个1码元反极性,即:在不同端口输出。由以上设计思路,一列NRZ码经编码后应该产生的H+、H-如下:NRZ码:1000010000110000000011HDB3码:-1000-V+1000+V-1+1-B00-V+B00+V-1+1H+:0000010001010000100101H-:-1000-100000-10-100-10000-103.2HDB3编码的VHDL语言设计1、逐位处理输入输出数据,即:每输入一比特数据就判断处理,并在H+和H-端口同时输出一位比特脉冲。2、为了能修改含本时钟之前4个时钟周期的输出比特,建立一个4位移位寄存器保存输入数据temp。3、输出"1"时,确定下次1码元输出端口的确定,即极性是+或-;每输入一个"1",极性反转一次,记录信息county。4、检测当前是否为连续"0000",记当前零个数count0。5、记录两个连续"0000"之前连续1的个数记数count1,(即奇偶数)。6、要记录两个连续"0000"之前连续1的个数,需要知道第一个"0000"已经出现,建立第一个"0000"已经出现的标志位count2。7、更新"B00V""000V"时,更新信息count0,count1,county。3.3HDB3编码的VHDL程序HDB3编码的VHDL程序见附录一。3.4HDB3编码的仿真波形HDB3编码的仿真波形图如图4所示。图4HDB3编码的仿真波形如图4所示,clkin为占空比为50%的取样时钟;clkout为把输入的clkin输出,给下级的解码做采样时钟;dataouthh为输出的H+;dataouthl为输出的H-。从datain按采样时钟下降沿读出NRZ码。如下所示:NRZ码:010101110100000000011000010000NRZ码共30位,前10位("0101011101")目的为了验证程序能否对输入为1码元交替翻转编码,依次在H+和H-端口输出1;对输入为0码元同时在H+和H-端口输出0。第11位到第14位("0000")是为了验证程序能否判断第一个"0000";从NRZ前10位可以读出1的个数为(6偶数),如果程序不能判断第一个"0000",则产生的HDB3码为"B00V",而第一个"0000"正确产生的HDB3码为"000V"。第15位到19位("0000")是为了能否判断两个连续"0000"之间"1"的个数为0(偶数)时,输出的HDB3码是否正确。第22位到25位("0000")是为了能否判断两个连续"0000"之间"1"的个数为2(偶数)时,输出的HDB3码是否正确。第26位到30位("0000")是为了能否判断两个连续"0000"之间"1"的个数为1(奇数)时,输出的HDB3码是否正确。由读出的NRZ,求出理论HDB3码。如下所示:理论HDB3码:0+10-10+1-1+10-1000-1+100+10-1+1-100-1+1000+1从dataouthh按采样时钟下降沿读出H+;从dataouthl按采样时钟下降沿读出H-。如下所示:H+:010001010000001001001000010001H-:000100100100010000010100100000H+、H-叠加得出实测HDB3码。如下所示:实测HDB3码:0+10-10+1-1+10-1000-1+100+10-1+1-100-1+1000+1实测HDB3码和理论HDB3码相同,所以HDB3编码的VHDL语言设计成功。4HDB3译码器的FPGA实现4.1HDB3码译码的设计思路由编码原理可知,只要将HDB3码中的V、B变成0、1,就可以实现译码。根据前面的HDB3编码输出"V"码的极性与前面的非"0"码的极性相同,当FPGA检测到相邻2个非"0"符号极性相同时,就可以判断出前非"0"符号为"V"符号。再判断与"V"码相邻的非零码是"1"还是"B"码。根据"V"码与它前面的3位的寄存器的值则可以知道,当3位数据都为"0"时,则"V"码前的非零信号为基带信号"1",如果与"V"码相邻的前面2位寄存器的值为"0",则"V"码前的非零信号即为补信码"B"。HDB3译码设计框图如图5所示。图5HDB3译码设计框图4.2HDB3译码的VHDL语言设计对输入的H+、H-和HDB3[(H+)OR(H-)]分别设立一个五级缓存移位寄存器,判断HDB3[(H+)OR(H-)]寄存器存在"10001"或"1001X"时,H+、H-寄存器是否有且只有一个存在"00000"或"0000X",如果存在则HDB3[(H+)OR(H-)]寄存器改成"10000"或"0000X"。再将HDB3[(H+)OR(H-)]寄存器第5位输出。4.3HDB3译码的VHDL程序HDB3编码的VHDL程序见附录二。4.4HDB3译码的仿真波形HDB3译码的仿真波形图如图6所示。图6HDB3译码的仿真波形如图6所示,clkin为占空比为50%的取样时钟;dataoinhh为输入的H+;datainthl为输入的H-;dataout为输出的NRZ码。从datainhh按采样时钟下降沿读出H+。从datainll按采样时钟下降沿读出H-。如下所示:H+:001001000010001010000100101H-:100010000100000101001000010H+、H-分别27位,前5位[H+("00100")、H-("10001")]目的是为了判断当H+寄存器存在"10001"时,程序是否会误判存在"1000V";第6位到第10位[H+("10000")、H-("00001")]目的是为了判断当HDB3[(H+)OR(H-)]寄存器存在"10001"时,程序是否会误判存在"1000V";第11位到第15位[H+("10001")、H-("00000")]目的是为了判断程序能否正确识别"1000V";第18位到第21位[H+("0000")、H-("1001")]和第22位到第25位[H+("1001")、H-("0000")]目的是为了判断程序能否正确识别"B00V"。由读出的H+、H-,求出测量的HDB3码,再由理论HDB3码计算得出理论NRZ码。如下所示:实测HDB3码:+10-10+1-1000+1-1000-1+1-1+100+1-100-1+1-1理论NRZ码:101111000110000110000000011从dataout按采样时钟下降沿读出NRZ码。如下所示:实测NRZ码:101111000110000110000000011实测NRZ码和理论NRZ码相同,所以HDB3译码的VHDL语言设计成功。4.5HDB3编译码器测试4.5.1HDB3编码器和译码器在顶层文件连接把HDB3编码器程序和HDB3译码器程序生成元器件,新建BlockDiagram/SChematicFile文件,在里面对HDB3编码器和HDB3译码器进行连接。如图7所示。图7HDB3编译码器原理图4.5.2HDB3编译码器的仿真波形HDB3编译码器的仿真波形图如图8所示。图8HDB3编译码器仿真波形图如图8所示,clkin为占空比为50%的取样时钟;datain为输入的NRZ码;dataout为输出的NRZ码。从datain按采样时钟下降沿读出NRZ码。如下所示:实测输入NRZ码:101011000110000110000000011观察图8中dataout可以发现,dataout向左移位5个取样时钟频率周期,则和datain完全相同。实测输出NRZ码如下所示。实测输出NRZ码:101011000110000110000000011实测输入NRZ码和实测输出NRZ码相同,HDB3编译码器设计成功。结束语本文主要是用FPGA来实现HDB3码的编码和译码器。利用EDA技术进行设计,重点在于实现HDB3的编码过程和译码过程的处理,用VHDL对其功能进行描述。由于HDB3码是双极性码,而FPGA只能处理单极性。因此在实际应用中须外加辅助电路,使单双极性实现相互转换。本文对此不做介绍,主要对FPGA可实现的程序部分进行详细分析叙述。最后,通过QuartusII对其各个功能进行仿真,验证整个设计的正确性。但由于利用EDA对电子系统进行设计的经验不多,本设计只实现对HDB3码进行简单的编译功能,但整个设计程序显得有点复杂。在这个设计过程中,完整的实现HDB3编译码的功能,令我获益不少。由于受现在所学的知识的限制,对EDA的展望待进一步作深入研究,通过学习与实践,积累更多的知识与设计经验,把整个设计再进行功能的完善,再使逻辑算法更加简化从而提高整个系统的效率。参考文献[1]曹志刚,钱亚生,现代通信原理[M],北京:清华大学出版社,1992[2]樊昌信、张甫翔、徐炳祥,通信原理[M],北京:国防工业出版社,2001[3]张会生、陈树新,现代通信系统原理[M],北京:高等教育出版社,2002[4]曹志刚、钱亚生,现代通信原理[M],北京:清华大学出版社,1992[5]张辉、曹丽娜,现代通信原理与技术[M],西安:西安电子科技大学出版社,2002[6]刘皖、何道君、谭明,FPGA设计与应用[M],北京:清华大学出版社,2006[7]曾繁泰、李冰,李晓林,EDA工程概论[M],北京:清华大学出版社,2002[8]潘松,王国栋,VHDL实用教程[M],成都:电子科技大学出版社,2000[9]曾繁泰,候亚宁,崔元明,可编程器件应用导论[M],北京:清华大学出版社,2001[10]赵鑫、蒋亮,VHDL与数字电路设计[M],北京:机械工业出版社,2005[11]蒋青、吕翔,一种基于FPGA技术HDB3译码器的设计[J],微电子学,2007[12]段吉还、黄智伟,基于CPLD/FPGA的数字通信系统与设计[M],北京:电子工业出版社,2004致谢感谢老师给予我们此次锻炼自己的机会,也感谢老师设计制作过程中给于我们的无私帮助,循循善诱,最后衷心感谢老师对我们的严格要求。感谢等同学对我程序的指点和修改。在设计调整的过程中难免会着急会烦躁,情绪难免会恶化,感谢三个队友在合作过程中的宽容与谅解。在交流沟通时,大家难免会急于表达自己的观点,感谢在团队意见的磨合中,大家都能理性客观的对待问题,一起完成了此次课程设计的任务,并且也在此次课程设计中加强了大家的团队协作能力。附录附录一HDB3编码程序--HDB3编码--输入2.048Mb/s数据流--占空比为50%的取样时钟--输出为两路双极性数据流libraryieee;useieee.std_logic_1164.all;useieee.numeric_std;useieee.std_logic_arith;entityHDB3isport(clkin:instd_logic;datain:instd_logic;dataouthh:outstd_logic; dataouthl:outstd_logic;clkout:outstd_logic);endHDB3;architecturebehaviorofHDB3isbeginprocess(clkin)variablecount0,count1,count2:integer:=0;variablecounty:boolean;variabletemp:std_logic_vector(3downto0);beginifclkin'eventandclkin='0'thenifdatain='1'then--输入为1时处理4位寄存器count0:=0; temp(0):=datain; count1:=count1+1; iftemp(3)='0'then--首位0处理输出 dataouthh<='0'; dataouthl<='0'; elseifcountythen--首位1处理输出 dataouthh<='1'; dataouthl<='0'; county:=notcounty; else dataouthh<='0'; dataouthl<='1'; county:=notcounty; endif; endif; else temp(0):=datain;--输入为0时处理4位寄存器 count0:=count0+1; ifcount0=4then--检测到0000,处理4位寄存器 count0:=0; count1:=(count1rem2);--两个四连零间1的奇偶 if(count1=1)OR(count2=0)then--两个四连零间1的奇偶 count1:=0; count2:=1; temp:="0001"; dataouthh<='0'; dataouthl<='0'; county:=notcounty; else count1:=0;--两个四连零间1的偶 temp:="1001"; ifcountythen dataouthh<='1'; dataouthl<='0'; else dataouthh<='0'; dataouthl<='1'; endif; endif; else iftemp(3)='0'then--未检测到0000处理输出 dataouthh<='0'; dataouthl<='0'; else ifcountythen dataouthh<='1'; dataouthl<='0'; county:=notcounty; else dataouthh<='0'; dataouthl<='1'; county:=notcounty; endif; endif; endif;endif;endif;temp(3downto1):=temp(2downto0);endprocess;clkout<=clkin;endbehavior;附录二HDB3译码程序--输入为两路双极性数据流,占空比为50%的去取样时钟--输出为一路单极性数据流,libraryieee;useieee.std_logic_1164.all;entityHDB3yiisport(clkin:instd_logic;datainhh:instd_logic;datainhl:instd_logic;dataout:outstd_logic);endHDB3yi;architecturebehaviorofHDB3yiisbeginprocess(clkin)variabletemp,temph,templ:std_logic_vector(4downto0);beginifclkin'eventandclkin='0'then temph(0):=datainhh; templ(0):=datainhl; if(datainhh='0')and(datainhl='0')then temp(0):='0'; else temp(0):='1';endif;if(temp="10001"andtemph="00000")or(temp="10001"andtempl="00000")thentemp:="10000";endif;if(temp(4downto1)="1001"and temph(4downto1)="0000")or(temp(4downto1)="1001"and templ(4downto1)="0000")thentemp(4downto1):="0000";endif;dataout<=temp(4);temp(4downto1):=temp(3downto0);temph(4downto1):=temph(3downto0);templ(4downto1):=templ(3downto0);endif;endprocess;endbehavior; 基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44891-2024法人和其他组织统一社会信用代码数据服务平台建设规范
- 冰淇淋膨胀率的测定李轲21课件
- 0102民法基本原则的作用62课件
- 风景园林基础考研资料试题及答案详解【名师系列】
- 《风景园林招投标与概预算》试题A附答案详解(达标题)
- 2023国家能源投资集团有限责任公司第一批社会招聘笔试备考试题及答案详解(夺冠系列)
- 2025年河北省定州市辅警招聘考试试题题库及一套完整答案详解
- 2025年K2教育中STEM课程实施与效果评估:创新教育理念
- 语文(湖北卷)2025年中考考前押题最后一卷
- 七年级下册语文第四单元专题学习活动《孝亲敬老传承家风》经典课件
- 2025年离婚协议书
- 2025春季学期国家开放大学本科《国际私法》一平台在线形考(形考任务1至5)试题及答案
- 2025年下半年江苏连云港灌云县卫生健康委员会所属事业单位招聘83人易考易错模拟试题(共500题)试卷后附参考答案
- 可信数据空间解决方案星环科技
- 2025广西专业技术人员公需科目培训考试答案
- 硅热式风速传感器输出稳定性的多维度解析与优化策略研究
- 公路养护安全风险辨识
- 四川省成都市2024年小升初英语试卷(含答案)
- 机票代理合作协议
- GB/T 531.1-2008硫化橡胶或热塑性橡胶压入硬度试验方法第1部分:邵氏硬度计法(邵尔硬度)
- 城市道路人行道设施设置规范
评论
0/150
提交评论