一种编程器及其编程方法转让专利

申请号 : CN200710171567.5

文献号 : CN101452745B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 巫建刚王会刚

申请人 : 无锡华润矽科微电子有限公司

摘要 :

本发明公开了一种编程器及其编程方法,该编程器包括主控芯片、FLASH数据存储模块、操作状态显示模块、功能选择开关、与上位机的通讯接口模块及编程器与待编程芯片间的编程接口模块,所述主控芯片分别与FLASH数据存储模块、操作状态显示模块、功能选择开关联接,所述通讯接口模块连接上位机及主控芯片,所述编程接口模块连接主控芯片及待编程芯片。本发明的编程器可支持在线操作和离线操作两种操作模式。

权利要求 :

1.一种编程器,其特征在于:包括主控芯片、FLASH数据存储模块、操作状态显示模块、功能选择开关、与上位机的通讯接口模块及编程器与待编程芯片间的编程接口模块,所述主控芯片分别与FLASH数据存储模块、操作状态显示模块、功能选择开关联接,所述通讯接口模块连接上位机及主控芯片,所述编程接口模块连接主控芯片及待编程芯片,所述功能选择开关用于选择所述待编程芯片的型号和对所述待编程芯片的操作。

2.根据权利要求1所述的一种编程器,其特征在于,所述主控芯片采用端口扩展RAM存储器的方式和FLASH数据存储模块联接。

3.根据权利要求1所述的一种编程器,其特征在于,所述FLASH数据存储模块中的数据包括:①用户烧写数据;②用户配置参数数据;③待操作芯片的回读数据。

4.根据权利要求3所述的一种编程器,其特征在于,所述用户配置参数数据包括烧写数据在FLASH的存放开始地址、结束地址、文件大小、烧写芯片类型、加密密码以及芯片OPTION选项。

5.根据权利要求1所述的一种编程器,其特征在于,所述FLASH数据存储模块采用5V单电源供电,可寻址空间在0000H与FFFFH之间、1M bitFLASH芯片。

6.根据权利要求1所述的一种编程器,其特征在于,所述操作状态显示模块由数码管实现,数码管采用驱动芯片来驱动,主控芯片向操作状态显示模块给出显示数据并给出锁存信号。

7.根据权利要求6所述的一种编程器,其特征在于,所述操作状态显示模块由两个8段数码管实现,在待机状态,其中的一个数码管将循环显示当前选择的待操作芯片的类型,在功能操作过程中,两个数码管上显示不同操作的进度。

8.根据权利要求1所述的一种编程器,其特征在于,所述通讯接口模块采用RS232接口和上位机接口。

9.根据权利要求1所述的一种编程器,其特征在于,所述编程接口模块为10PIN的接口插座连接转接头。

10.根据权利要求1所述的一种编程器,其特征在于,编程器内部芯片采用5V电源为其工作电源,编程用高压电源为12V电源,所述5V和12V电压分别由7805和7812稳压管产生。

11.一种利用权利要求1所述编程器进行在线编程的方法,其特征在于,包括以下步骤:

1)在上位机上通过上位机软件选择待编程芯片的类型,并且在该软件中设置好待编程芯片的配置信息及待烧写的程序数据;

2)通过上位机软件对待编程芯片发出在线查空操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生读取时序从待编程芯片中读取数据,根据读取的数据判断所述待编程芯片是否为空,若查空操作成功则进行下一步,否则编程器操作状态显示模块显示操作失败;

3)通过上位机软件对待编程芯片发出在线编程操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生编程时序将上位机软件发送的数据包中的编程数据依次写入待编程芯片中,若编程成功则进行下一步,否则编程器操作状态显示模块显示操作失败;

4)通过上位机软件对待编程芯片发出在线校验操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生读取时序从已被编程的待编程芯片中读取数据并将读取到的数据发送给上位机软件,将读取的数据与上位机软件中输入的编程数据进行比较,若数据无误,则编程结束,否则编程器操作状态显示模块显示操作失败。

