台灣DM&P集團於2007年推出All-in-One Embedded Total Solution高度集成SoC處理器Vortex86SX。該Vortex86SX以中低階嵌入式及工業應用為主要目標,采用x86兼容運算核心,及單片581顆錫球BGA包裝,其0.13 micron製程能讓此款SoC體積止於27×27mm。 另外,運算速度可達300MHz標準。在基本架構則以32位×86為主體設計,並集成豐富的接口,特別是此SoC內建的容錯功能更是成為軍工界的一個標準,並以其低成本、易實現和操作簡單實用的特點迅速在業界中推廣開來。
Vortex86SX內建的容錯功能實現非常簡單,且功能強大。它主要有以下幾大特點:
l Master/Slave主板諧調工作
l 可診斷六種不可預知的係統死機故障
l Master/Slave主板可在1 us(10的負6次方秒)內轉換
l 可抑製Slave主板下的ISA總線
l 可編程抑製Slave主板的I/O端口(在BIOS中設置)
l 設計高速串口作Master/Slave主板間的數據傳輸
l Master/Slave主板各提供4KB SRAM作數據交換與備份
l 支持係統死機計數
由於Vortex86SX內建了容錯功能,並在設計CPU之初就已考慮用戶使用方便易操作性。我們現就以下幾部分介紹容錯功能。
1. CMOS設置部分
構建一套容錯係統需兩塊功能相同並嵌有Vortex86SX SoC主板,分別在CMOS中將其容錯功能打開,其具體位置在 “Chipset → SouthBridge Configuration→ Redundancy Control Configuration” 下,如下圖:
圖1
如上圖所示,Vortex86SX CPU提供了Dual Port 4KB SRAM空間給用戶作數據交換與備份使用,其內存開始地址為000D000;還有提供了COM9作數據傳輸端口;並在CMOS中有設計可選擇設置KB/MS、GPIO、LPT(並口)和串口TRI-State(抑製)狀態。
2. 硬件操作部分
首先準備兩片功能相同並嵌有Vortex86SX SoC的主板,根據客戶各自要求分別設置其CMOS選項。我們公司的許多工控主板上都有設計一個特殊的接口---容錯技術接口,如VSX-6154主板上的J7接頭,其定義分別是Pin1(GND)、Pin2-Pin3(System Fail in/out)、Pin4-Pin5(GPCS0 /SYS-GPCS-IN)、Pin6-Pin7(TXD9/RXD9)。如下圖,由VSX-6154主板A和B通過PC104總線和“BoR”疊加在一起構成一套容錯係統。(我們將VSX主板上的J7連接線命名為BoR=Bridge of Redundancy)
圖2
注意:BoR線纜的接法:VSX主板A J7 “Pin2-Pin3”、 “Pin4-Pin5”、 “Pin6-Pin7”和VSX主板B J7相同的信號線兩兩交叉互連,GND“Pin1-Pin1”對接,如下圖。
圖3
當您將兩塊VSX主板的BoR和ISA Bus連接好後就可以上電工作,這兩塊VSX主板的電源可以是同一電源,也可以是兩個獨立的電源。兩塊VSX主板的M/S關係是由BoR的pin2-pin3根據兩塊主板上電工作的先後來判定的,先上電工作的VSX主板自動被指定為“Master”,另一塊則為“Slave”。
以下是處於“Slave”狀態下VSX主板的容錯設置:
1.“Slave”主板的ISA Bus被抑製(Tri-state)。(注意:這是為了避免兩塊VSX主板通過ISA Bus疊加起來發生控製/數據/地址總線衝突)
2.“Slave”主板可通過CMOS設置I/O接口是否被抑製,其位置在“Chipset →South Bridge →Redundancy Control Configuration”。請注意I/O接口是指“UART”、“LPT”、“GPIO”和“KB/MS”,其他的I/O接口(如PCI、USB和LAN)不會抑製。其以上I/O接口是否被抑製主要根據兩塊VSX主板的I/O(如COM1)是否要連接到同一設備。
3. 功能介紹部分
BoR的Pin2-Pin3連接回路稱為“Diagnose Circuit”(診斷回路)。它不僅是判定VSX主板M/S關係,還可以偵測6種不可預知的係統故障,如“看門狗0/1”、“硬件複位”、“軟件控製”、“手動轉換”、“非法指令”等等。一旦發生其中一種的故障,“Master”主板就會發出信號通知“Slave”主板,然後兩塊VSX主板在1us內轉換Master/Slave關係。
我們公司VSX係列主板都有設計2-Pin 的System-Fail-Switch接頭。將此接頭短接則將“Master”狀態推給對方,即使對方在1us內轉換成“Master”狀態。
BoR的Pin4-Pin5連接回路是M/S的4KB SRAM內存映射回路,即VSX主板內建“4K dual-port SRAM”占用內存啟始地址“Hex D000”。通過GPCS0內存映射“Slave”主板的“4K dual-port SRAM”啟始地址“Hex C800”。因此,您可以通過“Memory Mapping”方式移動數據。例如,您可以將數據移動到“Master”主板內建的“4K SRAM”內存區中(基地址:D000:0000),也可以將數據移動到基地址為C800:0000內存區中。當您將數據移動到C800:0000中時,實際上是您將數據移動到了“Slave”主板的“4K SRAM”內存區中,即您可以在“Slave”主板的基地址D000:0000內存區中訪問到同一數據。通過VSX主板的這一功能,就可以很容易地做到兩塊主板間的數據交換和備份。
由於“Slave”主板的ISA Bus是被抑製的。故隻有“Master”主板能同時訪問(讀/寫)內建的“4K dual-port SRAM”和通過GPCS解碼器訪問“Slave”主板的“4K dual-port SRAM”。當然,“Slave”主板也能訪問自身內建的“4K dual-port SRAM”。
為了能使用兩塊主板的“4K dual-port SRAM”,您必須打開“Chipset → SouthBridge Configuration → Redundancy Control Configuration → Dual Port 4KB SRAM”,如圖1。
為了使“Master”主板能訪問“Slave”主板的“4K dual-port SRAM”,您必須將兩塊VSX主板的CMOS設置中“Chipset → SouthBridge Configuration → GPCS Configuration”選項“GPCS0 Function”打開,如下圖。
圖4
BoR的Pin6-Pin7是一個高速的RS232串行通信端口(COM9)。它可以傳輸一些簡單的數據,如M/S主板間“4K SRAM”內存區數據傳輸前/後的確認數據(也可以是數據的長度)。當然,您也可以在兩塊VSX主板間使用此COM9端口作其他任何目的的傳輸。
以上就是有關Vortex86SX內建容錯功能的介紹,大家如想獲得更詳細的說明,請隨時與我公司技術人員聯係或發Email:。