基于Petri网的CAN总线模型的VHDL实现

合集下载

VHDL模块电路原理图画法

VHDL模块电路原理图画法

一、创建VHDL模块,生成一个原理图符号1、在项目导航器(Project Navigator)菜单中,点击Project ——>Add Source 添加一个VHDL模块——counter.vhd2、在Source in Project 窗口中,选中计数器模块counter.vhd3、在Process 窗口中,点击Design Utilities之前的“+”符号,然后双击Create Schematic Symbol经过以上步骤,名称为“counter”的图形化元件被放入到工程项库中。

二、创建一个新的顶层原理图1、在项目导航器(Project Navigator)菜单中,点击Project ——>Create New Source2、选择源类型为Schematic3、输入原理图名为counter64、先点击“Next”,再点击“Finish”此时,原理图编辑器自动启动并打开一个空白原理图。

三、放置元件符号1、在原理图编辑器菜单中,选择Add——> Symbol2、在Categories栏(在屏幕左上侧)中选中项目所在路径(把process 窗口下拉一点即可看到),然后从元件符号列表Symbols中选择counter,该元件符号便附着在光标上。

3、移动光标至目标位置,单击左键,完成元件放置。

4、如需放置多个相同元件,只需多次单击左键其它操作提示:a 移动器件:光标移动至器件,按住鼠标左键并移动鼠标至目标位置,松开左键。

b 放大或缩小:单击菜单栏中的c 删除器件:光标移动至器件,单击鼠标右键,然后选择Delete.四、添加连线1、首先激活画线功能,在菜单中选择Add——>Wire2、移动光标至画线起始位置,单击鼠标左键,然后移动光标至目标位置,单击鼠标左键,完成画线。

3、完成添加连线后,按ESC键退出添加连线模式。

其它操作提示:a 删除连线:光标移动至连线,单击鼠标右键,然后选择Delete.b 移动连线:光标移动至连线,按住鼠标左键并移动鼠标至目标位置,松开左键。

总线控制逻辑的VHDL设计仿真与测试

总线控制逻辑的VHDL设计仿真与测试

总线控制逻辑的VHDL设计仿真与测试
计算机系统是由许多具有独立功能的模块互相连接而成的。

随着计算机的不断发展和广泛应用,各生产厂商除了向用户提供整套系统外,还设计和提供各种功能的插件模块,让用户根据自己的需要构成自己的应用系统或扩充原有的系统。

这些模块间需要互相通信,需要有高速、可靠的信息交换通道,这就是总线。

总线使得计算机各模块之间的信号线可以直接互相连接,提高了信号传输的速度。

VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,在电子设计领域得到广泛应用,最新版本为IEEE标准的1076-1993版,由IEEE在1993年公布。

VHDL主要用于描述数字系统的结构、行为、功能和接口。

本文用VHDL的有限状态机来描述和仿真计算机总线控制器的逻辑行为。

1 总线在总线控制器的控制下工作
在计算机系统各模块之间的信息通信过程中,每一时刻只能有一组信息在总线上传输。

如果有多组信息要传输,只能在总线控制器的控制下,按顺序分别传输,这样对每一组信息的传输就形成一个传输周期,这个周期包括申请分配阶段、寻址阶段、数据交换阶段和撤消阶段。

申请分配阶段由主模块提出总线使用申请,经总线控制器批准后获得总线使用权;之后主模块把从模块地址放置到地址总线上,即寻址阶段;从模块接收到地址后做好相应的通信准备工作,并与主模块建立通信,进行数据交换;数据交换结束后,主模块通知总线控制器,并交还总线使用权,即撤消阶段。

常用的总线通信方式有同步通信方式和异步通信方式两种。

2 同步通信方式的有限状态机描述和仿真。

通用异步串行通信电路的VHDL设计与实现

通用异步串行通信电路的VHDL设计与实现

通用异步串行通信电路的VHDL设计与实现摘要:本文分析了异步串行通信的帧格式,利用VHDL设计出异步串行通信电路,并通过计算机仿真和实验证明了设计的正确性。

关键词:VHDLEDA串行通信1引言计算机串行通信技术在实际中应用十分广泛,硬件电路可以通过串口将数据传送到计算机,而后利用计算机强大的运算能力进行处理。

对于8051等串行通信可编程芯片,如果不熟悉的话,还要参照手册来学习后才能进行设计,并且设计缺乏灵活性,通常芯片的全部功能还没有被完全利用,造成芯片资源的浪费。

随着电子技术的发展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统设计者在实验室里就可以设计出可靠性高的专用集成电路,不但设计灵活,而且设计周期缩短。

目前数字系统的设计可以实现电子设计自动化,其中电子设计自动化EDA(即Electronic Design Automation)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。

VHDL(VHSIC Hardware Description Language)是IEEE标准的硬件描述语言,支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分散和已有设计的再利用等优点。

利用VHDL这些优点和先进的EDA工具,根据具体的实际要求,我们可以自己来设计串口异步通信电路。

2串行发送电路的设计为简化电路设计的复杂性,我们采用的帧格式为:1位开始位+8位数据位+1位停止位,没有校验位,波特率为9600。

2.1波特率发生器的设计要产生9600波特率,要有一个不低于9600Hz的时钟才可以。

为产生高精度的时钟,我选了6MHz(6M能整除9600)的晶振来提供外部时钟。

当然,你也可以选其它频率的时钟来产生9600Hz 的时钟。

对于6MHz时钟,需要设计一个625进制的分频器来产生9600波特率的时钟信号。

备选题目:基于XXX的XXX设计及其在XXX中的应用

备选题目:基于XXX的XXX设计及其在XXX中的应用

