您现在的位置:智能制造网>技术中心>PLD的PROTEUS电路仿真 

直播推荐

更多>

企业动态

更多>

推荐展会

更多>

PLD的PROTEUS电路仿真 

2010年04月21日 17:39:55人气:1448来源:西安誉通光电测控有限责任公司

PLDPROTEUS电路仿真

 

PROTEUS软件简介
     PROTEUS 是来自英国公司的工具软件,在广泛使用。和其它工具相比,这款软件的zui大特点就在于它能够模拟单片机。可以直接在基于原理图的虚拟原型EDA上编程,并实现软件源码级的实时调试。还能看到运行后输入输出的效果。但是现在大家都只注意到PROTEUS对单片机的仿真和如何与Keil进行关联调试,其实 PROTEUS还能够进行PLD的电路仿真。
     PLD(可编程逻辑器件)是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将这些片内的元件连接起来,使之完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的集成电路。
     一般的PLD设计软件只能进行PLD芯片的时序逻辑仿真,而PROTEUS能进行PLD的电路仿真,可以模拟设计的PLD芯片在电路中实际运行的情况。
    我们通过使用GAL16V8设计一个在单片机系统里常用的三八译器,然后在PROTEUS中通过观察GAL16V8中三八译码器的输入与输出的对应关系来完成PLD的电路仿真。

2. PLD的设计
    首先用Pro 99SE完成PLD的设计。
    完成后的PLD原理图如下所示:
 
图1   画好的PLD原理图
      这是一个3-8译码器的PLD文件。输入信号为目标元件的2、3、4三个脚,输出信号为目标元件的12-19脚,6-8脚为使能控制端。
     Pro 99SE的PLD原理图的设计与普通原理图相同,但有几点是需要注意:

  • 生成PLD元理图后,在原理图中自动加入了两个PLD的元件库(PLD_Devices.lib、PLD_Symbols.lib),PLD的电路图绘制必需使用这两个库中的元件。
  • 绘制PLD原理图时,必须放置输入/输出端口(输入:IPAD、输出:OPAD、输入/输出:IOPAD)元件,这些元件所的引脚代表着目标器件的引脚。
  • 在输入/输出端口元件放置好后,必须对其进行编号,还要该端口元件所对应连接的目标器件的引脚号。

     完成PLD原理图后,选择[PLD]/[Compile]进行编译,生成各种格式的文件:
 
图2  编译生成的各种文件
     打开生成的.jed文件,点击右键,在弹出的窗口中选择[Export…]项,选择.jed文件的输出目标地址。
     至此就完成了PLD文件的设计。

3 ProteusPLD的仿真
     启动Proteus,绘制好电路图。
 
图3   Proteus仿真电路图
       电路中LED显示采用低电平时LED点亮的显示方式。电路中I1-I3为GAL16V8输入端口,端口为高电平时为1,低电平时为0, IO0-IO7为输出端口,输出端口为:LED灯亮时端口输出低电平0,熄灭时为高电平1。
      为了使PLD元件能仿真,还必须在电路中将编译的.jed文件加入PLD元件中:将鼠标移到U1(16V8)中,右击,选择元件,然后左击,调出“元件的属性”对话框,在属性对话框中,在窗口中的“JEDEC Fuse Map File:”中加入.jed文件:
 
图4  16V8元件属性
     由前面PLD的设计可得3-8译码器的真值表:
 输入信号  输出信号                 
I3 I2 I1 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1  1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1

 表1   3-8译码器真值表
    为了观察16V8的输入与输出的对应关系,我们在AT89C52的程序(程序见附录)中将与I3、I2、I1相连的P2_2、P2_1、P2_0三个端口按真值表中的顺序依次改变,观察LED灯是否由IO0至IO7依附点亮。
    将单片机的程序加入AT89C52后,在Proteus中点击Play键观看电路仿真结果:当输入端的I1、I2、I3值按程序设定按真值表中的000— 111依附改变时,输出端对应LED灯按真值表中的对应关系由IO0至IO7依次点亮,如下图。说明PLD器件16V8设计的三八译码器译码正确。
 
图5  译码电路对应输入/输出截图

4.  结语
     单片机与PLD的结合是当前嵌入式设计经常采用一的种方式。 但如果要进行硬件电路测试和系统调试则比较麻烦, 因为要进行这两个过程必须在电路板制作完成、元器件焊接完毕之后进行。而电路板的制作、元器件的安装、焊接是费时费力的, 如果采用作为单片机系统的仿真工具PROTEUS 进行单片机和PLD的仿真, 则不用制作具体的电路板也能够完成以上工作。在使用PROTEUS 运行系统虚拟开发成功之后再进行实际制作, 可以直观得观察电路的运行情况,提前发现设计的错误,可以极大的提高开发效率、降低开发成本、提高开发速度。
 
 程序附录:
 
 #Include<reg51.h>
 #Include<stdio.h>
 sbit P2_0=P2^0;
 sbit P2_1=P2^1;
 sbit P2_2=P2^2;
 
 void delaytime(int count);
 void main(void)
 {
 while(1)
  {
 P2_2=0;
 P2_1=0;
 P2_0=0;
 delaytime(500);
 P2_2=0;
 P2_1=0;
 P2_0=1;
 delaytime(500);
 P2_2=0;
 P2_1=1;
 P2_0=0;
 delaytime(500);
 P2_2=0;
 P2_1=1;
 P2_0=1;
 delaytime(500);
 P2_2=1;
 P2_1=0;
 P2_0=0;
 delaytime(500);
 P2_2=1;
 P2_1=0;
 P2_0=1;
 delaytime(500);
 P2_2=1;
 P2_1=1;
 P2_0=0;
 delaytime(500);
 P2_2=1;
 P2_1=1;
 P2_0=1;
 delaytime(500);
 
 }
  }
 
 void delaytime(int count)
 {
   int j,k;
   while(count-- !=0)
   {
     for(j=0;j<10;j++)
        for(k=0;k<72;k++)
        ;
       }
 }

 

全年征稿/资讯合作 联系邮箱:1271141964@qq.com

免责声明

  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

<
更多 >

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备


我要投稿
  • 投稿请发送邮件至:(邮件标题请备注“投稿”)1271141964.qq.com
  • 联系电话0571-89719789
工业4.0时代智能制造领域“互联网+”服务平台
智能制造网APP

功能丰富 实时交流

智能制造网小程序

订阅获取更多服务

微信公众号

关注我们

抖音

智能制造网

抖音号:gkzhan

打开抖音 搜索页扫一扫

视频号

智能制造网

公众号:智能制造网

打开微信扫码关注视频号

快手

智能制造网

快手ID:gkzhan2006

打开快手 扫一扫关注
意见反馈
关闭
企业未开通此功能
详询客服 : 0571-87858618