编程器又称程序固化器,是将调试生成的.bin或.HEX文件固化到存储器中的设备。不同型号的单片机或存储器,厂家都要为其提供配套的编程器进行程序固化。由于生产厂家众多,芯片型号繁多,不可能每一种芯片都由一个专用的编程器对其进行程序固化,因此有些公司研究出通用编程器,通用编程器可以支持多种型号芯片程序的读/写操作。常见的通用编程器有南京西尔特电子有限公司的SUPERPRO通用编程器和周立功公司生产的EasyPRO系列通用编程器。EasyPRO系列编程器如图1-21所示。
图1-21 EasyPRO系列编程器
南京西尔特公司生产的SUPERPRO是一种可靠性高、速度快、性价比较高的通用编程器,能够直接与计算机的并行打印口或USB口相连,对数十个厂家生产的PLD、EPROM、Flash、BPROM、MCU/MPU、DRAM/SRAM等数千种芯片进行可编程操作。
SUPERPRO软件可选择中文或英文两种语言进行安装。软件安装好后,打开软件时,将弹出计算机与编程器的连接信息。
使用编程器时,首先将芯片放在锁紧座中(注意,芯片的方向不要弄错),然后将芯片锁紧。打开编程器电源,与计算机进行连接。
执行菜单命令“器件”→“选择器件”,或者直接单击工具栏的图标 ,弹出“选择器件”对话框,如图1-22所示。“选择器件”对话框由“厂商名称”及“器件名称”这两个列表框和“器件类型”单选框组成。首先根据芯片的用途在单选框中选择合适的器件类型,随后在“厂商名称”列表框中选择器件的生产厂商,最后在“器件名称”列表框中选择该器件的型号,这样就完成了器件的选择。
器件选好后,在器件信息栏中显示了该器件的厂家名(Manufacturer)、器件(Device Name)、器件类型(Device Type)、芯片容量(Chip Size)、最大引脚(Max Pin)、编程算法名(Algo Name)。
在SUPERPRO软件中,用户对器件可进行写入、读出、校验、空检查、数据比较、加密等操作。
1)写入 写入操作是将·HEX文件或缓冲区内的数据烧写至芯片。在写入数据前,需要先将芯片进行擦除操作。执行菜单命令“文件”→“装入文件”,选择需写入的·Hex 或·BIN文件后,单击工具栏上的图标 ,可将该文件写入芯片中。写入过程中或完毕后,将执行校验功能,若有错误,将显示出错信息和出错地址,其他结果则显示在信息窗口中。
图1-22“选择器件”对话框
2)读出 读出操作是从芯片的内容读取到缓冲区,单击工具栏上的图标 ,可以进行数据的读取操作。读完后,“Environment”窗口显示数据的校验和。如果芯片是PAL或GAL,“Blow count”栏同时显示计数值,若它们的内部安全熔丝断了,则不管芯片内容是什么,读出的数据为全“1”或全“0”。如果为ROM或微控制器,将把起始地址和结束地址中的数据读入缓冲区。
3)校验 校验是将缓冲区的内容与芯片的内容进行比较。单击工具栏上的图标 ,可以进行内容的校验操作。在校验过程中,若芯片的内容与缓冲区的内容不相符,将显示错误信息和出错地址。如果为ROM或微控制器,将对起始地址和结束地址之间进行比较。
4)空检查 空检查是读取芯片的内容并与空字符比较。单击工具栏上的图标 ,可以进行查空操作。如果芯片内已存入了数据,将显示写入的数据地址。如果芯片为ROM或微控制器,则在指定起始地址和结束地址进行部分空比较。
5)数据比较 数据比较仅用于ROM和单片微控制器,功能与校验操作相同,但将产生包含芯片数据和缓冲区数据有差异的文件。文件名即为所选择器件名,.cmp作为扩展名。例如,如果选择的器件为AMD 27256,则产生的文件为27256.cmp。此文件可在一般编辑器中浏览,它包含了芯片数据与缓冲区数据之间的差异。与校验功能不同,遇到第一个不同数据,它不会停下来。
6)加密 加密操作是将插入芯片的数据加密,在以后使用时,不能读取其内容。对可擦除器件,必须首先执行擦除操作。加密芯片有可能通过空检查。