基于智能工程的集成化智能设计系统及其在钟手表设计中的应用基于糖的手性配体的设计、合成及其在不对称催化反应中的应用研究基于正交设计的神经网络训练样本的选择方法及其在冷挤压工艺设计中的应用研究近断层区的输入能量设计谱及其在基于能量抗震设计中的应用基于均匀试验设计的响应面方法及其在无人机一体化设计中的应用基于两相流理论的火炮内弹道设计方法及其在新型装药设计中的应用基于整体承载极限状态的钢结构可靠度设计方法及其在门式钢刚架设计中的应用面向设计的基于知识系统及其在机构设计中的应用基于均匀设计的小生境遗传算法及其在飞控系统中的应用基于PARETO的系统分解法及其在飞行器外形优化设计中的应用基于CPS考核标准的专家控制器的设计及其在负荷频率控制中应用基于Matlab的混合离散优化方法及其在机械设计中的应用基于事例的推理(CBR)及其在注塑模具分型面设计中的应用基于双DSP的信号处理板的设计及其在SAR信号仿真中的应用基于ARM+FPGA的可重构控制器设计及其在加载系统中的应用基于设计目录的概念设计自动化研究及其在新产品开发中的应用基于UML的运动控制软件设计及其在电脑绗缝机中的应用研究基于Delphi的多层分布式数据库的设计及其在远程抄表系统中的应用基于ACS算法的最优模糊PID控制器设计及其在CIP-I智能人工腿中的应用基于CA TLAV5的三维设计及其在工程图学中的应用基于性能的抗震设计方法及其在高层混合结构抗震评估中的应用基于ADAMS的虚拟样机技术及其在机构设计中的应用基于VB的ANSYS参数化设计及其在电机磁场分析中的应用基于事件的设计与控制技术及其在机器人系统中的应用基于H_∞混合灵敏度理论的控制器设计及其在垂直攻击中的应用基于均匀设计的粒子群算法及其在飞控系统中的应用基于均匀设计的主成分分析-支持向量机模型及其在几丁质酶最适pH建模中的应用基于排队论指导的K-Means聚类算法及其在TTC网络优化设计中的应用基于.NET Remoting的分布式系统设计及其在能力测试系统中的应用基于遗传算法的Kriging元模型及其在模拟集成电路优化设计中的应用基于CDCM7005的时钟设计及其在数字中频系统中的应用基于语音识别的用户认证系统设计及其在电子商务中的应用一种基于区间分割的遗传算法及其在连续交通网络设计中的应用基于领域知识的仿真策略及其在可靠性设计决策中的应用基于COM的可重组流程的设计及其在“水闸CAD系统”中的应用基于知识的CAD技术及其在航空管件设计中的应用基于嵌入式操作系统μC/OS-Ⅱ的平台设计及其在给煤机控制系统中的应用的研究基于遗传算法的新优化理论研究及其在弧形闸门优化设计中的应用基于约束的三维特征模型及其在夹具设计中的应用基于HCI-SA/GA的演化设计方法及其在布局中的应用基于H_∞控制理论的2-DOF内模控制器设计及其在电力系统中的应用基于DSP的实时T-S型模糊控制器设计及其在直流无刷电机控制中的应用一种基于开放技术的DCS设计及其在电厂中的应用基于Nios的SoPC设计及其在DVB-C发射系统中的应用基于设计模式的多维集合及其在模糊聚类中的应用基于Pspice的电路灵敏度分析及其在电路设计中的应用基于PLC的数字滤波器设计及其在低压铸造中的应用基于元胞自动机的多自主体人员行为模型及其在性能化设计中的应用基于IP的MPEG-4视频编码器设计及其在应急通信中应用基于Matlab的数字滤波器设计及其在捷联惯导系统中的应用基于FPGA技术的混沌系统输出序列的一种电路设计方法及其在保密通信网中的可能应用基于DNA的进化算法及其在设计TS模糊控制器中的应用基于模糊神经网络再励学习控制器设计及其在倒车模型中的应用基于XML的WebGIS符号设计与管理及其在交互制图中应用基于uClinux嵌入式系统设计及其在Web服务器中的应用研究基于凸优化理论的FIR滤波器设计及其在LAS-CDMA系统中的应用基于XML的可定制用户界面设计及其在嵌入式系统中的应用基于商品化软件的多领域协同仿真及其在复杂产品设计中的应用基于OPG理论的自适应滤波器设计及其在图像处理中的应用基于人机交互的遗传退火算法及其在履带起重机布局设计中的应用基于CPLD技术的高速数据采集及其在流量计设计中的应用基于微软.NET的信息系统的设计及其在物业管理中的应用基于DDS的多功能中频信号源的设计及其在雷达系统中的应用基于遗传算法的码本设计及其在说话人识别中的应用基于H_∞控制的Smith预估器及其在Wood-Berry精馏塔设计中的应用基于DBFNN的后推设计及其在电力系统励磁控制中的应用基于Agent的分布式数据库设计及其在飞行计划系统中的应用基于ARM的多轴伺服控制器设计及其在7自由度数据臂中的应用基于XML的字处理软件的设计、开发及其在电子政务中的应用基于RADIUS协议的AAA服务器设计及其在移动IP中的应用研究基于Web Service的CFD仿真及其在建筑设计中的应用基于自动机的递阶型HDS模型接口设计及其在管控系统中的应用基于I-DEAS的三维参数化绘图及其在火炮身管设计中的应用基于ARM+μC/OS-Ⅱ的嵌入式系统设计及其在电子潮汐表中的应用基于能量的观测器设计及其在电力系统中的应用研究基于VHDL的定时器芯片设计及其在滴灌系统中的应用研究基于IEEE1394数字视频输出、截取板卡设计与实现及其在多媒体教学中的应用基于不确定性理论的风险分析法及其在防波堤设计中的应用基于功能需求模式识别的变异式产品需求分析建模方法及其在产品设计中的应用基于UG的关联设计技术及其在级进模CAD系统中的应用基于DSP的多轴伺服控制器设计及其在灵巧手中的应用基于I-DEAS的三维参数化绘图方法及其在火炮设计中的应用研究基于遗传算法的模糊滑模控制器设计及其在直流伺服系统中的应用一种基于串口通信的网络设计及其在油站加油系统中的应用基于组件的软件设计及其在电力信息化中的应用基于COM技术的数据库设计及其在电力监控系统中应用基于滤波器的Anti-Windup设计及其在伺服系统中的应用基于COM技术的机构参数化设计系统及其在机构运动仿真中的应用基于Pro/E的用户自定义特征及其在汽车零部件设计中的应用基于GIS的电子文件柜设计及其在铁路系统中的应用基于Petri网的混合动态系统接口层设计方法及其在热连轧中的应用基于构件的软件设计方法及其在机械CAD 系统中的应用基于两种规范型的非线性状态观测器设计及其在空间拦截末制导中的应用基于VRML的虚拟产品开发技术及其在变电柜设计中的应用基于ZigBee的无线传感器网络节点设计及其在远程健康监护中的应用基于领域的介词理解及其在机械设计中的应用基于特征的快速装配建模技术及其在馈源结构模块化设计中的应用与研究基于FPGA技术的混沌系统输出序列的一种电路设计方法及其在保密通信网中的可能应用基于VRGIS三维仿真系统设计及其在水土保持中应用基于Struts+Spring+Hibernate的架构设计及其在电子商务中的应用基于数据采集卡的虚拟仪器及其在局域网中的设计与应用基于粒子群算法的神经网络学习方案设计及其在4-CBA建模中的应用基于JSP的网站设计及其在电子商务中的应用基于变结构模糊控制器的闪光焊电源设计及其在钢轨焊接中的应用。

基于FPGA的CAN总线通讯仿真与测试平台的开题报告

基于FPGA的CAN总线通讯仿真与测试平台的开题报告

基于FPGA的CAN总线通讯仿真与测试平台的开题报告一、选题背景随着现代汽车的发展,CAN总线已经成为了车内网络通信的主流技术。

CAN总线通讯协议不仅应用于汽车行业,也广泛应用于航空、电力、交通、工控等领域。

为了确保CAN总线通信的稳定性、可靠性与安全性,需要开发一款基于FPGA的CAN总线通讯仿真与测试平台,实现CAN总线通信协议的模拟与测试,提高CAN总线通讯系统的可靠性与性能。

二、选题意义CAN总线通信技术已成为汽车领域内非常重要的一种通信方式,因此研究基于FPGA的CAN总线通讯仿真与测试平台对于提高汽车CAN总线的安全性、可靠性、高效性具有重要作用。

该平台可以快速高效的模拟CAN总线通信过程,实现CAN总线协议的仿真及测试,为CAN总线通信系统提供有力的支持。

三、研究内容本次选题主要研究基于FPGA的CAN总线通讯仿真与测试平台,主要包括以下研究内容:1. CAN总线通信协议的原理及其实现;2. 基于FPGA的CAN总线通讯仿真与测试平台的设计和实现;3. CAN总线仿真系统的测试设计及测试结果分析;4. 难点问题分析与解决。

四、预期目标通过本次研究,我们将达到以下预期目标:1. 设计一个基于FPGA的CAN总线通讯仿真与测试平台,实现CAN 总线协议的仿真及测试;2. 编写测试脚本,验证CAN总线仿真系统的性能和稳定性;3. 通过分析测试结果,解决通信过程中可能出现的问题,提高CAN总线通讯系统的可靠性与性能。

