当前位置:首页 > 工业控制 > 电子设计自动化

  摘 要: 将Petri网与VHDL结合,运用Petri网建立硬件系统模型,然后采用VHDL语言进行设计,最终下载到CPLD,成功地实现了整个硬件系统的逻辑控制器设计。

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

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

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

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

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

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

2 控制器Petri网模型

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

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

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

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

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

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

  因此,该模型还是一个C/E系统。在Petri网仿真软件Visual Object Net++中进行仿真测试,结果表明该模型能很好地描述控制器各部分之间的逻辑关系。

3 VHDL程序的基本单元设计

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

  VHDL语言程序设计的基本单元称为一个基本设计实体,其主要由实体说明(entity declaration)和构造体(architecture body)两部分构成。实体说明部分规定了设计单元的输入输出接口信号或引脚。根据该控制器的C/E系统中关心和需观察的变量选择系统的输入和输出信号,以确定基本设计单元的实体及其端口。在控制器的C/E系统模型中,因为事件驱动条件是变化的,所以将发生的事件作为设计实体的输入信号,系统条件作为实体的输出信号。同时,为实体设计一个输入端口sysSTART,使系统上电复位。当sysSTART触发时赋予系统初始标识,系统资源(Token)流动使能。下面是具体的VHDL实体描述。

  LIBRARY IEEE;

  USE IEEE.STD_LOGIC_1164.ALL;

  ……(其它库)

  ENTITY MainCtrl IS

  PORT(sysSTART: IN 数据类型;

   事件:IN数据类型;

   条件:OUT数据类型);

  END MainCtrl IS;

  构造体部分定义了设计单元的具体构造和操作(行为)。C/E系统模型的拓扑结构直观地表达了条件和事件间的约束机制。这种约束机制映射为控制器内部各模块之间的逻辑关系。根据控制器C/E系统模型的特点,可采用多进程结构描述C/E系统。进程内部顺序执行,进程之间并发执行。多进程结构是并行执行进程的网络,多个进程并发执行。因此从C/E系统的拓扑结构,可将各进程映射为C/E系统的各库所状态,从而能够描述出各条件库所间的异步并发关系。各进程之间通过接口信号进行通信。接口信号是由新变化的参量引导进程产生的输出结果。设计进程的程序,使之产生的输出结果成为新的库所状态,从而影响变迁触发(fire)条件,以各进程的输出结果作为进程间的通信接口信号。具体描述如下:

  ARCHITECTURE behav OF MainCtrl IS

  BEGIN

  进程Ri:PROCESS(事件集) i∈[1,14]

   BEGIN

Pi<= 进程Ri的输出;

   ……

   END PROCESS Ri;

  ......

  END behav;

  冲突是由系统资源的共享产生的,与并发是一对对偶的概念[1]。在实际的Petri网模型中可能存在冲突K=,网系统自身并不提供解决冲突的方法。避免冲突的方法或措施有:

  (1)由用户选择,有冲突的地方通常是需要作出选择和决策的地方。

  (2)设置合适的触发规则:确定性产生规则,如优先级;不确定性产生规则,如发生概率。

  (3)改变系统结构,即改写Petri网的关联矩阵,增加共享资源回收。

  VHDL语言中的并行语句同样不能解决冲突问题。使用VHDL并行语句描述冲突时将导致资源的丢失。而使用VHDL语言中的顺序语句,如进程内部的语句,采用设定不同优先级的方法,可以解决Petri网中存在的冲突。本控制器C/E系统也存在冲突现象,如图3所示。

  对每个库所Pi进程的变化(Token的有无),使用电平的高低来表征。事件发生与否,用脉冲出现与否表征。该C/E系统的结构体共有14个并行处理的进程。根据对控制器进行形式描述的思想,在进程内部采用下列结构:

  进程Ri:PROCESS(事件参数表), i∈[1,14]

  ……

  IF(<条件表达式>) THEN

  <行为表达式>;

  END IF;

  END PROCESS 进程Ri;

  事件参数表(也称敏感量)中事件触发进程的执行过程是:在判断事件的<条件表达式>为真后,顺序执行其后的<行为表达式>,由新变化的参量引导进程产生输出结果;执行完进程语句后,返回进程的事件参数,等待事件集新的变化,引发进程的再一次进行,往复循环。

4 基于VHDL的仿真与CPLD实现

  VHDL语言设计技术齐全,方法灵活,支持广泛,对系统硬件描述能力强,具有多层次描述系统硬件的能力,可以从系统的数学模型直到门级电路[3]。对控制器的Petri网模型进行VHDL程序设计后,利用综合器进行逻辑综合和优化,综合后再经仿真器进行时序仿真,得到涉及器件硬件特性的仿真结果,其结果正确。最后下载到Altera系列的EPM7128STC-6芯片上,从而实现视频输入卡逻辑控制器设计。行为仿真结果的仿真波形如图4所示。

  将Petri网与EDA技术结合,对视频输入卡逻辑控制器用Petri网的C/E系统建模,并使用VHDL对协议的C/E系统模型进行程序设计,最后由CPLD器件实现控制器模型,使之成为实际的逻辑控制电路。这为硬件电路的高层综合设计提供了一种方法,也为软件系统和硬件系统开辟了一条沟通的渠道。对于其它具有多因素、动态和并发特点的系统,同样可用Petri网建立模型,用CPLD器件对模型进行仿真和实现。

参考文献

1 袁祟义. Petri网原理[M]. 北京:电子工业出版社,1998

2 MAX+PLUS II Programable Logic development SystemAltera Corporation[J]. 1997

3 林 敏,方颖立.VHDL数字系统设计与高层次综合[M].北京:电子工业出版社,2002

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

上海2024年4月16日 /美通社/ -- 4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。澳鹏Appen很荣幸再次作为唯一的人工智能训练数据参展商参与此次"航母级"规模医疗...

关键字: APP 医疗器械 PEN 模型

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

福州2024年4月16日 /美通社/ -- 4月15日,第61届中国高等教育博览会(以下简称“高博会”)于福州隆重开幕。索贝以“视听新体验•数智向未来,让知识传递更加精准高效”为主题,携全新升级的智慧教育资源管理平台、课...

关键字: 模型 数字化 AI算法 质量评估

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统
关闭
关闭