Vortex86SX容錯功能介紹
Vortex86SX容錯功能介紹
一.關于容錯性
容錯是計算機應用系統穩定、可靠、有效、持續運行的重要保證。許多的服務行業必須保證二十四小時不間斷運行,否則將給單位或企業帶來很大的經濟損失和社會負面影響,因此電腦的正常運行和數據的安全就顯得尤為重要。電腦首要的也是最主要的安全問題就是硬件和軟件的安全,但同時,由于PC機的安全性因素,基于該平臺業務系統的安全,穩定可靠和系統的持續運行成為系統的關鍵,因此,x86架構下的容錯系統受到越來越多的歡迎 。下面就結合我公司(昭營科技)的具體產品情況簡單闡述Vortex86SX(以下簡稱VSX)的容錯功能。
二.容錯原理圖
上圖為我公司產品容錯原理圖,我們分為仲裁區、信息交換區、數據效驗區和其他區域來講解。
1、仲裁區:
是判斷板卡在何種情況下讓沒Master把控制權轉給Slave。
A、WDT1:看門狗1啟動
B、SYSTEM RESET:系統重新啟動
C、SOFTWARE CONTRNOL:軟件控制
D、WDT0:看門狗0啟動
E、Ext system fail in:系統外在觸發
F、MANUAL SWITCH A:系統手動切換
G、INVALID CODE:非法指令
在以上七種情況發生時Master會把控制權推給Slave,因為轉換時間極短僅為1微秒,達到即使板卡偶出現意外也不會死機,。
2、信息交換區:
SRAM為暫存器有兩個作用作為數據臨時存放區域和共享空間實現數據的交換。在GPCS DECODER控制下Master可以向自己的4K SRAM空間寫數據,還可以通過GPCS0向Slave的4K空間寫數據,這樣不但使得Master的存儲空間擴大了一倍,從4K變為8K,而且更容易實現兩塊板卡信息的比較達到信息同步。
3、數據交換區:
通過高速串口COM9可以實現主從盤SRAM中數據的比對達到Master和Slave信息的同步,也可以實現兩個系統間的數據交換。
4、其它區域:
UART1—UART4是串口數據的抑制容錯,也就是兩塊主板(Master and Slave)的串口同時接到設備的同一串口,Master主板的串口會抑制Slave主板串口的工作,設備只接受Master信息,所以串口是可控I/O。
GPIO PORT0----GPIO PORT2是指GPIO端口的抑制容錯。
KBD/MS是指鼠標和鍵盤的抑制容錯。
三.容錯的硬件設置
1. 必須有兩塊VSX CPU為核心的板卡,型號與規范一致每塊板卡必須有PC104總線.
2. 把兩塊同樣的VSX 板卡用104堆疊起來。
3. 用BoR 總線把兩塊板卡的容錯接口連接起來。如下圖
這樣硬件就設置完成了。
四.軟件的設置
開機按DEL進入BIOS設置
選擇Chipset下的 SouthBridge Configuration 目錄如圖
SouthBridge Configuration 目錄下有GPCS configuration and Redundancy Control configuration 兩項需要設置。
第一項:GPCS設置
1. 把GPCS功能打開設為[Enabled]
2. GPCS0 Command 來控制數據映射類型(內存映射與I/O映射),默認選擇內存映射 8 bit 可讀可寫。
3. GPCS0 start address 設置數據映射起始地址,默認為[000c8000]
4. GPCS0 MASK compare bit 來確定有效字段數
第二項:Redundancy Control Configuration