五、研究方法在本次研究中,我们将采用如下研究方法:1. 文献综述:收集CAN总线通信相关文献,对CAN总线通信协议的原理及其实现进行深入理解;2. 系统设计:设计基于FPGA的CAN总线通讯仿真与测试平台,实现CAN总线协议的仿真及测试;3. 系统测试:编写测试脚本,验证CAN总线仿真系统的性能和稳定性;4. 性能优化:通过分析测试结果,解决通信过程中可能出现的问题,提高CAN总线通讯系统的可靠性与性能。

基于确定与随机Petri网的CAN总线建模及性能研究

基于确定与随机Petri网的CAN总线建模及性能研究

符至 。由于 C AN 是一种非抢 占性调度 ,当某 时 刻低优 先级消息 已经在总线上传输 时, 禁止高优先
级 的消息抢 占总线 ,因此从P 引出禁止符至 、t ,
帧和接 口控制信息传送至 L C子层 。 L
只要总线空 闲, 任何 节点都可 以发送报文 。如
果两个或两个 以上 的节 点同时开始 传送报 文 , 那么
利用率等个别 指标 。Masn和 G r n等应用 时 ra ema 间 Pt er i网分别对 基于事件 触发方式 的通信机制 进
链 路 控 制 子 层 (L ) 和 媒 体 访 问 控 制 子 层 LC
( MA C) 。
11 逻辑链 路 子层 ( L .. 1 L C)
L C 子 层作 为 目标层 ,实现逻 辑上 的消息发 L 送与接 收 ,进行消 息与状态 的处理 。
C N 进 行建模与性 能分析可能且必要 。本文首先 A 分析 C N 总线 的运行机制及 网络结构 ,接着给 出 A C N 总线 的 DS N 紧缩模型 ,最 终利用 DS Ne A P P - xrs- 软件进行仿 真并得 出相关参 数。 pes NG
基于事件触发 的通信 网络 , 己逐步发 展成为用于 工 业部 门控制和 通信 的现场 总线 , 在汽 车工业等 领 域 已得 到 广 泛 应 用 。总 线 的 介 质 访 问控 制 方 式
子层 发送的认可报文 , 以下介绍 MAC子层 的功 能。 MAC子层实现 由 I E 0 - E E 8 23中规定 的功 能,
确 定与随机 Pt 网 ( S N)作为研究 离散事 ei D P r 件动态 系统 ( E )的一种有力 工具 ,能够准 确 D DS 描述系 统的状态及其变 化过程 , 复杂系统 的建模 在 与性能 分析 中取得 了显著 的成 功 ,基于 DSN 对 P

基于VHDL和PETRI网实现异步DMA控制系统

基于VHDL和PETRI网实现异步DMA控制系统
两种 C D工具 。 A
收 稿 日期 :2 1 0 0 0— 1—1 5
表示——高级集成 ( i n ei L ) Hg s t s ,H S 。 hy h s
H S遵 守 子 系 统 行 为 规 范 ,产 生 一 个 中 间设 L 计 表示 ,并 且最终 产生 了一个 系统 实施方 案 。典型

Es l8 l介绍 了这种系统 的系统集成设 计 流程。 它按照完整系统实施 的规范,执行系统水平的集成 和高水平的集成技术 ,并且最终产生一个初步的实
施 方案 。系统 水平 的集成是 设计 流程 的第一 步 。在 这 一步 中 ,要 给 出关 于 系统 体 系 结构 的几种 方案 。 例 如 ,可 以通过 选择 一组在 其上可 以实 现具体 系统
在 异步 电路 系统 设 计 中 ,尽 管在 异 步 C D工 A 具 设计 方 面已经进 行 了许 多次 的尝试 ,并且 一些工 具 已经 实 施 成 功 ,例 如 Ptf¨-] ag m 和 ei 2,Tnr ry a
Bas L】 la 4

文章提出了一种新的集成技术 ,这种技术综合
基金项 目:辽宁省教 育厅 (09 2 8 20A 7 )
作者简介 :蔡杰 (9 3 ) 16 一 ,女 ,辽 宁丹东人 ,教授 ,主要从事 自动化技术研究与应用 。

6 0・
辽 东学院学报 ( 自然科学版 )
第1 7卷
的 H 系统按步骤顺序 执行。首先 ,行为规范编 S I 译成为一个内部设计表示。在这一步骤中,将应用 到 编译器 优 化 技术 。 之后 ,实 施子 系 统组 件 分配 。 这 一阶段 决定 实施 给定规范 所需用 组件 的数 量和类
上 述两种 集成 技术 的优点 ,并 且 可 以用来 进行 集成

用vhdl语言在cpld上实现串行通信

用vhdl语言在cpld上实现串行通信

用vhdl语言在cpld上实现串行通信一、概述串行通信是现代通信领域中最为常见的一种通信方式。

通过串行通信,现代社会中的各种设备可以以最高效的方式进行数据传输,实现快速、准确的信息交换。

而vhdl语言则是数字电路设计领域中最为常用的一种描述语言,因为vhdl 语言可以描述数字电路的不同行为,对于数字电路的模拟和仿真非常方便。

在本文中,我们将介绍如何使用vhdl语言在cpld 上实现串行通信。

二、串行通信的基本原理串行通信是指在数据传输过程中,数据位是按照顺序一个一个相继传输的。

串行通信的传输速率相对较慢,但是传输距离远,主要是通过数据信号占用两个或者三个核心线来完成的。

串行通信的数据信号一般由三个部分构成:开始位、数据位和停止位。

开始位一般用于启动数据传输,而停止位则用于结束数据传输。

三、vhdl语言概述VHDL(VHSIC Hardware Description Language)是美国国防工业联合会(VHSIC)在80年代末期为了解决数字电路设计中的复杂性而开发的一种硬件描述语言,是一种基于文本的语言。

VHDL语言主要用来描述数字逻辑和数字电路。

VHDL语言本身就是一种结构化的、层次化的语言,可以很好地体现出数字电路的层次关系。

四、使用vhdl语言在cpld上实现串行通信的步骤1、确定串行通信的传输速率和数据格式。

在确定串行通信的传输速率和数据格式之前,需要确定串行通信的基本参数,包括其传输速率、在接收端进行判定数据是否有效的时间程度、以及在发送端和接收端之间互相传输数据的位数。

这些参数对于后续的设计极为重要。

2、编写串行通信的vhdl模块。

在vhdl模块中,需要包括发送和接收两个部分,分别对应于硬件接口中的发送和接收部分。

发送部分主要是将数据按照规定的格式进行串行传输,而接收部分则主要是将串行传输的数据再转换为并行数据。

3、完成vhdl模块的仿真测试。

在完成vhdl模块的设计之后,需要进行仿真测试,以验证vhdl模块的正确性和稳定性。

采用VHDL语言结合CPLD器件实现异步串行通讯控制器的设计

采用VHDL语言结合CPLD器件实现异步串行通讯控制器的设计

采用VHDL语言结合CPLD器件实现异步串行通讯控制器的设计1 引言串行通信实际上就是两台电子设备之间一位一位地发送和接收数据,它分为同步通信和异步通信两类。

异步串行通信无需数据时钟、帧同步时钟等时钟信号,数据的发送和接收是自同步的,完全依靠收发双方约定的传输波特率和数据线自身的电平变化来正确地收发数据位流,而且又因为它连线简单,可以直接与PC机等带异步串口的设备相连,同时它又采用RS 232电平,传输的距离要比同步通信的长。

正因为有上述的优点,异步串行通信被广泛应用在要进行远距离遥测遥控的航天电子工程中。

