芯片离线烧录方法、装置、系统、计算机存储介质及设备与流程

文档序号:16535965发布日期:2019-01-08 19:54阅读:710来源:国知局
芯片离线烧录方法、装置、系统、计算机存储介质及设备与流程

本发明涉及电子设备制造技术领域,尤其涉及一种多路高速的芯片离线烧录方法、装置、系统、计算机存储介质及设备。



背景技术:

随着科技的进步,电子产品的也日益丰富,而离线烧录是大部分电子产品生产的重要一环,也是制约生产效率的一大瓶颈。

传统的人工烧录是在芯片贴片后使用jtag等方式进行程序烧录,由于烧录耗时长、操作复杂等因素,渐渐的被离线烧写所替代。离线烧录是在芯片贴片之前,将预先打包好的程序按一定的规则烧录到flash中或者芯片内部的mcu中,自动化的离线烧录不仅节约了人工成本,还大大提高了生产效率,广泛应用于各个行业。离线烧录根据结构的不同分为半自动烧录和自动烧录,两者只是吸取芯片的方式不一样,核心的烧录方法是一样的。目前市面上大部分离线烧录机在性能上都比较差,以nandflash为例,很多离线烧录机都是只能同时烧录一片,而且烧录时间也比较长,达不到nandflash的烧录极限,而在自动化的生产过程中,很可能会几万片甚至更多数量的烧录需求,需要高效地进行芯片烧录。可见,提供一种高效率的自动离线烧录系统具有重要意义。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的芯片离线烧录方法、装置、系统、计算机存储介质及设备。

本发明的一个方面,提供了一种芯片离线烧录方法,包括:

根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道;

接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区;

以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

可选地,所述根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道,包括:

根据同时烧录的芯片数量创建相应数量的芯片接口实例,根据待烧录芯片的芯片类型为各个芯片接口实例配置烧录软件控制时序。

可选地,在通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之前,所述方法还包括:

判定所述软件离线文件是否为压缩文件;

若所述软件离线文件为压缩文件,则对所述软件离线文件进行解压。

可选地,所述软件离线文件包括分区表和用户数据,所述分区表包括待烧录芯片各分区的分区地址和对应的有效数据长度;

所述通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片,包括:

根据待烧录芯片各分区对应的有效数据长度获取各分区地址的烧录数据;

将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区。

可选地,所述将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区,包括:

当烧录过程中检测到待烧录芯片中存在包括有坏块的分区时,跳过所述坏块,重新计算当前分区的分区地址,并将当前分区对应的用户数据烧录到该分区对应的新地址。

可选地,在所述通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之后,所述方法还包括:

对烧录在所述待烧录芯片上的数据进行数据校验。

可选地,在所述接收人机交互设备下发的软件离线文件之后,所述方法还包括:

检测是否存在待烧录芯片,以及待烧录芯片的管脚接触状态是否正常。

本发明的另一个方面,提供了一种芯片离线烧录设备,包括:

配置模块,用于根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道;

接口模块,用于接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区;

烧录模块,用于以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

可选地,所述配置模块,具体用于根据同时烧录的芯片数量创建相应数量的芯片接口实例,根据待烧录芯片的芯片类型为各个芯片接口实例配置烧录软件控制时序。

可选地,所述接口模块,还用于在所述烧录模块通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之前,判定所述软件离线文件是否为压缩文件,若所述软件离线文件为压缩文件,则对所述软件离线文件进行解压。

可选地,所述软件离线文件包括分区表和用户数据,所述分区表包括待烧录芯片各分区的分区地址和对应的有效数据长度;

所述烧录模块,具体用于根据待烧录芯片各分区对应的有效数据长度获取各分区地址的烧录数据;将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区。

可选地,所述烧录模块,具体还用于当烧录过程中检测到待烧录芯片中存在包括有坏块的分区时,跳过所述坏块,重新计算当前分区的分区地址,并将当前分区对应的用户数据烧录到该分区对应的新地址。

可选地,所述设备还包括:

校验模块,用于在所述烧录模块通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之后,对烧录在所述待烧录芯片上的数据进行数据校验。

可选地,所述设备还包括:

硬件检测模块,用于在所述接收人机交互设备下发的软件离线文件之后,检测是否存在待烧录芯片,以及待烧录芯片的管脚接触状态是否正常。

本发明的再一个方面,提供了一种芯片离线烧录系统,包括人机交互设备和与所述人机交互设备连接的多个如上所述的芯片离线烧录设备;

人机交互设备,用于确定本次烧录任务所需芯片离线烧录设备的数量以及每一芯片离线烧录设备同时烧录的芯片数量,并将软件离线文件发送到确定出的各个芯片离线烧录设备。

可选地,所述芯片离线烧录设备包括烧录单元,所述烧录单元包括多核处理器和可编程逻辑阵列;

所述多核处理器具体包括配置模块和接口模块,所述可编程逻辑阵列包括烧录模块,其中:

配置模块,用于根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道;

接口模块,用于接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区;

烧录模块,用于以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

可选地,所述烧录单元还包括外部非易失存储器、内部通信总线和动态随机存储器;

所述外部非易失存储器存储接收到的软件离线文件;

所述内部通信总线,用于实现多核处理器和可编程逻辑阵列之间的数据通信;

所述动态随机存储器,用于在离线烧录时缓存所述软件离线文件。

可选地,所述芯片离线烧录设备还包括烧录接口驱动单元以及设置有多个芯片烧录座的烧录夹具;

所述烧录夹具,用于通过所述多个芯片烧录座承载待烧录芯片;

所述烧录接口驱动单元,用于建立所述烧录单元与所述待烧录芯片之间的数据连接。

可选地,所述系统还包括芯片抓取装置和进出料控制装置;

所述进出料控制装置,用于自动提取待烧录芯片;

所述芯片抓取装置,用于将所述进出料控制装置提取的待烧录芯片移动到所述芯片离线烧录设备。

可选地,所述系统还包括位置校准装置,用于对所述芯片抓取装置的移动过程进行位置校准。

此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

此外,本发明还提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。

本发明实施例提供的芯片离线烧录方法、装置、系统、计算机存储介质及设备,可根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道,实现同时自动离线烧录多个芯片,多路异步自动烧录,有效提高离线烧写的效率,使得烧录速率逼近芯片极限。而且,本发明可将软件离线文件在本地进行数据缓冲,并以dma的方式进行数据传输,避免直接从pc端获取文件对数据传输速度的影响,进一步提高离线烧录效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例提供的芯片离线烧录方法的流程示意图;

图2为本发明实施例提供的芯片离线烧录方法中软件重构的实现流程示意图;

图3为本发明实施例提供的芯片离线烧录方法中数据校验的实现流程示意图;

图4为本发明实施例提供的软件离线文件的数据格式示意图;

图5为本发明另一实施例提供的软件离线文件的数据格式示意图;

图6为本发明实施例提供的芯片离线烧录设备的结构示意图;

图7为本发明实施例提供的芯片离线烧录系统的结构示意图;

图8为本发明实施例提供的芯片离线烧录设备的数据框图;

图9为本发明另一实施例提供的芯片离线烧录系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1为本发明一个实施例的芯片离线烧录方法的流程图。参照图1,本发明实施例的芯片离线烧录方法具体包括以下步骤:

s11、根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道。

本实施例中,所述根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道,具体通过以下步骤实现:芯片离线烧录设备根据同时烧录的芯片数量创建相应数量的芯片接口实例,根据待烧录芯片的芯片类型为各个芯片接口实例配置烧录软件控制时序。

在实际应用中,芯片离线烧录系统可支持多种类型的芯片烧录,例如nandflash、norflash、串行flash、emmc等非易失存储器以及cpld、mcu等内置rom的器件。

具体的,可在pc端的人机交互界面通过索引选择目标芯片,由于系统可包含多个芯片离线烧录设备,而不同的芯片烧录所需要的时间差别很大,烧录过程也是由几个设备之间相互配合完成的,芯片吸取和位置校验会有速率的限制,因此系统根据所选芯片型号自动选择此次烧录任务所需要的芯片离线烧录设备数量,以及每个芯片离线烧录设备同时烧写的芯片个数,这样匹配其他设备的速率,以达到最优的运行效果,同时也会根据每个芯片离线烧录设备的使用寿命做好损耗均衡。可理解的,系统也支持手动设置芯片离线烧录设备数量以及每个芯片离线烧录设备同时烧写的芯片个数。

在一个具体实施例中,pc端将芯片类型和每次烧录芯片的数量等信息生成相应的初始化指令发送给芯片离线烧录设备,芯片离线烧录设备接收到pc端的初始化指令后对自身进行软件重构。芯片离线烧录设备中烧录单元的arm多核处理器ps根据芯片的类型选择不同的镜像对可编程逻辑pl进行加载,根据烧录的数量创建相应的芯片接口实例,并对每个芯片接口实例配置相关的时序参数,建立多个异步烧录控制通道。其中,时序参数视芯片的类型而定,不同类型的芯片,时序参数差异很大,同类型的不同厂商的芯片,时序参数的数值也可能不一样。

s12、接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区。

本实施例中,pl端的配置完成后,pc端载入软件离线文件并启动自动离线烧录,ps端接收软件离线文件,并将软件离线文件存储到外部非易失存储器中,外部非易失存储器具体可以为sd卡、u盘、硬盘等大容量存储器。在所述接收人机交互设备下发的软件离线文件之后,还包括:检测是否存在待烧录芯片,以及待烧录芯片的管脚接触状态是否正常。在芯片放置在烧录夹具上后,芯片离线烧录设备迅速判断芯片管脚与烧录夹具的接触状态,并判断管脚接触良好、接触不良、短路等状态。如果芯片接触不良或者短路,则放弃对该芯片的烧录。

具体的,在接收文件完成后,ps端开始自检烧录夹具的状态是否正确,芯片是否在位并正确连接并确定芯片id,自检成功后,启动烧录,ps端将文件按指定大小的块逐个加载到ddr中的循环缓冲区中。

若ddr中的循环缓冲区足够大,大于软件离线文件的大小,可以缓存上一次软件离线文件的全部数据,烧录第一次之后,则可跳过将文件载入到ddr的步骤,可直接控制pl从ddr中获取数据,这样,免去了对外部非易失存储器的io操作,这类io实际上是比较费时间的,因此,这样可进一步提升烧录的效率。

若ddr中的循环缓冲区小于软件离线文件的大小,则每次烧录都要从外部非易失存储器中读取文件到ddr中,同时pl也可直接从ddr的循环缓冲区中获取数据,并缓存在fifo队列,每次的读文件到ddr中的io操作可能会影响烧录效率。

大部分芯片的软件烧录方式是先按块擦除,再按页烧录,数据块往往有多个数据页组成,由于软件离线文件的大部分数据缓冲在ddr中,在烧录过程中,如果烧录出现异常,程序可快速对该块重新擦除,并退回到当前块的首页进行烧录。

s13、以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

本实施例中,ps可通过axi_gp接口发送控制指令到pl,pl则通过axi_hp接口以dma的方式从ddr中获取数据,并通过各个异步烧录控制通道分别将数据按预订的逻辑时序烧录到待烧录芯片。其中,逻辑时序由fpga时序参考芯片的时序特性模拟,具体接口为芯片的控制读写总线。axi_hp接口为处理器内部通信接口,带宽高达2.4gb,可有效提高数据传输速率,突破传统烧录的瓶颈。

进一步地,芯片烧录过程如果遇到烧录失败,可快速回退,重新烧录,失败超过指定次数则将该芯片归类到次品盒中。

本发明实施例提供的芯片离线烧录方法,可根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道,实现同时自动离线烧录多个芯片,多路异步自动烧录,有效提高离线烧写的效率,使得烧录速率逼近芯片极限。而且,本发明可将软件离线文件在本地进行数据缓冲,并以dma的方式进行数据传输,避免直接从pc端获取文件对数据传输速度的影响,进一步提高离线烧录效率。

本发明实施例中,芯片离线烧录设备的软件可重构,每类芯片都应提取时序配置参数,再更换待烧录的芯片时,可通过配置异步烧录控制通道的时序参数或者重新加载fpga的方式对烧录软件的时序控制部分的逻辑进行重构。

在实际应用中,同类芯片,由于不同厂商的生产工艺不同,生产出来的芯片接口的电气特性也不一致。为了能够更逼近芯片的极限速率,每类芯片都应提取时序配置参数,在更换同类型不同厂家烧录的芯片时,如图2所示,从数据库导入芯片对应的时序参数,并在线更新相关的配置寄存器,而对于更换不同类型的芯片时,通过重新加载fpga的方式对烧录软件的时序控制部分的逻辑进行重构,并且重新配置相关的时序寄存器。每次重构都需要清空ddr缓冲区的数据。由于每个实例的配置都是独立的,因此,烧录单元在多路烧录的情况下,是可以同时不同类型的芯片。

本实施例中,所述软件离线文件可以为压缩文件,在通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之前,判定所述软件离线文件是否为压缩文件,若所述软件离线文件为压缩文件,则对所述软件离线文件进行解压。

具体的,对于大容量的存储器,特别是手机内的emmc存储芯片,软件离线文件往往都很大,就算按极限速率并且按分区的方式烧录,烧录一片的时间也不短,如果能将软件离线文件进行压缩,减少端到端的数据交互传输,在pl端再将数据解压出来并烧录到芯片,由于可编程逻辑pl的解压过程属于硬件上的解压,解压缩速率很快,因此,通过这种方式可以进一步提升烧录效率。

本发明的一个实施例中,在通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之后,还包括对烧录在所述待烧录芯片上的数据进行数据校验的操作。

一般来说,为了保证芯片烧录的正确性,防止意外烧录失败后的芯片贴到电路板上后程序运行出现错误而返工,在烧录完成后,需要对芯片内的数据与烧录原数据进行数值比较,如图3所示:启动校验后,首先判断是否需要按分区校验,按分区校验的可以避免对一些冗余区间进行校验,如果不按分区校验,而是对整个芯片校验,则只需要将数据有效长度设置成芯片的容量大小即可。校验过程与烧录过程基本是相反的,pl读取芯片对应地址的数据,同时,读取ddr缓冲区同等大小的原烧录数据,将这两部分数据进行数值比较,得到烧录的校验结果,校验结果返回给pc端进行处理。

本实施例中,在进行芯片烧录之前,还包括配置烧录模式的步骤。烧录模式包括母片烧录、分区烧录、文件压缩算法、是否跳过坏块、是否需要生成ecc校验码、允许最大的坏块数、坏块标识地址等选项,这些是为了灵活适应用户的需求设定的。其中,是否跳过坏块、是否需要生成ecc校验码、允许最大的坏块数、坏块标识地址主要是针对nandflash,其他母片烧录、分区烧录、文件压缩算法等选项可适应所有芯片。

分区烧录:

ps在启动烧录之前,从软件离线文件中获取分区芯片的分区信息,分区信息包括待烧录芯片各分区的地址信息(起始地址、结束地址)和各个分区对于的有效数据长度。烧录从分区的起始地址开始烧录,当烧录的数据长度大于有效数据长度时,结束该分区的烧录,跳转到下一个分区。如果像nandflash芯片那种有存在坏块的情况,那么,烧录过程需要跳过坏块,烧录的数据长度应不包含坏块的部分,当大于有效数据长度时,介绍该分区烧录。很多情况下,分区的实际有效数据很小,使用分区烧录可以有效提高烧录效率。

母片烧录:

对于软件离线文件制作有难度的芯片,可采用母片烧录的方式对芯片进行批量烧录。母片烧录是事先准备好一块正常可运行的芯片,使用烧录工具先将母片内的数据全盘按地址拷贝出来,并存储到外部的非易失存储器中,并按照烧录的流程实施批量的离线烧录。母片烧录不能使用分区烧录和跳过坏块的方式烧录,只能将数据按地址拷贝。

对于分区烧录模式,所述软件离线文件包括分区表和用户数据,所述分区表包括待烧录芯片各分区的分区地址和对应的有效数据长度。

本实施例中,软件离线文件由分区表和用户数据组成,分区表用于约束烧录地址空间的范围,定义了芯片的分区信息以及用户数据的有效数据长度,分区烧录依赖分区表,可以有效提高烧录的效率。用户数据由于芯片的类型不同,可选择是否包含ecc校验码,ecc校验码在软件打包的时候生成,并插入到每一页数据中去。

相应的,通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片,包括以下实现步骤:

根据待烧录芯片各分区对应的有效数据长度获取各分区地址的烧录数据;

将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区。进一步地,所述将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区,具体包括:当烧录过程中检测到待烧录芯片中存在包括有坏块的分区时,跳过所述坏块,重新计算当前分区的分区地址,并将当前分区对应的用户数据烧录到该分区对应的新地址。

在一个具体实施例中,分区表是为了约束实际烧录的内容,软件离线文件信息如图4、图5所示,软件离线文件包含分区表和用户数据两个部分,分区表描述了分区数据的起始地址、结束地址和有效长度,因此在使用分区烧录模式的时候,就可以直接跳过一些没必要烧录的地址空间,只烧写有效长度的数据即可,如果没有分区表,系统会从起始地址烧录软件到结束地址,在应对大容量的存储芯片的时候,分区烧录能有效提高烧录的效率。分区表和软件离线文件都会从pc端导入并分发到各个芯片离线烧录设备内,这样就不用每次都从pc端获取数据,目前市面上很多离线烧录系统就是从pc端获取数据,导致效率降低。

用户数据可以选择是否包含ecc校验码,有些芯片比如nandflash烧写是需要写入ecc校验码的,而校验码可以从分区数据获取,也可以由芯片离线烧录设备生成,由于ecc校验码算法很多,填充的位置也不统一,因为大部分是做在软件离线文件里,这种方式要求在生成软件离线文件的时候计算ecc。

软件离线文件由分区表和用户数据组成,分区表用于约束烧录地址空间的范围,定义了芯片的分区信息以及用户数据的有效数据长度,分区烧录依赖分区表,pc端在导入分区表后,会将读取到的分区信息设置到芯片离线烧录设备,芯片离线烧录设备根据分区表可以很清晰的知道数据的地址信息以及数据是否有效,这种方法可以有效提高烧录的效率。用户数据芯片的类型,可选择是否包含ecc校验码,ecc校验码在软件打包的时候生成,软件打包根据数据的每一页信息计算ecc校验码,并插入到每一页数据中去,常见的ecc算法有汉明码、bch编码等。

芯片离线烧录设备监视自动离线烧录的整个过程,出现异常时,向外发出告警,具体可表现为控制外部指示灯闪烁。

本发明实施例提供的芯片离线烧录方法,具有以下有益效果:

1、可同时烧录多片flash,多路异步自动烧录,提升烧录的效率

2、大内存文件io交互,避免每次从非易失存储器中获取数据而影响速率,烧录速率能逼近flash芯片的极限,极大的缩短了烧录的时间

3、支持分区烧录、支持文件压缩烧录

4、软件可重构,可同时支持多种型号的flash、cpld、单片机等芯片

5、多种烧录模式可配置,灵活适应用户需求。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图6示意性示出了本发明一个实施例的芯片离线烧录设备的结构示意图。参照图6,本发明实施例的芯片离线烧录设备具体包括配置模块201、接口模块202以及烧录模块203,其中:

配置模块201,用于根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道;

接口模块202,用于接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区;

烧录模块203,用于以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

本发明实施例中,所述配置模块201,具体用于根据同时烧录的芯片数量创建相应数量的芯片接口实例,根据待烧录芯片的芯片类型为各个芯片接口实例配置烧录软件控制时序。

本发明实施例中,所述接口模块202,还用于在所述烧录模块203通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之前,判定所述软件离线文件是否为压缩文件,若所述软件离线文件为压缩文件,则对所述软件离线文件进行解压。

本发明实施例中,所述软件离线文件包括分区表和用户数据,所述分区表包括待烧录芯片各分区的分区地址和对应的有效数据长度;

所述烧录模块203,具体用于根据待烧录芯片各分区对应的有效数据长度获取各分区地址的烧录数据;将各分区地址的烧录数据依次烧录到所述待烧录芯片的各分区。

进一步地,所述烧录模块203,具体还用于当烧录过程中检测到待烧录芯片中存在包括有坏块的分区时,跳过所述坏块,重新计算当前分区的分区地址,并将当前分区对应的用户数据烧录到该分区对应的新地址。

本发明实施例中,所述设备还包括附图中未示出的校验模块:

所示校验模块,用于在所述烧录模块通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片之后,对烧录在所述待烧录芯片上的数据进行数据校验。

本发明实施例中,所述设备还包括附图中未示出的硬件检测模块:

该硬件检测模块,用于在所述接收人机交互设备下发的软件离线文件之后,检测是否存在待烧录芯片,以及待烧录芯片的管脚接触状态是否正常。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本发明的再一个实施例还提供了一种芯片离线烧录系统,如图7所示,该系统包括人机交互设备10和与所述人机交互设备10连接的多个如上实施例所述的芯片离线烧录设备20。具体的,人机交互设备10和多个芯片离线烧录设备20通过高速通信接口hub连接。高速通信接口hub的通信接口包括千兆网口和usb3.0接口。

人机交互设备10,用于确定本次烧录任务所需芯片离线烧录设备的数量以及每一芯片离线烧录设备同时烧录的芯片数量,并将软件离线文件发送到确定出的各个芯片离线烧录设备。本实施例中,人机交互模块主要用于设备与用户的交互,用户通过触摸屏或者鼠标键盘的方式发送操作指令,用户操作主要包括选择芯片类型、导入和编辑离线烧写文件、配置烧录模式、启动和暂停烧录、手动位置等。

进一步地,如图8所示,所述芯片离线烧录设备是整个系统最重要的模块,也是芯片自动离线烧录的关键部分,具体包括烧录单元、烧录接口驱动单元以及设置有多个芯片烧录座的烧录夹具,主要功能将软件的离线文件快速烧录到芯片中。烧录夹具包含多个芯片烧录座,数量由芯片的类型决定,表示可以同时烧录的芯片数量。

其中,所述烧录单元包括多核处理器、可编程逻辑阵列、外部非易失存储器、axi内部通信总线和ddr动态随机存储器;烧录单元适应芯片的烧录接口,将数据按芯片烧录的接口时序写入芯片的存储器中。

所述多核处理器具体包括配置模块和接口模块,所述可编程逻辑阵列包括烧录模块,其中:配置模块,用于根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道;接口模块,用于接收人机交互设备下发的软件离线文件,将所述软件离线文件加载到数据缓冲区;烧录模块,用于以dma的方式从所述数据缓冲区中获取所述软件离线文件,并通过各个异步烧录控制通道分别将所述软件离线文件烧录到待烧录芯片。

所述外部非易失存储器,用于存储接收到的软件离线文件。

所述内部通信总线,用于实现多核处理器和可编程逻辑阵列之间的数据通信。

所述动态随机存储器,用于在离线烧录时缓存所述软件离线文件。

所述烧录夹具,用于通过所述多个芯片烧录座承载待烧录芯片;

所述烧录接口驱动单元,用于建立所述烧录单元与所述待烧录芯片之间的数据连接。

本发明实施例中,如图9所示,所述系统还包括芯片抓取装置30、进出料控制装置40和位置校准装置50。

所述进出料控制装置40,用于自动提取待烧录芯片。进出料控制装置,包装包括tray盘、编带盘,该模块控制芯片盘装的更换,当盘装芯片烧录完成后,自动取出盘装芯片并放置新的未烧写的盘装芯片。

所述芯片抓取装置30,用于将所述进出料控制装置40提取的待烧录芯片移动到所述芯片离线烧录设备。芯片吸取是自动离线烧录的重要组成部分,芯片吸取模块是一个特制的机械手,机械手是个吸嘴,用于吸取芯片,完成从盘装芯片到烧录夹具之间的芯片吸取工作。在抓取过程中,要通过位置校准装置50,如工业相机,完成位置的校准,以免抓取的误差导致放置到烧录夹具的位置不对,避免因放置时的位置不准确而破坏芯片的管脚。

在实际应用中,由于烧录要保证芯片的管脚接触良好,而像bga封装的芯片放置要求更高,因此必须对芯片吸取后的位置进行校准,确定芯片的四个脚与吸嘴的相对位置,保证芯片的每个管脚与烧录夹具正确接触。芯片放置后,芯片离线烧录设备还会检测烧录夹具与芯片管脚的接触状态,如果存在短路、接触不良的情况,则会认为该芯片烧录失败,将芯片吸取放到次品盒中。

本发明实施例提供的芯片离线烧录方法、装置、系统、计算机存储介质及设备,可根据当前设备同时烧录的芯片数量创建相应数量的异步烧录控制通道,实现同时自动离线烧录多个芯片,多路异步自动烧录,有效提高离线烧写的效率,使得烧录速率逼近芯片极限。而且,本发明可将软件离线文件在本地进行数据缓冲,并以dma的方式进行数据传输,避免直接从pc端获取文件对数据传输速度的影响,进一步提高离线烧录效率。

此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

本实施例中,所述芯片离线烧录设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例提供的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个芯片离线烧录方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各芯片离线烧录设备实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述芯片离线烧录设备中的执行过程。

所述设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图5仅仅是所述设备的示例,并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备还可以包括输入输出设备、网络接入设备、总线等。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述设备的控制中心,利用各种接口和线路连接整个设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在本发明实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。

本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1