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