但是,一般的处理器芯片都带有同步串行接口,只有少数韵处理器,如TMS320F2XX、TMS320F24XX带有速度相对较低的异步串口。

为了实现那些没有带有异步串行接口的处理器能够与其他设备进行异步串行通信,可以采用复杂可编程逻辑器件CPLD技术,并结合异步串行通信的协议,对异步串行通信接口电路进行设计与实现,该方法开发周期短,并且CPLD的时序严格,速度较快,可编程性好,还可以用于完成电子系统的其他逻辑功能的设计,如实现系统的译码和专门的缓冲电路。

这样一块电路板上的外围元器件数量就大大减少,系统的灵活性更好,调试也变得简单的多了,同时,系统的功能模块完成后可以先通过计算机进行仿真,再实际投入使用,降低了使用风险性。

2异步串行通信的原理异步串行通信方式是把一个字符看作一个独立的信息单元,并且字符出现在数据流中的相对时间是任意的,而每一个字符中的各位是以固定的时间传送。

因此这种方式在同一字符内部是同步的,而字符间是异步的。

异步通信的主要特点是字符帧的传输格式,这样就使得发送方可以在字符之间可根据实际的需要插入不同的时间问隔,即每一个字符的发送是随机的。

异步串行通信是以数据帧的格式传送的,1个字符开始传输前,输出线必须在逻辑上处于‘1’状态,这称为标识态。

传输一开始,输出线由标识态变为‘0’状态,从而作为起始位。

基于Petri网的并行控制器的VHDL实现

基于Petri网的并行控制器的VHDL实现

基于Petri网的并行控制器的VHDL实现Petri 网是异步并发系统建模与分析的一种重要工具,1962 年由德国科学家C.A.Petri 博士创立。

40 多年来,Petri 网理论得到了很大的丰富和发展,其应用领域也在不断扩大,越来越受到国际同行的重视,已成为计算机、自动化和通信领域的热门研究课题。

Petri 网既有直观的微电子技术发展到今天,已提供了几千至几千万个标准门的芯片。

特别是在系统可编程技术,可有条件地在一个芯片上设计制作一个数字系统,即系统芯片(System on Chip,SoC)。

国内市场上常见的Altera 公司、Xilinx 公司、Lattice 公司的FPGA 和CPLD 芯片,一般都能满足设计SoC 的需要,并且都提供了EDA 软件开发工具。

而且在现有的软件开发工具中,有电路针对传统的设计方法不太适合并行控制器设计的问题,本文介绍一种使用硬件描述语言VHDL 来实现基于Petri 网的并行控制器的方法。

首先使用Petri 网对问题进行建模,并对模型进行分析和控制,获得控制器的Petri 网模型;然后用VHDL 对Petri 网控制模型加以描述,得到源文件;最后通过EDA 软件开发工具Max+PlusⅡ进行编译、模拟、适配,并下载到可编程逻辑器件中。

1 Petri 网简介[2]定义:四元组Ε=(B,E;F,C)能构成条件/事件系统(condition/event system,C/E 系统)的要求是:2 实现的基本方法Petri 网本身就是一种硬件描述语言,是一种高度抽象的、结构化的并发语言。

Petri 网非常适合于复杂离散系统的建模和形式化分析,而VHDL 则是一种标准的硬件描述语言,可以解决数字系统描述中并发性问题,允许其仿真和综合。

Petri 网和VHDL 可以相互补充,并且也可以提供一个验证子系统接收所。

基于Petri网的CAN总线模型的VHDL实现-1

基于Petri网的CAN总线模型的VHDL实现-1

基于Petri网的CAN总线模型的VHDL实现胡辉1,2崔瑞雪1韦雪洁1(1.北华航天工业学院电子工程系河北廊坊 065000;2.河北工业大学信息学院天津300130)摘要:本文主要介绍了一种基于Petri网的CAN总线模型的VHDL实现过程。

其中包括将CAN总线的通信过程进行随机Petri网(DSPN)建模, 然后将Petri网与VHDL语言相结合,用VHDL语言来描述CAN节点的DSPN模型,最后通过EDA软件工具成功实现了仿真,从而获得了系统的动态性能等内容。

为各种通信协议的研究及电路实现奠定了基础。

关键词:Petri网 CAN总线 VHDL DSPN模型VHDL Implementation of CAN Fieldbus Modeling Based on Petri netsHU Hui CUI Rui-xue WEI Xue -jie(1.Electronics Engineering Department, North China Institute of Astronautic Engineering , Langfang 065000,China;2.College of Information; Hebei Industrial University; Tianjin 300130; China)Abstract: This paper introduces a process for VHDL implementation of CAN fieldbus modeling based on Petri nets. which includes carrying on the model to DSPN(Deterministic and Stochastic Petri Net) of the communication behavior of CAN Fieldbus, describing DSPN model of CAN node by VHDL Language, simulating with the EDA software, then the dynamic properties of the system are obtained. It is the basis to the Research on the Communication Protocol and circuit implementation.Keywords: Petri nets; CAN bus; VHDL; DSPN model1 引言随着深亚微米集成工艺的掌握,异步时序电路在超大规模集成电路方面得到应用,但异步电路设计仍然还没有逾越旧轨。

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

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

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

关键词Petri网C/E模型VHDLCPLDPetri网是 异步并发系统,没有人为的控制流,直观地表示了非确定性;且可以图形 化的方式描述复杂的系统,并可运用数学工具进行分析。

因此,其在软件系统的建模与仿真中得到广泛应用。

Petri网自身具备的可运行性方便了系统形式化描述级的模拟, 可以用于表达不同抽象级上的系统概念并清楚地描述整个系统的运作过 程。

笔者发现Petri网的应用目前仅局限于软件系统的设计,例如网 络协议、物流管理等,而在硬件系统中却很少涉足。

硬件系统随着功能的日益增强,其功能描述也越来越复杂。

基于硬件系统描述的VHDL语言以其强大的硬件描述能力,已被广 大科研工作者所采用。

VHDL语言也适用于描述异步并发系统,因此可与Petri网建 立的模型联系起来。

本文采用自顶向下与层次分析相结合的设计方法 用Petri网的一个子类C/E系统条件/事件系统对视频输入卡的逻辑控制器建立 模型。

针对控制器C/E模型中关心和需要观察的变量,确定VHDL描述 的实体和端口,由C/E系统网的拓扑结构确定条件和事件间的逻辑关系, 构造VHDL语言中的结构体。

采用EDA开发工具MAX+PLUSII进行代码设计,逻辑综合, 并对设计进行仿真,最后下载到CPLD,验证了逻辑控制器设计的正确 性。

图 1 视频输入卡结构框图1应用背景及控制器功能要求图1为某一视 频输入卡结构框图。

前端视频信号经过解码、缓冲后,将数据送入DSP处理。

其中由逻辑控制器协调各部分之间的运作。

从图1中可以看出,逻辑控制器与视频切换、视频解码、视频数据缓 存以及DSP等部分存在联系,归纳起来需要完成五个基本功能视频通道 切换控制;插入行标志信息;FIFO的初始化操作;写FIFO;读F IFO。

毕业设计(论文)-利用vhdl语言在fpga上实现i2c总线控制器的功能[管理资料]

毕业设计(论文)-利用vhdl语言在fpga上实现i2c总线控制器的功能[管理资料]

摘要随着微电子技术的发展,现场可编程逻辑门阵列FPGA(Field Programmable Gate Array)可以实现数字电路系统设计的功能。

尤其现场可编程逻辑门阵列FPGA具有集成度高的优点,受到工程界高度的重视。

