?

雙端口存儲器IDT7025信號量機制在雙余度系統中的實現

2015-11-22 06:40張斌峰孫愛中
大眾科技 2015年4期
關鍵詞:存器信號量雙口

張斌峰 陳 帥 孫愛中

(中國航空計算技術研究所,陜西 西安 710068)

雙端口存儲器IDT7025信號量機制在雙余度系統中的實現

張斌峰 陳 帥 孫愛中

(中國航空計算技術研究所,陜西 西安 710068)

在雙余度控制系統中需要頻繁的大量數據交換,傳統的并行接口和串行接口設計無論在通信速率,還是在可靠性方面都不易滿足要求。而雙端口RAM提供2套獨立的地址,控制,數據線,同時提供信號量機制,是一個較好的實現方案。它具有通訊速率高、接口設計簡單等特點,因而能在這類設計中得到廣泛的應用。

互斥;信號量;CCDL;雙余度

飛機自動駕駛儀系統多采用數字式雙余度通道系統,通過飛控計算機的系統管理以及計算能力,提高系統的可靠性。

飛控每個通道分別采集信號源及反饋信號,通過數據交叉傳輸鏈路(CCDL)進行通道間的數據交換,完成輸入信號的表決,將表決后的表決值提供給各自的處理器進行控制率計算,得出的結果再通過CCDL進行傳輸,對輸出控制信號進行輸出表決,最后將輸出表決值送給伺服控制系統。

1 雙余度通信機制

圖1 原理框圖

本文主要描述某飛行控制系統中如何通過(8K×16bit)IDT7025共享存儲器實現雙機之間CCDL通訊鏈路數據交叉傳輸的數據交互,完成雙余度控制中的輸入比較,輸出比較。交叉通道數據傳輸電路的設計將雙通道雙口存儲器分為兩個區域A區和B區,雙通道計算機分別將各自的表決信息存放在兩個區域內;然后再分別從另一區域內取到另一個通道的信息進行表決。采用雙口存儲器作為交叉傳輸通道一方面可以節省雙機交換信息的時間,另一方面則加大交換信息量。智能模塊之間的通訊機制如圖1所示。

2 共享存儲器

數據獲取及交換是多處理器系統的重要組成部分。在這類系統中,數據交換要求的通訊速率往往很高,平均速率一般在10kpbs左右,有時甚至達100kpbs以上。交叉傳輸包括:在數據采集之后的交叉傳輸。目的是為了檢測雙余度的計算機采樣結果是否一致,傳輸的內容包括采樣的數據及校驗和;在控制律計算之后輸出之前的交叉傳輸,目的是為了檢測雙余度的計算機根據輸入表決監控的結果做出的輸出是否一致,傳輸的內容是控制律計算結果、狀態顯示的結果及校驗和。

雙端口RAM芯片有兩套完全獨立的數據線、地址線和讀寫控制線,因而可使兩個處理器分時獨立訪問其內部RAM資源。由于兩個CPU同時訪問時的仲裁邏輯電路全部集成在雙端口RAM內部,因而需要實際設計的電路比較簡單。雙端口RAM內有一個總線搶占優先級比較器,只要雙CPU不同時訪問同一存儲單元,那么較先送出地址的CPU將擁有該單元的本次訪問優先權,而另一個CPU的地址與讀寫信號將被屏蔽掉,同時通過“busy”引腳告知該CPU以使之根據需要對該單元重新訪問或撤消訪問。雙端口 RAM的優點是通訊速度快,實時性強,接口比較簡單,兩邊CPU都可主動進行數據傳輸。

共享存儲器選用雙口存儲器IDT7025,存儲容量為8K× 16bit。雙口存儲器IDT7025具有防止雙口競爭的功能,免去為避免雙口競爭增加的硬件邏輯,通過使用芯片上的信號量可以獲得芯片的控制權,只有獲權的一組引腳上的信號才能訪問存儲器,通過信號量的使用還可以將雙口存儲器劃分為不同的區。

3 信號量的實現

