一种用于光盘伺服控制系统的通用滤波器的设计

最新更新时间:2009-12-22来源: 电子工程师关键字:Verilog  FPGA验证 手机看文章 扫描二维码
随时随地手机看文章

  1 引 言

  通常,DVD/CD盘片在高速旋转时,由于表面翘曲、不圆度或者外界干扰等因素的存在,使读数光束焦深范围(简称读数光点)对目标信迹的跟踪扫描出现误差。对此,CD、DVD机中设置了伺服控制系统,以实现读数光点对目标信迹的动态跟踪。该系统以PID(比例微积分)闭环控制理论为基础,采用数字滤波的方式实现。该伺服控制系统的实现原理如图1所示。

伺服控制系统的实现原理

  图1中,Gc(z)为控制滤波器,G(s)为光盘读写系统的传递函数,R(s)为预期输出响应,C(s)为实际输出响应。整个闭环控制系统实现的核心是滤波器,它通过改善误差(FE)信号的幅相频特性来实现控制方案。这里,由于滤波器类型和阶数与G(s)密切相关,为了保证伺服控制系统的通用性,必然要设计一种通用可配置的滤波器,这正是本文所要讨论的重点。

  2 系统设计

  2.1 设计原理

  数字滤波器可以用式(1)的差分方程来表示:

公式

  其中,x(n)为输入序列,y(n)为输出序列,ak、bk为各自的系数。其对应的系统函数为:

公式

  当ak不都为0时,就是递归结构的IIR滤波器;当ak都为0时,就是非递归结构的FIR滤波器。

  2.2 设计方法

  由于传统的滤波器设计都与滤波器的类型密切相关,不同的类型采用不同的乘加网络结构实现,因此,无法满足通用的要求。但从滤波器的原始差分表达式(如式(1)所示)可知,FIR和IIR的区别仅在于ak是否为零,两者都进行累加乘积计算,这一特点决定了可以采用编程来配置滤波器的类型和阶数,再用状态机控制累计乘积的方式实现滤波器,从而达到阶数、类型都可配置的目的。

  由上述分析可知,所有的x(k)、y(k)、ak、bk均要由存储器送向运算单元进行计算。若采用以运算单元为中心的冯诺依曼结构,依次从存储器中取数据的做法,则必然会使速度受到很大影响。因此,我们借用Harvard结构将指令和数据分开编址、存取的做法,将x(k)、y(k)和ak、bk分别存放在不同的存储器中,单独编址,加快数据处理速度。同时,考虑到x(k)、y(k)可能同时对存储器读写,将读、写数据总线分开,进一步提高性能。图2就是采用类Harvard结构设计的滤波器的结构图。

采用类Harvard结构设计的滤波器的结构图

  图2中共包含一条指令流,三条数据流。指令流用于配置滤波器的和实现滤波器的读写控制;数据流的D—BUS1用于Y(n)的写回,D—BUS2用于X(n)、Y(n)的读出,Coef—BUS用于滤波器系数的写回和读出。因为系数存储单元和X(k)、Y(k)存储单元都采用双端口SRAM,所以,可同时进行读、写操作。

  运算单元采用算术累加器(MAC)实现。MAC由乘法器和加法器组成,其中,乘法器因为速度的限制,通常采用基于查找表(LUT)的并行分布算法(DA)实现,但该算法占用硬件资源较多,对实现的滤波器的阶数有一定限制,在本电路中不宜采用。在综合考虑面积和速度两方面因素后,最终选用Booth乘法器实现。整个电路的硬件结构图如图3所示。

整个电路的硬件结构图

  其控制逻辑中的配置寄存器(32bits)设计如表1所示。

控制逻辑中的配置寄存器

  需要特别说明的是,在对MEM1和MEM2存放数据时,滤波器系数和X(k)、Y(k)必须是一一对应的,从而使每次读数据时的读地址相同,简化寻址单元的设计。滤波器的运作是由状态机(逻辑单元)控制的,流程如下:

  (1)初始化系数存储单元,根据SP算出X(k)、Y(k)在MEM2中的分界地址SP+N和SP+M+N;

  (2)从MEM1、MEM2的(SP+j)单元读出数据送MAC计算,MEM2读出的数据写回(SP+j-1)单元,j为0时的数据无效,不写回;当j为M+N时,转步骤(4);

  (3)j加1,重复步骤(2);

  (4)一次Y(k)计算完成。将当前ADC的输入写回到MEM2的(SP+M+N)单元;

  (5)将本次计算所得的Y(k)送SP+M,j复位为0,重复步骤(2)。

  3 实现与仿真

  按照上述设计思想,用Verilog对系统进行RTL描述,代码层次结构如图4所示,其中,F—TOP为顶层wrapper模块,连接MAC、STATEM、SRAM三个子模块。MAC实现图3中虚线所示的Booth乘加器,得到的乘积为32 bits数,然后经过舍入调整(rounding)将其转化为16 bits数;STATEM模块实现上文提到的控制流程;SRAM模块由系数SRAM和数据SRAM(存放X(k)、Y(k))组成,分别对应图3的MEM1、MEM2,为了方便后面的验证,直接调用Xilinx的SRAM单元RAMB4—S8—S8。

