用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

一个嵌入式系统的Petri网模型与CPLD实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:30:34
【本文由PB创新网为您整理】
摘要:将Petri网与VHDL结合,运用Petri网建立硬件系统模型,然后采用VHDL语言进行设计,最终下载到CPLD,成功地实现了整个硬件系统的逻辑控制器设计。

    关键词:Petri网 C/E模型 VHDL CPLD

Petri网是异步并发系统,没有人为的控制流,直观地表示了非确定性;且可以图形化的方式描述复杂的系统,并可运用数学工具进行分析。因此,其在软件系统的建模与仿真中得到广泛应用。Petri网自身具备的可运行性方便了系统形式化描述级的模拟,可以用于表达不同抽象级上的系统概念并清楚地描述整个系统的运作过程。笔者发现Petri网的应用目前仅局限于软件系统的设计,例如网络协议、物流管理等,而在硬件系统中却很少涉足。硬件系统随着功能的日益增强,其功能描述也越来越复杂。基于硬件系统描述的VHDL语言以其强大的硬件描述能力,已被广大科研工作者所采用。VHDL语言也适用于描述异步并发系统,因此可与Petri网建立的模型联系起来。

本文采用自顶向下与层次分析相结合的设计方法用Petri网的一个子类C/E系统(条件/事件系统)对视频输入卡的逻辑控制器建立模型。针对控制器C/E模型中关心和需要观察的变量,确定VHDL描述的实体和端口,由C/E系统网的拓扑结构确定条件和事件间的逻辑关系,构造VHDL语言中的结构体。采用EDA开发工具MAX+PLUS II进行代码设计,逻辑综合,并对设计进行仿真,最后下载到CPLD,验证了逻辑控制器设计的正确性。

图1 视频输入卡结构框图

1 应用背景及控制器功能要求

图1为某一视频输入卡结构框图。前端视频信号经过解码、缓冲后,将数据送入DSP处理。其中由逻辑控制器协调各部分之间的运作。从图1中可以看出,逻辑控制器与视频切换、视频解码、视频数据缓存以及DSP等部分存在联系,归纳起来需要完成五个基本功能:视频通道切换控制;插入行标志信息;FIFO的初始化操作;写FIFO;读FIFO。

要完成上述五个基本功能,必须保证每个功能与另一功能之间不存在冲突,但允许存在并发行为,同时它们之间的逻辑顺序应保持一致。因此需要一个主控模块协调各部分的操作。各功能部分之间的逻辑关系比较复杂,涉及到图像数据的行同步以及场同步等问题,一旦出错,则接收的就不是有效的图像数据,后续工作也不能正常进行。为此,首先建立Petri网模型,并运用数学工具进行分析,最后采用VHDL语言实现。

2 控制器Petri网模型

应用Petri网的一个子类C/E建立视频输入卡的逻辑控制器模型。控制器实现的五大功能,在满足各自条件的情况下,能够正确地完成相关操作。如果将每个功能展开进行Petri网模型设计,将会使整个C/E系统的节点过多。节点一多,则不易分析其性质和计算它的可达树、不变量等参数。Petri网特有的直观易懂、适于交流的图形表示也就失去了意义。采用层次分析的方法,首先在顶层根据各功能要求建立一个Petri网模型,然后在各个模块内部建立更详细的子模型。鉴于顶层和底层的分析方法类似,只将顶层模型展开讨论。网络的一些动态特性,如库所与变迁的含义如表1所示。

表1 库所和变迁的含义

库  所含  义变  迁含  义
P1初始化FIFO有效T0系统开始(sysSTART)
P2初始化FIFO结束T1通道切换
P3插入行属性结束T2初始化FIFO
P4读FIFO有效T3插入行属性标志
P5通道切换有能T4写FIFO
P6VREF=0T5读FIFO奇场数据
P7插入行属性标志有效T6场开始
P8写FIFO有效T7场同步
P9RST0=0T8行开始
P10HREF=0T9行同步
P11VREF=1T0行有效
P12HREF=1T11读取FIFO偶场数据
P13RST0=1  
P14偶场结束  

逻辑控制器顶层Petri网模型如图2所示。该模型是一个基本网系统,其状态元素称为条件,变迁元素称为事件。事件的发生改变条件的状态(成真与否),引起信息在网上的流动1。由条件和事件组成的有向网通常表现为三元组(B,E;F),其中B为条件集,E为事件集。同时该模型还满足如下条件:

·(B,E;F)为简单网;

·B中每个条件都有机会成真,也有机会成假;

·E中每个事件都有机会发生;

·由初始情态ci导出的可达情态集是完全可到达关系R下的等价类。

因此,该模型还是一个C/E系统。在Petri网仿真软件Visual Object Net++中进行仿真测试,结果表明该模型能很好地描述控制器各部分之间的逻辑关系。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 VHDL程序的基本单元设计

CPLD(复杂可编程逻辑器件)是处于并行工作方式的基本电路单元构成的高速、大规模集成器件,可作为一种并发系统模型与Petri网建立联系。VHDL作为一种硬件描述语言,支持行为描述、数据流描述和结构化描述等多种描述方法,可以用并行和顺序多种语句方式描述实际的系统,并可采用VHDL的并行语句描述C/E系统中条件/事件间的并发关系,用VHDL的顺序语句描述条件/事件间的顺序约束机制,为解决C/E系统中的有效冲突提供了可行的方法。

VHDL语言程序设计的基本单元称

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:30,968.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号