許廷金,李 杰,胡陳君,高 寧
(1.中北大學(xué) 電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.蘇州中盛納米科技有限公司,江蘇 蘇州 215123)
為了適應(yīng)未來(lái)信息化、制導(dǎo)化的作戰(zhàn)特點(diǎn),實(shí)現(xiàn)低成本常規(guī)彈藥打擊精度高的作戰(zhàn)指標(biāo),新型彈載導(dǎo)航系統(tǒng)不僅需要具備強(qiáng)大的抗干擾能力和良好的環(huán)境適應(yīng)性,還要具備體積小、精度高、容量大等優(yōu)點(diǎn)[1].導(dǎo)航解算平臺(tái)的解算精度對(duì)彈體的飛行軌跡有著至關(guān)重要的作用,而外場(chǎng)試驗(yàn)環(huán)境千變?nèi)f化,諸多參數(shù)(如:射向、發(fā)射地經(jīng)緯高等)在發(fā)射前短時(shí)間內(nèi)才能確定,若在發(fā)射前修改應(yīng)用程序,修改后的程序未經(jīng)長(zhǎng)期測(cè)試,可能會(huì)產(chǎn)生隱患,降低系統(tǒng)可靠性.因此進(jìn)行現(xiàn)場(chǎng)參數(shù)裝訂至關(guān)重要.此外由于C6000系列DSP內(nèi)部沒(méi)有自帶Flash,所以用戶應(yīng)用程序需要存儲(chǔ)在外部Flash中[2],而NorFlash寫(xiě)入和擦除速度較慢且容量小,不滿足新型彈載導(dǎo)航系統(tǒng)的大容量應(yīng)用需求.
基于以上分析,本文選用NandFlash(K9K8G08U0M)作為系統(tǒng)的存儲(chǔ)芯片.NandFlash具有快速訪問(wèn)、低功耗、抗震性、體積小、重量輕等特性,并且穩(wěn)定性良好,即使在系統(tǒng)電源關(guān)閉的情況下仍可保存數(shù)據(jù)[3],能夠滿足彈載導(dǎo)航解算平臺(tái)的應(yīng)用需求.
彈載導(dǎo)航系統(tǒng)以DSP為解算主控芯片,DSP上電復(fù)位后,根據(jù)預(yù)設(shè)的啟動(dòng)模式,DSP控制NandFlash將應(yīng)用圖像腳本自動(dòng)加載到片內(nèi)SRAM中,程序在片內(nèi)SRAM中高速運(yùn)行[4],同時(shí)讀取NandFlash中預(yù)設(shè)位置提前裝載的參數(shù)信息發(fā)送到上位機(jī)實(shí)時(shí)顯示,對(duì)裝訂信息進(jìn)行校對(duì),最后DSP接收FPGA打包的IMU和GPS數(shù)據(jù)進(jìn)行實(shí)時(shí)導(dǎo)航解算,并將解算數(shù)據(jù)存儲(chǔ)到NandFlash中.詳細(xì)結(jié)構(gòu)如圖1 所示.
圖2 DSP與NandFlash硬件連接圖Fig.2 DSP and NandFlash hardware connection diagram
BOOT過(guò)程,就是處理器的自動(dòng)加載啟動(dòng)過(guò)程,就是處理器在上電或復(fù)位后,根據(jù)BOOT引腳設(shè)定的不同的加載模式,將可執(zhí)行代碼(AIS)自動(dòng)加載到內(nèi)存中,并正確運(yùn)行程序的過(guò)程[6-7].TMS320C6748內(nèi)部集成了自動(dòng)加載器(Rom Boot Loader)來(lái)實(shí)現(xiàn)Boot過(guò)程,RBL存儲(chǔ)在0x00700000~0x007FFFFF的1 024 KB的L2ROM空間內(nèi),該空間只能用來(lái)開(kāi)機(jī)引導(dǎo),不可存放應(yīng)用代碼,其啟動(dòng)模式配置如表1 所示.用戶應(yīng)用程序能被DSP正確引導(dǎo)的前提是將其轉(zhuǎn)化成AIS腳本[8-9],DSP內(nèi)部ROM區(qū)固化程序通過(guò)識(shí)別AIS格式指令將用戶應(yīng)用程序加載到L2RAM(0x11800000-0x1183FFFF)中,并從指定初始地址(0x11800000)開(kāi)始運(yùn)行.
表1 TMS320C6748啟動(dòng)模式Tab.1 TMS320C6748 boot mode
TMS320C6748上電復(fù)位后,首先確定啟動(dòng)模式是否為NandFlash,即Boot[7:0]=0000 1110,隨后查詢AIS文件中的魔術(shù)子指令(0x41504954)、初始化配置指令(0x5853590D)、段加載指令(0x58535901)、Jump&Close指令(0x58535906)、Jump&Close指令(0X58535906)后緊跟應(yīng)用程序起始地址,其代表AIS文件結(jié)束,隨后Bootloader將控制權(quán)轉(zhuǎn)交到應(yīng)用程序并在起始地址開(kāi)始執(zhí)行.
NandFlash被劃分為3部分,如圖3 所示,能被DSP識(shí)別的應(yīng)用程序生成的AIS腳本文件存儲(chǔ)在Block1中,隨時(shí)可能需要修改的參數(shù)裝載到Nandflash的參數(shù)裝訂區(qū),數(shù)據(jù)量較大的導(dǎo)航解算數(shù)據(jù)存儲(chǔ)在后面剩余的非壞塊中.
圖3 NandFlash分區(qū)示意圖Fig.3 NandFlash partition diagram
圖4 TMS320C6748對(duì)K9K8G08U0M的讀時(shí)序Fig.4 TMS320C6748 read timing for K9K8G08U0M
圖5 TMS320C6748對(duì)K9K8G08U0M的寫(xiě)時(shí)序Fig.5 TMS320C6748 write timing for K9K8G08U0M
系統(tǒng)上電啟動(dòng)后,DSP啟動(dòng)復(fù)位,在CCS5.5運(yùn)行NandFlash燒寫(xiě)程序,首先執(zhí)行塊擦除命令(0x60+0xD0)擦除整片NandFlash,然后將用戶應(yīng)用程序生成的AIS文件寫(xiě)入NandFlash AIS存儲(chǔ)區(qū),該程序此后不做修改.外場(chǎng)試驗(yàn)參數(shù)確定后,進(jìn)行外場(chǎng)參數(shù)裝訂,執(zhí)行數(shù)據(jù)存儲(chǔ)區(qū)擦除命令,即首先寫(xiě)入數(shù)據(jù)存儲(chǔ)區(qū)首地址,然后執(zhí)行擦除命令,其具體工作流程如圖6 所示.
圖6 AIS燒寫(xiě)與參數(shù)裝訂流程圖Fig.6 AIS programming and parameter binding flow chart
系統(tǒng)外場(chǎng)試驗(yàn)參數(shù)裝訂完畢后,通過(guò)系統(tǒng)預(yù)留串口將讀取到的參數(shù)發(fā)送到上位機(jī)進(jìn)行校對(duì),若系統(tǒng)收到參數(shù)錯(cuò)誤指令,則需重新裝訂,若系統(tǒng)收到參數(shù)正確指令,則系統(tǒng)進(jìn)行后續(xù)導(dǎo)航解算,其具體工作流程如圖7 所示.
圖7 系統(tǒng)總體工作流程圖Fig.7 System overall work flow chart
為了驗(yàn)證設(shè)計(jì)方案的可行性,將系統(tǒng)固定在裝有高精度定位定姿系統(tǒng)的試驗(yàn)車(chē)上進(jìn)行地面驗(yàn)證試驗(yàn).首先將中北大學(xué)位置信息和重力加速度等信息裝載到NandFlash參數(shù)裝訂區(qū),擦除數(shù)據(jù)存儲(chǔ)區(qū),系統(tǒng)下電.系統(tǒng)再次上電,DSP正常啟動(dòng)后通過(guò)串口(UART2)將讀取的參數(shù)發(fā)送到上位機(jī)解碼,顯示結(jié)果如圖8所示,讀取參數(shù)值與預(yù)設(shè)參數(shù)一致,說(shuō)明DSP能正確進(jìn)行程序引導(dǎo),同時(shí)也說(shuō)明參數(shù)裝訂正確,點(diǎn)擊參數(shù)裝訂正確指令,系統(tǒng)收到應(yīng)答指令后開(kāi)始周期導(dǎo)航解算.
圖8 參數(shù)裝訂上位機(jī)顯示界面Fig.8 Parameter binding upper computer display interface
FPGA將IMU,GPS數(shù)據(jù)編幀后通過(guò)UPP傳輸?shù)紻SP進(jìn)行解算,此后在DSP中與導(dǎo)航解算數(shù)據(jù)一起編幀存儲(chǔ)到NandFlash數(shù)據(jù)存儲(chǔ)區(qū).試驗(yàn)結(jié)束后,讀取導(dǎo)航數(shù)據(jù)存儲(chǔ)區(qū)數(shù)據(jù),進(jìn)行數(shù)據(jù)解析得到導(dǎo)航解算姿態(tài)角、速度,圖9、圖10 分別為系統(tǒng)解算得到的姿態(tài)角、速度信息與高精度母慣導(dǎo)輸出的對(duì)比圖.
圖9 姿態(tài)角對(duì)比圖Fig.9 Attitude angle comparison chart
由圖9、圖10 可知,解算數(shù)據(jù)能正常存儲(chǔ).說(shuō)明基于DSP的NandFlash程序引導(dǎo)、參數(shù)裝訂、數(shù)據(jù)存儲(chǔ)功能正常.
圖10 速度對(duì)比圖Fig.10 Speed comparison chart
本文針對(duì)外場(chǎng)試驗(yàn)環(huán)境的復(fù)雜性以及彈載導(dǎo)航解算平臺(tái)的小體積與大容量應(yīng)用需求,設(shè)計(jì)了一種基于DSP控制NandFlash的多功能存儲(chǔ)方案,該方案利用一塊NandFlash同時(shí)完成了程序引導(dǎo)、外場(chǎng)參數(shù)裝訂、數(shù)據(jù)存儲(chǔ)等功能,減小了系統(tǒng)的體積,提高了NandFlash的使用效率,增強(qiáng)了系統(tǒng)可靠性和便利性.