I2C 总线以接口简单,成本底,可扩展性好在数字系统中得到了广泛的应用。

硬件描述语言是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之一。

本课题正是利用VHDL语言在FPGA上实现I2C总线控制器的功能。

首先研究了I2C总线的规范,又简要介绍了QuartusⅡ设计环境以及FPGA 的设计流程。

在此基础上,重点介绍了I2C控制器的总体设计方案,以及在QuartusⅡ平台上的时序仿真。

关键词Quartus II;I2C总线控制器;现场可编程逻辑门阵列;时序仿真AbstractWith the development of micro electric and EDA(electronic design automation)technology, FPGA(field programmable gates array) can realize the function of digital circuit system design .FPGA have the merit of filed programmability and High integration rate ,therefore is highly recognized for bus is widely applied in the digital system as simple interface ,expedient use ,low cost and good expansibility .VHDL is considered as a core of digital system design and a key technique of implement digital system.The design realizes the function of I2C bus interface on the FPGA .At first the thesis deeply research I2C bus specification ,then briefly introduce the Quartus II design environment and the design method ,as well as FPGA design flow .In this foundation,I2C bus controller design scheme and the timing simulation under Quartus II is particularly introduced.Key words Quartus II;I2C bus controller ;FPGA ;timing simulation目录摘要 (I)Abstract .................................................................................................................. I I 第1章绪论. (5)课题背景 (5)I2C总线的产生及发展 (6)FPGA的现状与展望 (6)相关工作 (6)第2章I2C总线技术的研究 (8)I2C总线的概念 (8)I2C总线的传输 (9)数据的有效性 (9)I2C总线数据传送的开始和停止条件 (9)I2C总线传输过程中的应答信号 (10)I2C总线数据传送的重复开始条件 (11)I2C总线的传输过程中的字节格式 (11)I2C总线的器件子地址 (11)I2C总线传输信号的时序 (12)本章小结 (14)第3章VHDL语言的基础知识 (15)VHDL语言的概述 (15)VHDL语言的特点 (15)VHDL语言的程序结构 (16)VHDL程序的库 (16)包集合 (16)实体说明 (17)构造体 (18)配置 (18)本章小结 (18)第4章设计工具和设计方法 (19)设计工具 (19)基于FPGA的数字电路的设计流程 (20)本章小结 (21)第5章I2C总线的功能设计 (23)I2C总线完成的功能 (23)用VHDL语言实现写操作时的串行转并行 (24)用VHDL语言实现顺序读操作时的并行转串行 (24)I2C总线控制器的顶层设计 (25)本章小结 (26)第6章I2C总线的硬件时序仿真 (27)器件的选择 (27)硬件仿真 (28)用VHDL语言实现写字节周期 (29)用VHDL语言实现顺序读字节周期 (30)用VHDL语言实现选择性读字节周期 (30)本章小结 (31)结论 (32)致谢 (33)参考文献 (34)第1章绪论课题背景近年来,随着社会的发展,电子产品越来越多的进入人们的生活和工作中,成为了我们生活中必不可少的一部分,随着计算机的普及,以及电子设备之间相互沟通的更加频繁,为了更方便的实现器件与器件之间的通信,研发人员从消费者电子、电讯和工业电子中许多看上去不相关的设计中寻找到了他们的相似之处,例如几乎每个系统都包括:(1)一些智能控制,通常是一个单片的微控制器。

I2C总线控制器的VHDL设计及实现

I2C总线控制器的VHDL设计及实现

