基本介紹
- 中文名:節點存儲控制器
- 外文名:Node storage controller
- 分類:電子科技
CFDP的節點控制器設計,系統組成及工作原理,數據結構的組織形式,TCPIP天文射電望遠鏡節點控制器研製,控制器總體設計,電機控制及限位開關模組,位置採集及存儲模組,
CFDP的節點控制器設計
通過對CFDP的深入研究,將其套用於空間數據傳輸演示系統中,根據CFDP節點控制器在傳輸任務中所表現出的功能,給出了設備的設計方案,完成了硬體電路中數據存儲板卡和數據收發板卡的設計,並對協定進行合理的選取和裁剪,針對可靠和不可靠中繼傳輸這兩種傳輸業務開發出具有CFDP功能的套用軟體。
系統組成及工作原理
基於CFDP的節點控制器是為了實現CFDP傳輸業務的重要組成設備之一。在源端和目標端無法建立直接傳輸連結的時候,CFDP節點控制器作為傳輸的中繼節點對傳輸的檔案數據起到存儲轉發的作用。
因此,設備必須具備大容量的存儲器;能夠進行單向,半雙工以及全雙工通信的數據收發裝置;適應深空環境中工作的檔案系統以及實現CFDP傳輸業務的套用軟體。根據任務需求,可以將CFDP節點控制器主要劃分為硬體電路,星載嵌入式檔案系統以及CFDP套用軟體三部分。
硬體電路是設備功能物理實現所必不可少的一部分,硬體電路完成數據收發及數據讀寫工作,並向上層的檔案系統和套用軟體提供硬體操作的接口函式。設備搭載有大容量的存儲晶片,用來對檔案數據進行存儲,因此必須有一套合理有效的檔案管理系統來管理如此龐雜的數據。星載嵌入式檔案系統就是為了管理設備中的檔案數據而設計的。它利用硬體電路的接口函式來對底層的存儲晶片進行操作,並向CFDP套用軟體提供透明的檔案操作,來支持CFDP套用軟體。CTDP套用軟體通過硬體電路提供的驅動函式以及檔案系統提供的檔案操作來完成CFDP的傳輸任務。
數據結構的組織形式
對於較大容量的存儲器來說,如果檔案系統不對存儲器上數據的位置進行組織和記錄,那么每查詢一個數據項就要掃描整個數據檔案,這種訪問存儲器的代價會嚴重影響到系統的效率。因此通過索引機制來取代對存儲器漫無目的的訪問,能夠有效提高系統的效率。
索引檔案(index file)是一種特殊的檔案組織。通常由索引表和主檔案兩部分構成。主檔案用來存儲數據檔案的記錄項,它可以是有序的也可以是無序的。索引表是一張指示邏輯記錄和物理記錄之間對應關係的表。索引表中的每一項稱為索引項。檔案建立時,自動開闢索引區。
設計所採用的星載嵌入式檔案系統採用了B+樹的索引技術來實現對檔案數據的組織。B+樹索引技術是一種多層索引樹技術,它是在B-樹索引技術的基礎上發展起來的。分別介紹B-樹和B+樹。
1、B-樹:B-樹是一種動態調節的平衡多路檢索樹。它相比索引順序存取方法(ISMA-Indexed Sequential Access Method)具有更加靈活的檔案擴展性。一般來說,B-樹中的每個節點包含2m個關鍵字域和2m+l個指針域。一棵2m+l階的B-樹,或為空,或為滿足下列特性的度為2m+l階的B-樹:
①樹中的每個節點最多有2m+l棵子樹,且除根節點外的所有非葉子節點至少有m+1棵子樹,而且根節點至少有兩棵子樹(除非根節點又是葉子節點);
②所有葉子節點均在最後一層上;
③除葉子節點外的每個節點結構中:KEYi(1≤i≤2m)為關鍵字域,用於存放關鍵字和有關數據信息;LINKi(1≤i≤2m+1)為指針域,指向各樹的根節點。對於度為n+1(1≤i≤2m)的節點,前n個關鍵字域內容按關鍵字順序排列,即KEYi<KEYi+l(l≤i<n-1),並且LINKi(l≤i<n-1)所指子樹中所有節點的關鍵字均小於KEYi,而LINKi+1所指子樹中所有節點的關鍵字均大於KEYi;
④所有葉子節點中的指針域為空。
檢索數據時,從B-樹的根部開始將要檢索數據的關鍵字與節點中的各關鍵字進行對比。若兩者相等,則檢索成功;若數據關鍵字大於節點關鍵字,則按其指針向下檢索;否則向上檢索。這一過程一直進行到檢索成功或者進行到葉子節點而以失敗結束。
插入數據時,首先要檢索到插入數據的關鍵字在葉子節點中應該插入的位置,如果在檢索過程中發現已經有相同關鍵字的數據存在,則表示出錯;否則找到合適的位置後插入數據,並保持有序排列。在實際插入時要考慮兩種情況(假設在2m+l階B-樹中執行):
①如果插入位置的葉子節點中元素個數不足2m個,則直接插入;
②如果插入位置的葉子節點中元素個數已經為2m個,這時候需要進行分裂。首先將要插入的元素和其他2m個元素進行排列,取其前半部分放入原來的節點中,後半部分放入新申請的節點中,中間的元素放入父節點中。如果父節點的元素也滿,則又要進行分裂。這種分裂可能會一直進行到根節點。
刪除數據與插入數據的步驟相似,都需要先找到被處理數據所在葉子節點的位置,然後進行刪除操作。如果要刪除的元素不在葉子節點,需要用一個比待刪除元素大而且又接近它的元素代替刪除元素。然後在葉子節點刪除這個代替的元素。需要注意的是,當刪除元素後的葉子節點中元素個數不足m個時,需要向它同一層上的兄弟節點(左或者右)借一個元素。在這種情況下,若鄰近的兄弟節點中元素個數均為m,則將它們合二為一。此時其父節點中也就少了一個元素,因此又要考慮合併。
2、B+樹:所討論的,B-樹的隨機檢索率是很高的。但是想要遍歷整個B-樹的所有元素卻不方便,因為B-樹中元素被分布在了各個節點中,並且,在非葉子節點中出現的元素就不再出現於葉子節點中。因此,在B-樹中很難用一個順序的鏈將所有的元素連結在一起。B+樹的出現,改變了這種情況。
B+樹是一種特殊的B-樹,它是只在葉子節點中存儲數據的B-樹。由於只在葉子節點中存儲數據,因此同樣的空間可存儲更多的節點。與B-樹相比,索引相同扇出的節點時省去了許多讀操作,索引效率更高。
B+樹的檢索與B-樹大致相同。不同之處在於,如果B+樹在檢索過程中發現非葉子節點中某元素等於被查找元素,並不像B-樹那樣停止檢索,而是繼續沿右向下檢索,直到葉子節點為止。
B+樹的插入也與B-樹基本相同。不同之處在於,在進行節點分裂時,B+樹除了要把中間元素提升到父節點中外,還要把元素留在葉子節點中。
B+樹的刪除要比B-樹簡單,僅需要刪除葉子節點中的元素即可。
TCPIP天文射電望遠鏡節點控制器研製
基於TCP/IP的天文射電望遠鏡節點控制器用於FAST項目的10:1縮比模型系統中,根據控制器實際功能需求,確定了以LPC2338為主控晶片的總體設計方案。硬體方面,設計了網路接口模組、電機控制模組、位置採集及數據存儲等模組的電路。軟體方面,實現了基於TCP/IP的工業乙太網接口通信功能,接收的主控上位機指令控制促動器電機,使整個球狀反射面精確動態成型,同時可採集反射面單元信息並實時回傳給上位機。控制器通過實際運行與測試,達到設計要求,為FAST項目的實施起到了良好的推動作用。
控制器總體設計
根據控制器的功能需求,提出TCP/IP了基於的天文射電望遠鏡節點控制器的總體設計方案。方案用LPC2368作為主控晶片。主要包括主控晶片LPC2368模組、工業乙太網接口模組、電機控制模組、位置採集模組、數據存儲模組、零點檢測、上下限位報警模組、數碼管顯示及觸控螢幕顯示模組等。
設計方案具有 以下幾方面的特點:
1、節點控制器採用ARM7+μC/OS-‖的開發設計體系,根據控制器所要完成的各部分功能,進行了詳細的任務劃分,通過作業系統核心對各個任務進行通信調度和切換管理,使節點控制器具有 了更高的效率、精度、穩定性和實時性等特點。
2、在設計中,節點控制器通過基於的工業乙太網與上位機進行通信,完成球狀反射面的精確動態成型控制與採集信息的實時反饋功能。
3、節點控制器設計了詳細的電機控制流程和電機控制器邏輯電路,確保對電機的精準控制,同時採用了高精度的光電編碼器獲取電機的轉動信息,計算出反射面的實時位置。控制器還具有報警信號實時採集功能,用於保護促動器和反射面。
電機控制及限位開關模組
節點控制器通過控制促動器電機,可以改變下拉索的長度,進而改變每個反射面單元的位置。節點控制器是通過一個與其分離的電機驅動板來控制電機運行的。電機的運行受兩路信號線控制,這兩路控制信號最初是從主控晶片的兩個引腳上發出的,經節點控制器板上的數字邏輯電路使其輸出信號與電機驅動板輸人匹配,進而通過電機驅動板完成對電機的控制功能。
限位開關部分,分為拉索位置上限開關和拉索位置下限開關兩個部分。開關信號的產生是由於機械裝置運行到相應上下限位置時,會將限位開關壓下導致兩線之間導通,進而產生限位信號。當限位開關信號產生時,必須立即停止電機運行,否則會對促動器中的機械裝置造成損害,所以在電路設計中,必須將上下限位開關信號與電機控制信號聯繫在一起,一旦到達上下限位能夠立刻通過硬體電路產生電機停止信號,禁止電機繼續轉動。
位置採集及存儲模組
整個索網反射面是一個實時的控制系統,主控上位機需要隨時都知道每個反射面單元的具體位置,節點控制器位置採集功能是指採集反射面單元的位置數據信息。每個反射面單元的位置是由其下方的下拉索的長度決定的,而下拉索的長度是受促動器電機控制的,所以只要記錄電機的具體轉動情況,就可以計算出反射面單元的位置。電機的正反轉角度及圈數是通過光電編碼器實現的。
節點控制器還具有位置數據存儲功能,利用帶的實時時鐘晶片存儲反射面位置信息,當系統重啟時,主控晶片可以從中獲取反射面單元當前位置當系統掉電時,同樣可以保存位置數據不丟失。同時具有時鐘功能,因為系統在將來的觀測活動中需要使用統一的時鐘系統。