多片芯片并行程序烧录系统 【技术领域】
本发明涉及一种芯片烧录系统,尤其涉及一种可以同时对多种不同片芯片进行并行的烧录系统。
背景技术
在硬件系统的开发和设计中,经常需要对芯片进行数据的读写操作称之为对芯片编程(program)。由于芯片的总线类型很多,例如:IIC、SPI、ICSP(PIC单片机,PSoC芯片等)、CPLD/FPGA。一般情况下芯片厂商会提供针对于该总线类型芯片的编程工具或者可以采用市面上通用的编程器来达到对芯片编程的目的。
一般编程器的特点是一次只能对一种芯片进行编程,有一部分高端的编程器可以一次对多片同种总线类型的同型号的芯片同时进行编程。这种方式可以比较方便的完成对不同种类的芯片的编程支持,但是因为一次只能对一种芯片编程,如果有多种芯片,则需串列烧录,且不支持同时对不同总线类型芯片的编程。即使总线类型相同,也不能够支持同时对多个芯片的编程。因此大大延长了编程的时间,不适合在批量生产中应用。举例来说,将每种芯片烧录分成三个时间段表示为写入芯片时间Twr;读取芯片时间Trd;等待时间Twait;另外还有诸如擦除芯片的时间归入到Twr中,verify的时间归入到Twait中等。那么完成一个芯片的烧录动作所需的总时间为Tall=Twr+Trd+Twait。表1为五种芯片烧录动作所需要的总时间,其中有两种芯片为相同总线格式。以目前的烧录技术而言,表1中的五种芯片只能串行烧录,也就是每次只能对单一芯片进行烧录。因此烧录完五种芯片的总时间为烧录单一芯片总时间的总和,需要110秒(s)。因此当要烧录大量芯片时,所需要的时间是非常惊人的。为了减少烧录的时间,有的会针对每一种烧录芯片提供一台烧录机台,这样烧录完五种芯片的总时间为烧录单一芯片中最长的时间,以表1为例,以24C512的所需的烧录总时间最长,因此要烧录完五种芯片的烧录总时间,以烧录时间最长的24C512来表示,只需要50秒(s),但是这样又会造成成本的大量增加。
芯片名称 总线格式 Twr(s) Trd(s) Twait(s) Tall(s) 24C64 IIC 8 1 1 10 24C512 IIC 42 6 2 50 AT45DB021 SPI 16 6 2 24 CY8C27443 PSOC-ICSP 12 3 1 16 PIC16F872 PIC-ICSP 8 2 1 11
表1五种芯片烧录所需要的时间
【发明内容】
为了避免烧录大量不同种类的芯片时,所需要的烧录时间过长或是成本的增加,因此本发明提供一种多片芯片并行程序烧录系统。
根据本发明所揭示的一种多片芯片并行程序烧录系统,连接于计算机,用以支持同时对多种芯片进行并行程序烧录的动作。多片芯片并行程序烧录系统包含微控制器(Microcontroller Unit,MCU)与可编程门阵列(FiledProgrammable Gate Array,FPGA)。
微控制器通信连接计算机,用以接收并传递计算机所传递的至少一并行烧录指令与至少一烧录数据。
可编程门阵列通信连接微控制器。可编程门阵列包含多个通道(Channel)、状态暂存器(Status register)与控制暂存器(Control register)。
每一通道对应且电性连接每一种芯片。每一通道用以接收至少一并行烧录指令,并将至少一并行烧录指令进行翻译动作,使翻译后的至少一并行烧录指令对应每一种芯片。状态暂存器用以存储每一通道的运行状态。控制暂存器用以控制每一通道的指令执行。
其中,多片芯片并行程序烧录系统还包含有多个转接模块(AdatperModule)。每一转接模块电性连接于可编程门阵列与每一种芯片之间,用以使可编程门阵列与每一种芯片电压匹配。
根据本发明所揭示的一种多片芯片并行程序烧录系统,其中每一通道包含指令存储单元、指令翻译单元、执行指令单元、返回数据存储单元、输出输入接口与输出输入分配单元。
指令存储单元用以接收并存储至少一并行烧录指令。指令翻译单元用以根据控制暂存器的状态,将至少一并行烧录指令进行翻译动作,使翻译后的至少一并行烧录指令对应每一种芯片。执行指令单元用以执行翻译后的至少一并行烧录指令。返回数据存储单元用以存储从每一种芯片所读取的数据,并回传给微控制器。输出输入接口电性连接每一种芯片。输出输入分配单元用以动态分配输出输入接口。
根据本发明所揭示的多片芯片并行程序烧录系统,由微控制器连接计算机,用以接收并行烧录指令与烧录数据。再由微控制器传递并行烧录指令给可编程门阵列。由可编程门阵列将并行烧录指令进行翻译动作,使翻译后的并行烧录指令对应每一种芯片,来同时对多种芯片进行并行程序烧录的动作,能节省成本并减少烧录时间。
有关本发明的特征与实际操作,现配合附图作优选实施例详细说明如下。
【附图说明】
图1为根据本发明的多片芯片并行程序烧录系统示意图;
图2为根据本发明的每一通道内部结构示意图;以及
图3为根据本发明的每一通道内部指令处理流程图。
其中,附图标记说明如下:
10通道
11指令存储单元
12指令翻译单元
13执行指令单元
14返回数据存储单元
15输出输入接口
16输出输入分配单元
20状态暂存器
30控制暂存器
100微控制器
200可编程门阵列
300转接模块
400芯片
500计算机
【具体实施方式】
请参照图1。图1为根据本发明的多片芯片并行程序烧录系统示意图。
根据本发明所揭示的多片芯片并行程序烧录系统,连接于计算机500,用以支持同时对多种芯片400进行并行程序烧录的动作。多片芯片并行程序烧录系统包含微控制器(Microcontroller Unit,MCU)100与可编程门阵列(Filed Programmable Gate Array,FPGA)200。
微控制器100通信连接计算机500,用以接收并传递计算机500所传递的至少一并行烧录指令与至少一烧录数据。
可编程门阵列200通信连接微控制器100。可编程门阵列200包含多个通道(Channel)10、状态暂存器(Status register)20与控制暂存器(Controlregister)30。可编程门阵列200与微控制器100之间地通信连接可以通过系统总线(System Bus),也可以通过其他通信连接的方式。
每一通道10对应且电性连接每一种芯片400。每一通道10用以接收至少一并行烧录指令,并将至少一并行烧录指令进行翻译动作,使翻译后的至少一并行烧录指令对应每一种芯片400。状态暂存器20用以存储每一通道10的运行状态。控制暂存器30用以控制每一通道10的指令执行。
根据本发明所揭示的多片芯片并行程序烧录系统,其中多种芯片400的数量可以是1到n个,分别是芯片1到芯片n。由于每一通道10对应且电性连接每一种芯片400,因此多个通道的数量也可以是1到n个,分别是通道1到通道n。
其中,多片芯片并行程序烧录系统还包含有多个转接模块(AdatperModule)300。每一转接模块300电性连接于每一通道10与每一种芯片400之间,用以使可编程门阵列200与每一种芯片400电压匹配。每一转接模块300电性连接于可编程门阵列200与每一种芯片400之间的方式可以通过总线接口(Bus Interface),也可以通过其他电性连接的方式。
请参照图2。图2为根据本发明的每一通道内部结构示意图。
每一通道10包含指令存储单元11、指令翻译单元12、执行指令单元13、返回数据存储单元14、输出输入接口15与输出输入分配单元16。
指令存储单元11用以接收并存储至少一并行烧录指令。指令翻译单元12用以根据控制暂存器30的状态,将至少一并行烧录指令进行翻译动作,使翻译后的至少一并行烧录指令对应每一种芯片400。执行指令单元13用以执行翻译后的至少一并行烧录指令。其中,执行指令单元13可以当作一微处理器。返回数据存储单元14用以存储从每一种芯片400所读取的数据,并回传给微控制器100。输出输入接口15电性连接每一种芯片400。输出输入分配单元16用以动态分配输出输入接口15。
请参照图3。图3为根据本发明的每一通道内部指令处理流程图。每一通道10内部指令处理流程包含:待机等待,如步骤301。确认接收写入指令后,再行确认指令存储单元是否已写满,若没有满则写入并行烧入指令,如步骤302。确认执行命令后,从指令存储单元提取指令并进行翻译动作,如步骤303。先行确认翻译后的指令是否正确,若翻译后的指令不正确,则于状态暂存器标记错误并返回待机等待,若翻译后的指令正确,则由执行指令单元确认读取数据(也即上述的烧录数据)指令后,将数据(也即上述的烧录数据)存储于芯片中,如步骤304)。若读取不到数据指令则产生输出输入信号,并发送或接收输出输入信号,如步骤305。确认指令是否执行完毕,如步骤306。
根据本发明所揭示的多片芯片并行程序烧录系统,由微控制器100连接计算机500,用以接收并行烧录指令与烧录数据。再由微控制器100传递并行烧录指令给可编程门阵列200。由可编程门阵列200将并行烧录指令进行翻译动作,使翻译后的并行烧录指令对应每一种芯片400,来同时对多种芯片400进行并行程序烧录的动作,能节省成本并减少烧录时间。