12.根据权利要求11所述的一种在线编程方法,其特征在于,所述上位机软件及所述编程器实时检测当前操作进度,检测结果同时显示在所述上位机软件和所述编程器操作状态显示模块中,如操作发生错误则进度显示自动退出,对于出错操作显示错误地址和错误状态。

13.一种利用权利要求1所述编程器进行离线编程的方法,其特征在于,包括以下步骤:

1)在上位机上通过上位机软件将不同类型待编程芯片的配置信息及其需编程写入的信息写入编程器中的FLASH数据存储模块中,若操作成功则进行下一步,否则编程器操作状态显示模块显示操作失败;

2)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行查空的命令,编程器主控芯片通过编程接口产生读取时序从待编程芯片中读取数据,根据读取的数据判断所述待编程芯片是否为空,若查空操作成功则进行下一步,否则编程器操作状态显示模块显示操作失败;

3)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行编程的命令,编程器主控芯片从FLASH数据存储模块中读取数据,通过编程接口产生编程时序,将读出的数据写入待编程芯片中,若编程成功,则进行下一步,否则编程器操作状态显示模块显示操作失败;

4)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行校验的命令,编程器主控芯片通过编程接口产生读取时序从待编程芯片中读取数据,每从待编程芯片读取到一次数据后,从FLASH数据存储模块中读取对应数据进行比较,判断已写入待编程芯片中的数据是否和原计划写入的数据相同,若数据无误,则编程结束,否则编程器操作状态显示模块显示操作失败。

14.根据权利要求13所述的一种离线编程方法,其特征在于,所述编程器实时检测当前操作进度,所述编程器操作状态显示模块显示检测结果,如操作发生错误则进度显示自动退出,显示错误信息。

说明书 :

一种编程器及其编程方法

技术领域

[0001] 本发明属于存储器烧写技术领域,具体涉及一种存储器编程器及其编程方法。

背景技术

[0002] 在消费电子领域里,基于MCU开发的产品已经占绝大部分,其广泛应用于各种场合,如计算器、遥控器、语音编码、家电控制及各类玩具电路中,产品生命周期长,市场前景广阔。矽科公司自主开发的MCU芯片和EEPROM产品,主要用于手持类消费电子产品开发。目前的主要问题在于没有芯片内部OTP ROM和EEPROM的编程烧写工具来完成系统方案的开发。目前无论是市场上还是公司内部都没有现成的编程器工具用于华润矽科自主研发的OTP芯片和EEPROM的编程。

发明内容

