资源描述
7.3 EPROM和GAL编程器
7.3. 1 概述
EPROM和GAL编程器由4部分组成:编程卡、34芯连接电缆、编程插座和编程软件。实验台上有两个可锁紧插座,28芯插座(宽)放EPROM芯片,24芯插座(窄)放GAL芯片。实验台上的34芯牛角矩形插座用来连接编程电缆。TEP-3编程卡插在计算机中。编程电缆连接实验台和TEP-3编程卡。编程软件控制EPROM,EEPROM和GAL的读、编程等操作。主要技术指标如下:
(1) 可编程芯片
EPROM:2716—27512;27C16—27C512
EEPROM:2816,2817,2864
GAL:16V8,20V8,16V8A,20V8A
(2) 编程电压由编程卡自动产生,由程序控制,连续可调。
(3) 对EPROM芯片编程有按字节、字、字符串和文件几种写入形式,并自动校验。
(4) GAL编程采用标准JEDEC文件格式。
(5) 编程EPROM芯片速度大于1.5KB/s。
(6) 手动编辑GAL芯片熔丝图。
7.3.2 安装
安装步骤如下:
(1) 关闭PC机电源,打开PC机外壳。
(2) 将编程卡插在PC机内部任一扩展插槽中,用螺钉将编程卡固定在机架上。
(3) 用连接电缆将编程卡与实验台连接在一起。
(4) 在DOS提示符下,在用户硬盘上建立一个专门供PLD使用的子目录。将PLD程序盘上的所有文件拷贝到此子目录中。
(5) 启动PLD程序,计算机屏幕上显示出主菜单。这时即能进行EPROM或GAL读、写操作。
若用软盘运行PLD,则应首先将PLD程序拷贝一个备份,用新拷好的盘运行PLD程序。
本编程器占用PC机9个连续I/O端口地址,出厂时设定起始地址为2E0H。如果此地址与其他接口卡I/O地址发生冲突,请与我们联系修改。可选地址范围000H—2F8H。当I/O地址冲突时,编程器不能正常工作。
TDS实验台EPROM/GAL编程器部分有一红色发光二极管VPP指示编程电压。编程器所用高、低电压VPP和VCC均由程序控制。仅当进行读、写操作时,才向编程插座加电压VPP和VCC。当红色VPP指示灯亮时,表示工作电压已加到插座盒上,此时不允许插、拔芯片。插、拔芯片要注意以下事项:
(1) 不要在插座盒上同时插GAL和EPROM两类芯片。
(2) 注意插入芯片的缺口方向与插座盒上标明的方向一致,否则会损坏芯片。
(3) 注意芯片型号与所设定的型号一致。
(4) 应该在PLD软件运行之后,再插入芯片,插入时VPP指示灯不应发亮。
7.3.3 PLD软件使用说明
PLD软件盘上包括如下文件:
PLD.EXE
完成对EPROM,GAL读、写、校验等各种操作
PLDHELP.DOC
在线帮助文本文件,提供在线帮助信息
ROMTYPE.DOC
部分EPROM芯片ID与生产厂家名称、编程电压对照表
FM.EXE
FM编译程序
1.PLD软件基本操作
编程软件PLD.EXE是一个在DOS下运行的软件。在DOS提示符下,键入PLD后回车,即可启动PLD.EXE。运行后首先显示PLD软件的版本号,然后在屏幕上端显示主菜单,屏幕下端显示提示信息。主菜单形如
UVEPROM EEPROM GAL File Test DOS Inst Quit
主菜单中各子菜单条目的含义如下:
UVEPROM 选择紫外线擦除的27系列的EPROM芯片型号
EEPROM 选择电擦除的28系列EEPROM芯片型号
GAL 选择GAL芯片型号
File 把一种格式的文件转换为另外一种格式文件
Test 厂家用于系统硬件的检测和故障诊断,用户不能使用
DOS 暂时进入DOS环境,键入EXIT命令后从DOS回到PLD
Inst 系统安装功能
Quit 退出PLD系统
利用光标控制键↑↓→ ←可在屏幕上选择所需要的操作。首先将光标移动到目标子菜单条目上,然后按回车键启动该项操作。也可以用菜单命令中每一项的第一个大写字母来启动某项操作。有关UVEPROM,EEPROM和GAL操作稍后在第二、三两小节介绍。本小节对其余各项操作进行解释。
(1) DOS重入DOS操作系统
本命令主要用于在PLD软件的运行过程中执行某些DOS命令,如COPY,DIR命令等。选择主菜单上的DOS条目后按回车键即进入DOS环境。使用DOS命令完毕后,在DOS提示符下键入EXIT命令返回到PLD运行环境。执行该命令要求COMMAND.COM文件在当前盘根目录下。
(2) Inst系统安装
系统安装包括两项内容,即I/O端口地址的设置和显示器类型设置。
CRT Mode显示器类型设置。可供选择的显示器类型有彩色(Color)和单色(B/W)两种。一旦设置,系统自动将其记录,供以后使用。
I/o Address端口地址设置。按回车键能使端口地址从000H逐渐变化到2F8H。正常情况下,PLD软件会按约定地址确定编程器的I/O端口地址,用户不可随意改动。
(3) Quit 退出PLD软件
该命令退出PLD,回到DOS。选择该功能后,屏幕下方提示栏中提示是否确认退出,用“Y”或“N”回答。
屏幕下方提示栏通常显示
F1—HELP F2—Exec Esc—Exit
F1 处于主菜单选择状态时,选择某一项操作后,再按F1键即可得到此操作的在线帮助信息。
F2 选择某一项操作以后,屏幕还可能提示用户输入该操作的其他有关信息,如文件名等。这些信息输入完成后,PLD等待用户按F2键,以启动执行该项操作。所以在PLD软件中,F2键为“执行”键。EPROM或GAL的读、写,文件的格式转换等操作,按F2键才能执行。
Esc 使用Esc键退出某项操作。
2.EPROM编程
EPROM和EEPROM的编程操作基本相同。本小节对EPROM编程的介绍也适应EEPROM。在PLD主菜单中,选择UVEPROM条目,弹出紫外线擦除PROM的下拉编程菜单;如果在主菜单中选择EEPROM,则弹出电擦除PROM的编程菜单。对EPROM芯片,可进行下列各种操作:
Type 设定EPROM的型号和编程电压
Read ID 读出UVEPROM内部生产厂家标识和型号标识
Check 检查EPROM是否为空白芯片
Display 显示EPROM存储的数据
Write 对EPROM进行编程操作
Save 将EPROM内容拷贝到磁盘文件中
Verify 对文件和芯片内的内容进行比较
(1) Type 设定型号和编程电压
选择该子项以后,屏幕右侧会出现EPROM型号和编程电压的提示框。此时按回车键,EPROM型号从2716到27512(含CMOS芯片)循环变化。选中编程电压栏后按回车键,编程电压在12.5V、21V和24V之间循环变化。用户选择好芯片型号和编程电压以后按Esc键予以确认。接着对后续操作进行选择。不要在按Esc键后立即按回车键。因为此时仍处于选中Type状态,按回车键就预示着进行新的器件类型选择。结果导致前一次器件选择失效。
关于器件型号和编程电压,可参阅ROMTYPE.DOC文件或相关器件手册。对于无法确认编程电压的器件,应首先使用较低的编程电压进行编程实验。如果不成功,再逐步提高编程电压。
对于EEPROM器件,可选型号有2816A、2817A和2864A。这些芯片的编程电压固定为+5V,所以选择EEPROM器件型号时,不必选择编程电压。
(2) Read ID 读EPROM内部生产厂家标识和型号标识
该操作仅对UVEPROM进行。近几年来生产的EPROM器件2732—27512,内部都保存有生产厂家标识和类型标识。当将EPROM器件插入编程插座后,执行该命令,屏幕上显示出生产厂家标识和类型标识。内部标识表记录于文件ROMTYPE.DOC中。目前文件中收录了绝大部分Intel公司器件和部分市场流行的器件标识,对ROMTYPE.DOC中未记录的器件,PLD不能给出有关信息。一般情况下不必使用该项操作,只需用TYPE操作设定器件型号和编程电压即可。
(3) Check 芯片空白检查
如果被检查EPROM器件内的全部字节为"0FFH",那么屏幕将显示“OK”,表示是空白器件。否则,PLD将显示出第一个非"OFFH"单元的地址。
(4) Display 显示器件数据
选择该项操作后,PLD提示用户给出起始地址。输入起始地址后,按F2键,屏幕将显示一页共256字节的信息。左边一列为地址,中间是数据的十六进制值,右边是数据对应的ASCII码。此项操作中,用户可使用下列控制键:
Home 从0地址开始显示一页
End 显示最后一页
↑↓ 屏幕上滚或下滚一行
PgDn,PgUp 屏幕下滚或上滚动一页 ·
Save 保存EPROM内容至磁盘文件
用户使用Save命令时需给出文件名,EPROM的起始地址和读出长度,按F2键即可执行。注意地址或长度不要造成越界。
(5) Write写操作
本命令将数据写入EPROM。它要求指定一个地址,指出被写EPROM的区域。它有以下七种选择。
A Byte to EPROM 从键盘输入一个字节(16进制),写入EPROM
A Word to EPROM 从键盘输入一个字(16进制),写入EPROM。高字节放入高地址,低字节放入低地址 。
Bytes to EPROM 从键盘输入若干字节,写入EPROM。输入过程中,字节之间用空格分开
String to EPROM 从键盘输入一字符串,写入EPROM。字符串按ASCⅡ码解释,一个字符占一个字节
File to EPROM 将文件中的数据写入到EPROM。文件长度和EPROM的容量应匹配,以免越界。
File(Even) to EPROM 将文件中的偶数字节写入到EPROM
File(Odd) to EPROM 将文件中的奇数字节写入到EPROM
在执行写入操作时可能会产生下列屏幕提示:
Out of Range 地址范围越界
OK! 写入操作成功
False! 写入操作失败
File Not Found 文件未找到
(6) Verify校验操作
本命令将一个磁盘文件的内容与EPROM的内容相比较,并显示比较结果。为了保证写操作的可靠性,建议在完成写操作后进行一次校验操作。
3.GAL操作
进入PLD主菜单后,选择GAL条目并按回车键则进入GAL子菜单。对GAL的操作共有下列9种:
(1) Type类型设定
可供选择的GAL类型有GALl6V8,GAL20V8,GALl6V8A和GAl20V8A,请注意这4种器件的编程方法和编程电压完全不同,必须正确选择。
(2) Load装入JEDEC文件
该命令将一个JEDEC文件读到内存,以供编辑修改和编程操作。文件装入后,自动进入编辑状态。键入文件名时,扩展名JED可以省略。
(3) Save保存JEDEC文件
该命令是Load的逆操作。它将内存中的熔丝信息按JEDEC标准保存到文件中。文件的缺省扩展名为JED。
(4) Read读器件内部熔丝图到内存中
该命令可将未加密的GAL器件内容读入到内存中,并自动进入到编辑状态。
(5) Edit熔丝图编辑
该命令用于对GAL内部结构的手工编辑,可编辑的内容有:
①器件电子标签(Electronic Signature)
按字母键‘E’后可输入电子标签,内容可以是任何字符,但长度不应超过8个字符,输入以回车键结束。
②器件的结构控制位
器件的结构控制位有SYN,AC0,AC1,POL(极性控制),PT(乘积项禁止位)对于这些熔 丝,统一用“x”号表示0,用“-”号表示1,按“-”键、‘X’键或空格键可以修改熔丝状态;组合键Alt+“-”和Alt+“x"可以修改一行的熔丝状态,但不含PT项。
对于SYN,AC0,POL和AC1可分别按“S”,“0”,“P”,“1"键后再修改,其熔丝可用↑,↓,→,←,PgUp和PgDn键将光标移动到相应位置后,进行修改。
注意,屏幕每次显示一个输出引脚的熔丝图,共有8个,对于16V8和16V8A来说,引脚号为19—12,对于20V8和20V8A来说,引脚号是从22~15。
一般来说,JEDEC文件中不含GAL的电子标签信息,因此编程前,可以用Edit命令写入电子标签后再进行编程。
(6) Programming 编程
编程操作将内存中的熔丝图写入到GAL中,同时给出校验信息,如果需要加密,可接着使用Mask命令。
(7) Verify 校验
该命令读出未加密的GAL芯片内容,将它和内存中的熔丝图相比较。报告比较结果。
(8) Mask 写加密位
该命令用于对GAL器件的保密位进行操作。完成Mask操作后,将无法读出GAL内的熔丝图。
(9) Erase 擦除GAL
该命令用于GAL擦除。在一般情况下,无须使用这项功能。每次用Programming命令对GAL编程时,PLD首先自动进行GAL擦除,然后进行编程。
上面介绍了PLD软件中有关GAL的命令。一般而言,对一个GAL器件编程步骤如下:
①使用Load命令,将一个JEDEC文件装入到内存。如果JEDEC文件已在内存中,此步骤可省略。
②编辑熔丝图,一般仅需编辑电子标签字。此步骤可以省略。
③使用Programming命令,将熔丝图写到GAL中。
④必要时用Mask命令写GAL保密位。此步骤可以省略。
7.3.4 FM软件使用说明
为了方便GAL的逻辑设计,随GAL/EPROM编程器提供FM.EXE编译软件,供GAL逻辑设计使用。FM是GAL逻辑设计软件FAST-MAP的缩写,使用该软件可以完成对GAL20V8/A和GAL16V8/A的逻辑设计。使用步骤如下:
(1) 用任一种文本编辑器产生一个后缀为PLD的逻辑设计源程序文件。
(2) 使用FM软件编译逻辑设计源程序文件,产生一个后缀为PLD的JEDEC文件。
(3) 运行PLD.EXE将JEDEC文件表示的逻辑设计写到GAL芯片中。
1.FM的语法规则
[例1] 一个源程序举例。
PLDl6V8 ;GAL型号标志
A Sample ;标题行
By Jin Li-xia
08----04--95
A15 A14 A13 A12 A11 A10 A9 RD WR
GND DO NC A7 INT CE1 CE2 CE3 A8 NC VCC ;引脚表
CE1=/A15+RD ;输出逻辑表达式
CE2=A15*/A14
CE3==/A15*/A14*/A13*/A12*/A11*/A10*/A9*/A8*/A7
/INT=A15*A14*/A13*A12*/DR+DO*/WR
CE1.OE=VCC
CE2.OE=VCC
CE3.OE=VCC
INT.OE=/DO*A7 *RD
DESCRIPTION ;说明部分
This is a sample of FM logic file.
End
FM源文件内部结构应符合下列规定:
(1) GAL型号标志
说明GAL器件的型号,必须起始于第一行第一列,以大写字母PLD开头,对于GALl6V8和GALl6V8A使用PLDl6V8,对于GAl20V8和GAL20V8A芯片使用PLD20V8。
(2) 标题行
这一部分为设计信息,对编程无本质上的影响,占用第2—4行。其中第4行为电子标签。
(3) 引脚表
这部分是器件引脚信号的定义,从第5行开始。定义从1号引脚开始,按引脚号递增顺序进行,直至最后一个引脚。其中,不被使用的引脚命名为NC,电源引脚命名为:VCC,,地引脚命名为GND,其余引脚信号名可以自行命名,但信号名长度不应超过8个字符。引脚信号名之间用空格分隔,一行写不下可延长至第二行。
(4) 输出逻辑表达式
这一部分为每个输出引脚信号定义逻辑表达式。逻辑表达式可含有下列3种逻辑运算符:
* 逻辑与
+ 逻辑或
/ 逻辑非
由于GAL硬件结构的限制,一个表达式中的乘积项数目不能多于8个(有三态控制的应小于8个),参加“与’’运算的引脚信号不应多于16个(对GALl6V8)或20个(对GAL20V8)。表达式中不得有任何括号。FM不对表达式进行任何化简。
每一个输出引脚信号可通过下列两种赋值运算符对其赋值。
= 组合逻辑赋值
:= 寄存器逻辑赋值
使用“=”赋值,等号右边的表达式直接赋给等号左边的输出信号。使用“:=”赋值时,在下一个时钟脉冲的上升沿到来时,才将等号右边表达式的值赋给等号左边的输出信号。
如果用户需要按某一种逻辑关系对引脚进行三态控制,可使用下面形式的语句:
输出引脚信号名.OE=表达式
表达式只能由“与’’和“非”两种运算组成,即表达式是一个乘积项。
如果对某个引脚信号进行了三态输出控制,那么每个输出引脚信号对应的表达式中最多只能有7个乘积项,并且需列出全部输出引脚信号的三态控制逻辑。无须三态控制的输出引脚信号可用VCC作为控制逻辑。
如果对输出信号进行负逻辑设计,可在输出引脚信号名前加非运算符。例如,下面两个逻辑等式是等价的:
逻辑等式1:X=A+B+C+/D
逻辑等式2:/X=/A*/B*/C*D
值得注意的是,由于GAL结构上的特殊性,有时某些合法的表达式会产生编译错误,这时应该通过阅读GAL器件手册或调换某些引脚信号来解决。
(5) 说明部分
这一部分以关键字DESCRIPTION开始,后面可以跟有任何文字信息,最后以END结束,FM将这一部分理解为注释,对逻辑设计无本质的影响。
在FM源程序中,每一语句行可加以注释,每个注释由一个分号开始;最后一行必须用回车结束;一个PLD文件的最大长度是200行。
2.FM的使用方法
(1) 在DOS提示符下,键入FM并回车。
(2) 输入逻辑设计文件名,可省略PLD后缀,按回车键后FM首先对源文件进行语法检查。检查通过后进入下一步。
(3) FM显示下列操作菜单:
1) Create Document File(source plus pinout)
2) Create Fuse plot File(human readable fuse map)
3) Create Jedec File(programmer fuse map)
4) Get a new Source File
5) Exit from Fast Map ·
第一项和第三项是建立列表文件操作,产生后缀为LST的列表文件。第二项是建立熔丝图文件操作,产生后缀为PLT的熔丝图文件。第三项是建立JEDEC文件的操作,产生后缀为JED的JEDEC文件。第四项是读入一个新源文件操作。第五项为退出FM操作。
列表文件和熔丝图文件可供核对参考,JED文件用于写GAL。如果源程序中含有语法错误或存在结构冲突问题,FM将指出这些问题。出错时可用"Ctrl+Break"键(同时按下Ctrl和Break键)退出FM软件,在文本编辑器中修改源程序。
展开阅读全文