代码层次结构

  代码使用synopsys VCS进行仿真,通过debussy的PLI接口生成fsdb波形文件。在debussy中对波形(图5所示是波形仿真图)进行分析。当前的配置寄存器的值为0x0000018f,为三阶IIR滤波器。READ—EN为读使能信号,低电平有效。STATE—WE—LOC为写使能信号,低电平有效。RADDR—LOC和WADDR—LOC是存储单元的地址,地址范围从0到5,与三阶IIR滤波器对应;当WADDR—LOC为5时,写入的是X(k),下一时钟周期变为2,写入Y(k)(标尺线所对的值0x000a,已经过rounding处理)。XIN—LOC和YIN—LOC是MAC的输入数据。STATE—LOC和YIN—LOC是MAC的输入数据。CUR—STATE为状态机的状态变化,可以看出,与前面的状态含义和状态机实现策略一致。这里,读写地址在整个运算过程中都占用两个时钟周期是为了保证MAC运算的正确完成,当X(k)和计算所得的Y(k)写回时,不涉及MAC运算,因此,只分配一个时钟周期。

波形仿真图

  为了确保滤波器以及整个控制系统设计的正确性,我们选用Xilinx Spartan2的XC2S50系列做FPGA验证。首先,在synplify中生成网表文件(edf),然后,通过Xilinx ISE生成带延时信息的单元网表文件(v)和线延时文件(sdf),用于在VCS中进行后仿真,最后生成FPGA下载文件(bit)。XC2S50硬件占用情况如表2所示。表2所示是FPGA资源分配表。

FPGA资源分配表

  该滤波器在光盘伺服控制电路中的应用表明,激 光头的恢复时间、稳态误差等计数参数均满足实际要求。该单元可直接用于伺服芯片的聚焦寻迹模块。

  4 结束语

  文中介绍了一种通用可配置滤波器的设计和实现。通过对该滤波器的配置可实现不同阶数和类型的滤波器,从而加大以数字滤波为基础的伺服控制系统应用的灵活性。

关键字:Verilog  FPGA验证 编辑:金海 引用地址:一种用于光盘伺服控制系统的通用滤波器的设计

上一篇:Vishay推出适用于线焊组装的RF螺旋电感
下一篇:基于单片机的自动量程切换电压测量系统设计

推荐阅读最新更新时间:2023-10-12 20:16

基于Verilog HDL语言的CAN总线控制器设计及验证
0 引言     CAN(Controller Area Network)是由ISO定义的一种串行通信总线,它是一种能有效地支持高安全等级的分布实时控制的新一代网络通信协议,属于现场总线范畴。CAN最早被设计作为汽车环境中微控制器的通讯,在车载各电子控制装置与ECU之间交换信息,形成汽车电子控制网络,目前应用领域已经相当广泛。     近年来,支持CAN协议的芯片不断推出,给CAN总线用户带来了极大的方便。随着我国对现场总线技术需求的增加,CAN总线已经会成为我国最常用的现场总线之一。     基于CAN总线的ECU电子控制单元的开发,也是现在最热门的研究。现在对CAN总线芯片的研究已经不再局限于单一芯片的研究,而是把所有的功能芯
[嵌入式]
Verilog按键消抖的理解
按键在按下时会产生抖动,释放时也会产生抖动,所以在设计键盘扫描程序时必须考虑按键的消抖,我们一般只考虑按下时的抖动,而放弃对释放时抖动的消抖。抖动时间一般为20ms左右。按下的最终结果是低电平。 在单片机设计的的按键去抖思路是:检测到按下时延时20ms,再检测,如果状态仍为按下,则确认是按下的;如果状态为弹起的,则确认是干扰,无按键按下。 图1 按键抖动特性 有一个概念要理一下,按键按下时会有抖动,也就是说我们其实只按一次,但是实际产生的“按下”却是许多次的,这些许多次集中在这20ms里。我们按的只是一次,而实际却产生了许多次,那么就必须滤除其他的次数。单片机为了得到真正的“按下”,通过延时20ms,把其他的
[单片机]
<font color='red'>Verilog</font>按键消抖的理解
基于VerilogHDL的小波滤波器的设计与实现
   0 引 言   现代计算机和通信系统中广泛采用数字信号处理的技术和方法,其基本思路是先把信号用一系列的数字来表示,然后对这些数字信号进行各种快速的数学运算。其目的是多种多样的,有的是为了加密,有的是为了去掉噪声等无关的信息,称为滤波;有时也把某些种类的数字信号处理运算成为变换,如离散的傅里叶变换(DFT),小波变换(Wavelet T)等。VerilogHDL是目前应用最广泛的一种硬件描述语言,用于数字电子系统的设计。可用它进行各种级别的逻辑设计,并进行数字逻辑系统的仿真验证,时序分析,逻辑综合。小波滤波器的设计属于复杂算法的电路设计,因此利用Veril—ogHDL对双正交小波滤波器进行建模、仿真,实现电路的自动化设计