---------------------------------------------------------------最新资料推荐------------------------------------------------------ I2C总线控制器的VHDL设计及实现I C 设计I C 设计65EEMMBBEE DDDDffEEDDSSYYSSTTEEMMSSCCOOMMMMUUNNIICCAATTIIOONNSS CCOOMMPPUUTTEERRAAUUTTOOMMAATTIIPPOONN MMEEAASSUURREEMMEENNEETTAAPPPPLLWWIICCAATTIIOORRNN ooIICC PPRROODDUUCCTTSSPPOOEERRSSUUPPLLYYTTEECCHHNNOOLLOOGGIISSIC DESIGNIC DESIGNIINNDDUUSSTTYYAANNAALLYYSSIISSEl ectroni c Desi gn Appl i cati on W orl d-N i kkei El ectroni cs Chi na 引言I2C总线以其接口简单灵活等突出优点在数字系统中获得了广泛的应用系统中I2C总线被普遍用来连接CPU/ M CU和外围器件规范经过十几年的实践多层标准从传输速率上划分标准模式( 100Kbi t/s)(400Kbi t/s) 高速模式(3.4M bit/s)从寻址范围上划分有7 位地址模式和10 位地址模式语言设计的控制器模块采用标准速率 7位地址的模式主要应用在嵌入式系统中给CPU/ M CU提供一个操作I2C器件的简易平台以弥补某些CPU/ M CU功能的不足使用尤其在嵌入式I2C 总线发展了有快速模式本文使用VHDL功能定义I2C总线的接口非常简单只需一根数据线( S DA) 和一根时钟线( SCL)I2C 器件可以工作于主件(M aster)模式和从件(Sl aver)模式但I2C 总线上同时只能有一个主件和多个从件每次传输规定由主件发起通过从件地址( S l a v e rAddress) 访问从件单实用的原则于M aster 模式端口定义设计时本着简限定本模块只工作entity I2C_CTRL isp1 / 6o rt(-- 系统信号nReset: i n STD _LO G IC; -- 系I2C 总线控制器的 VHDL 设计及实现迈瑞医疗电子公司郑俭锋摘要本文用VHDL 设计了一个简洁而实用的I2C总线控制器实现并给出了在嵌入式系统设计中的使用方法I2C 总线VHDLFPGA介绍了详细的设计思路和在FPGA中的关键词表1 3个寄存器的定义控制寄存器I2CR 状态寄存器I2SR数据寄存器I2DR说明用来存储最近一次从I2C总线接收的数据来存储当前要往I2C总线发送的数据I2DR实际上是两个寄存器被编为一个地址一个为I2DI ( 只读)另一个为I2DO ( 只写)用万方数据2004. 7 电子设计应用 . cnI C 设计I C 设计66E MBE DDE DSYSTEMSE MBE DDE DSYSTEMSCOMMUNI CAT I ONS COMPUTERCOMMUNI CAT I ONS COMPUTERAUT OMAT I ON MEASUREMENTAUT OMAT I ON MEASUREMENTAPPLI CATI ON ofI C PRODUCTSAPPLI CATI ON ofI C PRODUCTSPOW ER SUPPLYT ECHNOL OGI ESPOW ER SUPPLYT ECHNOL OGI ESI C DESI GNI GNI C DESI NDUSTRYANALYSI SI NDUSTRYANALYSI S统复位信号端CLK: i n STD_LOGI C; - -FPGA 内部系统时钟端-- 控制信号ADRS: i n STD_ LOGI C_VECTO R(4 dow nto 2); -- 地址线 3位( 8 个32 位地址)Di n: i n STD_ LOGI C_VECTO R(7 dow nto 0); -- 数据输入线8位Dout : out STD_LOGI C_VECTO R(7 dow nto 0); -- 数据输出线8位nCS: i n STD _LO G IC; --片选使能端nW R: i n STD_LO GIC; -- 写使能端-- I2C总线信号SD A: i nout STD _LO G IC; --串行数据输入输出端SCL: out STD _LO G IC --时钟输出有三态输出---------------------------------------------------------------最新资料推荐------------------------------------------------------ 端三态输出);end I2C_CTRL;寄存器定义本模块的寄存器定义参照M ot orol a 公司Col dFi re系列M CUM CF5307 的I2C控制器3个寄存器长度均为8位采用32位编址如表1 所示时序状态机本模块根据I2C 总线规范的时序标准(见图1)划分一个传输周期为8个状态状态转换如图2所示共定义了进程设计本模块全部采用同步时序设VHDL 时序仿真见图3不提供VHDL 原程序对每个进程的关键点进行说明时钟进程本模块设定FPGA分配给I2C模计幅限于篇下面只块的系统时钟( CLK) 为 20M Hz而标准模式的I2C总线操作速率( SCL 的速率) 为100KHz系统时钟进行分频基于VHDL 的同步设计需要本地时钟频率必须为SCL 速率的整数倍取两倍值本地时钟频率设为200KHz6bit定时器ti m er对系统时钟的上升沿进行计数系统复位时需要对本模块因此定义ti m er 清零当CLK上升沿时 ti m er 值减1 当ti m er20M Hz 的系统输入时钟进行100 分频产生200KHz 的本地时钟为满足对总线的运行状态进行进一步的细分使用一个5bi t的step信号对运行进度进行计数地时钟到达时step加1CPU 读寄存器进程系统复位时D out 端口清零片选信号 nCS 有效的情况下CLK 上升沿时对地址总线ADRS译码把指定地址的寄存器内容送到Dout 端口CPU写寄存器进程系统复位时I 2DO 在片选信号nCS 和nW R 同时有效的情况下时读取Di n端口的信号ADRS 译码选中的寄存器状态标志改写进程系统复位时志运行时根据状态机和step的值改写状态标志其中I2SR[IIF]因为同时可以由CPU改写个独立的进程3 / 6状态机赋值进程和状态机转换进程系统复位时检测到M STA=1 时态保持4 个本地时钟周期READY 状态根据M TX 的值入SENDI NG或RECEVI NG状态等待I CF=1 时表明传输结束入W AI TI NG状态M STA 是否被清除个传输或者退到STOP状态状态保持3 个本地时钟周期I DEL 状态SCL 线进程和 SDA 线进程0时赋值100 对每个本在当初始化I2CR 和当 CL K 上升沿存入被初始化状态标安排另外一状态为IDEL进入START 状当进入进进根据I I F 或者决定继续下一STOP 返回万方数据I C 设计I C 设计67EEMMBBEE DDDDffEEDDSSYYSSTTEEMMSSCCOOMMMMUUNNIICCAATTIIOONNSS CCOOMMPPUUTTEERRAAUUTTOOMMAATTIIPPOONN MMEEAASSUURREEMMEENNEETTAAPPPPLLWWIICCAATTIIOORRNN ooIICC PPRROODDUUCCTTSSPPOOEERRSSUUPPLLYYTTEECCHHNNOOLLOOGGIISSIC DESIGNIC DESIGNIINNDDUUSSTTYYAANNAALLYYSSIISSEl ectroni c Desi gn Appl i cati on W orl d-N i kkei El ectroni cs Chi na 系统复位时SCL 线输出高阻运行时按照状态机和step的值改写SC L 线当进入传输状态( SENDI NG或 RECEI VI NG) 时step[0]0输出高阻 step[0]=1输出低电平系统复位时SDA 线输出高阻运行时按照状态机和step的值读写SDA 线在F PGA 中的实现本I2C 控制器模块全部采用可综合的 V H D L 语言设计M entor公司的Leonardo Spectrum 工具综合并在Al tera公司的Cycl oneFPGA 中实现布线Leonardo Spectrum 2003b65综合的结果是Devi ce Ut i l i zat i on f orEP1C6Q240CResource U sed A vailU---------------------------------------------------------------最新资料推荐------------------------------------------------------tilizatio nIO s 25 181 13.81%LC s 171 5980 2.86%M emory Bits 0 921600. 00% Clock Frequency ReportC lock : FrequencyCLK : 211.8 M H z此处作为一个单独的模块进行综合因此上述结果I/O口占用率包括了地址数据总线和时钟线等实际使用时作为一个子模块信号线都在FPGA内部通过这些模块的使用说明本模块适合应用在嵌入式系统作为CPU/M CU连接I2C器件的一个桥接器使得CPU可以像操作普通存储器一样控制I2C器件下面中图3 VHDL 仿真时序补充说明CPU/ M CU操作本模块的使用方法1) 每发起一次传输都必须先对I2C器件进行寻址器件里接收还是发送数据先设置I2CR[ M TX] 以标明是一个发送任务并在I2DR中填入要寻址的I2C器件的Sl aver 地址再发送开始传输指令只有在传输完地址之后再按需要改写I2CR[ M TX] 位来实现接收或者发送址之前就试图读写I2C 总线将得不到预期的结果2) 在一次传输完成之后将置位中断标记I2SR[IIF]须由软件清除后控制器将自动读取I2CR下一轮传输如果要改变传输方式应该在清除中断标记I2SR[IIF]之前改写I2CR寄存器3) 对reSTART指令的执行与I2C总线协议规范不尽相同传输指令没有被结束( 即在发送r e S T ART 指令之后没有发送过S T O P 指令)IreSTART 指令否则无效次需要reSTART操作时重复设置I2CR[ RSTA] 才能生效样解释reSTART指令的目的是不5 / 6管是要从I2C都必须如果发送地中断标记必在标记被清除之进行只有在的状态下设置2C R [ R S T A ] 才能产生一个而且每必须再次这可以方便实现一些 E E PROM器件的选择/ 任意读数模式结语本文设计的I2C 控制器非常适用于以M CUFPGA嵌入式系统中当M CU不具有I2C控制功能而使用I /O口模拟又占用较多资源时用FPGA实现对I2C器件的控制成为最理想的选择常这种情况下针对在I2C 总线的地位来说MC U 只需担当主件( M aster 模式) I2C器件只充当从件( Sl aver 模式)而且一般的器件都只工作于标准速率FPGA 厂商提供的标准 I2C 控制器IP会造成资源浪费一个控制器就显得更为经济实用了为模式的通因此若采用而自行设计参考文献 1 The I2C-Bus Speci fi cati on,Version 2.1, Philips Sem iconductors,2019. 12 M CF5307 Col dFi re IntegratedM i croprocessor U ser誷 M anual , Rev2.0, M otorola, Inc., 2019.8万方数据。

基于CPLD组合逻辑电路的VHDL实现

基于CPLD组合逻辑电路的VHDL实现

其它端口
I /O 区 0X08000 ̄ 0X0FFFF。
另外,还有其它的 I/O 控制逻辑、软硬件复位等系统需求。
2.2 硬件设计
系统控制电路的逻辑框图(不含数据和地址总线)如图 2- 1 所示。
收稿日期:2006-07-29
·66·
北京电子科技学院学报
2006年
在 本 系 统 中 ,CPU 采 用 DSP
对 PCI、网卡、键盘等的状态端口 读取仿真结果也均正确。
2)产生各接口需要的控制信 号的仿真:如对总线进行地址为 0x8000 的 写 操 作 , 写 入 数 据 为
图 2- 3 I/O 控制仿真波形
0x55 后,USB 的几个控制信号线输出状态均正确,写入数据为 0xaa 后,USB 的几个控制信号线状态与写入数据为 0x55 时正 好相反,这说明对 USB 的控制信号线操作是正确的。
第 14 卷 第 4 期 Vol.14 No.4
北京电子科技学院学报 Journal of Beijing Electronic Science and Technology Institute
2006 年 12 月 Dec. 2006
基于 CP LD 组合逻辑电路的 VHDL 实现
李新红 1 李凤华 2,1 丛 文 1 (1 . 西安电子科技大学计算机学院,陕西西安 71 0071 ; 2. 北京电子科技学院,北京 1 00070)
摘 要:本文介绍了基于 C PLD 组合逻辑电路的 V H D L 设计思想,并结合嵌入式教学系统的译码和 I/O
控制电路的具体应用,做了较为详细的例证,其中包含部分代码。
关键词: C PLD ;组合逻辑电路;V H D L;实现
中图分类号:TN791