IDT7025內置8個二進制信號量。8個信號量實現8個不同資源的互斥訪問。雙余度每通道的處理器通過信號量的獲取向另一端口的處理器聲明本通道擁有對這一端口的優先存取權,此時另一通道不能對該端口存取,但是可以訪問其他信號量所標示的資源。信號量硬件實現機制見圖2。

圖2 信號量控制原理圖

A通道讀出的信號量值與B通道讀出的信號量值互斥。不能同時為0但可以同時為1。當左端口讀出信號量值為1時,該端口可以存取。為了禁止右端口對內存的訪問左端口處理器需要對二進制信號量寫入‘0’以請求對該段內存的訪問優先權,寫入后必須進行讀出操作已確認自己獲得了信號量的令牌,當寫入‘0’成功才能確保自己獲得了對內存的單獨控制權。寫入未成功則任務掛起,直到該信號令牌釋放。IDT7025的信號量控制機制見表1。

表1 IDT7025的信號量控制機制

雙口存儲器通過對信號量操作來防止競爭,對信號量的爭奪可以使A、B通道中的一個獲得優先控制權。

/SEM為信號量的片選信號,低電平有效;/CE為讀寫數據操作的片選信號,在操作信號量時此信號保持高電平;/OE為輸出控制信號,由系統讀信號控制;R/*W信號在讀操作中保持高電平。當/SEM信號有效的情況下,任何一個通道都可以向信號量的八個鎖存器中的一個進行讀寫操作,向鎖存器的數據D0位寫入“0”,如果寫入成功就可以獲得對一個區存儲空間(1K字)的訪問優先權,而另一個通道就不能對此區中任何單元進行訪問,但是可以訪問其它區域的單元。獲得訪問優先權的通道在完成訪問之后可以通過向鎖定區域的信號量鎖存器寫入“1”,雙口會收回控制優先權,恢復另一通道的訪問權。這種控制過程可以有效的防止出現競爭操作。表2為信號量的鎖存器定義。

表2 信號量的鎖存器定義

4 結束語

IDT7025存取時間20ns,16位數據寬度易擴展32位,64位以適應不同數據總線和數據量需求,同時減少了余度控制中 AB通道同步采集,對計算結果輸出表決時的數據傳輸時間。忙標志引入,中斷信號也可用于不同應用環境的原理設計。采用軟硬結合信號量機制在多個飛控系統中得到典型應用,同時形成了一種設計思路,方法。

[1] 孔祥營,柏桂枝.嵌入式實時操作系統 VxWorks及其開發環境Tornado[M].北京:中國電力出版社,2002.

[2] 王梅,姬進.雙余度信號容錯處理與故障注入方法[J].電子科技,2013,(6):16-19.

[3] 俞健.多核 DSP圖像處理系統的硬件設計[D].北京:中國科學院大學,2013.

[4] Integrated Device Technology. Inc High-speed 8k*16 dual-port static ram IDT7025S/L[M/OL].http://www.idt. com/document,2012.

Implementation of dual-ported memory IDT7025’s semaphore in redundant system

Many data exchange is needed in redundant control system.Traditional design use parallel-port or serial-port,they can’t meet Speed and reliability.Dual-ported ram suite to applications demanding the highest level of performance and reliability because of semaphore and two independedent ports with separate control,address and IO. So dual-ported ram is widely used in application of redundant control system.

Mutex; semaphore; CCDL;Dual-redundancy

V37

A

1008-1151(2015)04-0001-02

2015-03-12

張斌峰(1976-),男,陜西渭南人,中國航空計算技術研究所工程師,研究方向為計算機應用。

猜你喜歡
存器信號量雙口
一種低功耗的容軟錯誤鎖存器設計
45 nmCMOS工藝三模冗余加固鎖存器的性能評估
雙口RAM在航天伺服系統中的應用
Nucleus PLUS操作系統信號量機制的研究與測試
Matching mechanism analysis on an adaptive cycle engine
容忍單粒子多節點翻轉的三?;ユi加固鎖存器
硬件信號量在多核處理器核間通信中的應用
鎖存器和觸發器振蕩問題分析
雙口RAM讀寫正確性自動測試的有限狀態機控制器設計方法
雙口RAM在無人機三余度飛控計算機數據交換中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合