摘要:彈載計算機(jī)是導(dǎo)彈控制的核心部件。為滿足彈載計算機(jī)對重量、功耗和可靠性等方面的要求,提出了一種采用SoC芯片HKS6713作為處理器的彈載計算機(jī)設(shè)計方法。從硬件設(shè)計和軟件設(shè)計兩方面進(jìn)行了說明,并對研制過程中程序分區(qū)設(shè)計、A/D采集結(jié)果修正和隔離保護(hù)等關(guān)鍵技術(shù)進(jìn)行了闡述。該計算機(jī)具有體積小、功耗低、功能豐富和應(yīng)用簡便等特點,對同類彈載計算機(jī)設(shè)計具有一定參考價值。文中設(shè)計的彈載計算機(jī)已經(jīng)經(jīng)過各種試驗,并在系統(tǒng)中進(jìn)行了全面測試,達(dá)到了系統(tǒng)要求的性能,證明此設(shè)計切實可行。
關(guān)鍵詞:彈載計算機(jī);SoC;HKS6713
0引言
SoC(System on Chip)是以嵌入式系統(tǒng)為核心,追求產(chǎn)品系統(tǒng)最大包容的集成芯片。SoC固有的單芯片特征可極大提高系統(tǒng)性能,降低系統(tǒng)成本、功耗以及重量和尺寸,隨著電子技術(shù)的發(fā)展,SoC芯片被廣泛應(yīng)用在嵌入式計算機(jī)的設(shè)計之中。
彈載計算機(jī)[1,2]是導(dǎo)彈的核心部件,決定著導(dǎo)彈攻擊任務(wù)的成敗。系統(tǒng)要求某型彈載計算機(jī)具備與火控系統(tǒng)配合完成發(fā)射流程控制、采集慣性組合及舵機(jī)和導(dǎo)引頭等部件信息進(jìn)行制導(dǎo)律計算和對舵機(jī)系統(tǒng)進(jìn)行閉環(huán)控制等功能。對外交聯(lián)接口類型包括GJB289A總線、RS422總線、離散量輸入輸出和模擬量輸入輸出等。針對對外交聯(lián)接口種類多、模擬量采集精度要求高和強實時性等特點,本文介紹了一種以國產(chǎn)SoC芯片HKS6713為處理核心的彈載計算機(jī)設(shè)計方法,并對設(shè)計中的關(guān)鍵技術(shù)解決方法進(jìn)行了重點闡述。
1系統(tǒng)架構(gòu)
彈載計算機(jī)由硬件和軟件兩部分組成。其中硬件包括處理器模塊、離散量模塊、模擬量模塊和電源模塊等4部分。處理器模塊用于實現(xiàn)控制律計算、RS422異步串行接口通信、GJB289A總線接口通信等功能,采用SoC芯片+CPLD設(shè)計;離散量模塊用于實現(xiàn)戰(zhàn)斗部類型識別信號、開艙信號和供電指令等信號的采集;模擬量模塊用于實現(xiàn)A/D轉(zhuǎn)換及數(shù)據(jù)鎖存、D/A轉(zhuǎn)換等功能;電源模塊為任務(wù)計算機(jī)其他模塊和外部舵機(jī)伺服供電。軟件包括初始化、模擬量輸入采集和輸出控制、離散量輸入采集和輸出控制、GJB289A總線收發(fā)控制和RS422總線收發(fā)控制等。彈載計算機(jī)系統(tǒng)架構(gòu)組成見圖1。
2硬件設(shè)計
2.1處理器模塊設(shè)計
處理器模塊用于進(jìn)行制導(dǎo)律計算,實現(xiàn)GJB289A總線和RS422異步串行總線等功能,包括SoC芯片HKS6713處理器及其外圍電路、電源轉(zhuǎn)換電路、復(fù)位電路、存儲器電路、RS232和RS422異步串行接口電路、GJB289A總線接口電路和板間互連總線接口等。
HKS6713是集成了DSP內(nèi)核[3]、GJB289A協(xié)議處理器、429總線控制器、CAN總線控制器、多路UART控制圖1彈載計算機(jī)系統(tǒng)架構(gòu)
器、64 KB雙口存儲器、多路中斷控制、舵機(jī)計數(shù)器、加速度計數(shù)器、里程計數(shù)器、開關(guān)量輸入輸出和ADC采集等功能的大規(guī)模SoC芯片,封裝形式為CBGA601,工作溫度為-55℃~+125℃。處理器模塊使用了HKS6713芯片的DSP內(nèi)核、GJB289A協(xié)議處理器、雙口RAM以及多路UART控制器等功能。HKS6713的內(nèi)核與TI公司TMS320C6713兼容,包含程序存儲器、數(shù)據(jù)存儲器、直接存儲器訪問(DMA)、POWER-DOWN邏輯、外部的圖2HKS6713功能結(jié)構(gòu)圖存儲器接口(EMIF)、MCBSP、MCASP、主機(jī)接口、GPIO和TIMER等功能,系統(tǒng)輸入時鐘頻率為40 MHz,在C6713的內(nèi)部,經(jīng)倍頻后工作時鐘最高頻率為200 MHz。片內(nèi)帶有256 KB存儲器,可作為程序和數(shù)據(jù)存儲器使用,其中64 KB可作為高速CACHE使用,這種結(jié)構(gòu)使得用戶程序和數(shù)據(jù)的容量小于256 KB時,處理器無須頻繁訪問外部存儲器,能夠提高系統(tǒng)處理速度。HKS6713功能結(jié)構(gòu)圖見圖2。
設(shè)計中,為SoC芯片配置了外部的Flash和SDRAM存儲器,SoC芯片DSP內(nèi)核與外部存儲器通過EMIF總線直接連接, EMIF總線直接支持非同步存儲器、SBSRAM和SDRAM等存儲器類型無需外部專用控制器,通過配置EMIF寄存器即可實現(xiàn)對這些存儲器的支持。DSP內(nèi)核有多個外部存儲器空間[4],每個空間均可獨立配置,可支持不同類型存儲器,并可通過寄存器設(shè)置讀寫信號的建立、選通、保持時間,以適應(yīng)各種速度的存儲器。本設(shè)計中為SoC芯片配置了16 MB Flash芯片作為非易失存儲器,用以存儲程序及下電后需要保留的數(shù)據(jù)信息,SoC芯片外部地址空間最多只能直接訪問2 MB,因此采用GPIO信號作為Flash芯片的高位地址線,將Flash空間劃分為8個頁面,程序區(qū)與數(shù)據(jù)區(qū)存放在不同頁面以提高存儲安全性??紤]到DSP內(nèi)核內(nèi)部RAM空間較小(256 KB),有一部分還有可能需要劃分為CACHE使用,為SoC芯片配置了16 MB SDRAM。
處理器模塊使用SoC芯片HKS6713大大簡化了電路的設(shè)計,僅需在HKS6713芯片外圍增加相應(yīng)的收發(fā)器、變壓器等芯片,即可完成GJB289A總線、RS422總線接口的設(shè)計;通過EMIF總線與SDRAM存儲器、Flash存儲器完成數(shù)據(jù)交互功能。
2.2離散量模塊設(shè)計
離散量模塊包括離散量輸入和離散量輸出兩部分,選用CPLD芯片作為模塊的控制器,負(fù)責(zé)與處理器模塊間的互聯(lián)控制,讀取輸入離散量的狀態(tài),確定輸出離散量的狀態(tài)。
為了防止與其他交聯(lián)設(shè)備接口之間相互影響[5],彈載計算機(jī)對離散量輸入輸出電路、RS422串口電路采取了隔離保護(hù)設(shè)計。離散量輸入輸出電路的信號屬于28 V電源系統(tǒng),采用光耦隔離;RS422總線收發(fā)節(jié)點間對共模電壓有限制要求,需要進(jìn)行共地處理,設(shè)計時采用五線制,使用隔離型DC/DC電源轉(zhuǎn)換芯片輸出為總線電平轉(zhuǎn)換器供電,總線電平轉(zhuǎn)換器與RS422總線上的其他節(jié)點共地,總線收發(fā)器與協(xié)議控制之間使用光耦進(jìn)行隔離,隔離總線通路對外部的干擾。RS422串口保護(hù)電路設(shè)計見圖3。
2.3模擬量模塊設(shè)計
模擬量模塊在處理器模塊控制下,采集來自舵機(jī)系統(tǒng)和壓力傳感器等的模擬量信號,輸出模擬量控制舵機(jī)舵面[6]。本設(shè)計中選用的A/D轉(zhuǎn)換器使用簡單、可靠性高,但存在滿量程誤差較大(典型值±0.38%)的缺點。為了提高A/D轉(zhuǎn)換精度,確保系統(tǒng)性能,采用軟件方法對A/D轉(zhuǎn)換結(jié)果進(jìn)行修正。
A/D轉(zhuǎn)換芯片輸入與輸出的理想狀態(tài)轉(zhuǎn)換斜率為1,如圖4實線所示,但由于增益誤差和偏移誤差的客觀存在,輸入輸出實際轉(zhuǎn)換斜率與1存在偏差,如圖4中虛線所示。圖4中斜率k可通過實際測量的A/D轉(zhuǎn)換結(jié)果計算獲得,如式(1):
k=(y1-y2)/20(1)
圖4A/D轉(zhuǎn)換結(jié)果修正原理示意調(diào)整后的結(jié)果由式(2)計算得到:
Ua=(Uts/k)-y0(2)
其中Ua為調(diào)整后的結(jié)果,Uts為實際測量的A/D轉(zhuǎn)換結(jié)果,k為A/D轉(zhuǎn)換結(jié)果斜率,y0為輸入為0時的誤差,即轉(zhuǎn)換偏移。
因A/D芯片中各轉(zhuǎn)換通路相互獨立,因此轉(zhuǎn)換斜率k值不相同,設(shè)計中將每一路的k值計算出后保存到Flash存儲器中的指定位置,采集模擬量時由軟件調(diào)用該路對應(yīng)的轉(zhuǎn)換斜率和偏移誤差y0,得到修正后的A/D轉(zhuǎn)換結(jié)果。經(jīng)實測,修正后A/D采集誤差范圍由-50 mV~+50 mV縮小到-10 mV~+10 mV,精度得到大幅提高,滿足系統(tǒng)設(shè)計要求。
3軟件設(shè)計
彈載計算機(jī)的軟件用于實現(xiàn)對系統(tǒng)的控制和自身的測試等功能[7]。包括采集載機(jī)火控系統(tǒng)、慣性組件、舵機(jī)和導(dǎo)引頭的信息,進(jìn)行制導(dǎo)率結(jié)算,發(fā)出控制信息,完成對導(dǎo)彈飛行姿態(tài)的控制等。設(shè)計中針對應(yīng)用程序代碼量大的特點,將應(yīng)用程序代碼分為兩類:一類是非時間關(guān)鍵代碼,如地面測試、流程控制等函數(shù)代碼,上電后搬移至SDRAM存儲器中執(zhí)行;另一類是時間關(guān)鍵代碼,如飛行控制周期任務(wù)等函數(shù),上電后搬移至內(nèi)部SRAM存儲器中執(zhí)行。解決了代碼全部搬至內(nèi)部SRAM存儲器中空間不足的問題和全搬至外部SDRAM存儲器中速度不滿足控制周期要求的問題。
4總結(jié)
本文介紹了一種采用SoC芯片HKS6713作為處理器的彈載計算機(jī),發(fā)揮了國產(chǎn)SoC芯片HKS6713功耗低、接口豐富和可靠性高的優(yōu)點,滿足了彈載計算機(jī)在性能、體積和處理性能等方面的要求,簡化了系統(tǒng)設(shè)計難度。根據(jù)該設(shè)計方案生產(chǎn)的彈載計算機(jī)已經(jīng)隨系統(tǒng)進(jìn)行了各種試驗,試驗證明,彈載計算機(jī)能夠有效完成彈上采集、控制的計算任務(wù)。目前,彈載控制系統(tǒng)應(yīng)用廣泛,文中設(shè)計的彈載計算機(jī)具有很高的通用性,能夠以很低的成本移植到其他類似的彈載控制系統(tǒng)中。
參考文獻(xiàn)
[1] 李方慧,王飛,何佩琨. TMS320C6000系列DSP原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2005.
[2] 梁曉庚,王伯榮,余志峰,等.空空導(dǎo)彈制導(dǎo)與控制系統(tǒng)設(shè)計[M].北京:國防工業(yè)出版社,2006.
?。?] 左清清,梁爭爭,范秀峰. 低成本火箭彈彈載計算機(jī)的設(shè)計[J]. 電子技術(shù),2015,44(1):5759.
?。?] 許少尉,劉碩,景德勝. 基于TMS320C6713B的遠(yuǎn)程軟件加載設(shè)計與實現(xiàn)[J]. 航空計算技術(shù),2013,43(4):122123.
?。?] 譚志宏,景德勝,緱麗敏. 基于DSP的高速AD采集系統(tǒng)設(shè)計與實現(xiàn)[J]. 電子技術(shù),2014,42(4):4144.
?。?] 于劍超,于相斌,李清亮,等.基于嵌入式計算機(jī)的大氣數(shù)據(jù)計算機(jī)檢查儀的設(shè)計[J].微型機(jī)與應(yīng)用,2014,33(17):9294.
?。?] 林盈盈,高紅,張明珊,等.嵌入式二維碼數(shù)據(jù)無線多點傳輸系統(tǒng)設(shè)計[J].微型機(jī)與應(yīng)用,2014,33(21):4850,53.