[0003] 本发明解决的技术问题在于提供一种新型编程器及其编程方法。
[0004] 为实现上述目的,本发明采用以下技术方案:
[0005] 一种编程器,包括主控芯片、FLASH数据存储模块、操作状态显示模块、功能选择开关、与上位机的通讯接口模块及编程器与待编程芯片间的编程接口模块,所述主控芯片分别与FLASH数据存储模块、操作状态显示模块、功能选择开关联接,所述通讯接口模块连接上位机及主控芯片,所述编程接口模块连接主控芯片及待编程芯片,所述功能选择开关用于选择所述待编程芯片的型号和对所述待编程芯片的操作。
[0006] 所述主控芯片采用端口扩展RAM存储器的方式和FLASH数据存储模块联接。所述FLASH数据存储模块中的数据包括:①用户烧写数据;②用户配置参数数据;③待操作芯片的回读数据。所述用户配置参数数据包括烧写数据在FLASH的存放开始地址、结束地址、文件大小、烧写芯片类型、加密密码以及芯片OPTION选项。
[0007] 所述FLASH数据存储模块采用5V单电源供电,可寻址空间在0000H与FFFFH之间、1M bit FLASH芯片。
[0008] 所述操作状态显示模块由数码管实现,数码管采用驱动芯片来驱动,主控芯片向操作状态显示模块给出显示数据并给出锁存信号。所述操作状态显示模块可由两个8段数码管实现,在待机状态,其中的一个数码管将循环显示当前选择的待操作芯片的类型,在功能操作过程中,两个数码管上显示不同操作的进度。
[0009] 所述通讯接口模块采用RS232接口和上位机接口。所述编程接口模块为10PIN的接口插座连接转接头。
[0010] 编程器内部芯片采用5V电源为其工作电源,编程用高压电源为12V电源,所述5V和12V电压分别由7805和7812稳压管产生。
[0011] 一种使用本发明的编程器进行在线编程的方法,其特征在于,包括以下步骤:
[0012] 1)在上位机上通过上位机软件选择待编程芯片的类型,并且在该软件中设置好待编程芯片的配置信息及待烧写的程序数据;
[0013] 2)通过上位机软件对待编程芯片发出在线查空操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生读取时序从待编程芯片中读取数据,根据读取的数据判断所述待编程芯片是否为空,若查空操作成功则进行下一步,否则操作状态显示模块显示操作失败;
[0014] 3)通过上位机软件对待编程芯片发出在线编程操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生编程时序将上位机软件发送的数据包中的编程数据依次写入待编程芯片中,若编程成功则进行下一步,否则操作状态显示模块显示操作失败;
[0015] 4)通过上位机软件对待编程芯片发出在线校验操作命令,编程器接收上位机软件发送来的数据包并进行解析处理,产生读取时序从已被编程的待编程芯片中读取数据并将读取到的数据发送给上位机软件,将读取的数据与上位机软件中输入的编程数据进行比较,若数据无误,则编程结束,否则操作状态显示模块显示操作失败。
[0016] 一种利用本发明的编程器进行离线编程的方法,其特征在于,包括以下步骤:
[0017] 1)在上位机上通过上位机软件将不同类型待编程芯片的配置信息及其需编程写入的信息写入编程器中的FLASH数据存储模块中,若操作成功则进行下一步,否则操作状态显示模块显示操作失败;
[0018] 2)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行查空的命令,编程器主控芯片通过编程接口产生读取时序从待编程芯片中读取数据,根据读取的数据判断所述待编程芯片是否为空,若查空操作成功则进行下一步,否则操作状态显示模块显示操作失败;
[0019] 3)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行编程的命令,编程器主控芯片从FLASH数据存储模块中读取数据,通过编程接口产生编程时序,将读出的数据写入待编程芯片中,若编程成功,则进行下一步,否则操作状态显示模块显示操作失败;
[0020] 4)通过编程器功能选择开关选择待编程芯片的类型及发出对待编程芯片进行校验的命令,编程器主控芯片通过编程接口产生读取时序从待编程芯片中读取数据,每从待编程芯片读取到一次数据后,从FLASH数据存储模块中读取对应数据进行比较,判断已写入待编程芯片中的数据是否和原计划写入的数据相同,若数据无误,则编程结束,否则操作状态显示模块显示操作失败。
[0021] 本发明的一种编程器及其编程方法,可支持在线操作和离线操作两种操作模式。在在线操作模式下,本发明的编程器结合上位机软件可直接实现对待编程芯片的查空、编程、校验、数据回读、Option编程及加密,目标代码的在线修改、ASCII码的显示,同时可实现对编程器内FLASH的数据擦除、写入、校验及回读。在离线操作模式下,用户通过编程器硬件上的功能选择开关进行特定任务的选择,然后通过单一按键就可以完成对目标芯片的查空、编程、校验、Option编程及加密等各种操作,整个编码过程一键完成,简单、快速、方便。

附图说明

[0022] 图1是本发明编程器的结构示意图。

具体实施方式

