基于高速串行BCD码除法的数字频率计的设计(推荐9篇)由网友“老稻”投稿提供,下面小编为大家整理过的基于高速串行BCD码除法的数字频率计的设计,欢迎阅读与借鉴!
篇1:基于高速串行BCD码除法的数字频率计的设计
摘要:介绍了在PPGA芯片上实现数字频率计的原理。对各种硬件除法进行了比较,提出了高速串行BCD码除法的硬件算法,并将其应用在频率计设计中。
关键词:频率测量 周期测量 FPGA VHDL 状态机
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。
在设计中,所有频段均采用直接测频法对信号频率进行测量,克服了逼近式换挡速度慢的缺点;采用了门控信号和被测信号对计数器的使能端进行双重控制,提高了测量的精确度;在运算单元采用了高速串行BCD码除法,不仅提高了运算速度,而且减小了资源消耗。
(本网网收集整理)
1 系统结构及基本设计原理
以一个8位十进制、测量范围为1Hz~100MHz的数字频率计为例,采用100MHz的标准频率信号,说明设计的基本原理及实现。设计的数字频率计由测量频率模块、计算模块和译码模块组成,如图1所示。测频模块采用两个十进制计数器分别测出门控时间内的标准信号和被测信号的周期数Ns和Nx。计算模块则根据公式Fx/Nx=Fs/Ns算出Fx,通过译码即可得到被测信号频率的7段数码显示。
数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。
为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提高了准确度,如图2所示。
当门控信号为1时,使能信号并不为1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为0时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用100MHz的信号作为标准信号时,误差最大为0.01μs。
篇2:基于高速串行BCD码除法的数字频率计的设计
利用FPGA实现二进制除法运算,一种方法是采用逼近法,这种方法速度低、准确性不高。另一种方法是采取被除数与除数的倒数相乘的方法,即将除数作为寄存器的.地址,其倒数的小数部分作为寄存器的内容,通过一次寄存器寻址来计算除数的倒数。这种方法在一个时钟周期内即可完成一个完整的除法运算,虽然速度较高,但对于多字节除法运算,不仅程序复杂,而且占用资源较多。根据频率计的实际情况,本设计采用串行除法运算,利用多个时钟周期完成一个完整的除法运算,从而兼顾了频率计对速度和资源两方面的要求。
2.1 多位串行BCD码减法原理
在数字串行除法运算中,减法运算是必不可少的部分。数字串行BCD码的减法运算是将P位的BCD码分为P个宽为4的二进制数,然后从低位开始相减,在P个时钟周期内完成减法操作。如果输入的操作数位数为8,那么串行BCD码减法器可以在8个时钟周期内完成8位BCD码减法运算。
数字串行减法的控制也比较简单,1位BCD码减法运算完成,进行移位操作,并且移位次数加1,然后通过采用start信号指示新计算周期。当移位次数为n时,输出移位寄存器完成串/并转换,输出结果。设计者可以根据实际情况,通过选择不同的n,提高设计的灵活性。本设计选择n=8。
该设计在提高速度的同时,节省了资源。实验证明,采用1OOMHz的工作频率,实现一个8位BCD码串行减法运算,耗用的资源却小于实现2位BCD码并行减法运算所耗用的资源。
2.2 多位串行BCD码除法原理
本设计采用循环式除法运算,循环原理可以用下面的公式表示[1]:
ω[j+1]=rω[j]-dqj+1
式中,ω[j]为第j步的余数,ω[0]为被除数;d为除数;qj+1为第j+1步所得的商;r为与移位步长有关的常数,在此取为16。
除法运算循环图表如图3所
示。
循环步骤如下:
・将ω[j]左移四位,构成rω[j]。
・通过多次BCD码减法运算,求得部分商qJ+1,得到部分余数。
・部分余数、部分商移位,准备下次循环。
高速串行BCD码除法是建立在BCD码减法运算基础上的循环运算。用被除数减除数得到部分余数的BCD码,如果够减,则使商加1;否则,余数和商同时左移四位,并记录移位的次数m,根据对有效位数的不同要求,可以对m进行赋值,如果要求保留8位有效数字,则m=8。
在这种循环除法运算中,减少循环的次数是提高运算速度比较有效的方法。在一般循环式除法运算中,是从低位开始进行循环相减,循环次数等于商。如果是8位除法运行,则得到一个8位的商,要进行8位次的BCD码减法循环,例如:56895230/8=7111903.8,要进行7111903.8次循环,计算的速度可想而知。
在本设计中借鉴了一般十进制除法的运算方法,从高位开始相减,大大减少了循环次数。下面以一个例子说明它的原理:
・将被除数和除数移位,使其第一位BCD码不为0000,并记录移位的次数P(例如:56895230/80000000,p=8)。
・比较最高位的大小,如果除数的最高位大于被除数的最高位,则将除数右移4位,同时将P减1(即:56895230/08000000,且p=7)。
・得到的数卢为小数点的位置(F:7说明小数点的位置在第七位数后)。
・循环相减。当部分余数小于08000000,再将部分余数左移四位,继续进行相减。循环m次后即可得到m个有效数字的结果,然后根据p可以确定小数点的位置。
使用这种方法计算一个8位数的除法运算,循环减法次数最大为80次,每次循环使用时间为8个时钟周期。如果工作频率为100MHz,则最长的运算时间为6.4μs,运算速度大大提高。
图4
3 设计实现
采用VHL语言设计一个复杂的电路系统,运用自顶向下的设计思想[2],将系统按功能逐层分割的层次化设计方法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。根据频率计的系统原理框图(图1),运用自顶向下的设计思想,设计的系统顶层电路图如图4所示。各功能模块采用VHDL语言来描述。
在计数模块中,通过译码完成的信号COMP和标准信号计数器的溢出信号ov2对门控信号CL进行控制。可以根据不同的情况选择门控信号的时间范围,使设计具有一定的灵活性。采用门控信号CL和被测信号BSN对两个8位十进制计数器进行同步控制[3]。根据D触发器的边沿触发的特点,可以将输入的门控信号CL作为D触发器的输入信号,而将被测信号BSN作为D触发器的脉冲控制信号,使触发器的输出端只有在被测信号BSN上升沿时才发生变化,实现了对使能信号的双重控制。
本设计比较重要的一部分是运算单元。由于在运算单元中采用的是串行运算,因此其工作频率必须足够高。在FPGA中实现时,如何提高串行BCD码除法运算的速度是比较关键的问题。
BCD码减法运算采用行波进位方法,因此必须尽量减小进位逻辑上的延迟。ACEX 1K系列的每个LE中都提供了一个专用的进位链和级联链,充分利用这些资源可以提高多位串行BCD码减法的性能。根据ACEX1K系列周期约束,其延时为:
Tclk=Tco+B+Tsu-(E-C)
式中,Tco为clock-output的延时,Tsu为建立时间,两个时间均可达到1~2ns;B表示数据延时,为0.6ns;E-C)表示时钟倾斜[4]。因此,总时钟延时为4.6ns,即工作频率可以达到200MHz以上。本文采用100MHz的工作频率,提高了运算速度。为了减小延时、提高工作效率,在对布局布线进行精确控制以后,把BCD码减法运算做成模块,在除法运算过程反复调用,达到了模块复用效果,大大提高了资源的利用率。
在整个BCD码除法运算单元,首先通过输入数据决定信号是否超出测量范围。
・当ov1为1时,该信号的频率大于1Hz;
・当NS ・当NS=NX,该信号的频率为1Hz; ・当NS>NX,该信号频率在测量范围内。 根据输入的NS和NX计算输入信号的频率。 除法运算通过双状态机的设计控制一个BCD码减法运算。所有状态用同一时钟进行控制,实现了系统的同步设计,消除了异步逻辑中存在的种种险象。各个状态之间的关系如图5所示。当计数模块完成计数时,则将数输入除法模块,开始移位以确定输入的 值;然后发clrs信号到BCD码减法运算单元开始运算,循环相减。当循环结束时,发回一个HNS信号,部分余数开始移位,进行下一轮的循环。最终输出FOUT,即运算单元结束。 本频率计设计采用8位的十进制计数器,随后应用状态机实现了高速串行BCD码除法运算,计算出频率值。对BCD码减法模块的复用,减小了资源的利用。 当今VLSI的发展日新月异,FPGA的容量和速度成倍地增长,而价格却逐年下降,这将使得基于FPGA设计的数字频率计优势更加明显。相信这一技术必将得到更加广泛的应用。 摘要:与传统加法器相比,数字串行加法器具有工作频率高、占用资源少、设计灵活等优点。介绍了数字串行加法器的原理,说明了该加法器在FPGA上的实现要点及其在匹配滤波器设计中的应用。 关键词:加法器位并行数字串行FPGA匹配滤波器 与传统DSP相比,定制DSP具有速度更高、设计灵活、易于更改等优点,常常应用于设计方案和关键算法的验证。 在DSP运算中,加法是最常用的。常见的加法器是位并行的(Bit-parallel),在一个时钟周期内完成加法运算。其速度较高,占用的资源较多。但是,在很多应用中,并不需要这么高的速度,而且希望减小资源消耗。这时可以采用数字串行(Digit-serial)加法器,利用多个时钟周期完成一个完整的加法运算,从而使占用的资源大幅度减少。为了使数字串行加法器具有更广泛的应用范围,设计的关键是要使电路达到尽可能高的工作频率,以取得高的数据吞吐量(Throughput),从而满足系统其它部分的速度要求。 1数字串行加法器 在数字串行加法器中,字长为W的操作数被分为P个位宽为N(N能被W整除,P=W/N)的数字,然后从低位开始相加,在P个时钟内完成加法操作。P个时钟周期称为一个采样周期(SamplePeriod)。 N=2的数字串行加法器结构如图1所示。如果输入操作数的字长为8,那么串行加法器可以在4个时钟周期内完成加法运算。这个加法器只用了两个全加器的资源,比一般的8bit行波进位加法器小。 数字串行加法器的控制也比较简单,输入移位寄存器完成并行-串行转换功能,通过移位操作不断为加法器提供位宽为N的操作数;Control信号指示了新采样周期的开始,此时carry清零;输出移位寄存器完成串行-并行转换,输出计算结果。 对于特定的输入字长,通过选择不同的N,可以实现速度、面积不同的数字串行加法器。这样,设计者可以根据实际情况加以选择,提高了设计的灵活性。 图22bit全加器连接示意图 2高速数字串行加法器在FPGA上的实现 由于数字串行加法器要用P个时钟周期才能完成整个加法操作,因此其工作频率必须足够高。这样,在FPGA上实现时,如何使串行加法器具有尽量高的工作频率就将成为关键问题。下面以Xilinx公司的VirtexE系列FPGA为例,说明如何设计高速数字串行加法器。 VirtexE的一个CLB(ConfigurableLogicBlock)包含两个slice,图2为在一个slice上实现2bit全加器的连接示意图(不相关的逻辑已略去)。 数字串行加法器的结构是行波进位加法器,因此必须尽量减小进位逻辑上的延迟。VirtexE的slice中提供了专用的进位逻辑和布线,充分利用这些资源可以提高加法器的.性能。 对VirtexE系列,数字串行加法器应选用奇数位宽,这是因为在VirtexE中一个slice包括两个LUT(查找表)、两个触发器和一些其它的组合逻辑,因此使用一个slice刚好可以实现一个1bit的全加器,使用两个slice可以实现一个3bit的全加器。如果要实现2bit的全加,则需要一个slice完成2bit的相加和保存,另外还需要一个slice中的一个寄存器用来存储进位,这样两个slice整体的利用率就降低很多。数据位宽为2、4、6、8等偶数时都存在这样的问题。图3为N=3时加法器的布局布线示意图。由于专用的进位链布线资源仅存在于纵向的两个slice之间,所以在实现3bit加法器时,使用纵向相邻的两个slice。 加法器的关键路径在进位链上,其延时为: TCKO+T$Net_Carry_reg+TBXCY+T$Net_Carry_out+TCKCY =1.0+T$Net_Carry_reg+0.54+T$Net_Carry_out+1.3 =2.84+T$Net_Carry_reg+T$Net_Carry_out 式中,TCKO为DFF的CLK到XQ/YQ的延时, TBXCY为BX到COUT的延时,TCKCY为CIN到DFF的建立时间。这些延时的数值可以从手册获得。连线延时包括$Net_Carry_reg和$Net_Carry_out的延时。前者是进位链,延时为0;后者为普通连线,延时约为0.47ns。因此,总延时约为3.31ns,即工作频率约为300MHz。 为了减小延时、提高工作频率,使用FPGAEditor对布局布线进行精确控制,并把加法器做成硬宏,有利于保证多次实例化时的性能。现将使用宏完成的设计和使用HDL语言完成的设计在工作频率上做一个比较。使用Virtex50E-6pq240器件、xst综合器时,用宏完成的3bit数字串行加法器的最高工作频率为300MHz,而用HDL完成的相同设计的最高工作频率只有186MHz。这是由于设计用HDL输入时,布局布线工具用了3个slice,第一个slice完成2bit全加器,第二个slice完成1bit全加器,第三个slice只用了内部的一个触发器来存储进位,第一、二个slice之间用进位链连接,延时为0,但是第二、三个slice之间只能使用普通连线,而且第三个slice的输入CIN到触发器的建立时间较大,因而影响了串行加法器的运行速度。 数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。 匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为: h(t)=s(T-t)(0≤t≤T) 设s(t)为输入波形,则其输出波形为: 可知滤波输出R(t-T)是输入信号的自相关函数。 在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。 系统对匹配滤波的设计要求是:匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。 设计中用到的加法树有256个7bit输入,计算结果为15bit。采用一般加法器实现的结构如图6(a)所示,在VirtexE中约占1100个slice,资源消耗过大。为了减小资源消耗、提高设计密度,使用上述3bit数字串行加法器对加法树进行改进,改进后的结构如图6(b)所示。由于减小了加法器的运算宽度,大大降低了使用的逻辑资源,整个加法树大约只用512个slice。 使用数字串行加法树完成加法运算需要的时钟周期与加法器的位宽有关,增加加法器的位宽可以减小运算需要的时钟周期、提高滤波器的数据吞吐量,但是也增加了硬件资源的消耗。所以在处理能力满足的条件下,应该选择比较小的位宽。列出了用不同位宽的数字串行加法器实现的加法树的工作频率和占用资源,选用器件为XCV200E-6BG352,综合工具为XST。 对于本设计,如果使用1bit的数字串行加法器,数据经过加法树之后从7bit扩展成15bit,所以数据完全输出需要15个时钟周期。根据这些要求,为了使得滤波器达到30.72MHz的处理速度,1bit的串行加法器必须工作在15×30.72=460.8MHz。如果使用3bit串行加法器,数据完全输出需要15/3个时钟周期,即加法器的工作频率应为5×30.72=153.6MHz。3bit的数字串行加法树可以满足设计要求,而资源占用是一般加法树的50%。 数值计算中Bcd码校验电路的分析与设计 关键词:BCD码、数值计算、并/串行、校验 引言 微处理器的工作过程是大量数据的输入--运算--输出的过程,其中相当数量的数据使用十进制形式表达。使用者希望微处理器的输入数据和输出结果能使用十进制形式表达,而在微处理器内采用二进制表示和处理数据更方便,所以在二者之间的数制转换是必要的。通常采用两种方式解决这一问题。 方法1:十--二进制转换电路将输入的十进制数据转换为相应的二进制数据,微处理器内部算术逻辑单元仍然执行二进制数据运算微操作,运算结果再进行二--十进制转换,将结果以十进制形式输出。 方法2:算术逻辑单元对二进制数据处理能力的前提下,增加少量硬件线路,使之对某种二进制编码形式表示的十进制数据具有直接处理能力,该算术逻辑单元能够接收特定二进制编码构成的十进制数据,可以产生相同编码组成的计算结果,在数据处理过程中该单元执行十进制数据运算微操作。 微处理器使用中涉及大量的数据输入输出操作,显然方法1不是理想的选择,因而从提高机器的运行效率,简化机器结构和保证系统时序结构的规整性考虑,方法2更有实用价值。 所以本文讲述了方法2为算法依据的BCD加减电路。 校验原理 在计算机得数值计算中,数值经常是以BCD码表示的十进制进行运算的。即一位BCD码用4位二进制位表示。但是BCD的加法需要两个加法器来完成,如果分析一下BCD数的加法过程,原因就很清楚。请看下面: 令A=1000,B=0111,这两个数都是正确的BCD码,如果两个操作数直接相加,结果不是一个BCD码: 1000 + 0111 1111 正确的BCD码加法运算应为1000+0111=(1)0101即8+7=15。其它BCD码操作数运算的结果也能产生不正确的BCD码结果。实际上当结果大于9或者有进位时,就要进行BCD的校验,以确保结果的正确性。 对于产生进位得情况,加法器直接提供了二进制的进位输出,即BCD修正信号Y=C.而对于结果大于9,需要修正的数为1010-1111。 把它们作为四变量布尔表达式的最小项,就能化简逻辑。即Y=E3E2+E3E1.其中E3 、E2、E1、E0是加法器的和的输出。综合以上结果可得BCD修正信号Y=E3E2+E3E1+C.修正电路如图一所示 下面就已四位并行加法器和一位串行加法器两种电路形式来讨论BCD码的验证。 图二 4位并行加法器BCD加法电路 图二所示为4位并行的BCD加法器电路。其中上面加法器的输入来自低一级的BCD数字。下面加法器BCD的输出E3、E2、E1、E0和COUT至高一级BCD数字,其A3和A1位接地,即当BCD校验信号为真时Y=1,A3A2A1A0=0110,以实现加6的调整.当不需要BCD调整时Y=0,此时A3A2A1A0=0000,从而使输出结果无变化. 虽然4位并行加法器运算速度较快,但是所用逻辑门较多。图三所示为一位串行BCD加法器。它是以牺牲速度以达到减少硬件逻辑门的`目的,这种电路在对频率要求不高的系统中非常之适用。其中ADDER1、ADDER2均为一位全加器。ADDER1做主运算器,ADDER2做BCD校验运算器,不管是否做BCD校验,ADDER2的初始进位、借位始终为“1”。 图三中Z型门为延时电路,延时一个时钟周期,这样在外部电路控制下,经过四个时钟周期,得到一位十进制BCD结果E3E2E1E0.由电路图所以当C+(E3E2+E3E1)逻辑值为‘1’时,控制多路选择器选择A通路(A通路为序列1001),当C+(E3E2+E3E1)为‘0’时,选择B通路(B通路序列为1111),即需要校验时,多路选择器输出序列1001;不需要校验时,输出序列1111,与Z型门的输出对应相加,并且ADDER2的初始进位始终为‘1’,由此可完成BCD的校验工作。 图三 一位串行BCD加法器电路 下面是基于4位并行BCD加法器算法的一种快速BCD的加法器VERILOG硬件描述语言程序及其仿真结果。 module bcd_check (data_i,data_o,cy_i,cy_o,en,z_i,z_o); input data_i; input cy_i; input z_i; input en; //insructure output cy_o; output data_o; output z_o; wire [3:0] data_i; wire cy_i; wire en; reg z_o; reg cy_o; reg [3:0] data_o; //}} End of automatically maintained section reg [4:0] TEMP_RESULT; always @(data_i or cy_i or en ) if(en == 0) begin cy_o=cy_i; data_o=data_i; z_o=z_i; end else begin if(data_i[3]&&data_i[1] ||(data_i[3]&&data_i[2]) || cy_i==1) TEMP_RESULT = {1'b0,data_i } + {1'b0,4'b0110 } + cy_i; else begin TEMP_RESULT[3:0]=data_i; TEMP_RESULT[4]=cy_i; end data_o = TEMP_RESULT[3:0]; z_o = | TEMP_RESULT[3:0]; cy_o = TEMP_RESULT[4]; end 例如:两个十进制数2189+8075的正确结果应为11064,可是,相加运算后的结果为FEH,为此应进行BCD调整。将为经校验的相加结果0010,1001,1000,1001(十进制2989)+1000,0000,0111,0101(十进制8075)=1010,1001,1111,1110代人上述BCD校验模块,可得仿真结果如图四。 图四 仿真结果 有图可知data_o为1064 且进位输出为1,即总的结果为11064,这与2989+8075=11064的结果是一致的。 结束语 本文通过对BCD码算法和并/串行BCD校验电路的分析,提出了一种高效,快速的BCD校验模块。由上面仿真结果可知,此种电路速度较快,硬件电路简单。适合实时处理系统。 分析PROTEUS数字频率计的设计论文 摘要:该数字频率计主要由74系列集成电路组成,它除具有基本的计频功能外,还具有对信号进行放大整形、选择时基信号、自动清零、自动换挡等功能。将待测频率的信号加入到信号输入端,与时基信号经闸门电路送入低位计数器的脉冲端开始计数,利用时基信号的下降沿经反相器去控制锁存器74HC273,将信号锁存,并用时基信号的低电平去给计数器清零,达到了很好的效果,以此实现计数、清零、换挡的功能。并通过Proteus仿真软件验证了设计的正确性。 关键词:数字频率计74系列集成器件Proteus 中图分类号:TP39 文献标识码:A 文章编号:1007-941608-0006-03 1 系统结构框图及工作原理 数字频率计的结构框图如图1所示。工作原理:接通电源后,首先检测一下时钟源是否起振,然后将分频电路得到四种基频信号,待测信号通过放大整形后与时基电路一起送给闸门电路,从闸门电路出来的信号送入低位计数器开始计频,然后由最高位进位信号控制四种基频的选择,再由数据分配器去控制每一个小数点,从而简便的完成了换挡功能。在这里,我们用时基信号的下降沿经反相器去控制锁存信号,将数据读出,再由时基信号的低电平去控制计数器清零,进而保证了锁存是在清零之前,有效地完成两部工作。最后,由译码器将锁存的信号译码后,再由数码管显示出来。 2 系统功能仿真调试 应用Protues进行仿真,验证所设计的电路能否将待测信号进行放大整形,能否实现频率测量,能否自动换挡、自动清零,测量高频时有无较大的误差,信号能否起振等。 2.1 放大整形电路 2.1.1 调试目的 测试放大整形电路是否具有放大整形的能,整形出来的波形是否为较为标准的方波信号。 2.1.2 调试电路 调试电路如图2所示。 2.1.3 调试结果 假设输入正弦波的幅值为2v,其显示结果为如图3所示。 2.2 计频电路 2.2.1 调试目的 调试该频率计能否实现自动换挡、自动清零以及能否测量出0-9.999MHZ的信号频率。 2.2.2 调试电路 频率测试电路如图4所示。 2.2.3 调试结果 1、待测信号的'频率设为888HZ,其四位数码管的显示结果如图5所示。 2、待测信号频率设为12.58KHZ,其四位数码管的显示结果如图6所示。 3、待测信号频率设为100KHZ,其四位数码管的显示结果如图7所示。 4、待测信号频率设为1050KHZ,其四位数码管的显示结果如图8所示。 3 调试结果分析 3.1 调试电路已实现的功能 通过先分步调试后整体调试的方法,本设计已实现了测量范围从0-9.999MHZ的精确频率测量,并且能够自动换挡、自动清零。该数字频率计可主要用于测量正弦波、矩形波、三角波、尖脉冲等周期信号的频率值。 3.2 调试中遇到的问题和此电路的不足 在调试的过程中遇到的问题主要在于对逻辑控制电路和闸门电路的调试。刚开始电平出现了黄色和测量高频率时测不出数值的问题,即使测量出来了,也会等很久,而且计出来的值总是比所设的值大一,于是我就将两个锁存端直接连接,缩短了它的反应时间,再用与非门做闸门电路,很好的解决了以上问题,并且计数很精确,所花的时间也很少。该电路的不足之处就是在于如果频率要求更高,那么对元器件的要求就更高,用这一电路就很难实现,就只有用微控制器MCU来完成此类频率计的设计了。 [参考文献] [1] 赵淑范等.电子技术实验与课程设计[M].北京:清华大学出版社,. [2] 贾更新.电子技术基础实验设计与仿真[M].郑州:郑州大学出版社,2009. [3] 朱清慧等.Proteus教程―电子线路设计、制版与仿真[M].北京:清华大学出版社,. [4] 邹其洪等.电工电子实验与计算机仿真[M].北京:电子工业出版社,. 基于串行存储器的FPGA在线高速重载 本文介绍了通过控制器和片外flash Memory实现FPGA的配置,利用此方法并采用Multi_PS模式实现北京谱仪第三代(BESIH)改造工程的Muon鉴别器电子学数据读出系统中665块FPGA的.在线高速重载.篇3:高速数字串行加法器及其应用
篇4:高速数字串行加法器及其应用
篇5:数值计算中Bcd码校验电路的分析与设计
篇6:分析PROTEUS数字频率计的设计论文
篇7:基于串行存储器的FPGA在线高速重载
篇8:NRZ-HDB3码转换器的高速长距离通信
NRZ-HDB3码转换器的高速长距离通信
摘要:HDB3码无直流分量,具有时钟恢复和较好的抗干扰能力。本文提出使用HDB3码用于高速长距离的数据传输,并给出使用单片机AT89C51控制E1收发芯片DS2153Q实现NRZ-HDB3的码制转换,包括码转换器的电路设计和控制软件设计。关键词:NRZ HDB3 单片机 E1收发芯片 DS2153Q
常用的NRZ码不适合在高速长距离数据通信的信道中传输,因而选用了另外一种编码―HDB3码。HDB3码是串行数据传输的一种重要编码方式。和最常用的NRZ码相比,HDB3具有很多优点,例如:消除了NRZ码的直流成分,具有时钟恢复更好的抗干扰性能,这使它更适合于长距离信道传输。
E1信号选用HDB3编码方式,速率2.048Mbps,可以在特性阻抗120Ω的RJ45平衡双绞线上传输1.5km,能够满足大多数情况下数据的高速长距离传输。在数据速率小于2.048Mbps的高速速率时,可以通过插入额外数据比特提高数据数率。E1收发芯片DS2153Q完全符合E1信号标准,而且具备外围微控制器接口,大大提高了该芯片的可用性。
E1有成帧、成复帧与不成帧三种方式。在成帧的E1中,第0时隙用于传输帧同步数据,其余31个时隙可以用于传输有效数据;在成复帧的E1中,除了第0时时隙外,第16时隙是用于传输信令的`,只有第1~15,第17~31共30个时隙可用于传输有效数据;而在不成帧的E1中,所有32个时隙都可用于传输有效数据。本文提出的NRZHDB3码制转换器的E1工作在不成帧方式,也就是说E1的32个时隙均用于传输有效数据。
1 E1收发芯片DS2153Q简述
DS2153Q是Dallas公司的T1/E1收发芯片,符合最新的E1线路标准,包括ITU G.703、G.704、G.706、G.823、I.431、ETSI300 011、300 233、TBR12和TBR13等,该芯片能完成NRZ和HDB3码间的相互转换,码率可达2.048Mb/s,而且在片内集成了接收NRZ码的数据时将恢复电路,更有利于后级接收电路。片内D/A能够实现G.703标准的输出波形,适用于75Ω和120Ω特性阻抗的双绞线,并且具有完善的数据流状态监测功能,可以实时指示数据流的传输状况。
DS2153Q的外围微控制器接口使其可以很容易与单片机等MCU接口连接。其内部的71个8位寄存器使用户可以通过MCU对DS2135Q进行功能配置和状态监测这些寄存器主要有接收控制寄存器、发送控制寄存器通用控制寄存器、中断屏蔽寄存器和工作状态寄存器图1为DS2135Q的内部结构图。
2 码制转换器电路设计
NRZ-DB3码制转换器为NRZ码到HDB3码和HDB3码到NRZ码的转换,设计选用专用E1收到芯片DS2153Q和单片机AT89C51实现该码制的转换功能。该码制转换器把输入的NRZ转换为HDB3码输出,同时接收E1线路上的数据转换成HRZ码,并恢复出数据时钟,供后级数据接收单元使用。
AT89C51为Atmel公司的8位单片机,负责控制通信芯片DS2153Q的工作模式和状态监,使其完成NRZ码到HDB
[1] [2] [3] [4] [5]
篇9:NRZ-HDB3码转换器的高速长距离通信
NRZ-HDB3码转换器的高速长距离通信
摘要:HDB3码无直流分量,具有时钟恢复和较好的抗干扰能力。本文提出使用HDB3码用于高速长距离的数据传输,并给出使用单片机AT89C51控制E1收发芯片DS2153Q实现NRZ-HDB3的码制转换,包括码转换器的电路设计和控制软件设计。关键词:NRZHDB3单片机E1收发芯片DS2153Q
常用的NRZ码不适合在高速长距离数据通信的信道中传输,因而选用了另外一种编码―HDB3码。HDB3码是串行数据传输的一种重要编码方式。和最常用的NRZ码相比,HDB3具有很多优点,例如:消除了NRZ码的直流成分,具有时钟恢复更好的抗干扰性能,这使它更适合于长距离信道传输。
E1信号选用HDB3编码方式,速率2.048Mbps,可以在特性阻抗120Ω的RJ45平衡双绞线上传输1.5km,能够满足大多数情况下数据的高速长距离传输。在数据速率小于2.048Mbps的高速速率时,可以通过插入额外数据比特提高数据数率。E1收发芯片DS2153Q完全符合E1信号标准,而且具备外围微控制器接口,大大提高了该芯片的可用性。
E1有成帧、成复帧与不成帧三种方式。在成帧的E1中,第0时隙用于传输帧同步数据,其余31个时隙可以用于传输有效数据;在成复帧的E1中,除了第0时时隙外,第16时隙是用于传输信令的,只有第1~15,第17~31共30个时隙可用于传输有效数据;而在不成帧的E1中,所有32个时隙都可用于传输有效数据。本文提出的NRZHDB3码制转换器的E1工作在不成帧方式,也就是说E1的32个时隙均用于传输有效数据。
1E1收发芯片DS2153Q简述
DS2153Q是Dallas公司的T1/E1收发芯片,符合最新的E1线路标准,包括ITUG.703、G.704、G.706、G.823、I.431、ETSI300011、300233、TBR12和TBR13等,该芯片能完成NRZ和HDB3码间的相互转换,码率可达2.048Mb/s,而且在片内集成了接收NRZ码的数据时将恢复电路,更有利于后级接收电路。片内D/A能够实现G.703标准的输出波形,适用于75Ω和120Ω特性阻抗的双绞线,并且具有完善的数据流状态监测功能,可以实时指示数据流的传输状况。
DS2153Q的外围微控制器接口使其可以很容易与单片机等MCU接口连接。其内部的71个8位寄存器使用户可以通过MCU对DS2135Q进行功能配置和状态监测这些寄存器主要有接收控制寄存器、发送控制寄存器通用控制寄存器、中断屏蔽寄存器和工作状态寄存器图1为DS2135Q的内部结构图。
2码制转换器电路设计
NRZ-DB3码制转换器为NRZ码到HDB3码和HDB3码到NRZ码的转换,设计选用专用E1收到芯片DS2153Q和单片机AT89C51实现该码制的转换功能。该码制转换器把输入的NRZ转换为HDB3码输出,同时接收E1线路上的数据转换成HRZ码,并恢复出数据时钟,供后级数据接收单元使用。
AT89C51为Atmel公司的8位单片机,负责控制通信芯片DS2153Q的工作模式和状态监,使其完成NRZ码到HDB3码和HDB3码到HRZ码的转换。同时,该单片机的外围电路还包括μP监控电路IMP813L,用于提高码制转换器工作的抗干扰能力和可靠性。
图2是该码制转换器的结构框图。
DS2153Q的并行数据/地址线与单片机的P0口相连;片选信号选用单片机的P2.0;单片机的读写信号与DS2153Q的读写信号相连;同时,DS2153的两个中断申请线与单片机的INT0和INT1相连。这样DS2153Q可以通过中断的方式及时通知单片机自身的工作状态。AT89C51与DS2153Q的电路连接图如图3所示,通过以上的硬连接,实现单片机对DS2153Q的控制和状态监控。
图3AT89C51与DS2153Q电路连接图
该码制转换器选用IMP813L作为μP监控电路,实现可靠上电复位和看门狗控制。DS2153Q的时钟信号是通过对单片机时钟信号的二分频来实现的。单片机选用16.384MHz的时钟信号,使用74HC74二分频后,得到8.192MHz的频率信号作为DS2153Q输入时钟。
在DS2153Q的电路设计中,为了使其工作在不成帧方式,发送的数据全部从TSER引脚输入,需要将引脚TLINK和TSER短接。发光二极管用于转换器的工作指示,可以直观判断当前数据转换是否正常。
该码制转换器使用特性阻抗120Ω的RJ45平衡双绞线进行数据传输,DS2153Q收发电路如图4所示,传输变压器输入输出匝数比为1:1.36。
3
单片机控制程序设计
转换器单片机控制程序包括两部分:DS2153Q的功能配置和DS2153Q工作状态监控。DS2153Q的功能配置实现HDB3码的正常动作;DS2153Q工作状态监控用来实时获得当前转换器是否工作正常,并及时上报和指示。
3.1DS2153Q功能配置
转换器上电后,首先由μP监控电路进行有效复位,保证单片机的'正常初始化,一单片机即进入通信芯片DS2153Q的配置过程。
①初始化测试寄存器,向相应测试寄存器写0即写。
②进行接收控制存器(RCR)的配置,包括接收帧模式、自动重同步使能、重同步准则和接收动态存储功能等,使DS2153Q接收单片工作在AutoResync、DisableElasticStore。
③进行发送控制存器(TCR)的配置,包括发送帧模式、自动设置故障位和16位引脚的功能选择等,使DS2153Q发送单元工作在E-bitsnotautomaticallysetinthetransmitdirection,并根据当前转换模式的不同设置16引脚的功能,0=ReceiveLossofSync(RLOS)、1=LossofTransmitClock(LOTC)。
④进行通用控制存器(CCR)的配置,使能DS2153Q、HDB3码的接收和发送、配置错误计数器更新时间、禁止动态存储发送数据等。
⑤初始化中断屏蔽寄存器,使能接收载波丢失、接收失步中断、接收数据全0和全1中断,使能发送时钟丢失中断,通过这些中断使单片机可以及时得知DS2153Q的工作状态,实现单片机对其的实施监测。
⑥初始化传输线接口单元,向LIRST数据位写0,然后写1,使传输线接口进入正常工作模式。
⑦初始化传输线接口控制寄存器,包括传输波形选择、接收均衡器增益选择、抗抖动抑器选择等。
单片机控制流程如图5所示。
下面是DS2153Q的功能配置程序(部分)。
;*****************************************************;
MOVA,02H
MOVDPTR,#RCR1
MOVX@DPTR,A;写寄存器RCR1,使能自动重新同步
NOP
MOVA,#04H
MOVDPTR,#RCR2
MOVX@DPTR,A;写寄存器RCR2,禁止弹性存储功能
NOP
MOVA,#41H
MOVDPTR,#TCR1
MOVX@DPTR,A;写寄存器TCR1,TSYNC为输出方式
NOP
MOVA,#0F9H
MOVDPTR,#TCR2
MOVX@DPTR,A;写寄存器TCR2,E数据位禁止自动置位
NOP
MOVA,#44H
MOVDPTR,#CCR1
MOVX@DPTR,A;写寄存器CCR1,允许接收和发
NOP;HDB3码
NOVA,#00H
MOVDPTR,#CCR2
MOVX@DPTR,A;写寄存器CCR2,配置错误计数寄存器
NOP
;********************************************************
3.2DS2153Q状态监控设计
在完成DS2153Q的寄存器配置后,单片机即进入传输状态
监测程序,实时监控DS2153Q的工作正常与否,包括状态寄存器的读取和DS2153Q中断的响应,并从中判断故障、及时通报。
(1)发送状态监控
DS2153Q的发送状态监控是通过单片机的INT1来实现的。当状态寄存器的发送状态位置1,则DS2153Q产生中断,片机响应该中断来读取当前状态寄存器的故障位。当读取完毕后,需要向该状态寄存器特定状态位写1,保证以后的故障可以正确置位。
下面给出了NRZ发送时钟丢失故障的状态监控程序(中断1处理程序)。
MOVDPTR,#SR2;读DS2153Q状态寄存器2
NOP
MOVXA,@DPTR
ANLA,#04H
JNZERROR
SJMPFAVER
ERROR:SETBERR_SR
SJMPLOCKE
FAVER:CLRERR_SR
LOCKE:JNBERR_SR,WORK;判断发送数据时钟丢失与否
SETBP1.0;故障,工作指示二极管灭
SJMPEVER
WORK:CLRP1.0;正常,工作指示二极管亮
EVER:MOVDPTR,#SR2
MOVA,#04H
MOVX@DPTR,A
RETI
(2)接收状态监控
DS2153Q的接收状态监控是通过单片机的INT0来实现的。当状态寄存器的发送状态位置1,则DS2153Q产生中断,单片机响应该中断来读取当前状态寄存器的故障位。当读取完毕后,需要向该状态寄存器的特定状态位写1,保证以后的故障可以正确置位。
下面给出了HDB3码接收载波丢失故障的状态监控程序(中断0处理程序)。
MOVDPTR,#SR1;读DS2153Q状态寄存器21
NOP
MOVXA,@DPTR
ANLA,#02H
JNZERROR
SJMPFAVER
EPPOR:SETBERR_SR
SJMPLOCKE
FAVER:CLRERR_SR
LOCKE:JNBERR_SR,WORK;判断接收载波丢失与否
SETBP1.0;故障,工作指示二极管灭
SJMPEVER
WORK:CLRP1.0;正常,工作指示二极管亮
EVER:MOVDPTR,#SR1
MOVA,#02H
MOVX@DPTR,A
RETI
4总结
NRZ-DB3码制转换器采用E1收发芯片DS2153Q,完成NRZ码到HDB3码和HDB3码到NRZ码的转换,实现高速长距离的数据传输,使2.048Mb/s数据流在RJ45接口的双绞线上实现1.5km的传输距离,满足大多数的高速数据传输情况。
★ 计算机基础试题
【基于高速串行BCD码除法的数字频率计的设计(推荐9篇)】相关文章:
计算机应用基础练习试题2022-12-24
计算机与网络英语词汇(R1)2023-09-03
计算机基础知识考试题2022-05-02
计算机excel试题和答案2022-11-02
计算机与网络英语词汇(I1)2024-05-09
计算机应用基础报告2023-04-07
其它体育英语词汇和术语之一:拳击2023-09-23
关于单片机生产实习报告2023-03-19
单总线协议转换器在分布式测控系统中的应用2022-11-17
《计算机组装与维修》说课稿2022-06-22