基于Petri网的并行控制器的VHDL实现

基于Petri网的并行控制器的VHDL实现

基于Petri网的并行控制器的VHDL实现
陆继远
【期刊名称】《微型机与应用》
【年(卷),期】2005(24)12
【摘要】Petri网是离散事件系统建模的重要工具,本文使用硬件描述语言VHDL 实现了基于Petri网的并行控制器.文中通过一个液位控制系统实例具体介绍了这一方法,并通过仿真波形证明了该方法的正确性.这对于离散事件系统并行控制器的设计具有十分重要的意义.
【总页数】3页(P20-22)
【作者】陆继远
【作者单位】江苏大学,电气信息工程学院,江苏,镇江,212013
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VHDL语言的交通信号控制器的设计与实现 [J], 林涛
2.基于Petri网的数字系统建模和VHDL实现 [J], 万军;赵不贿;秦怀宇
3.基于VHDL的LCD控制器的设计与实现 [J], 周雷;付慧生;熊建伟
4.基于VHDL的Petri网系统的FPGA实现 [J], 王玲玲;刘惊雷;马晓敏
5.基于VHDL和PETRI网实现异步DMA控制系统 [J], 蔡杰;齐智
因版权原因,仅展示原文概要,查看原文内容请购买。

PLD与AVR总线通信接口VHDL设计与实现.

PLD与AVR总线通信接口VHDL设计与实现.

PLD与AVR总线通信接口VHDL设计与实现1、引言嵌入式系统在日常生活中的大量使用,人们也对其性能和速度提出了更高的要求。

微控制器和可编程逻辑器件的结合,更能充分发挥嵌入式系统的优势。

本文设计和实现的微控制器与可编程逻辑器件之间总线读写方式通信比传统的串行通信更可靠、速度更快。

下面是一些相关术语的说明。

总线:任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。

为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线[2]。

采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。

AVR:ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。

AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令。

本系统采用的AVR Mega64L 还具有:用32个通用工作寄存器代替累加器,从而可以避免传统的累加器和存储器之间的数据传送造成的瓶颈现象;一个时钟周期执行一条指令;可直接访问8M字节程序存储器和8M字节数据存储器寄存器等特点[3]。

PLD(Programmable Logic Device):PLD分为CPLD(Complex Programmable Logic Device)复杂的可编程逻辑器件和FPGA(Field Programmable Gate Array)现场可编程门阵列两大类[2、3]。

两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。

PLD是一种具有丰富的可编程I/O引脚的可编程逻辑器件,具有在系统可编程、使用方便灵活的特点;不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能。

基于VHDL语言和可编程逻辑器件实现Petri网逻辑控制器的设计

基于VHDL语言和可编程逻辑器件实现Petri网逻辑控制器的设计

基于VHDL语言和可编程逻辑器件实现Petri网逻辑控制器的设计作者:王玲玲,刘惊雷,马晓敏1 引言Petri网是一种系统的、数学的和图形的描述和分析工具,随着超大规模集成电路FPGA 和CPLD的发展,Petri网的硬件实现成为可能,而基于Petri网的逻辑控制器的逻辑电路实现方法成为最近几年的研究热点。

在目前的Petri网硬件实现的研究中,主要给出了petri 网C/E系统和P/T系统的几种实现方法,但主要存在如下缺点:1)使用基本门电路和触发器用图形法自底向上实现了Petri网基本元件库所与变迁。

这种设计方法的最大缺点是不易于任意修改逻辑电路设计。

2)用VHDL语言实现了整体电路设计的软件化,但未形成模块化的Petri网元件。

VHDL语言由于其其强大的行为描述能力及与硬件行为无关的特性,被广泛的用于数字系统设计,实现了硬件电路设计的软件化,成为实现Petri网逻辑控制器的有力的工具。

用VHDL语言进行数字电路设计的很大的优势是其自顶向下的设计方法,可以充分的实现电路的层次化设计,从而很方便的修改顶层的控制器电路。

本文分别用VHDL语言研究了几种Petri 网系统的硬件实现,包括同步PN、时延PN,尤其是高级网系统有色PN。

在当前的研究中有色Petri网的硬件实现是一个难点。

2 同步Petri网的实现2.1 同步Petri网简介定义1 同步PN是一个三元组。

其中R是一已标识的PNE是外界事件集Sync是从R的变迁集到事件集的函数。

在同步PN中,每个变迁总是与一个事件相联系,当变迁是使能的,且与变迁联系的事件发生时,产生变迁的激发。

2.2 同步Petri网的元件实现元件P_M实现了基本的同步Petri网系统(如图1(a))中的库所模块,库所P具有两个输入变迁和两个输出变迁,且每个变迁均与外部事件有关。

当库所P中没有托肯且库所P0或P1中有托肯时,外部事件E发生,变迁t0或t1激发,则托肯从库所P0或P1移动到库所P;当P中有托肯且库所P2或P3中没有托肯时,外部事件E发生,变迁t2或t3激发,则托肯从库所P移动到库所P2或P3;元件P_M(如图1(b))是在EDA软件Max+PlusⅡ中采用VHDL语言描述,经过编译、仿真后形成模块并存放与元件库中的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Petri网的CAN总线模型的VHDL实现胡辉1,2崔瑞雪1韦雪洁1(1.北华航天工业学院电子工程系河北廊坊 065000;2.河北工业大学信息学院天津300130)摘要:本文主要介绍了一种基于Petri网的CAN总线模型的VHDL实现过程。

其中包括将CAN总线的通信过程进行随机Petri网(DSPN)建模, 然后将Petri网与VHDL语言相结合,用VHDL语言来描述CAN节点的DSPN模型,最后通过EDA软件工具成功实现了仿真,从而获得了系统的动态性能等内容。

为各种通信协议的研究及电路实现奠定了基础。

关键词:Petri网 CAN总线 VHDL DSPN模型VHDL Implementation of CAN Fieldbus Modeling Based on Petri netsHU Hui CUI Rui-xue WEI Xue -jie(1.Electronics Engineering Department, North China Institute of Astronautic Engineering , Langfang 065000,China;2.College of Information; Hebei Industrial University; Tianjin 300130; China)Abstract: This paper introduces a process for VHDL implementation of CAN fieldbus modeling based on Petri nets. which includes carrying on the model to DSPN(Deterministic and Stochastic Petri Net) of the communication behavior of CAN Fieldbus , describing DSPN model of CAN node by VHDL Language, simulating with the EDA software, then the dynamic properties of the system are obtained. It is the basis to the Research on the Communication Protocol and circuit implementation。

Keywords: Petri nets; CAN bus; VHDL; DSPN model1 引言随着深亚微米集成工艺的掌握,异步时序电路在超大规模集成电路方面得到应用,但异步电路设计仍然还没有逾越旧轨。

Petri网是异步并发系统,没有人为的控制流,直观地表示了非确定性;且可以图形化的方式描述复杂的系统,并可运用数学工具进行分析。

因此,其在软件系统的建模与仿真中得到广泛应用。

VHDL语言适用于描述异步并发系统,因此可与Petri网建立的模型联系起来。

