- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9期
种实时动态采集。也就说, 控制哪个通道工作的控制信号 不是一个固定不变的周期信号 , 而是随着两个通道采集的 数据变化而变化的, 例如输出的门信号他的宽度要随着输 入频率的变化而变化, 进而 , 门信号用于对核心计数器的 控制; 再次, 因为门信号交替式地对核心计数器控制 , 这样 上次控制结束到下次控制开始之间就会存在时间间隔 , 使 整个器件处于非工作状态, 降低工作的效率。这里利用反 馈, 能将前后的两个控制过程紧密地连接在一起 , 大大地 提高了效率。因此 , 为了实现上述功能, 控制信号的设计 便成为重中之重。
可编程器件应用
电 子 测 量 技 ELECT RON IC M EASU REM ENT
术 T ECH N OLOGY
第 31 卷 第 9 期 2008 年 9 月
一种基于 VHDL 的乒乓操作控制法的研究*
林 辉 苏振强
厦门 361000) ( 厦门大学机电系
摘
要 : 本文将乒乓操作 的控制方法应用于双通道频率 / 数字的数据采集中 , 介绍了这种逻辑结构的设计。 重点论述
* 基金项目 : 福建省重大专项前期研究计划 资助项目 ( 2005H Z1022)
# 170 #
林辉 等 : 一种基于 VH DL 的乒乓操作控制法的研究
入的数据流缓存到! 数据缓冲模块 2∀, 同时将! 数据缓冲模 块 1∀缓存的第 1 个周期数据通过 ! 输入数据选择单元∀的 选择, 送到! 数据流运算处理模块∀ 进行运算处理; 在第 3 个缓冲周期通过! 输入数据选择单元∀ 的再次切换, 将输入 的数据流缓存到! 数据缓冲模块 1∀, 同时将! 数据缓冲模块 2∀缓存的第 2 个周期的数据通过 ! 输入数据选择单元 ∀切 换 , 送到! 数据流运算处理模 块∀ 进行运算 处理。如此循 环。乒乓操作的最大特点是通过 ! 输入数据选择单元 ∀和 ! 输出数据选择单元∀ 按节拍、 相互配合的切换, 将经过缓 冲的数据流没有停顿地送到 ! 数据流运算处理模块 ∀ 进行 运算与处理。把乒乓操作模块当做一个整体 , 站在这个模 块的两端看数据, 输入数据流和输出数据流都是连续不断 的 , 没有任何停顿, 因此非常适合对数据流进行流水线式 处理。所以乒乓操作常常应用于流水线式算法, 完成数据 的无缝缓冲与处理。
图 2 乒 乓式操作控制逻辑
这种控制方法的特点是 : 首先, 它能保证对双通道乒 乓式交替地工作, 保证工作正常进行 ; 其次 , 它不是直接用 单片机进行多通道采集的那种简单的等分时采集, 而是一
# 171 #
第 31 卷
电
子
测
量
技
术
con 初始值没有保持为 0, 而是为 1。如果将 con 反馈到通 道 A 和通道 B 进行控制 , 过程将无法进行。 ( a1 为 a 下降 沿脉化脉冲 )
图 4 信号 b 下降沿脉冲化
3. 1. 1 脉冲沿脉化要素[ 6] 因为是借助于外信号 CL K 的采集, 所以 b1 的产生会 有一定的延迟。而且为保证让 f1, f2 能够采集到信号 b 上 升沿后的高电平, b 的高电平至少要大于等于一个 CLK 的 周期。 如图 5 所 示, 门信 号 1 和 2 的 高电 平 都持 续 半个 C LK, 虽然门信号 1 有下降沿的沿化脉冲 , 但门信号 2 因为 没有捕捉到 CLK 的上升沿 ( 因为这里程序用 clk event and clk= '1' 触发) , 所以没有产生沿化信号 , 经分析可知, 脉化 沿门信号必须大于或等于一个 CLK 周期, 才能保证脉化 成功。
关键词 : VH DL ; 乒乓操作 ; 初始值保持 ; 双沿
Research on pipeline control method based on VHDL
L in H ui Su Zhenqiang
( D epart men t of M echanical an d El ect rical Engin eering, X iamen U n iversit y, Xiamen 361000)
图3
控制信号的产生
由以上分析 , 可以看出控制信号的产生过程中涉及到 双沿控制的问题 , 这在 VH DL 的语言中是不允许的。为了 实现这种控制, 本文通过以下步骤来解决此问题。 3. 1 脉冲沿脉冲化 基于 VH DL 中的一个 process 中只能有一个沿判断, 但可有多个电平判断的思想 , 将 B 门信号的下降沿脉 冲 化。所谓的信号沿脉冲化, 即将一个脉冲沿变为一个窄脉 冲, 这样 就可以在 一个 process 中用电平 判断来 代替 沿 判断。 下面先来介绍脉冲沿脉化方法 [ 5] : 如要将 B 门信 号沿 脉化 , 本文 引入 一个 时钟 信 号 CLK, 和 2 个中间信号 f1, f2, 用于捕捉 B 门信号的信号沿。 b1 为 B 下降沿脉化后的脉冲。 用如下方法 : process( clk) begin if( clk'event and clk= '1') then f2< = f1; f1< = b; end if; b1< = f2 and ( not f1) ; end process; 使用 QUART ERS 5. 1 软件进行仿真 , 结果如图 4 所示, 在 b 的下降沿 , b1 生成了一个小脉冲。
图1
典型乒乓操作原理图
1 乒乓操作
乒乓操作[ 1 2] 是一个常常应用于数据流控制的处理技 巧 , 典型的乒乓操作方法如图 1 所示。
乒乓操作的处理流程为: 输入数据流通过! 输入数据 选择单元∀将数据流等时分配到 2 个数据缓冲区 , 数据缓 冲模块可以是任何存储模块 , 比较常用的存储单元为双口 RAM ( DPRAM) 、 单 RAM ( SPRAM ) 和 FIFO 等。在第 1 个缓冲周期 , 将输入的数据流缓存到! 数据缓冲模块 1∀; 在 第 2 个缓冲周期 , 通过 ! 输入数据选择单元 ∀的切换, 将输
3 控制信号产生方法
要实现以上的乒乓操作 , 控制信号的模式为: 控制信 号初始值为 0。而控制信号又是由门信号 A 和 B 控制得 到, 其上升沿应该由门信号 A 的下降沿触发 , 其下降沿应 由门信号 B 的下降沿触发, 如图 3 所示。
wenku.baidu.com
2 逻辑设计
在双通道频 率采集中 , 为了 提高速率和 性能, 将 ! 乒 乓 ∀式方法应用到其中。本文通过一个双通道频率采集 [ 3 4] 例子来更好地说明这个问题。如图 2, A 和 B 通道都计数 相等的 N 个脉冲后, 分别产生出门信号 A , 门信号 B , 显 然 , 门信号的持续时间是随着输入脉冲疏密相关的。然后 用于核心计数器的计数 , 同时输入到控制信号产生器产生 控制信号, 相当于引入了反馈控制。 A 通道和 B 通道动作 在乒乓操作中, 为了保持正常的逻辑, 规定门控制信号为 0 时 , A 通道动作, 控制信号为 1 时, B 通道动作, 且 A 通道 先动作 , 既要求控制信号开始时为 0。而控制信号又是由 门信号 A 和 B 控制得到, 具体为控制信号的上升沿应该由 门信号 A 的下降沿触发 , 其下降沿应由门信号 B 的下降沿 触发, 形成一个小的反馈系统, 这样两个通道的门信号是 互相差开, 并且连接紧密。因而控制信号能够随着输入脉 冲密集程度的变化而变化 , 从而达到动态控制 , 并且两通 道间数据传输紧密。
图6
将 a 下降沿脉化后的 控制信号
3. 3 控制信号的产生 将门信号 b 的下降沿脉冲化后, 原来的双沿信号控制 转化为了一沿和一电平控制 , 这在 VH DL 中是很容易实现 的。规定 A 通道先动作 , con 初始必须保持为 0, 然后 a 的 下降沿使 con 为 1, con 为 1 驱使通道 B 开始动作 , 然后 b 的下降沿通过沿化脉冲 b1, 使 con 为 0, con 为 0 又驱使通 道 A 动作, 如此反复 , 以达到实时动态的流水控制, 以达到 速度的最优化。 控制信号 con 的产生程序如下[ 8] : process( a, b1) begin if b1= '1' then con< = '1'; els if a'event and a= '0' then con< = '0'; end if; end process; 经过以上 3 个步骤 , 就可以正确地得到控制信号 con, 然后反馈到通道 A 和通道 B , 进行流水控制。 用 QU ARTERS 5. 1 软件进行仿真, 仿真如图 7 所 示, 规定 A 通道先动作, 可以看出开始 con 为 0, 保持了初 始值( con 默认初始值为 0) 。A 通道先送出门信号。 con 为 1 后 , 控制 B 通道运行, 此时 , B 通道输出门信号。如此 循环。可以看到, 两通道间动作连接紧密。 将此方法用到双通道频率测量系统中 , 如图 8 所示, 其中 w aveA, w aveB 分别代表通道 A , B 的输入频率, c16a| a, c16b| a, con1b 分别代表 a, b, con 信号 , 这样由 con 控制 的 a, b 信号输出连接紧密的乒乓式的门信号 , 就可以送入 到核心计数器进行各自的计数控制。其过程流畅, 动作紧 凑, 完全能达到预期的目标。
Abstract: T his paper discusses a kind of method that ho w to applies the pipeline techno log y to data acquisition in do uble channel F requency / Data co nv ersio n. T he desig n of this log ic str ucture is described. M oreo ver, emphases ar e put on the details that how t he signal for contro l is g ener ated by means of co nv erting either edg e of the pulse into a pulse, analyzing the delay o f the sig nal and holding the o riginal v alue. So, the defect that the double edge can t be sprung t ogether in a PRO CESS in V HDL could be so lv ed, and the delay of this contr ol met ho d can be limit ed to a ver y small v alue. W ith this kind of log ic contro l, the behav io r go es smoo thly w it ho ut sto p. T his desig n has been successfully simulated in Q U A RT ERS 5. 1 and tested in cy clone chip. Keywords: V HDL ; ping pang operatio n; or ig inal v alue s holding ; double edg ed sig nal
了在 V HDL 中 , 如何通过脉冲信号边沿 ( 上升沿 或下降沿 ) 的脉 冲化 , 信 号延迟分 析和初 始值保 持等方 法来实 现这种 由双沿信号产生 的逻辑控制信号的方法。这样就 解决了 在 V H DL 一个 P ROCESS 过程 语句中 不能实 现双沿 判断的 缺点。这种控制方法延时 小 , 整个过程的动作衔接紧密 , 自动化程度较高。同时 , 可以通过提高采 集时钟 CL K 的频率 来进一 步减小延时。本方法在 QU AR T ERS 设计的 要求。 中图分 类号 : T N3 文献标识码 : B 5. 1 软件中通过时序仿真 , 并下载到 cyclone 芯片中验证 , 完全能满足
0 引
言
随着可编程逻辑器件的不断发展和进步 , 其性能及价 格都在不断地优化 , 使得其使用越来越广泛。在许多场合 都取代了芯片组合式的功能模块, 效率高, 而且使用方便。 本文将双通道采集的逻辑通过 VH DL 语言及乒乓操作来 实现, 借助于 FPGA 的高性能, 其性能和逻辑都将远远超 过芯片的组合 , 实现真正意义上的流水线乒乓操作, 完成 双通道动作的紧密连接。