基于高速串行BCD码除法的数字频率计的设计_第1页
基于高速串行BCD码除法的数字频率计的设计_第2页
基于高速串行BCD码除法的数字频率计的设计_第3页
基于高速串行BCD码除法的数字频率计的设计_第4页
基于高速串行BCD码除法的数字频率计的设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 8 基于高速串行 除法的数字频率计的设计 摘要:介绍了在 片上实现数字频率计的原理。对各种硬件除法进行了比较,提出了高速串行 将其应用在频率计设计中。 键词:频率测量周期测量 态机 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用 程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片 片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。 在设计中,所有频段均采用直接测频法对信号频率进行测量,克服了逼近式换挡速度慢的缺点;采用了门控信号和被测信号对计数器的使能端进行双重控制,提高了测量的精确度;在运算单元采用了高速串行 仅提高了运算速度,而且减小了资源消耗。 1 系统结构及基本设计原理 以一个 8 位十进制、测量范围为 100数字频率计为例,采用 100标准频率信号,说明设计的基本原2 / 8 理及实现。 设计的数字频率计由测量频率模块、计算模块和译码模块组成,如图 1所示。测频模块采用两个十进制计数器分别测出门控时间内的标准信号和被测信号的周期数 x。计算模块则根据公式 s/x,通过译码即可得到被测信号频率的 7段数码显示。 数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。 为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能 信号进行双重控制,大大提高了准确度,如图 2所示。 当门控信号为 1 时,使能信号并不为 1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为 0时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为 0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用 100信号作为标准信号时,误差最大为 0 01 s。 2 高速串行 除法运算原理 利用 现二进制除法运算,一种方法是采用逼近法,这种方法速度低、准确性不高。另一种方法是采取被除 数与除数的倒数相乘的方法,即将除数作为寄存器的地址,其倒3 / 8 数的小数部分作为寄存器的内容,通过一次寄存器寻址来计算除数的倒数。这种方法在一个时钟周期内即可完成一个完整的除法运算,虽然速度较高,但对于多字节除法运算,不仅程序复杂,而且占用资源较多。根据频率计的实际情况,本设计采用串行除法运算,利用多个时钟周期完成一个完整的除法运算,从而兼顾了频率计对速度和资源两方面的要求。 2 1 多位串行 在数字串行除法运算中,减法运算是必不可少的部分。数字串行 的减法运算是将 P 位的 分为 P 个宽为 4的二进制数,然后从低位开始相减,在 P 个时钟周期内完成减法操作。如果输入的操作数位数为 8,那么串行 减法器可以在 8个时钟周期内完成 8 位 数字串行减法的控制也比较简单, 1 位 减法运算完成,进行移位操作,并且移位次数加 1,然后通过采用 移位次数为 出移位寄存器完成串并转换,输出结果。设计者可以根据实际情况,通过选择不同的 n,提高设计的灵活性。本设计选择 n=8。 该设计在提高速度的同时,节省了资源。实验证明,采用1工作频率,实现一 个 8位 用的资源却小于实现 2 位 并行减法运算所耗用的资源。 4 / 8 2 2 多位串行 本设计采用循环式除法运算,循环原理可以用下面的公式表示 1: j+1 =j 式中, j为第 j 步的余数, 0为被除数; d 为除数 ; 为第 j+1 步所得的商; r 为与移位步长有关的常数,在此取为 16。 除法运算循环图表如图 3所示。 循环步骤如下: 将 j左移四位,构成 j。 通过多次 减法运算,求得部分商 ,得到部分余 数。 部分余数、部分商移位,准备下次循环。 高速串行 被除数减除数得到部分余数的 果够减,则使商加 1;否则,余数和商同时左移四位,并记录移位的次数 m,根据对有效位数的不同要求,可以对 m 进行赋值,如果要求保留 8位有效数字,则 m=8。 在这种循环除法运算中,减少循环的次数是提高运算速度比较有效的方法。在一般循环式除法运算中,是从低位开始进行循环相减,循环次数等于商。如果是 8位除法运行,则得到一个 8位的商,要进行 8位次的 减法循环,例如:5 / 8 56895230 8=7111903 8,要进行 7111903 8 次循环,计算的速度可想而知。 在本设计中借鉴了一般十进制除法的运算方法,从高位开始相减,大大减少了循环次数。下面以一个例子说明它的原理: 将被除数和除数移位,使其第一位 000,并记录移位的次数 P(例如: 56895230 80000000, p=8)。 比较最高位的大小,如果除数的最高位大于被除数的最高位,则将除数右移 4 位,同时将 P 减 1(即: 5689523008000000,且 p=7)。 得到的数卢 为小数点的位置 (F: 7 说明小数点的位置在第七位数后 )。 循环相减。当部分余数小于 08000000,再将部分余数左移四位,继续进行相减。循环 后根据 p 可以确定小数点的位置。 使用这种方法计算一个 8位数的除法运算,循环减法次数最大为 80 次,每次循环使用时间为 8 个时钟周期。如果工作频率为 100最长的运算时间为 6 4 s,运算速度大大提高。 图 4 3 设计实现 采用 用自顶向下的6 / 8 设计思想 2,将系统按功能逐层分割的层次化设计方 法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。根据频率计的系统原理框图 (图 1),运用自顶向下的设计思想,设计的系统顶层电路图如图 4 所示。各功能模块采用 在计数模块中,通过译码完成的信号 标准信号计数器的溢出信号 门控信号 行控制。可以根据不同的情况选择门控信号的时间范围,使设计具有一定的灵活性。采用门控信号 被测信号 两个 8 位十进制计数器进行同步控制 3。根据 点,可以将输入的门控信号 为 D 触发器的输入信号,而将被测信号 触发器的脉冲控制信号,使触发器的输出端只有在被测信号 升沿时才发生变化,实现了对使能信号的双重控制。 本设计比较重要的一部分是运算单元。由于在运算单元中采用的是串行运算,因此其工作频率必须足够高。在 何提高串行 减法运算采用行波进位方法,因此必须尽量减小进位逻辑上的延迟。 列的每个 都提供了一个专用的进位链和级联链,充分利用这些资源可以提高 多位串行7 / 8 据 延时为: +式中, 建立时间,两个时间均可达到 12B 表示数据延时,为 0 6示时钟倾斜 4。因此,总时钟延时为 4 6工作频率可以达到 200上。采用 100高了运算速度。为了减小延时、提高工作效率,在对布局布线进行精确控制以后,把 减法运算做成模块,在除法运算过程反复调用,达到了模块复用效果,大大提 高了资源的利用率。 在整个 先通过输入数据决定信号是否超出测量范围。 当 时,该信号的频率大于 1 当 信号频率在测量范围内。 根据输入的 除法运算通过双状态机的设计控制一个 有状态用同一时钟进行控制,实现了系统的同步设计,消除了异步逻辑中存在的种种险象。各个状态之间的关系如图5 所示。当计数模块完成计数时,则将数输入除法模块,开始移位以确定输入的值;然后发 号到 减法运算单元开始运算,循环 相减。当循环结束时,发回一个 分余数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论