1. a.. Dual port 4k SRAM 設置為 [Enabled] 打開4k SRAM 暫存器空間
b. SRAM Command來控制數據映射類型(內存映射與I/O映射),默認為[Mem r/w 8 bit]
c. SRAM start Address設置數據映射起始地址,默認為[000D0000]
d. SRAM Compare Bit來確定有效字段數,默認為[FFFFF000]
2. com9設置
a. SB serial port 9選擇串口地址
b. IRQ9選擇COM9中斷地址
3.wachdog 0 and 1 看門狗容錯功能的開啟與關閉
4. Invalid opcode condition 非法指令容錯功能的開啟與關閉。
五.關于容錯涉及概念解釋
1. 堆疊: 把兩塊VSX主板通過PC104接口疊加到一起。
2. BoR: BoR(bridge of redundancy),這是我公司專為容錯性設計的一組總線,總線的兩端分別連接到兩塊主板(A,B)的容錯接口(Redundancy)線序如下圖
A SYS | B SYS |
1 (GND) | 1 (GND) |
2 (SYSTEM-A Fail out) | 3 (Ext-SYSTEM Fail in) |
3 (Ext-SYSTEM Fail in) | 2 (SYSTEM-A Fail out) |
4 (GPCS0) | 5 SYS-GPCS-in |
5 SYS-GPCS-in | 4 (GPCS0) |
6 (TxD9) | 7 (RxD9) |
7 (RxD9) | 6 (TxD9) |
3. COM9 :在我公司板卡上還有個com9 在BIOS 中: Chipset→Southbridge Configuration →Redundancy Control Configuration 下 設置端口地址與中斷號,COM9可以作為中兩個系統信息的比對,保持主從板卡信息同步,當然您還可以把com9作為一個高速串口用用于兩個板卡間任意信息的傳送。
如圖所示:
4. 可控與非可控
所謂可控I/O 是指同一個I/O被兩個設備共同使用,主機為工作機有控制I/O權,從只是追隨主在跑并不參與控制 。
常用可控I/O有:串口,并口,GPIO,鍵盤鼠標。
非可控I/O有:USB ,網口,LCD…………….
六.容錯理論的測試
1. 對寄存器地址6DH的測試,通過寄存器地址6DH數據的讀取判斷系統為Master or Slave ,你可以用軟件讀取6DH的值(00000010為主Master, 00000001 為從Slave)來判斷主從主板。
如圖所示:
2. 在debug 模式下通過對SRAM地址值的讀寫來判斷主從盤,在Master的系統上可以訪問Slave系統的SRAM空間,訪問(讀/寫)的方式可以在BIOS中設定,而SLAVE系統不可以訪問Master系統的SRAM。因為Master有主控權而Slave沒有。
七.應用典型案例分析
上圖為某一航空司地面控制臺,當主機開啟power按下,兩片VSX-6154主板同時啟動,按照時間先后隨機決定一個為Master,另一個為Slave。Master擁有主控權并抑制Slave的各項功能,所以顯示器顯示Master內容,Slave只是跟著Master跑。Mastert收到信息把信息傳遞到顯示器上,同時通過BoR總線完成與slave的信息比對,達到信息的同步。如果Master因為意外而重啟,這時Master在死機的一瞬間把控制權推向Slave,Slave接過Master的信號就變成了Master,將繼續運行。原Master通過重啟或者修復后就失去了控制權力變成跟著新的Slave,等到有時機再次接手Master的工作。
控制室在監測飛機狀況后指揮人員指導飛機有次序的飛行,起飛和降落,這時突然Master由于意外重新啟動,Slave立即接手主的工作,采集雷達信息并在顯示器上顯示,Master在重啟完成后,變成Slave,原來的Master變成了Slave,通過COM9讀取主的信息,與主信息達到同步,時刻準備著接手主的工作,而發生的這一切在控制臺前指揮的人員并不知道。如果只有一塊主板,那么所發生的一切就可想而知了。
八.綜上所述, Vortex86SX容錯功能實現非常簡單,且功能強大。它主要有以下幾大特點:
Master/Slave主板諧調工作
可診斷六種不可預知的系統死機故障
Master/Slave主板可在1 us(10的負6次方秒)內轉換
可抑制Slave主板下的ISA總線
可編程抑制Slave主板的I/O端口(在BIOS中設置)
設計高速串口作Master/Slave主板間的數據傳輸
Master/Slave主板各提供4KB SRAM作數據交換與備份
支持系統死機計數
文章版權歸西部工控xbgk所有,未經許可不得轉載。