1 引 言
跟着市场需求的增加,超大规模集成电路的集成度和工艺水平不断进步,在一个芯片上完结体系级的规划已成为或许。FPGA固有的并行运算处理才能,使得它可以供给各种数字化所需求的很多杂乱运算,适合于规划一些对处理速度和实时性要求较高的智能操控器。近几年,根据VHDL描绘,FPGA完结的操控器规划研讨比较活泼,如Torralba等人完结了4输入、12个从属度、64条规矩的含糊逻辑操控器的FPGA完结[1],Cirstea等人根据FPGA规划含糊操控器,成功的用于变速器的操控[2]。别的,由于FPGA规划的灵敏性和通用性,使得根据FPGA的操控器开发功率高,成本低,上市时刻短。
由于FPGA在智能操控器方面的很多运用,规划后的测验便成了规划者在开发进程中有必要要点考虑的问题,一起,一种好的测验办法不只能及早发现规划中存在的问题,并且能进步规划的牢靠性。现在根据VHDL描绘的智能操控器测验一般是经过开环时序仿真来验证其逻辑规划的正确性,而关于一些输入鼓励信号不固定或比较多的智能操控器来说,开环时序仿真并不能切当模仿操控器的鼓励输入信号。由此,本文在开环时序仿真的基础上提出一种根据QuartusII、DSP Builder和Modelsim的闭环时序仿真测验办法,并借助于某一特定智能操控器的规划对该闭环测验办法进行了较为深化的研讨。
2 FPGA规划与测验渠道
研讨选用QuartusII4.0、 DSP Builder3.0以及Modelsim SE6.0作为FPGA的规划及测验渠道。
QuartusII4.0是Altera公司的第四代可编程逻辑器材集成开发环境,供给从规划输入、规划编译、
功用仿真、规划处理、时序仿真到器材编程的悉数功用。一起,它可以发生并辨认EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,并且为其它EDA东西供给了便利的接口。可以在上面主动运转其它EDA东西,包含Synplicity的Synplify/Synplify Pro、Mentor Graphics子公司Exemplar Logic 的LeonardoSpectrum以及Synopsys的FPGA CompilerII等。这些归纳软件能以很高的功率将VHDL/Verilog规划软件转化为针对选定器材的标准网表文件。此外,QuartusII4.0里还集成了一个SOPC Builder开发东西,支撑SOPC开发[3]。
DSP Builder以Matlab/Simulink的Blockset方式呈现,可以在Simulink中进行图形化规划和仿真,一起经过Signal Compiler可以将Matlab/Simulink的规划文件(.mdl)转化成相应的VHDL文件(.vhd),以及用于操控归纳与编译的TCL脚本[4]。
Mentor Graphics公司的Modelsim是业界中比较好的仿真东西,其仿真功用强大,支撑模仿波形显现,且图形化界面友爱,具有结构、信号、波形、进程和数据流等窗口。
经过归纳运用上述三种渠道,可以很好的规划规划流程,充分运用各个东西的长处,进步开发功率,所得的测验成果也愈加牢靠。
3 智能操控器的VHDL规划及测验特色
以含糊自整定PID操控器为例,其方位式操控算法为:
ui = Kp ei+Ki T∑ei+Kd/T(ei-ei-1)+u0 3.1
其间:Kp = kp+tp&TImes;△Kp、Ki = ki+TI&TImes;△Ki、Kd = kd+td&TImes;△Kd为PID操控器实时参数;△Kp、△Ki、△Kd为含糊推理得出的修正值。含糊推理进程采纳Mamdani直接推理法,选用质心法求取相应的终究准确值。
根据VHDL描绘的含糊自整定PID操控器规划选用自顶向下规划办法,在RTL级对各个单元模块进行规划描绘,用结构VHDL将各个单元经过单元映射(PORT MAP)联系起来,组成整个操控器芯片。操控器芯片的中心是操控与运算单元,触及根本的数据处理、存储和I/O操控。其顶层模块的电路原理图如图1所示。
图1操控器顶层模块电路原理图
其间:control:操控模块,发生存储器内数据的读写地址;ram:存储模块,存储外部收集来的数据;accum:累加模块,累加10次,读进存储器的数据;max_min:求Max/Min模块,对收集来的数据进行最大最小值求解;sub:减法模块,除掉Max/Min;average_8:滤波模块,对除掉后的数据进行8次均匀滤波;compare:比较模块,与给定值相比较,发生误差e;delay:推迟模块,发生误差的改动率ec;fpid:含糊自整定PID操控器模块,发生操控器的输出信号。
本体系中,A/D选用AD574A,其转化速度最大为35μs,转化精度小于等于0.05%。在用VHDL规划A/D的I/O模块时,选用的是状况机描绘。状况机分为5个状况:STATE0:完结A/D574的初始化;STATE1:发生片选信号,发动转化;STATE2:STATUS电平监测,状况切换;STATE3:8位输出数据有用;STATE4:由Lock信号对数据进行锁存。
根据VHDL言语描绘的智能操控器测验特色是:操控器模块可以作为一个独立模块经过开环时序测验基准对其逻辑功用的正确性进行测验。可是,关于操控体系来说,咱们更关怀的是在典型输入信号效果下,体系输出的时刻呼应进程,包含动态进程和稳态进程,因而选用闭环时序测验显得尤为必要。
4 根据FPGA的智能操控器开环时序测验
根据FPGA的智能操控器开环时序测验机理是:经过衔接鼓励实体和在测模块,将在测模块的输出呼应值同期望值相比较来验证操控器规划是否契合规划要求,规划者可以用QuartusII软件的波形修改器发生作为仿真器鼓励的向量波形文件(.vwf),也可以运用根据文本的向量文件(.vec)作为仿真器的鼓励。其间VWF运用图形化的波形方式描绘了仿真器的输入向量和仿真的输出成果,而VEC则运用一种特别格局的文件为模块中的输入信号和向量增加鼓励[5],这是现在规划中最常选用的测验办法。含糊自整定PID操控器开环时序仿真测验如图2所示。
图2操控器开环时序仿真图
图2为根据Altera公司FPGA器材EP20K200EQC240-1的含糊自整定PID操控器闭环输出时序仿真成果。
其间:clk:体系时钟;clkc:操控器采样时钟;reset:体系复位信号;e:误差;ec:误差的改动率;u:操控器输出。
时序仿真成果参数:Total logic elements:1092 / 8,320 ( 25 % );Total memory bits:4096 / 106,496 ( 3% );Clk setup:38.86 MHz;Clkc setup:221.39MHz;Tsu:8.864ns;Tco:7.809 ns。
图2中操控器的鼓励信号误差e和误差改动率ec是经过波形修改器手艺修改取得,输入比较繁琐,它们值的获取是借助于MATLAB的仿真曲线,因而并不能彻底模仿智能操控器的实时鼓励信号。 为了能更好的模仿操控器的输入行为,使测验成果愈加牢靠,本文在上述测验基础上,提出一种新的根据FPGA规划东西QuartusII、DSP Builder以及Modelsim的智能操控器闭环时序测验办法。
5 根据FPGA的智能操控器闭环时序测验
在主动操控体系规划中,操控器的规划与测验一般选用闭环操控体系,经过调查方针的输出来判别操控器功能是否契合规划的要求。Altera公司推出的数字信号处理东西DSP Builder,结合MathWorks的Matlab和Simulink,为在QuartusII中所做的规划供给了一种新的测验办法。本次研讨选用的测验流程如下:首要,在Matlab的Simulink顶用DSP Builder建立测验模块,运转无误后,用Signal Compiler将(.mdl)文件转化成Modelsim可以辨认的TCL脚本文件和VHDL文件,其次,对生成的VHDL文件及TCL脚本进行设置,最终,在Modelsim中运转测验文件,检查测验成果。DSP Builder下含糊自整定PID操控器的模块图如图3所示。图中fpid模块为用户自界说模块,是经过DSP Builder的SubSystemBuilder模块导入的,运用该模块可以便利的将QuartusII中VHDL规划文件的输入输出引脚信号引进Simulink体系中。
图3 DSP Builder下含糊自整定PID操控器的模块测验图
运转Signal Compiler,生成在Modelsim中运用的TCL脚本文件,由于在Simulink中增加的用户自界说模块是以黑盒的方式呈现,因而,在该测验环境中要将含糊自整定PID操控器的各个子模块文件增加到TCL脚本文件中,例如要将子模块文件pid.vhd增加到TCL脚本文件中,运用vcom -93 -explicit -work work "$workdir/pid.vhd"即可。
运用DSP Builder时需求留意以下两点:
(1)假如没有运用来自Rate Change库中的锁相环模块PLL,在Simulink规划转化成硬件体系的进程中,DSP Builder将运用同步规划规矩,即在规划体系中的一切DSP Builder时序模块(如图3中的Delay1模块)都以单一时钟的上升沿同步作业,这个时钟频率即为整个体系的采样频率。关于这些模块,其时钟引脚都不会直接显现在Simulink规划图上,但当运用Signal Compiler将规划转化为VHDL文件时,体系会主动地把时序模块的时钟引脚都连在一起,并与体系的单一时钟相接。
(2)将一个现已定制完结的VHDL规划实体参加到DSP Builder规划体系中时,即便在原规划中现已运用了同步复位和时钟信号,也有必要在该实体中界说同步清零和时钟输入信号。并且,这两个输入信号有必要与方针器材的大局时钟引脚和大局同步清零引脚相接。假如实体不需求时钟或大局同步清零脚,也应当界说这些输入信号,仅仅不要衔接。
以被控方针G(s)=4.71×e-0.15s/(0.4s+1)(1.2s+1) 为例,考虑到A/D、D/A的影响,参加零阶坚持器(1-e-TS)/S,Modelsim中闭环操控体系的输出曲线如图4所示,体系的给定值为127(相对增益为0.992),输出值从0上升到峰值148(相对增益为1.156)后敏捷回落,最终稳定在127,测验成果与MATLAB的仿真成果根本相同。
图4 体系闭环输出曲线
6 结 论
(1) 根据FPGA构建智能操控器具有规划灵敏、能在线调整、牢靠性高,开发周期短等长处。特别适于中小型体系。
(2) 运用QuartusII进行智能操控器的VHDL规划,经过DSP Builder和Modelsim对在QuartusII中所做的规划进行闭环测验,处理了测验样本的输入源以及操控器的输入样本提取问题,能有用模仿操控器的输入行为,进步了规划及测验的灵敏性,一起,测验成果牢靠且更有说服力。
(3) 运用DSP Builder和Modelsim使咱们摆脱了以往的测验习气,操控器的鼓励输入信号可以便利的调用Simulink的模块,方针也可以根据需求灵敏改动,不需求再用VHDL言语编写,并且Modelsim支撑信号的模仿波形显现,使咱们可以看到最直观的图形。
(4) 测验在体系规划中占有无足轻重的效果,它贯穿整个规划的一直,选用闭环时序测验办法,结合DSP Builder和Modelsim完结智能操控器各个阶段的测验经试验验证是一较好的测验办法,适合于像操控器这类需闭环查验其操控质量的规划。