使用Petri网对系统进行建模、分析和验证,然后直接编译为VHDL代码。

CAN总线具有成本低、易开发、实时性好以及抗噪声性能好等优点,传输速率最高为1Mbps,最大传输距离为10km,由于其数据通信可靠,现在已逐步发展成为用于工业部门控制和通信的现场总线。

CAN总线是一种面向工业应用的、全分布式的、实时网络控制系统,其理论分析与建模很不成熟,缺乏完整的研究体系。

本文对CAN总线的通信过程进行进行DSPN建模,并利用VHDL语言描述了随机Petri网的模型,为现场总线的通信协议的性能分析提供一种新的方法。

2 CAN总线的DSPN模型目前,国内Petri网的硬件实现研究的较早,但Petri网到VHDL编译器的开发较晚,国外已经进行了较多的研究。

瑞典人研究将有色Petri网映射成VHDL。

其主要内容是将Petri网图形描述翻译成VHDL代码,方法是将Petri网中的每个结点(库所或变迁)翻译成元件库中预先定义的VHDL组件。

葡萄牙和波兰人开发了一个ECAD软件,该软件的主体是一个编译器,使用Cocktail编译工具将Petri 网CONPAR格式的文本描述转为RTL级的VHDL代码。

在Petri网中引入时间参数,在每个变迁的可实施与实施之间联系一个随机的延迟时间,这种类型的Petri网叫做随机Petri网(stochastic Petri net,SPN)。

随机Petri网为系统的性能模型提供良好的描述手段。

随机Petri网大致可分为随机Petri网(SPN)、广义随机Petri网(GSPN)、随机回报网(SRN)和确定与随机Petri网(DSPN)。

CAN的CSMA/CA单节点的DSPN模型如图1所示。

模型中库所P表示系统的状态,用圆圈表示。

变迁T表示系统状态发生的变化,用方框表示。

一般用白色矩形表示随机变迁,黑色矩形表示定时变迁,线段表示立即变迁。

设计一个CAN系统时,必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。

在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。

一个CAN节点的通信DSPN模型的状态与变迁的含义如表1所示。

网络上的任意节点向其它节点发送信息,只有在前一个信息传输成功发送后才能接收新的传输要求。

本模型主要分为三个模块:通道模块,冲突处理模块和正常发送和接收模块。

(1)通道模块模型中采用库所P7来表示CAN总线通道状态,当P7含有token时,表示当前通道处于忙状态。

首先,发送节点处于准备就绪状态P1,经历随机时间变迁T1后节点信息处于队列状态P2,然后发送节点检测通道忙闲状态。

当检测到通道忙,即P7有一个标记,瞬时变迁T2实施,节点进入等待状态P3,直到通道空闲,并再经历一小段由确定时间变迁T3参数设定的延时后再发送;否则,瞬时变迁T7实施,发送节点发送其信息帧的标识符部分P8。

图1 CAN节点的通信DSPN模型表1 状态与变迁的含义(2模型中用库所P6表示优先级高的节点存在的状态,当库所中有token时表示有高优先级的节点信息在发送。

当节点处于P8状态时,如果在这期间检测到P6含有标记,即通道上有高优先级的息在发送,则进入受阻状态P4,经历退避状态P5 重新回到P2状态;否则发送该帧的全部信息P9。

(3)正常发送模块当节点处于P9状态时,节点处于等待帧校验的结果状态P10,如果该帧传输有误,瞬时变迁T10实施,发送节点重新回到P2状态继续发送该帧;否则,传输正确,瞬时变迁T12实施,发送节点准备撤除通道连接状态P15,经过瞬时变迁发送节点T11撤除连接后回到P1状态,等待新的发送请求。

3 VHDL语言实现VHDL语言诞生后,被列为IEEE1076标准,并成为工业界的标准,被广大硬件设计者所接受。

它提供的丰富手段可以方便地产生能够运行的硬件系统描述模型。

VHDL有多个抽象级别的描述能力,可支持抽象级别之间的任何方式的混合描述。

将系统级建模方法与VHDL相结合,既可以利用VHDL丰富的支持工具实现系统硬件部分设计的自动化,又可以利用VHDL的模拟环境对系统的完整模型进行模拟分析,从而为系统的设计提供快速原型设计方法的设计支持。

VHDL语言与Petri网一样,也是一种并发语言,把系统设计的模型用Petri网进行描述、分析与验证,然后转变成为VHDL语言描述并进行仿真和综合,这将使Petri网与VHDL语言的优势得到互补,使设计系统的性能得到进一步的分析和验证。

(1)VHDL语言的实体描述程序的实体描述是对设计实体与外部电路进行接口描述。

根据该系统的协议中关心和需观察的变量选择系统的输入和输出信号,以确定VHDL语言描述的实体及其端口。

在CAN总线协议的系统模型中,将CAN总线通道状态设计成实体的输入信号,系统条件作为实体的输出信号。

(2)程序的结构体描述结构体用于描述设计实体的逻辑结构和逻辑功能。

根据系统的协议,可采用多进程组织结构来描述系统。

多进程结构是并行执行进程的网络,多个进程并发执行。

因此从系统的拓扑结构角度,可将各进程映射系统的各库所状态,从而能够描述出各条件库所间的异步并发的关系。

各进程之间通过信号进行通信。

信号是由新变化的参量引导进程产生的输出结果。

设计进程的程序,使之产生的输出结果成为新的库所状态,从而影响变迁发生权条件,以各进程的输出结果作为进程间的通信信号。

(3)系统资源的冲突VHDL语言支持行为描述和结构性描述等多种描述方法,使用VHDL语言的并行语句描述系统中的并发关系,用VHDL的顺序语句描述系统内部的顺序约束机制,为解决系统内部的有效冲突提供了可行的方法。

在实际的Petri网模型中可能存在冲突,Petri网系统自身并不提供解决冲突的方法。

VHDL语言中的并行语句不能解决冲突问题。

使用VHDL并行语句描述冲突时将导致资源的丢失。

而使用VHDL语言中的顺序语句,如进程内部的语句,采用设定不同优先级的方法,可以解决Petri网中存在的冲突。

(4)VHDL语言的时延在系统的设计过程中,需要建立时延模型对系统的时延特性进行分析。

时延Petri 网引入到系统中进行建模、分析是十分必要的。

由于VHDL语言具有很强的电路描述和建模能力,能从系统层、算法层、寄存器传输层(RTL)、逻辑层和电路层对数字电路进行建模和描述。

所以使用VHDL语言来描述时延Petri网,并进行仿真,从而获得其性能,为系统的设计实现奠定基础。

在VHDL语言中,wait和after语句可被用来对电路的时延进行建模与仿真。

wait语句用于进程。

VHDL中使用after语句实现器件的传输延时和惯性延时。

(5)CAN单节点DSPN模型的VHDL编程实现利用VHDL语言编制的CAN单节点DSPN模型部分程序如下:ARCHITECTURE a OF petri1 ISsignal ra1,rb1,r1,r2,r5,r10,ra2,rb2,rc,r8,r9:std_logic;beginprocess(reset)beginif reset<='0' then ra1<= '0';elsif (reset'event and reset='1' )then ra1<= '1', '0' after 10 us;end if;end process;rb1<=(ra1 or rc);process(reset,rb1)beginif reset<='0' then r1<= '0';elsif (rb1'event and rb1='1' )then r1<= '1'after 200 us, '0' after 210 us;end if;end process;rout1<=r1;……4 结束语利用VHDL语言实现CAN的DSPN建模后的编程后,利用modelsim软件进行仿真。

相关文档
最新文档