CN110955447A - 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 - Google Patents
一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 Download PDFInfo
- Publication number
- CN110955447A CN110955447A CN201911115324.9A CN201911115324A CN110955447A CN 110955447 A CN110955447 A CN 110955447A CN 201911115324 A CN201911115324 A CN 201911115324A CN 110955447 A CN110955447 A CN 110955447A
- Authority
- CN
- China
- Prior art keywords
- programming
- flash
- interface
- sector
- programming module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005259 measurement Methods 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004377 microelectronic Methods 0.000 claims description 2
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000012795 verification Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 1
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,使能烧写信号,激光惯组上电,DSP进入烧写模式;转换需要烧写的惯组系数文件为可烧写的二进制BIN文件;计算可烧写的二进制BIN文件的16位CRC校验码;计算FLASH中扇区擦除数据的长度;上位机调用烧写模块的擦除接口,对FLASH扇区进行擦除;上位机调用烧写模块的上传接口,将可烧写的二进制BIN文件上传至FLASH;上位机调用烧写模块的烧写接口,将FLASH中可烧写的二进制BIN文件数据烧写到FLASH扇区中,计算烧写数据的16位CRC校验码并烧写入FLASH扇区;上位机调用烧写模块的下载接口,下载FLASH扇区的CRC校验码到上位机;对比CRC校验码,判断烧写的正确性,缩短了烧写周期,增加了烧写系数的可靠性。
Description
技术领域
本发明涉及一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,属于激光惯组系数烧写和校验技术领域。
背景技术
以激光陀螺为核心的激光陀螺惯性测量组件是目前最常用的高精度惯性测量仪器。激光惯组精度受到自身各种误差因素的影响,需要定期进行标定,并将标定的零偏、刻度因素、安装误差等系数烧写到导航计算机板中。导航计算机板DSP的FLASH区需要固化烧写模块,用于DSP程序的升级、用户应用程序开发、调试、加载等工作。烧写模块具有上传、擦除、烧写、下载等功能接口。
为保证激光惯组工作的可靠性,惯组系数通常会烧写到多片FLASH扇区作为冗余备份。烧写完成需要对多片扇区的烧写正确性进行校验,调研的已知方式存在操作复杂、烧写周期长,可靠性差等缺点。
发明内容
本发明解决的技术问题为:克服现有技术不足,提供一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,通过上位机实现与烧写模块的通讯和指令控制,自动进行不同扇区的系数烧写和校验工作。解决了现有技术操作复杂,烧写周期长,可靠性差等缺点。
本发明解决的技术方案为:一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,步骤如下:
(1)DSP内的烧写模块接收外部的烧写使能信号,在烧写使能信号控制下激光惯组上电,DSP进入烧写模式,运行烧写模块程序;
(2)用上位机将需要烧写的系数文件转换为可烧写的二进制BIN文件;
(3)采用16位CRC(循环冗余校验码)查表法,在上位机中计算可烧写的二进制BIN文件数据的16位CRC校验码,记为CRC0;
(4)根据可烧写的二进制BIN文件数据的长度,计算FLASH中扇区擦除长度,记为L;
(5)将FLASH第n个扇区的擦除首地址,记为ADDRESSn,n为需要烧写的扇区编号,n=1,2,3…M;M为需要烧写的扇区总数,设n的值为1,上位机调用烧写模块的擦除接口,对FLASH中第n个扇区起始ADDRESSn,长度L的FLASH进行擦除;
(6)步骤(5)擦除后,上位机调用烧写模块的上传接口,将步骤(2)中的可烧写的二进制BIN文件数据上传至FLASH;
(7)步骤(6)上传后,上位机调用烧写模块的烧写接口,将RAM中可烧写的二进制BIN文件数据烧写到FLASH中,使用与步骤(3)相同的16位CRC运算方式,计算FLASH中第n个扇区可烧写的二进制BIN文件的16位CRC,值记为CRCn,再将CRCn烧写在可烧写的二进制BIN文件的后面;
(8)上位机调用烧写模块的下载接口,将步骤(7)中的CRCn下载到上位机;
(9)判断全部扇区是否烧写完成,即判断n是否小于等于M,若是,则将步骤(5)的n值加1后再赋给n,返回步骤(5);否则,将步骤(8)中下载的CRCn值与CRC0值进行显示和自动对比,判断烧写的正确性,全部CRCn值与CRC0值保持一致,则判定烧写正确,否则,判定烧写不正确。
优选的,激光惯组包括激光陀螺、加速度计和导航计算机。
优选的,烧写模块,具有422串口通信功能,对DSP用户程序、烧写模块程序的引导和升级,对惯组系数的烧写。
优选的,激光惯组的导航计算机由DSP、外扩FLASH等组成,DSP支持浮点型运算,进行复杂的导航解算、与上位机的通讯以及对FLASH的操作,FLASH存储烧写模块程序、用户程序和惯组系数。
优选的,烧写模块,具有擦除接口、上传接口、烧写接口、下载接口,422串口通信功能;
擦除接口实现对FLASH的擦除工作;
上传接口将上位机数据存入FLASH;
烧写接口将FLASH中数据进行烧写;
下载接口将FLASH数据传输至上位机;
422串口通信功能可与上位机的通讯,实现擦除接口、上传接口、烧写接口、下载接口的调用。
优选的,烧写模块,优选采用深圳国微电子有限公司的SM29LV160型号FLASH的烧写模块。
优选的,DSP采用TMS320C6000系列,包括:外部存储接口,RAM,通用输入输出端口(I/O);
外部存储接口外扩SM29LV160型号FLASH;
RAM加载运行FLASH烧写模块程序;
I/O读取烧写信号状态。
优选的,烧写使能信号,具体为:输入3.3V高电平到I/O端口。
优选的,DSP进入烧写模式,运行烧写模块程序,具体为:DSP读取I/O管脚状态,为1表示烧写使能成功,则加载FLASH烧写模块程序到RAM。
优选的,需要烧写的系数文件,具体为:系数文件为文本文件,30行数据,每行为一个单精度float类型惯组系数,保留6位有效数字。
优选的,可烧写的二进制BIN文件,具体为:将float类型的惯组系数数据依次从系数文件取出,按照IEEE-754格式标准转换为对应的二进制数据,存储为*.BIN类型文件;对二进制BIN文件数据进行CRC校验。
优选的,步骤(3)使用16位CRC查表法,在上位机中计算可烧写的二进制BIN文件数据的16位CRC校验码,记为CRC0,具体如下:
根据多项式X16+X12+X5+1构建16位CRC校验码表;
CRC校验码初始化为0;
查CRC校验表,逐字节计算CRC。
优选的,步骤(4)根据可烧写的二进制BIN文件的长度,计算FLASH中扇区擦除数据的长度,具体如下:
根据可烧写的二进制BIN文件数据的长度,计算FLASH中扇区擦除长度,扇区擦除长度以字节为单位,长度为BIN文件字节(8位)长度加上16位CRC校验码(长度为2个字节)的长度,记为L。
优选的,步骤(5)调用烧写模块的擦除接口,对FLASH中第n个扇区首地址ADDRESSn开始的L长度的FLASH进行擦除,具体如下:
上位机根据擦除接口对外协议,发送擦除指令,调用FLASH烧写模块擦除接口,对FLASH进行擦除。
优选的,步骤(6)在步骤(5)擦除后,上位机调用烧写模块的上传接口,将步骤(2)中的可烧写的二进制BIN文件上传至FLASH,具体如下:
上位机根据上传接口协议,发送上传指令,调用FLASH烧写模块上传接口,将可烧写的二进制BIN文件数据上传至FLASH。
优选的,步骤(7)中使用与步骤(3)相同的16位CRC运算方式,计算FLASH中第n个扇区可烧写的二进制BIN文件的16位CRC,值记为CRCn,具体如下:
根据多项式X16+X12+X5+1构建16位CRC校验码表;
CRC校验码初始化为0;
查CRC校验表,逐字节计算CRC。
本发明与现有技术相比的优点在于:
(1)本发明通过上位机,实现与烧写模块的通讯和控制,烧写惯组系数不必进行产品拆装,操作过程简便,降低了工作量;
(2)本发明先将数据烧写进入FLASH,然后再将FLASH数据进行校验,提高了烧写可靠性;
(3)本发明自动进行不同扇区的烧写和校验,并将最终的校验CRC结果进行显示和对比,避免了人为因素误判、漏烧的情况发生,简化了烧写流程提高了烧写效率;
(4)本发明涉及一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,特别针对具备DSP烧写模块的激光惯组进行多扇区系数烧写和校验操作,简化了烧写流程,增加了校验的可靠性。
附图说明
图1为基于烧写模块的激光惯组系数多扇区烧写及校验方法实施流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
本发明一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,使能烧写信号,激光惯组上电,DSP进入烧写模式;转换需要烧写的惯组系数文件为可烧写的二进制BIN文件;计算可烧写的二进制BIN文件的16位CRC校验码;计算FLASH中扇区擦除数据的长度;上位机调用烧写模块的擦除接口,对FLASH扇区进行擦除;上位机调用烧写模块的上传接口,将可烧写的二进制BIN文件上传至FLASH;上位机调用烧写模块的烧写接口,将FLASH中可烧写的二进制BIN文件数据烧写到FLASH扇区中,计算烧写数据的16位CRC校验码并烧写入FLASH扇区;上位机调用烧写模块的下载接口,下载FLASH扇区的CRC校验码到上位机;对比CRC校验码,判断烧写的正确性,缩短了烧写周期,增加了烧写系数的可靠性。
本发明一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,使能烧写信号,激光惯组上电,DSP进入烧写模式;转换需要烧写的惯组系数文件为可烧写的二进制BIN文件;计算可烧写的二进制BIN文件的16位CRC校验码;计算FLASH中扇区擦除数据的长度;上位机调用烧写模块的擦除接口,对FLASH扇区进行擦除;上位机调用烧写模块的上传接口,将可烧写的二进制BIN文件上传至FLASH;上位机调用烧写模块的烧写接口,将FLASH中可烧写的二进制BIN文件数据烧写到FLASH扇区中,计算烧写数据的16位CRC校验码并烧写入FLASH扇区;上位机调用烧写模块的下载接口,下载FLASH扇区的CRC校验码到上位机;对比CRC校验码,判断烧写的正确性,缩短了烧写周期,增加了烧写系数的可靠性。
本发明一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,应用于激光惯组系数烧写和校验技术领域,相较之前的拆卸计算机板和人工选择扇区的繁琐流程,本方法可在不拆卸计算机板的情况下实现多扇区自动烧写和校验,简化了操作流程,缩短了烧写周期,增加了烧写和校验的可靠性。
本发明一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,基于激光导航计算机板,包括:DSP(TMS320C6000)、FLASH(SM29LV160)以及该型号FLASH的烧写模块。烧写模块具备422串口通信功能,包含擦除接口、上传接口、烧写接口、下载接口,烧写模块程序固化在FLASH,计算机板上电由DSP加载并运行烧写模块程序。
如图1所示,本发明的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,步骤如下:
(1)DSP内的烧写模块接收外部的烧写使能信号,在烧写使能信号控制下激光惯组上电,DSP进入烧写模式,优选方案如下:
对DSP通用I/O管脚GP0输入3.3V电压,对激光惯组进行供电;
导航计算机板DSP读取I/O寄存器值,优选代码逻辑如下
unsigned char GPxVAL=0;
GPxVAL=(*(unsigned char))0x01B00008;//TMS320C6000系列通用I/O数值寄存器地址为0x01B00008;
GPxVAL值为1,则表示烧写信号打开正常,DSP加载FLASH烧写模块,进入烧写模式,否则退出流程。
(2)用上位机将需要烧写的系数文件转换为可烧写的二进制BIN文件,系数文件为*.txt文本文件类型,每行为一个十进制单精度浮点型数据,共有30行。按照IEEE-754格式标准进行转换,优选方案如下:
本发明上位机采用Qt开发,使用Qfile和QDataStream类进行处理,QDataStream为Qt专门读写二进制文件的类,处理方式为首先读取文本文件内容,获取float类型数据(32位),然后将变量拆分为两个unsigned short(16位)数据,采用联合体的方式实现float与unsigned short的转换,将unsigned short写入二进制流文件,由于二进制流文件写入字节序与FLASH写入字节序相反,unsigned short写入前需要交换高低字节。优选代码逻辑如下
(3)为了保证数据传输的正确性,需要计算步骤(2)中生成的BIN文件的CRC校验码,CRC校验算法被处理的数据块可看作一个k阶的多项式G(x),如8位二进制数10110101(十六进制为0xB5)优选表示为
G(X)=X7+X5+X4+X2+1;
G(X)被称为生成多项式。查表法的计算过程为:
1)将校验码左移一位,如果校验码的最高位是0,不异或G(X);
2)将校验码左移一位,如果校验码的最高位是1,异或G(X);
本发明使用16位CRC查表法的运算方式,生成多项式为X16+X12+X5+1,在上位机中计算可烧写的二进制BIN文件的16位CRC,记为CRC0,具体如下:
根据多项式X16+X12+X5+1(对应十六进制数据0x1021)构建16位CRC校验码表,具体实现的优选代码逻辑如下
CRC校验码初始化为0,查CRC校验表,逐字节计算CRC,优选代码逻辑如下
(4)根据可烧写的二进制BIN文件的长度,计算FLASH中扇区擦除数据的长度,记为L(单位为字节),优选方案如下:
需要烧写的数据包括可烧写二进制BIN文件数据长度和CRC校验码长度,由于FLASH地址一般按照4的整数倍进行增长,实际擦除长度需要4倍化,因此擦除长度L应满足:
L=(L0+2)/4*4+4 (公式1)
公式1中“/”为整除操作,L0为可烧写的二进制BIN文件长度,+2表示CRC校验码长度。
本发明涉及的惯组系数共有30个float,float占用4个字节,则可烧写的二进制BIN文件长度为L0=30*4=120字节,BIN文件CRC为2个字节,故实际擦除长度为L=(120+2)/4*4+4=124。
(5)将FLASH中第n个扇区的擦除首地址,记为ADDRESSn,n为需要烧写的扇区编号,n=1,2,3…M;M为需要烧写的扇区总数;设n的值为1,DSP进入烧写模式后,上位机调用烧写模块的擦除接口,对FLASH中第n个扇区起始地址为ADDRESSn,L长度的FLASH进行擦除,L为步骤(4)计算,优选方案如下:
上位机根据烧写模块串口协议,发送擦除指令,指令格式为“Cmd,Adr,Len”,其中Cmd为命令字,类型为char,Adr为擦除起始地址,类型为unsigned int,Len为擦除数据长度,类型为unsigned short。
本发明涉及到的发送指令为:’E’,0x90040000,124;
’E’为烧写模块擦除接口命令字,0x90040000为扇区1起始地址,124为擦除长度。
(6)步骤(5)擦除后,上位机调用烧写模块的上传接口,将步骤(2)中的可烧写的二进制BIN文件上传至起始地址为ADDRESSn的FLASH,上传数据长度为L,根据上传接口串口协议,优选方案如下
1)发送上传接口命令字,指令格式为“Cmd,Adr,Len”,其中Cmd为命令字,类型为char,Adr为上传起始地址,类型为unsigned int,Len为擦除数据长度,类型为unsignedshort;
2)发送二进制BIN文件数据,指令格式为“Cmd,LenL,LenH,CHK,DATA1,DATA2,…DATAi”,其中Cmd为命令字,类型为char,LenL为上传起始地址低字节,类型为unsignedchar,LenH为上传起始地址高字节,类型为unsigned char,CHK为数据校验和,DATAi为可烧写的二进制BIN文件数据,类型为unsigned char;
本发明涉及到的上传接口命令字为:’U’,0x90040000,120;
发送二进制BIN文件数据命令字为’#’,0,120,CHK,DATA1,DATA2,…,DATA120;
采用每次发送64个字节的方式,优先方案代码逻辑如下
(7)步骤(6)上传后,上位机调用烧写模块的烧写接口,将FLASH中可烧写的二进制BIN文件烧写到FLASH中,使用与步骤(3)相同的16位CRC运算方式,计算FLASH中第n个扇区可烧写的二进制BIN文件的16位CRC,值记为CRCn,再将CRCn烧写在可烧写的二进制BIN文件的后面;n与步骤(3)中n对应,优选方案如下:
1)上位机根据烧写模块串口协议,调用烧写接口,指令格式为“Cmd,Adr,Len”,其中Cmd为命令字,类型为char,Adr为烧写起始地址,类型为unsigned int,Len为烧写数据长度,类型为unsigned short,所发送指令为:’P’,0x90040000,124;
2)使用步骤(3)生成的CRC校验表,对FLASH中数据进行校验,优选代码逻辑如下
3)调用烧写接口将CRCn烧写入二进制BIN文件数据之后,指令为:’P’,0x90040078,2,其中0x78为十进制120,即烧写的120个二进制BIN文件数据长度。
(8)上位机调用烧写模块的下载接口,将步骤(7)中的CRCn下载到上位机,优选方案如下:
上位机根据烧写模块串口协议,发送下载指令,指令格式为“Cmd,Adr,Len”,其中Cmd为命令字,类型为char,Adr为下载起始地址,类型为unsigned int,Len为下载数据长度,类型为unsigned short。
本发明涉及到的发送指令为:’D’,0x90040078,2;
(9)判断全部扇区是否烧写完成,即判断n是否小于等于M,若是,则将步骤(5)的n值加1后再赋给n,返回步骤(5);否则,将步骤(8)中下载的CRCn值与CRC0值进行显示和自动对比,判断烧写的正确性,全部CRCn值与CRC0值保持一致,则判定烧写正确,否则,判定烧写不正确,具体如下:
本发明涉及到扇区个数为三个,即M=3,三个扇区的起始地址分别为0x9004000,0x9006000,0x9008000,定义扇区地址数组
unsigned int SECADDR[3]={0x9004000,0x9006000,0x9008000};
循环进行三个扇区的烧写流程,步骤(5)使用的ADDRESSn赋值为SECADDR[i],i=1,2,3;烧写完成得到CRC0=CRC1=CRC2=CRC3=0x79B8,烧写正确。
本发明已经完成生产现场200多套激光惯组系数的多扇区烧写和校验工作,满足惯组系数烧写校验要求。从烧写准备到完成耗时为3分钟,相较之前人工拆卸产品和使用仿真器等复杂设备烧写所用30分钟时长,减少了操作周期,简化了操作流程,降低了因为人为多扇区烧写漏烧和错烧的情况,增加了烧写的可靠性。
Claims (10)
1.一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于步骤如下:
(1)DSP内的烧写模块接收外部的烧写使能信号,在烧写使能信号控制下激光惯组上电,DSP进入烧写模式;
(2)用上位机将需要烧写的系数文件转换为可烧写的二进制BIN文件;
(3)采用16位CRC查表法,在上位机中计算可烧写的二进制BIN文件数据的16位CRC校验码,记为CRC0;
(4)根据可烧写的二进制BIN文件数据的长度,计算FLASH中扇区擦除长度,记为L;
(5)将FLASH第n个扇区的擦除首地址,记为ADDRESSn,n为需要烧写的扇区编号,n=1,2,3…M;M为需要烧写的扇区总数,设n的值为1,上位机调用烧写模块的擦除接口,对FLASH中第n个扇区起始ADDRESSn,长度L的FLASH进行擦除;
(6)步骤(5)擦除后,上位机调用烧写模块的上传接口,将步骤(2)中的可烧写的二进制BIN文件数据上传至FLASH;
(7)步骤(6)上传后,上位机调用烧写模块的烧写接口,将RAM中可烧写的二进制BIN文件数据烧写到FLASH中,使用与步骤(3)相同的16位CRC运算方式,计算FLASH中第n个扇区可烧写的二进制BIN文件的16位CRC,值记为CRCn,再将CRCn烧写在可烧写的二进制BIN文件的后面;
(8)上位机调用烧写模块的下载接口,将步骤(7)中的CRCn下载到上位机;
(9)判断全部扇区是否烧写完成,即判断n是否小于等于M,若是,则将步骤(5)的n值加1后再赋给n,返回步骤(5);否则,将步骤(8)中下载的CRCn值与CRC0值进行显示和自动对比,判断烧写的正确性,全部CRCn值与CRC0值保持一致,则判定烧写正确,否则,判定烧写不正确。
2.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:激光惯组包括激光陀螺、加速度计和导航计算机。
3.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:烧写模块,具有422串口通信功能,对DSP用户程序、烧写模块程序的引导和升级,对惯组系数的烧写。
4.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:激光惯组的导航计算机由DSP、外扩FLASH等组成,DSP支持浮点型运算,进行复杂的导航解算、与上位机的通讯以及对FLASH的操作,FLASH存储烧写模块程序、用户程序和惯组系数。
5.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:烧写模块,具有擦除接口、上传接口、烧写接口、下载接口,422串口通信功能;
擦除接口实现对FLASH的擦除工作;上传接口将上位机数据存入FLASH;烧写接口将FLASH中数据进行烧写;下载接口将FLASH数据传输至上位机;422串口通信功能可与上位机的通讯,实现擦除接口、上传接口、烧写接口、下载接口的调用。
6.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:烧写模块,优选采用深圳国微电子有限公司的SM29LV160型号FLASH的烧写模块。
7.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:DSP采用TMS320C6000系列,包括:外部存储接口,RAM,通用输入输出端口I/O;外部存储接口外扩SM29LV160型号FLASH;RAM加载运行FLASH烧写模块程序;I/O读取烧写信号状态。
8.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:烧写使能信号,具体为:输入3.3V高电平到I/O端口。
9.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:DSP进入烧写模式,运行烧写模块程序,具体为:DSP读取I/O管脚状态,为1表示烧写使能成功,则加载FLASH烧写模块程序到RAM。
10.根据权利要求1所述的一种基于烧写模块的激光惯组系数多扇区烧写及校验方法,其特征在于:需要烧写的系数文件,具体为:系数文件为文本文件,30行数据,每行为一个单精度float类型惯组系数,保留6位有效数字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115324.9A CN110955447A (zh) | 2019-11-14 | 2019-11-14 | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911115324.9A CN110955447A (zh) | 2019-11-14 | 2019-11-14 | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955447A true CN110955447A (zh) | 2020-04-03 |
Family
ID=69977326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911115324.9A Pending CN110955447A (zh) | 2019-11-14 | 2019-11-14 | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955447A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522573A (zh) * | 2020-07-03 | 2020-08-11 | 成都卡诺普自动化控制技术有限公司 | 一种基于txt文件的伺服程序在线升级方法 |
CN112181444A (zh) * | 2020-08-25 | 2021-01-05 | 北京航天时代激光导航技术有限责任公司 | 一种基于1553b总线的dsp多核数据烧写方法 |
CN116301579A (zh) * | 2022-12-06 | 2023-06-23 | 无锡市海鹰加科海洋技术有限责任公司 | 对于自容式测量设备的文件存取系统及其存取方法 |
CN117170722A (zh) * | 2023-11-02 | 2023-12-05 | 广州三晶电气股份有限公司 | 地址不连续固件升级方法、装置及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426528A (zh) * | 2011-09-15 | 2012-04-25 | 中国船舶重工集团公司第七○七研究所 | 一种导航定位接收机内核程序在线更新方法 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
CN103729202A (zh) * | 2012-10-12 | 2014-04-16 | 成都飞机设计研究所 | 一种基于gel脚本的dsp可靠在线flash烧写方法 |
US8826261B1 (en) * | 2010-02-25 | 2014-09-02 | Bloom Energy Corporation | Programming processors through CAN interface without changing the boot mode select pins |
CN104063242A (zh) * | 2014-06-10 | 2014-09-24 | 北京遥测技术研究所 | 一种适用于惯性测量单元全生产过程参数升级的方法 |
CN104216714A (zh) * | 2014-09-03 | 2014-12-17 | 东方电气(乐山)新能源设备有限公司 | 基于can总线的dsp程序烧写方法 |
CN107885523A (zh) * | 2017-11-10 | 2018-04-06 | 航宇救生装备有限公司 | 一种快速稳定的串口升级软件方法 |
CN109086057A (zh) * | 2018-09-14 | 2018-12-25 | 北京遥感设备研究所 | 一种基于dsp的数据与程序分离烧写方法 |
CN109710296A (zh) * | 2018-12-14 | 2019-05-03 | 上海航天控制技术研究所 | 一种空天飞机惯导嵌入式软件在线更新方法 |
-
2019
- 2019-11-14 CN CN201911115324.9A patent/CN110955447A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826261B1 (en) * | 2010-02-25 | 2014-09-02 | Bloom Energy Corporation | Programming processors through CAN interface without changing the boot mode select pins |
CN102426528A (zh) * | 2011-09-15 | 2012-04-25 | 中国船舶重工集团公司第七○七研究所 | 一种导航定位接收机内核程序在线更新方法 |
CN103729202A (zh) * | 2012-10-12 | 2014-04-16 | 成都飞机设计研究所 | 一种基于gel脚本的dsp可靠在线flash烧写方法 |
CN103136028A (zh) * | 2013-03-11 | 2013-06-05 | 西北工业大学 | 一种基于fpga的flash存储器远程在线升级方法 |
CN104063242A (zh) * | 2014-06-10 | 2014-09-24 | 北京遥测技术研究所 | 一种适用于惯性测量单元全生产过程参数升级的方法 |
CN104216714A (zh) * | 2014-09-03 | 2014-12-17 | 东方电气(乐山)新能源设备有限公司 | 基于can总线的dsp程序烧写方法 |
CN107885523A (zh) * | 2017-11-10 | 2018-04-06 | 航宇救生装备有限公司 | 一种快速稳定的串口升级软件方法 |
CN109086057A (zh) * | 2018-09-14 | 2018-12-25 | 北京遥感设备研究所 | 一种基于dsp的数据与程序分离烧写方法 |
CN109710296A (zh) * | 2018-12-14 | 2019-05-03 | 上海航天控制技术研究所 | 一种空天飞机惯导嵌入式软件在线更新方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522573A (zh) * | 2020-07-03 | 2020-08-11 | 成都卡诺普自动化控制技术有限公司 | 一种基于txt文件的伺服程序在线升级方法 |
CN112181444A (zh) * | 2020-08-25 | 2021-01-05 | 北京航天时代激光导航技术有限责任公司 | 一种基于1553b总线的dsp多核数据烧写方法 |
CN112181444B (zh) * | 2020-08-25 | 2024-05-14 | 北京航天时代激光导航技术有限责任公司 | 一种基于1553b总线的dsp多核数据烧写方法 |
CN116301579A (zh) * | 2022-12-06 | 2023-06-23 | 无锡市海鹰加科海洋技术有限责任公司 | 对于自容式测量设备的文件存取系统及其存取方法 |
CN116301579B (zh) * | 2022-12-06 | 2024-01-12 | 无锡市海鹰加科海洋技术有限责任公司 | 对于自容式测量设备的文件存取系统及其存取方法 |
CN117170722A (zh) * | 2023-11-02 | 2023-12-05 | 广州三晶电气股份有限公司 | 地址不连续固件升级方法、装置及系统 |
CN117170722B (zh) * | 2023-11-02 | 2024-03-22 | 广州三晶电气股份有限公司 | 地址不连续固件升级方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955447A (zh) | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 | |
US20080016430A1 (en) | Memory controller and semiconductor memory device | |
CN109472061B (zh) | 一种可重用的仿真验证平台及仿真验证方法 | |
TWI489483B (zh) | 用於一快閃記憶體內資料之高速、低功率讀取的方法、記憶體、記憶體裝置、記憶體系統及電腦可讀儲存媒體 | |
US20050204263A1 (en) | Method and system for performing CRC | |
CN105955783A (zh) | 一种基于fpga控制的远程fpga逻辑代码的下载方法 | |
JP2006331303A (ja) | 記憶装置 | |
US20110317488A1 (en) | Data reading method and control circuit and memory controller using the same | |
CN103995785B (zh) | 信息处理方法和系统 | |
TWI489466B (zh) | 記憶體抹除方法、記憶體控制器與記憶體儲存裝置 | |
CN104750569A (zh) | 一种实现数据纠错的方法及装置 | |
US10991445B2 (en) | Memory sub-system including an in-package sequencer to perform error correction and memory testing operations | |
CN114443175B (zh) | 一种用于弹载fpga在线升级的启动配置方法 | |
CN112181444B (zh) | 一种基于1553b总线的dsp多核数据烧写方法 | |
JP4180757B2 (ja) | シミュレーション装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US20160210063A1 (en) | Data writing method and system | |
CN101388256A (zh) | 用于一存储器元件产生一低级错误更正码的控制器及其方法 | |
JPH11260097A (ja) | セクタにより消去可能で且つプログラム可能なフラッシュメモリにおける電荷損失エラーの自己テスト及び補正 | |
CN111124742B (zh) | Flash数据校验方法及Flash控制器、存储介质、设备 | |
CN108564983A (zh) | 一种用于nand flash的ldpc测试平台 | |
CN111966385B (zh) | 平板探测器在线升级方法、平板探测器以及上位机 | |
CN109783001A (zh) | 数据编码方法、数据解码方法以及存储控制器 | |
CN111638899A (zh) | 一种通过dsp串口升级fpga程序的方法 | |
CN102736985B (zh) | 数据合并方法、控制器与储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200403 |
|
RJ01 | Rejection of invention patent application after publication |