當前位置:學問君>學習教育>畢業論文>

安全計算機雙口RAM數據通信論文

學問君 人氣:2.76W

1安全數據交互方式

安全計算機雙口RAM數據通信論文

爲避免MPU和HCU同時對雙口RAM的同一個內存單元進行訪問,本設計沒有采用雙口RAM的中斷或者信號量等機制,而是採用一種基於角色的環形緩衝收發機制,將雙口RAM劃分爲兩個獨立環形緩衝區:發送環形緩衝區和接收環形緩衝區。發送環形緩衝區負責將MPU數據傳遞給HCU,最終發送給外部設備;HCU從外部設備接收到數據,放到接收環形緩衝區,並傳遞給MPU。

1.1數據處理

三取二安全計算機邏輯運算模組的執行週期爲600ms,該模組按照週期進行數據接收、數據處理、數據輸出。在第n個週期,MPU上的控制邏輯運算模組從雙口RAM接收到數據後,放到邏輯接收緩衝區;從邏輯接收緩衝區取出n-1個週期的數據並進行邏輯處理;將n-2個週期的邏輯處理結果,從邏輯發送緩衝區中取出,放到雙口RAM中。MPU上的控制邏輯運算模組對安全數據進行邏輯處理的時間不超過300ms,如果超過,就會影響MPU接收或者發送數據。同樣,MPU上的控制邏輯運算模組接收、發送數據超過300ms,也會影響邏輯處理功能。在接收發送處理階段,300ms中的280ms被分爲20個發送接收子週期,每一個子週期的時間爲14ms。在HCU中,也是按照同樣的執行節拍從雙口RAM中寫入或讀出數據。MPU與HCU之間交互的數據,按照預先定義的雙口RAM交換數據幀進行。數據幀定義略———編者注。

1.2數據接收

HCU透過網絡接口接收到數據後,對數據進行預處理,按照交換數據幀進行數據組包。根據當前週期號設定“cycle”,同時確定該數據包需要被放到D、E、F三個區塊中寫入區塊角色標誌“role”,將“flag”設定爲1(即爲輸入),並交換數據幀的其他字段,按照源網絡數據包中的資訊進行設定。HCU根據當前週期號確定在接收環形緩衝區中的寫入區塊後,將組包之後的交換數據幀放到寫入區塊中。MPU根據當前週期號確定在接收環形緩衝區中的讀出區塊後,從讀出區塊中獲取交換數據幀,然後對數據幀進行解包,並透過“cycle”、“role”、“flag”、“safety”、“crc”等資訊來驗證數據幀的唯一性和正確性,正常的數據幀被放到邏輯接收緩衝區,異常的數據幀被丟棄。同時MPU根據當前週期號,確定在接收環形緩衝區中的測試區塊,利用內存檢測算法對測試區塊進行雙口RAM內存區塊檢測。

1.3數據發送