[0023] 下面以结合实施例和附图进一步说明本发明。
[0024] 请参看图1,本发明的一种编程器9包括主控芯片1、FLASH数据存储模块2、操作状态显示模块6、功能选择开关4、与上位机8的通讯接口模块3及编程器与待编程芯片7间的编程接口模块5。
[0025] 本发明的编程器9中,主控芯片1采用端口扩展RAM存储器的方式和FLASH数据存储模块2联接,可以直接对FLASH进行读写访问。存储于FLASH数据存储模块2中的数据包括三部分:①用户烧写数据;②用户配置参数数据;③待操作芯片的回读数据。其中,用户配置参数数据包括烧写数据在FLASH的存放开始地址、结束地址、文件大小、烧写芯片类型、加密密码以及芯片OPTION选项等。
[0026] 作为本发明实施例的一种,FLASH数据存储模块2可采用1M bit FLASH芯片,5V单电源供电,其可寻址空间在0000H与FFFFH之间,数据在FLASH中的地址分配如下表所示:
[0027]数据 FLASH存放地址
用户烧写数据(最大可48K) 0000H-CFFFH
用户配置参数数据 FFF0H-FFFFH
OTP或EEPROM回读数据 10000H-1CFFFH
[0028] 本发明的编程器9中,操作状态显示模块6由数码管实现,数码管采用驱动芯片来驱动,主控芯片1向操作状态显示模块6给出显示数据并给出锁存信号。操作状态显示模块6的主要作用是对烧写的进度进行显示,在各个功能成功执行后显示成功完成,出现错误要进行错误提示。作为本发明实施例的一种,操作状态显示模块6可由两个8段数码管实现。
在功能操作过程中,两个数码管显示操作进度;在待机状态,其中的一个数码管将循环显示当前选择的待操作芯片的类型。功能操作时数码管指示本次选中功能的执行是否正常的各种表示方法如下:
[0029] b.O. 查空通过; b.E. 查空失败
[0030] p.O. 编程成功 p.E. 编程失败
[0031] u.O. 校验通过 u.E. 校验失败
[0032] r.O. 回读成功 r.E. 回读失败
[0033] s.O. 加密成功 d.O. 下载成功
[0034] d.E. 下载失败
[0035] 本发明的编程器9中,功能选择开关4和主控芯片1连接。在离线操作模式下,通过该功能选择开关4选择当前要编程的芯片的型号和操作的功能,可以实现一键操作完成所有功能。
[0036] 本发明的编程器9中,通讯接口模块3连接上位机8及主控芯片1,实现上位机8与主控芯片1间的数据通讯。作为本发明实施例的一种,通讯接口模块3可采用RS232接口和上位机8接口,通过RS232接口将上位机8中的数据下载到编程器主控芯片1内或编程器上的FLASH数据存储模块2中。
[0037] 编程接口模块5连接主控芯片1及待编程芯片7。作为本发明的一个实施例,编程接口模块5为10PIN的接口插座连接转接头。在选择好芯片的型号后,每个脚的功能也就确定。
[0038] 本发明的编程器9内部芯片采用5V电源为其工作电源;编程用高压电源为12V电源。上述5V和12V电压分别由7805和7812稳压管产生,主控芯片一个IO口来控制编程电压是否加到编程烧写的芯片上。
[0039] 以下详细描述本发明编程器的编程方法。
[0040] 本发明的编程器可支持在线编程和离线编程两种操作模式。
[0041] 使用本发明的编程器进行在线操作时,首先,在上位机8上通过上位机软件选择待编程芯片7的类型,并且在该软件中设置好待编程芯片7的一些配置信息,如果需要进行编程操作,则通过上位机软件读入编程数据;其次,通过上位机软件对待编程芯片7发出在线操作命令,编程器内主控芯片1从通讯接口3接收到上位机软件发送来的数据包,进行解析处理。如数据包中包含的是对待编程芯片7进行查空操作的命令,则主控芯片1通过编程接口5产生读取时序从待编程芯片7中读取数据,根据读取的数据判断该待编程芯片7是否为空;若查空成功,则可通过上位机软件继续发出编程操作命令;如数据包中包含的是对待编程芯片7进行编程的命令,则主控芯片1通过编程接口5产生编程时序将数据包中编程数据依次编程入待编程芯片7中;如数据包中包含回读待编程芯片7命令,则主控芯片1通过编程接口5产生读取时序从已被编程的待编程芯片7中读取数据,将读取到的数据通过通讯接口3发送给上位机软件;如数据包中包含校验待编程芯片7命令,则主控芯片
1通过编程接口5产生读取时序从已被编程的待编程芯片7中读取数据并将读取到的数据通过通讯接口3发送给上位机软件,将读取的数据与上位机软件中输入的编程数据进行比较,以确定写入待编程芯片7中的数据是否正确。
[0042] 一般而言,在对待编程芯片7进行在线编程之前,应先对待编程芯片7进行查空操作,如果查空成功,则继续进行编程操作。编程结束后通过校验操作判断编程是否正确,或者也可通过回读操作读取已写入待编程芯片7中的数据。
[0043] 上位机软件及所述编程器实时检测当前操作进度,进行在线操作时,主控芯片1将操作进程数据发送至操作状态显示模块6,检测结果同时显示在所述上位机软件和所述编程器操作状态显示模块中。如果操作发生错误,则进度显示自动退出,显示不同的出错信息,对于出错操作显示错误地址和错误状态。
[0044] 使用本发明的编程器进行离线操作时,首先,需在上位机8上通过上位机软件将不同类型待编程芯片7的配置信息及其需编程写入的信息写入编程器9中的FLASH数据存储模块2中。如在写入FLASH数据存储模块2之前,FLASH数据存储模块2当中已存储有数据,则需先通过上位机软件将FLASH数据存储模块2中数据擦除,然后再将数据下载到FLASH数据存储模块2中。对于FLASH数据存储模块2中写入的数据,也可通过上机位软件直接从FLASH数据存储模块2中读取,用于数据的校验或查看。编程器9中的主控芯片1从通讯接口3接收到上位机软件发送来的数据包后进行解析处理,如数据包中包含写FLASH命令,则主控芯片1将数据包中待编程数据依次写入FLASH数据存储模块2中;如数据包中包含读FLASH命令,则主控芯片1读取FLASH数据存储模块2中特定区域数据,通过通讯接口发送给上位机软件。在写或读FLASH数据存储模块2的同时,操作状态显示模块6显示操作进度及最后的状态。
[0045] 完成上述将不同类型待编程芯片7的配置信息及其需编程写入的信息写入编程器9中的FLASH数据存储模块2中后即可完全通过离线操作的方式实现对不同类型待编程芯片7的查空、编程及校验工作。首先,通过功能选择开关4选择待编程芯片7的类型以及针对其所需进行的查空、编程或校验操作。编程器内部主控芯片1通过功能选择开关4的状态判断待编程芯片7类型以及具体操作命令。如是查空操作,则主控芯片1通过编程接口5产生读取时序从待编程芯片7中读取数据,根据读取的数据判断该待编程芯片7是否为空;如是编程操作,则主控芯片1从FLASH数据存储模块2中读取数据,通过编程接口5产生编程时序,将读出的数据写入待编程芯片7中;如是校验操作,则主控芯片1通过编程接口5产生读取时序从待编程芯片7中读取数据,每从待编程芯片7读取到一次数据后,从FLASH数据存储模块2中读取对应数据进行比较,判断已写入待编程芯片7中的数据是否和原计划写入的数据相同。
[0046] 一般而言,在对待编程芯片7进行离线编程之前,应先对待编程芯片7进行查空操作,如果查空成功,则继续进行编程操作。编程结束后通过校验操作判断编程是否正确。
[0047] 在对待编程芯片7进行查空、编程或校验的同时,操作状态显示模块6始终显示操作进度,如果操作过程中有错误,则进度显示自动退出,显示错误信息,如果整个过程正确,则最后显示该操作正确信息。
[0048] 使用本发明的编程器在在线及离线操作模式下还可实现对待编程芯片7的Option编程及加密。
[0049] 以上所述的实施例仅为说明本发明的技术思想及特点,其目的在于使本领域技术人员能够了解本发明的内容并据以实施,并不能以此来限定本发明的保护范围,即依本发明所揭示的精神所作的均等变化或修改仍应涵盖在本发明的保护范围内。