張斌峰 陳 帥 孫愛中
(中國航空計算技術研究所,陜西 西安 710068)
雙端口存儲器IDT7025信號量機制在雙余度系統(tǒng)中的實現(xiàn)
張斌峰 陳 帥 孫愛中
(中國航空計算技術研究所,陜西 西安 710068)
在雙余度控制系統(tǒng)中需要頻繁的大量數(shù)據(jù)交換,傳統(tǒng)的并行接口和串行接口設計無論在通信速率,還是在可靠性方面都不易滿足要求。而雙端口RAM提供2套獨立的地址,控制,數(shù)據(jù)線,同時提供信號量機制,是一個較好的實現(xiàn)方案。它具有通訊速率高、接口設計簡單等特點,因而能在這類設計中得到廣泛的應用。
互斥;信號量;CCDL;雙余度
飛機自動駕駛儀系統(tǒng)多采用數(shù)字式雙余度通道系統(tǒng),通過飛控計算機的系統(tǒng)管理以及計算能力,提高系統(tǒng)的可靠性。
飛控每個通道分別采集信號源及反饋信號,通過數(shù)據(jù)交叉?zhèn)鬏旀溌罚–CDL)進行通道間的數(shù)據(jù)交換,完成輸入信號的表決,將表決后的表決值提供給各自的處理器進行控制率計算,得出的結果再通過CCDL進行傳輸,對輸出控制信號進行輸出表決,最后將輸出表決值送給伺服控制系統(tǒng)。
圖1 原理框圖
本文主要描述某飛行控制系統(tǒng)中如何通過(8K×16bit)IDT7025共享存儲器實現(xiàn)雙機之間CCDL通訊鏈路數(shù)據(jù)交叉?zhèn)鬏數(shù)臄?shù)據(jù)交互,完成雙余度控制中的輸入比較,輸出比較。交叉通道數(shù)據(jù)傳輸電路的設計將雙通道雙口存儲器分為兩個區(qū)域A區(qū)和B區(qū),雙通道計算機分別將各自的表決信息存放在兩個區(qū)域內;然后再分別從另一區(qū)域內取到另一個通道的信息進行表決。采用雙口存儲器作為交叉?zhèn)鬏斖ǖ酪环矫婵梢怨?jié)省雙機交換信息的時間,另一方面則加大交換信息量。智能模塊之間的通訊機制如圖1所示。
數(shù)據(jù)獲取及交換是多處理器系統(tǒng)的重要組成部分。在這類系統(tǒng)中,數(shù)據(jù)交換要求的通訊速率往往很高,平均速率一般在10kpbs左右,有時甚至達100kpbs以上。交叉?zhèn)鬏敯ǎ涸跀?shù)據(jù)采集之后的交叉?zhèn)鬏?。目的是為了檢測雙余度的計算機采樣結果是否一致,傳輸?shù)膬热莅ú蓸拥臄?shù)據(jù)及校驗和;在控制律計算之后輸出之前的交叉?zhèn)鬏?,目的是為了檢測雙余度的計算機根據(jù)輸入表決監(jiān)控的結果做出的輸出是否一致,傳輸?shù)膬热菔强刂坡捎嬎憬Y果、狀態(tài)顯示的結果及校驗和。
雙端口RAM芯片有兩套完全獨立的數(shù)據(jù)線、地址線和讀寫控制線,因而可使兩個處理器分時獨立訪問其內部RAM資源。由于兩個CPU同時訪問時的仲裁邏輯電路全部集成在雙端口RAM內部,因而需要實際設計的電路比較簡單。雙端口RAM內有一個總線搶占優(yōu)先級比較器,只要雙CPU不同時訪問同一存儲單元,那么較先送出地址的CPU將擁有該單元的本次訪問優(yōu)先權,而另一個CPU的地址與讀寫信號將被屏蔽掉,同時通過“busy”引腳告知該CPU以使之根據(jù)需要對該單元重新訪問或撤消訪問。雙端口 RAM的優(yōu)點是通訊速度快,實時性強,接口比較簡單,兩邊CPU都可主動進行數(shù)據(jù)傳輸。
共享存儲器選用雙口存儲器IDT7025,存儲容量為8K× 16bit。雙口存儲器IDT7025具有防止雙口競爭的功能,免去為避免雙口競爭增加的硬件邏輯,通過使用芯片上的信號量可以獲得芯片的控制權,只有獲權的一組引腳上的信號才能訪問存儲器,通過信號量的使用還可以將雙口存儲器劃分為不同的區(qū)。
IDT7025內置8個二進制信號量。8個信號量實現(xiàn)8個不同資源的互斥訪問。雙余度每通道的處理器通過信號量的獲取向另一端口的處理器聲明本通道擁有對這一端口的優(yōu)先存取權,此時另一通道不能對該端口存取,但是可以訪問其他信號量所標示的資源。信號量硬件實現(xiàn)機制見圖2。
圖2 信號量控制原理圖
A通道讀出的信號量值與B通道讀出的信號量值互斥。不能同時為0但可以同時為1。當左端口讀出信號量值為1時,該端口可以存取。為了禁止右端口對內存的訪問左端口處理器需要對二進制信號量寫入‘0’以請求對該段內存的訪問優(yōu)先權,寫入后必須進行讀出操作已確認自己獲得了信號量的令牌,當寫入‘0’成功才能確保自己獲得了對內存的單獨控制權。寫入未成功則任務掛起,直到該信號令牌釋放。IDT7025的信號量控制機制見表1。
表1 IDT7025的信號量控制機制
雙口存儲器通過對信號量操作來防止競爭,對信號量的爭奪可以使A、B通道中的一個獲得優(yōu)先控制權。
/SEM為信號量的片選信號,低電平有效;/CE為讀寫數(shù)據(jù)操作的片選信號,在操作信號量時此信號保持高電平;/OE為輸出控制信號,由系統(tǒng)讀信號控制;R/*W信號在讀操作中保持高電平。當/SEM信號有效的情況下,任何一個通道都可以向信號量的八個鎖存器中的一個進行讀寫操作,向鎖存器的數(shù)據(jù)D0位寫入“0”,如果寫入成功就可以獲得對一個區(qū)存儲空間(1K字)的訪問優(yōu)先權,而另一個通道就不能對此區(qū)中任何單元進行訪問,但是可以訪問其它區(qū)域的單元。獲得訪問優(yōu)先權的通道在完成訪問之后可以通過向鎖定區(qū)域的信號量鎖存器寫入“1”,雙口會收回控制優(yōu)先權,恢復另一通道的訪問權。這種控制過程可以有效的防止出現(xiàn)競爭操作。表2為信號量的鎖存器定義。
表2 信號量的鎖存器定義
IDT7025存取時間20ns,16位數(shù)據(jù)寬度易擴展32位,64位以適應不同數(shù)據(jù)總線和數(shù)據(jù)量需求,同時減少了余度控制中 AB通道同步采集,對計算結果輸出表決時的數(shù)據(jù)傳輸時間。忙標志引入,中斷信號也可用于不同應用環(huán)境的原理設計。采用軟硬結合信號量機制在多個飛控系統(tǒng)中得到典型應用,同時形成了一種設計思路,方法。
[1] 孔祥營,柏桂枝.嵌入式實時操作系統(tǒng) VxWorks及其開發(fā)環(huán)境Tornado[M].北京:中國電力出版社,2002.
[2] 王梅,姬進.雙余度信號容錯處理與故障注入方法[J].電子科技,2013,(6):16-19.
[3] 俞健.多核 DSP圖像處理系統(tǒng)的硬件設計[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-),男,陜西渭南人,中國航空計算技術研究所工程師,研究方向為計算機應用。