在當前週期的`600ms內,MPU進行邏輯運算處理在300ms內完成後,MPU從邏輯發送緩衝區中讀取上個週期的邏輯處理結果數據,並對結果數據進行預處理,按照交換數據幀進行數據組包。根據當前週期號設定“cycle”,同時確定該數據包需要被放到A、B、C三個區塊中寫入區塊角色標誌“role”,將“flag”設定爲1(即爲輸入),並交換數據幀的其他字段,按照源網絡數據包中的資訊進行設定。MPU根據當前週期號,確定在發送環形緩衝區中的寫入區塊後,將組包之後的交換數據幀放到寫入區塊中。HCU根據當前週期號,確定在接收環形緩衝區中的讀出區塊後,從讀出區塊中獲取交換數據幀,然後對數據幀進行解包,並透過“cycle”、“role”、“flag”、“safety”、“crc”等資訊來驗證數據幀的唯一性和正確性,驗證數據幀的正確性。異常的數據幀被丟棄,正常的數據幀按照網絡數據幀進行組包,並透過網絡發送給軌旁設備或者車載控制器。同時HCU根據當前週期號,確定在發送環形緩衝區中的測試區塊,利用內存檢測算法對測試區塊進行雙口RAM內存區塊檢測。

1.4區塊角色輪換

雙口RAM的發送與接收環形緩衝區的3個區塊,在任意一個週期都只能處於讀出、寫入、測試3種中的某一種角色,而且這3個角色進行週期輪換,區塊角色輪換表略———編者注。MPU與HCU透過雙口RAM區塊角色進行數據交互的步驟略———編者注。MPU與HCU透過相同的外部時鐘中斷來驅動數據處理軟件模組的執行,MPU與HCU在對雙口RAM進行訪問時可以做到同步、流水線作業。在同一個處理週期內,發送環形緩衝區或者接收環形緩衝區中任何一個區塊都有明確固定的角色,MPU板和HCU板不會同時訪問操作相同區塊,只有一個板卡對特定區塊進行訪問,從而解決了雙口RAM的訪問衝突問題,不需要另外採取硬件仲裁、軟件仲裁或者信號量交互等手段。

1.5雙口RAM檢測

應用在三取二安全計算機中雙口RAM可能存在一些功能性缺陷。無論門級電子元件的製造缺陷,還是板卡電路級的設計錯誤,都可能導致雙口RAM的存儲功能性故障,從而降低其功能完整性和可靠性。雙口RAM存儲單元具有多種類型的故障略———編者注。實際項目應用中,開發人員需要關注雙口RAM存儲功能的完整性和可靠性,可以透過存儲器檢測算法來對其進行檢測和診斷,能夠及時地發現和定位雙口RAM的存儲功能故障,並及時採取相應的措施,避免因雙口RAM存儲單元的數據錯誤導致的嚴重後果。本文采用硬件BIST架構(HBIST),在硬件電路中設計專門的硬件邏輯部件來對內存進行測試,其圖形測試向量有專門的硬件電路模組生成,自動對內存的各種功能故障進行測試,硬件架構內建測試的內存故障測試覆蓋率高,而且測試速度快,設計選取的圖形測試向量主要用於覆蓋高層次的內存故障,如NPSF、CF、DRF。HBIST利用March-TB內存測試算法對系統的內存進行測試,使用硬件HBIST電路來生成圖形測試向量,並由硬件HBIST電路來進行測試,HBIST測試電路模型略———編者注。在硬件BIST處於非工作狀態時,會拉低BIST的時鐘信號,BIST電路進入休眠狀態。當系統在夜間進入非繁忙狀態,會產生BIST_MODE信號,來激活BIST電路的BIST模式控制器,並拉高時鐘信號,BIST模式控制器發出控制信號,會接管對整個RAM的訪問控制,並對RAM開始進行測試。BIST模式控制器控制測試向量產生器、地址與數據生成邏輯工作,產生相應的測試向量對RAM進行測試。同時,並將測試結果在BIST結果比較器中進行比較,如果發現異常,退出BIST_MODE模式,通知MPU測試異常,MPU產生相應的告警和錯誤處理。HBIST在進行內存檢測時一共具有4種狀態:idle、test、error、wait。idle表示處於等待測試數據進行測試的空閒狀態;test表示獲得測試向量對相應內存單元進行測試;error表示檢測到內存單元出錯;wait表示處於休眠狀態,等待CPU模組激活HBIST。HBIST狀態機的狀態轉移圖略———編者注。HBIST狀態機的VHDL程序略———編者注。在測試的過程中,透過植入內存故障,並用邏輯分析儀獲取出錯信號,硬件BIST模組檢測內存出錯圖如圖3所示。圓圈裏面的測試結果與期望結果不一致,內存檢測出錯。

1.6數據交互軟硬件設計

雙口RAM是雙端口SRAM芯片,本設計採用CY7C028V-15AXI,讀寫速度最高爲15ns,數據容量爲64K×16位。雙口RAM連接HCU板的一端爲MPC8247的LO-CALBUS總線,連接MPU板的一端爲CPCI總線橋接芯片的LOCALBUS總線,HCU可以直接透過LOCALBUS總線訪問雙口RAM,而MPU板透過PCI總線訪問,其中還有控制信號,如片選、讀寫、中斷、BUSY信號等。雙口RAM交互電路圖略———編者注。在MPU和HCU中,透過設計的軟件模組,來完成雙口RAM的訪問操作。雙口RAM的MPU上軟件交互關鍵代碼略———編者注。

2結語

分析了應用在軌道交通行業中的三取二安全計算機的雙口RAM數據通信要求,並在實際的項目設備開發中,設計了基於角色輪換和自檢技術的數據通信方案,可以滿足三取二安全計算機數據通信的安全性、可靠性和實時性要求。