在VHDL基础上Petri网并行控制器的实现

时间:2011-08-24

    Petri网是异步并发系统建模与分析的一种重要工具,1962年由德国科学家C.A.Petri博士创立。40多年来,Petri网理论得到了很大的丰富和发展。Petri网既有直观的图形表示,又有深厚的数学基础;既是层次化的结构模型,又能反映系统的动态性能。

    VHDL作为一种高速的硬件描述语言适于描述设计异步并发的系统,因而可与Petri网模型建立联系。用VHDL对模型进行程序设计,为模型的硬件实现奠定了基础。随着大规模、高密度的可编程逻辑器件FPGA和CPLD的问世与应用方面的迅速推广,并且有各种EDA软件工具的支持,使得人们可以根据Petri网的拓扑结构用硬件加以实现,以使Petri网的硬件实现成为可能。

    针对传统的设计方法不太适合并行控制器设计的问题,本文介绍一种使用硬件描述语言VHDL来实现基于Petri网的并行控制器的方法。首先使用Petri网对问题进行建模,并对模型进行分析和控制,获得控制器的Petri网模型;然后用VHDL对Petri网控制模型加以描述,得到源文件;通过EDA软件开发工具Max+PlusⅡ进行编译、模拟、适配,并到可编程逻辑器件中。

    1  Petri网简介

 


 

    2  实现的基本方法

    Petri网本身就是一种硬件描述语言,是一种高度抽象的、结构化的并发语言。Petri网非常适合于复杂离散系统的建模和形式化分析,而VHDL则是一种标准的硬件描述语言,可以解决数字系统描述中并发性问题,允许其仿真和综合。Petri网和VHDL可以相互补充,并且也可以提供一个验证子系统接收所有设计任务相同的用户接口描述[4]。并行控制器的VHDL文本Petri网描述在一个实际设计中可获得50%的面积减少及40%的速度改善(相对于的FSM综合)。

    用大规模可编程逻辑器件来实现由Petri网描述的并行控制器,其实现的基本步骤如下:

    (1)对实际系统建立Petri网系统模型。

    (2)采用Petri网软件工具对所建立的Petri网系统模型进行分析并加以控制,建立监控器的Petri网系统模型。

    (3)确定输入输出变量并选择相应的FPGA或CPLD器件。

    (4)根据网的拓扑结构确定条件与事件间的逻辑关系,用硬件描述语言如VHDL对Petri网模型进行描述。

    (5)以VHDL描述作为设计输入,通过EDA软件开发工具,如ispDesign EXPERT或Max+PlusⅡ等,进行编译、模拟、适配,然后到器件中。

    整个硬件实现的流程图如图1所示。

    3  基于Petri网的并行控制器设计举例

    3.1 系统描述

    有3个盛放液体的罐子:V1、V2、V3,其中V1、V2是用来盛放不同种液体F1、F2的,M是搅拌系统的驱动电机。系统停止时,指示灯Y0亮。当起动按钮按下时(X0=1),阀Y1、Y2打开,2种不同的液体F1、F2分别注入V1、V2。当V1中的液体到达X1位置时,Y1关闭;当V2中液体到达X3时,阀Y2关闭。当V1、V2中的液体分别都到达X1、X3时,Y3、Y4同时打开;当V1、V2中液体分别都低于X2、X4时,Y3、Y4关闭,同时Y6打开。当V3中液体高于X5时,Y5闭合,电动机M开始搅拌;当V3中液体流出低于X6时,Y6关闭,指示灯亮,重新回到原来状态。

    3.2 系统控制部分的控制解释Petri网模型

    用Petri网对系统控制部分进行描述,得到的控制解释Petri网模型如图3所示。模型中输入输出信号的描述如表1所示,描述的局部状态如表2所示。

    3.3 模型的VHDL实现

    用VHDL实现的部分源代码如下:

    t1<=not p2 and not p4 and x0 and p1;

    t2<=not p3 and x1 and p2;

    t3<=not p5 and x3 and p4;

    t4<=not p6 and not p7 and p3 and p5;

    t5<=not p8 and x5 and x6 and p6;

    t6<=not p9 and not x2 and not x4 and p7;

    t7<=not p6 and not x5 and p8;

    t8<=not p1 and not x6 and p6 and p9;

    np1<=t8 or (p1 and not t1);

    np2<=t1 or (p2 and not t2);

    np3<=t2 or (p3 and not t4);

    np4<=t1 or (p4 and not t3);

    np5<=t3 or (p5 and not t4);

    np6<=t4 or t7 or(p6 and not t5 and not t8);

    np7<=t4 or (p7 and not t6);

    np8<=t5 or (p8 and not t7);

    np9<=t6 or (p9 and not t8);

    3.4 基于Max+PlusⅡ的并行控制器仿真

    在MAX+PlusⅡ中经编译后进行功能仿真,仿真波形如图4所示。波形表明结果是正确的。

    4  结  论

    Petri网是并发系统强有力的建模工具,通过对Petri网模型的分析,可以获得系统的许多结构和动态性能,根据控制策略,还可以建立系统的控制模型并获得系统在控制作用下的性能。以上讨论证明,基于Petri网的并行控制器可以用VHDL实现,从而开辟了并行控制器设计与实现的新途径。

 

 


  
上一篇:简述几大主流双向网改方案的应用
下一篇:住宅用太阳能并网发电系统的实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料