[嵌入式]
基于<font color='red'>Verilog</font>HDL的小波滤波器的设计与实现
基于VerilogHDL的CMOS图像敏感器驱动电路设计
  CMOS图像敏感器是近年来兴起的一类固态图像传感器。CMOS图像敏感器具有低成本、低功耗(是 CCD 耗的1/1000~1/100)、简单的数字接口、随机访问、运行简易(单一的CMOS兼容电池供给)、高速率(可大于1000帧/秒)、体积小以及通过片上信号处理电路可以实现智能处理功能等特点而得到广泛应用。有些CMOS图像敏感器具有标准的I2C总线接口,可方便应用到系统中。有些没有这类总线接口电路的专用CMOS图像敏感器需要增加外部驱动电路。由于CMOS敏感器的驱动信号绝大部分是数字信号,因此可采用FPCA通过 Verilog HDL语言编程产生驱动时序信号。Verilog HDL语言是IEEE标准的用于逻辑设计的硬件描述语言,具
[安防电子]
基于<font color='red'>Verilog</font>HDL的CMOS图像敏感器驱动电路设计
基于FPGA的SoC验证平台实现电路仿真侦错
台湾工业技术研究院提出一种能够显著提升客制化FPGA原型板验证效率的创新方法,自动化现有的电路仿真(in-circuit emulation)侦错功能,并提供更高的FPGA能见度。这个以FPGA为基础的SoC验证平台对工研院而言是前景看好的崭新领域。   案例研究:高效能的多媒体SoC平台   这款SoC设计是高效能的Android兼容多媒体SoC平台。配置了AXI、AHB与APB总线,供通讯使用;由工研院(PACDSPs、EMDMA 与 DDR2控制器)设计的高效能客制化IP组件连结至AXI 总线,加速H.264视讯编译码器(video codec)等多媒体应用软件的执行。包括ARM、SDRAM、DMA、SRAM
[嵌入式]
基于<font color='red'>FPGA</font>的SoC<font color='red'>验证</font>平台实现电路仿真侦错
异步与同步清零Verilog hdl表达程序
带异步清0、异步置1 的D 触发器 module DFF1(q,qn,d,clk,set,reset); input d,clk,set,reset; output q,qn; reg q,qn; always @(posedge clk or negedge set or negedge reset) begin if (!reset) begin q = 0; //异步清0,低电平有效 qn = 1; end else if (!set) begin q = 1; //异步置1,低电平有效 qn = 0; end else begin q = d; qn = ~
[单片机]
基于ARM内核SoC的FPGA 验证环境设计方法
     摘 要:针对片上系统(SoC) 开发周期较长和现场可编程门阵列(FPGA) 可重用的特点,设计了基于ARM7TDMI 处理器核的SoC 的FPGA 验证平台,介绍了怎样利用该平台进行软硬件协同设计、IP核验证、底层硬件驱动和实时操作系统设计验证。使用该平台通过软硬件协同设计,能够加快SoC 系统的开发。整个系统原理清晰,结构简单,扩展灵活、方便。   关键词:SoC;FPGA;软硬件协同设计;验证平台;ARM7TDMI    引 言   随着片上系统(SoC) 设计的复杂度和性能要求的不断提高, 软硬件协同设计(Hardware/ Software Co2de2sign) 贯穿于SoC 设计的始终
[单片机]
基于ARM内核SoC的<font color='red'>FPGA</font> <font color='red'>验证</font>环境设计方法
基于Verilog-HDL的轴承振动噪声电压峰值检测
摘要:介绍模拟峰值电压的检测方式,叙述基于Verilog-HDL与高速A/D转换器相结合所实现的数字式快速轴承噪声检测方法,给出相关的Verilog-HDL主模块部分。 关键词:峰值检测 传感器 Verilog-HDL A/D转换器 引言 在轴承生产行业中, 轴承振动噪声的峰值检测是一项重要的指标。以往,该检测都是采用传统的模拟电路方法,很难做到1:1地捕捉和保持较窄的随机波形的最大正峰值。本文叙述了基于Verilog-HDL与高速A/D转换器相结合所实现的快速轴承噪声检测方法。 1 振动噪声电压峰值检测方案的确定 1.1 轴承振动噪声的产生及检测 图1是轴承振动噪声电压峰值检测系统的示意图。由于加工设备、技术、环境等因素的影响,
[半导体设计/制造]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved