本发明涉及电池管理领域,尤其涉及一种实现IC烧录校准校验测试的方法和设备。
背景技术:
在多节电池产品中通常使用PIC系列管理IC进行电量管理,所述的PIC系列管理IC包括PIC16F1933单片机,PIC16F1936单片机,PIC16F1937单片机等型号的单片机,其中所述的PIC为Microchip系列PIC单片机的简称,以下均用PIC简称代替Microchip系列PIC单片机。为了能够有效对多节电池产品进行电量管理,需要在PIC中烧录相应的程序进行电量管理。目前,现有的电池产品生产企业通常采用烧录盒对PIC进行烧录,而采用烧录盒烧录的方式进行烧录适合个人用户使用,但用于工业大批量制造过程中存在以下缺点:1、烧录盒烧录时采用一对一的烧录方式进行烧录,导致生产效率低,不适用于大批量生产;2、烧录盒烧录无校准功能,因此,在烧录程序后,还需要采用单独的校准校验设备进行测试,以确保烧录程序后的产品符合客户和行业内的要求;3、由于烧录软件使用原厂IDE,操作复杂,良品与不良品区分度低,烧录工位不良品多,员工操作易发生错误,增加生产时间,增加返工率,降低了生产效率;4、烧录盒与电脑的连接使用USB接口,连接稳定性低,人员维护频率高。因此,如何研发设计一种能够快速的对PIC系列产品进行快速烧录,提高生产效率,降低公司内部的资源损耗,成为企业亟待解决的问题。
技术实现要素:
基于此,本发明提供了一种生产效率高,实用性强,且适用于批量化生产的实现IC烧录校准校验测试的方法。
本发明公开了一种实现IC烧录校准校验测试的方法,其特征在于,所述的方法包括:
控制擦除编程存储区与数据存储区数据;
控制编程存储区数据写入;
控制编程存储区数据校验;
控制数据存储区数据写入;
控制数据存储区数据校验。
优选地,所述的控制擦除编程存储区与数据存储区数据的步骤包括:
发送编程存储区块擦除指令与数据存储区块擦除指令,将编程存储区与数据存储区原数据清除。
优选地,所述的控制编程存储区数据写入的步骤包括:
向单片机发送地址复位指令,将地址至于编程存储区初始地址0x0000h,开始编程存储区数据写入。
优选地,所述的控制编程存储区数据校验的步骤包括:
在编程存储区数据写入后,进行校验,比对编程存储区数据是否与烧录文件完全相同;
首先发送地址复位指令,将地址至于编程存储区初始地址0x0000h,随后发送读取编程存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验。
优选地,所述的控制数据存储区数据写入的步骤包括:
向单片机发送地址复位指令,将地址至于数据存储区初始地址0x0000h、开始数据存储区数据写入;
首先发送加载数据存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
本发明还公开了一种实现IC烧录校准校验测试的设备,其特征在于,所述的设备包括:
擦除模块,用于控制擦除编程存储区与数据存储区数据;
写入模块,用于控制编程存储区数据写入;
第一校验模块,用于控制编程存储区数据校验;
数据写入模块,用于控制数据存储区数据写入;
第二校验模块,用于控制数据存储区数据校验。
优选地,所述的擦除模块用于发送编程存储区块擦除指令与数据存储区块擦除指令,将编程存储区与数据存储区原数据清除。
优选地,所述的写入模块用于向单片机发送地址复位指令,将地址至于编程存储区初始地址0x0000h,开始编程存储区数据写入。
优选地,所述的第一校验模块用于在完成整个编程存储区数据编写后,进行校验,比对编程存储区数据是否与烧录文件完全相同;
首先发送地址复位指令,将地址至于编程存储区初始地址0x0000h,随后发送读取编程存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验。
优选地,所述的数据写入模块向单片机发送地址复位指令,将地址至于数据存储区初始地址0x0000h,开始数据存储区数据写入;首先发送加载数据存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
有益效果:
本发明的具有实用性强,提高生产效率,减少返工率,适用于产品批量化生产。本发明中所述的设备采用10通道的串并行混合方式,且能够一体式的进行烧录、校准和校验测试,通过解析PIC系列IC烧录模式下的发码状态,破译IC的烧录校准方式,利用自己设计的硬件电路实现PIC系列IC的烧录校准,此设计架构灵活,合理性强,通用性高,方便后期维护与新型IC烧录校准的导入,提高生产效率,减少因人为操作,减少烧录程序错误,减少不良品率。
附图说明
为了更清楚地说明本发明运行原理和使用的技术方案,下面将对运行原理和使用的技术中所需要使用的附图作简单地介绍。显而易见,下面描述中的附图仅仅是本发明的一些运行例子,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的一种实现IC烧录校准校验测试的方法的方法流程图。
图2是本发明的一种实现IC烧录校准校验测试的方法的设备框图。
具体实施方式
下面将结合本发明运行原理中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,基于此,本发明提供了一种实现IC烧录校准校验测试的方法。
一种实现IC烧录校准校验测试的方法,所述方法包括:
控制擦除编程存储区与数据存储区数据;
控制编程存储区数据写入;
控制编程存储区数据校验;
控制数据存储区数据写入;
控制数据存储区数据校验。
在其中一个实施例中,所述控制擦除编程存储区与数据存储区数据的步骤包括:
发送编程存储区块擦除指令与数据存储区块擦除指令,将编程存储区与数据存储区原数据清除,保证能够重新烧录。
在其中一个实施例中,所述控制编程存储区数据写入的步骤包括:
向单片机发送地址复位指令,将地址至于编程存储区初始地址0x0000h开始编程存储区数据写入。
在其中一个实施例中,所述控制编程存储区数据校验的步骤包括:
在完成整个编程存储区数据编写后,进行校验,比对编程存储区数据是否与烧录文件完全相同;
首先发送地址复位指令,将地址至于编程存储区初始地址0x0000h,随后发送读取编程存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验。
在其中一个实施例中,所述控制数据存储区数据写入的步骤包括:
向单片机发送地址复位指令,将地址至于数据存储区初始地址0x0000h开始数据存储区数据写入;
首先发送加载数据存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
一种实现IC烧录校准校验测试的设备,所述设备包括:
擦除模块100,用于控制擦除编程存储区与数据存储区数据;
写入模块200,用于控制编程存储区数据写入;
第一校验模块300,用于控制编程存储区数据校验;
数据写入模块400,用于控制数据存储区数据写入;
第二校验模块500,用于控制数据存储区数据校验。
在其中一个实施例中,所述擦除模块用于发送编程存储区块擦除指令与数据存储区块擦除指令,将编程存储区与数据存储区原数据清除,保证能够重新烧录。
在其中一个实施例中,所述写入模块用于向单片机发送地址复位指令,将地址至于编程存储区初始地址0x0000h开始编程存储区数据写入。
在其中一个实施例中,所述第一校验模块用于在完成整个编程存储区数据编写后,进行校验,比对编程存储区数据是否与烧录文件完全相同。
首先发送地址复位指令,将地址至于编程存储区初始地址0x0000h,随后发送读取编程存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验。
在其中一个实施例中,所述数据写入模块用于向单片机发送地址复位指令,将地址至于数据存储区初始地址0x0000h开始数据存储区数据写入;首先发送加载数据存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
在其中一个实施例中,所述第二校验模块用于在完成整个数据存储区数据编写后,进行校验,比对数据存储区数据是否与烧录文件完全相同
本发明的一种实现IC烧录校准校验测试的方法,所述方法包括:控制擦除编程存储区与数据存储区数据;控制编程存储区数据写入;控制编程存储区数据校验;控制数据存储区数据写入;控制数据存储区数据校验。我司实现对基于PIC系列多节产品进行性能烧录校准校验测试的设备是采用10通道的串并行混合方式,一体式的进行烧录、校准和校验测试,通过解析PIC系列IC烧录模式下的发码状态,破译IC的烧录校准方式,利用自己设计的硬件电路实现PIC系列IC的烧录校准,此设计架构灵活,合理性强,通用性高,利于后期维护与新型IC烧录校准的导入。
硬件角度:
此基于PIC系列多节产品烧录校准校验测试设备硬件板块分为“电源模块和烧录模块”两部分。其中电源模块电路具有十组5V独立可调电源,负责为产品的校准校验过程供电;烧录模块电路具两组15V可调电源和烧录MCU模块,负责产品烧录供电与烧录功能。
5V独立可调电源模块:该模块的主要功能是提供10组独立电芯,每节电芯可通过软件从0~5V可调。该模块采用高精度16位模数转换器AD5061,保证电压精度在1mV以内,运放部门采用极高保真大功率放大器LME49830,保证电源模块的带载能力达到150mA。电源模块的高精度与强带载能力能够保证产品校准的精度。
烧录模块:烧录模块包含两组15V可调电源与一个烧录MCU,15V电源模块为5V电源模块放大3倍,负责给产品MCU供电。 烧录MCU采用Atmega64L单片机,该单片机为8位64引脚单片机,在该单片机上实现了多种通讯方式(如UART,IIC,SPI等),保证了不同产品通讯方式的统一与集成,保证了设备硬件的通用性。
硬件优点:
设备将烧录模块与校准模块集成在一起,实现了烧录校准一体化。产品烧录校准校验实现统一流程,这是相对于之前单纯烧录设备的重大突破。产品在完成烧录后直接通过软件控制进入校准校验模式,取代了以往的烧录校准校验多工位测试模式。
设备可扩展性强
设备硬件角度预留了测试通道的扩展(最大可扩展至10通道),支持用户人员设定好测试通道,可根据用户设定好的通道数拔起未使用通道的测试板(电源板和烧录板),同时设备还预留了设备电压精度点检端口,使得用户通过外接仪器和外部硬件,定期点检监控设备的电压电流精度情况。
3.设备通信传输效率高,稳定可靠性高
设备硬件采用十串口并行模式,外接串口稳定性高,数据传输速率快,替代USB接口连接电脑,降低因减少USB掉载现象无法识别USB端口要求的高稳定性的电脑的较高成本支出。同时设备串口通信传输达到57600个,采取“一传一收”,“发送接收返回”的传输接送方式进行通信,当下位硬件接收到请求信号(以字节数字形式)后,按照制定好的通信协议以字节数字形式反馈传输。
a.1:PIC单片机烧录供电模式:
PIC单片机烧录时的供电模式分为低压模式与高压模式两种:1.高压模式又分为优先Vpp供电与优先Vdd供电,利用硬件的两个15V可调模块,通过软件控制保证IC可以进入任意一种校准模式;2.低压校准模式只需要给Vpp口供电,随后向IC SPCLK发码“0100 1101 0100 0011 0100 1000 0101 0000”即可进入低压供电串行编程模式。
a.2:编程指令及其作用:
1、加载配置位指令“000000”:在配置位模块可以设置PIC单片机的UserID、配置位,读取单片机的DeviceID。通过读取单片机的DeviceID来判断正在进行烧录的IC型号是否为正确IC型号,保证烧录的正确进行,设置UserID与配置位可以对单片机进行标识与启动单片机保护功能。
2、加载编程存储区数据指令“000010+data”:对单片机的编程存储区进行数据加载。通过向单片机发码该指令可以向编程存储区当前地址加载对应数据,该指令主要用于将数据写入DataFlash区域。
3、加载数据存储区数据指令“000011+data”:对单片机的数据存储区进行数据加载。通过向单片机发码该指令可以向数据存储区当前地址加载对应数据,该指令主要用于将数据写入EEPRom区域。
4、读取编程存储区数据指令“000100”:通过向单片机发码该指令可以读出编程存储区当前地址中的数据,该指令主要用于DataFlash区域数据写入完成后的数据校验工作。
5、读取数据存储区数据指令“000101”:通过向单片机发码该指令可以读出数据存储区当前地址中的数据,该指令主要用于EEPRom区域数据写入完成后的数据校验工作。
6、地址增加指令“000110”:向单片机发送该指令时编程存储区与数据存储区地址会向上加一,通过该指令可以实现遍历整个编程存储区与数据存储区址。
7、地址复位指令“010110”:向单片机发送该指令时编程存储区与数据存储区地址会复位到起始地址0x00。
8、内部时钟编程指令“001000”:在使用内部时钟的条件下,向单片机发送该指令,可以将已加载在编程存储区或数据存储区的数据写入当前地址。
9、外部时钟编程指令“011000”:在使用外部时钟的条件下,向单片机发送该指令,可以将已加载在编程存储区或数据存储区的数据写入当前地址。
10、退出外部时钟编程指令“001010”:向单片机发送该指令可以使单片机结束外部时钟编程。
11、编程存储区块擦除指令“001001”:向单片机发送该指令可以擦除单片机编程存储区的全部数据,实现重复编译。
12、数据存储区块擦除指令“001011”:向单片机发送该指令可以擦除单片机数据存储区的全部数据,实现重复编译。
a.3 :PIC系列单片机烧录:
在完成PIC系列单片机编程指令解析后,利用设备烧录模块,将编程指令编译到负责烧录的Atmega64L单片机中。在对PIC系列单片机进行烧录时,首先采用三种上电模式中的一种激活单片机,使单片机进入编译模式,进入编译模式后,可以通过上述指令操控单片机。操控单片机的具体步骤:
1、确认单片机型号:单片机烧录前需确认其是否为正确单片机型号。向单片机发送加载配置位指令,将地址加载到配置存储区,随后发送6次地址增加指令将地址增加到0x8006h,最后发送读取编程存储区数据指令,读出DeviceID并比对,若型号正确,则进行后续步骤,否则退出烧录模式。
2、擦除编程存储区与数据存储区数据:发送编程存储区块擦除指令与数据存储区块擦除指令,将编程存储区与数据存储区原数据清除,保证能够重新烧录。
3、编程存储区数据写入:向单片机发送地址复位指令,将地址至于编程存储区初始地址0x0000h开始编程存储区数据写入。首先发送加载编程存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
4、编程存储区数据校验:在完成整个编程存储区数据编写后,进行校验,比对编程存储区数据是否与烧录文件完全相同。首先发送地址复位指令,将地址至于编程存储区初始地址0x0000h,随后发送读取编程存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验;
5、数据存储区数据写入:向单片机发送地址复位指令,将地址至于数据存储区初始地址0x0000h开始数据存储区数据写入。首先发送加载数据存储区数据指令向当前地址加载数据,间隔10ms后发送内部时钟编程指令将数据写入当前地址,最后发送地址增加指令,进入下一个操作地址。
6、数据存储区数据校验:在完成整个数据存储区数据编写后,进行校验,比对数据存储区数据是否与烧录文件完全相同。首先发送地址复位指令,将地址至于数据存储区初始地址0x0000h,随后发送读取数据存储区数据指令,将读取的数据与烧录文件数据进行比对,若数据正确,则进入下一地址校验。
b.上位机烧录校准方式:
b.1烧录校准方式模板化:对于不同类型的单片机与不同的校准方式,将其制定为模板,烧录分为一次写入8个字节,一次写入16个字节以及一次写入32个字节;校准分为命令校准,修改编程存储区校准和修改数据存储区校准。在模板制定完成后,后续只需直接调用即可,大大降低了代码维护量与烧录校准设备使用难度。
c.设备软件测试结果追溯系统化:
设备测试多节产品完成后,校准测试的数据通过网络信号上传至网络服务器和本地服务器中相应的表格中;
服务器方面:采用服务器在后台运作,起到分配各设备机器编号,统一分配产品序列号,绑定产品序列号存储相应产品的性能测试的数据记录、并支持用户实时通过产品序列号查询出产品当时的性能测试数据等等作用。
因每天上传服务器性能测试的数据量很大,日以累积,造成服务器数据库中的数据表中的数据量太大,导致数据信息线上线下(服务器与本地设备)传输受到一定的影响,造成设备性能测试产生一定的延时,从而影响了设备的测试效率和速度。因此采取的办法是在服务器数据库中建立 “备份数据表,清除部分数据信息,提升服务器数据库运行速度”的 存储过程,此存储过程(原理):能够建立复制一张与“保存烧录升级数据的主数据表”格式一样的新子表,然后根据用户条件选择从“保存性能数据的主数据表”复制规定时间段内(如当今时间算起的上月)的性能测试数据,待复制完后存储进刚建立的新子表中,存储完后把刚复制的数据信息从主表中相应的删除 ,以达到释放主表存储空间的效果,从而实现服务器减负。
同时此存储过程支持用户设定在规定时间内(如规定 每月某日)执行,起到灵活调配的作用。
以上对本发明运行原理进行了详细介绍,上述运行原理的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。