測控設備在信號檢測、工業控制、醫療儀器、航空航天等領域應用十分廣泛。目前測控系統大多是以工業控制計算機作為控制中心。但是這種方法主要有以下缺點:一是工業控制計算機控制通信功能相對比較弱,要增強控制通信功能就必須外加很多電路,從而使系統設計復雜,系統可靠性難以提高;二是工業控制計算機體積較大,不能滿足某些特定行業的需要;三是工業控制計算機不適合于環境惡劣和可靠性要求很高的場合。 在航空領域中,有眾多的測控儀器。這些儀器不僅要求可靠性高、重量輕、體積小,而且要求計算機抗惡劣環境能力強、能夠與各種不同的航電設備通信。而機載燃油測控計算機就是一種典型的航空測量儀器,它為航空器駕駛員和其它航空設備提供重要的信息。它的工作是否可靠,直接關系到人民的生命財產安全。 針對以上情況,我們采用了通信功能強大的芯片MPC860為主要處理器,設計了一種以硬件容錯為基礎的高可信賴的專用計算機。 1 硬件容錯模型 容錯技術主要是依靠資源的冗余和系統重構資源的精心組織來完成的。隨著半導體元件體積的縮小及成本的下降,以及超大規模集成電路的發展,在計算機容錯系統的設計中采用硬件冗余成為當前比較常用的方法。硬件冗余分為被動硬件冗余、主動硬件冗余和混合硬件冗余。 被動硬件冗余又稱為靜態硬件冗余。它應用了故障掩蔽的概念,即是指冗余結構并不隨故障情況變化的冗余形式。通常采用的結構是三模冗余TMR(Triple Modular Redundancy)和二模冗余結構。為了進一步提高系統的可靠性,可以采用N模冗余(NMR)。NMR與TMR的原理相同,只是采用N個相同的模塊。N一般為奇數,以方便進行多數表決。NMR可以容忍(N一1)/2個故障模塊。 主動硬件冗余又稱為動態硬件冗余,主要采用重組技術。它通過故障檢測、故障定位及故障恢復來達到容錯的一種技術。主動硬件冗余的形式有雙機比較、備用替換和成對備用。 帶熱備份的雙機比較系統是在增強型雙機比較系統的基礎上,增加了一個熱備計算機,通常系統中帶有進行故障定位的自診斷程序。系統的工作原理是,系統開始以雙機運行,當雙機比較系統出現故障時,啟動自診斷程序進行故障定位,定位故障后,切換開關將故障機器從系統中切除并換上處于正常工作狀態的熱備計算機。系統繼續以雙機模式運行。 根據上述增強型雙機比較系統模型及實際課題應用要求,我們去掉了比較器,熱備份計算機,提出了圖1所示的簡化雙機熱備系統結構模型,并加以實現。 圖1中,系統啟動時默認將計算機A作為主系統輸出,計算機B作為熱備機使用。A機與B機并行執行相同的計算,且A機和B機各有獨自的外圍控制邏輯和外設,既不會引起系統資源的競爭,又增加了整體系統的穩定性。當然,這樣是以花費更多的硬件設施為代價的。主備用機之間的切換用專門設計的仲裁檢測電路來實現。仲裁檢測電路根據A機與B機周期向它發送的自檢信號來判斷A機系統與B機系統運行的狀況,并控制切換開關K1、K2的操作。①如果A機與B機均正常運行,則將A機的運行結果作為系統輸出;②如果A機正常而B機故障,亦將A機的運行結果作為系統輸出,同時將B機的運行故障狀態報告給A機,并向B機進行復位控制操作;③如果A機故障,B機正常,則進行開關切換操作,將B機的運行結果作為系統輸出,同時將A機的運行故障狀態報告給B機,并向A機進行復位控制操作(所有的操作過程均作為日志文件保存在系統內,停機后根據日志記錄將故障機轉入維修);④如果A機與B機均故障,則由仲裁電路發出報警信號,表明系統不可用。 2 設計方案及系統結構 本系統的設計目標是實現一個機載燃油測量嵌入式容錯管理控制系統,用于機載燃油系統的測量、管理和控制,采用雙機熱備系統模型。設計內容主要包括熱備份雙工的硬件設計,數據采樣和驅動程序設計,并提供在嵌入式實時多任務操作系統之上的應用編程接口。系統的主要功能包括提供系統基本狀態自診斷(自測試)、系統硬件監控、系統總線超時監控、提供系統單點故障容錯、系統雙機切換等。同時,為了與其它最新的航空設備進行數據交換,系統還要求提供ARNIC429和1553B等高級接口。 采用的方案系統框圖如圖2所示。在圖2中,數據采集到A/D轉換后,A、B兩機同時對采集到的數據進行處理。當某一通道發生故障時,系統自動切換到另一通道進行工作。仲裁電路自動使故障通道的數據輸出設置為高阻態,將其它接口的使能端設置為無效。 2.1 主控機系統 主控機系統采用的系統時鐘為50MHz的MPC860P。它的總線接口的工作電壓是 3.3V,兼容5V TTL電平。 MPC860 PowerQLJlCC微處理器是一個多用途的通用芯片,內部集成了微處理器和常用外圍組件,可用于各種控制領域,特別適用于通信產品。MPC860集成了嵌入式PowerPC核和一個為通信使用的專門的RISC的通信處理器模塊(CPM)。MPC860的CPM支持6個串行通道(4個串行通信控制器SCC、2個串行管理控制器SMC、1個I2C(Inter-Integrated Circuit)接口和1個串行外圍接口電路(SPI)。MPC860還提供1個快速以太網控制器,可以支持10Mbps到100Mbps的以太網。由于CPM分擔了嵌入式PowerPC核的外圍工作任務,這種雙處理器體系結構比傳統體系結構的處理器具有更高的效率和更高的可靠性。圖3為主控系統結構。 圖3中,MPC860P內部的串行管理控制器SMCl和SMC2分別用來作為R$232和RS485的UART接口,4個串行通信控制器(SCc1、SCC2、SCC3、SCC4)用于控制Rs-422接口。所有的存儲器及外部存儲設備均通過存儲器控制器與MPC860P接口。 MlPC860P通過內存控制器GPCM與SRAM建立接口。這里選用的是三星公司的K6X8008C2B,用4片%26;#215;8位組成32位SRAM數據總線供系統使用。 對于Flash閃存配置的設計方案,將其分成兩塊:一塊用來裝載引導系統啟動的PPcB00T及裁減后的CRTOS 2.0操作系統;一塊用來放置上層應用程序,作為用戶數據區域,保存每次飛機起飛降落中的燃油數據。Flash選擇Intel公司的28F640J3A,BGA封裝。這塊芯片有23根地址線,16根數據線,容量為8MB,128KB的可擦除塊;擦除塊之間相互獨立,每一塊的擦除操作可在1s內完成,并可單獨被擦寫100 000次;支持8位及16位兩種數據寬度工作模式,通過其上的麗位的高低電平來選擇。在采用8位數據寬度模式時,BRTE位置低位,有效地址線為A0~A22;采用16位數據寬度模式時,BYTE位置高位,此時A0位懸空無效,有效地址線為A1~A22。在此我們采用16位數據寬度模式。 由此看到MPC860的強大通信功能。我們將SCC1到SCC4四個通信口作為4個RS422通信口,選用TI公司的AM26LS32(接收器)和AM26LS31(發送器)。其均遵從ANSIEIA/TLA-422-B規范,采用十5V工作電源,兼容TTL電平,16引腳DIP封裝。AM26LS32在通用模式下輸入電平范圍可達7V,靈敏度可達200mV,三態輸出。用仲裁電路的仲裁控制輸出TS1GATE和TSIGATE來控制AM26LS32和AM26LS31的工作使能端,以達到控制雙機競爭通信信道的目的。 將SMCl配置成一個RS232C口,器件選用引腳完全及功能完全與之兼容的MAx232芯片。 將SMC2配置成一個RS485,以便與其它航空設備通信。器件選用MAx485,8引腳SO封裝。由于采用二線制方式,半雙工通道,設計上用經過16244驅動的CPU讀寫信號BRD/WR來連接MAX485的面和DE端,以此達到控制MAx485的發送和接收狀態。 為了使系統具有更強的兼容能力,還提供了目前兩個航空通信標準接口一ARNIC429和1553B。 為實現1路ARINC429通信接口,選用Intersil公司的HS-3282及HS-3181芯片。HS-3282是429總線通道控制器,主要控制429接口與CPU端的接收與發送,40引腳DIP封裝。因為外圍控制邏輯及片選比較復雜,因此設計在FPGA內部來實現。HA-3281是429總線的電平控制驅動器,其實現429與通信信道的電平轉換與物理連接。429通道的接收分別占用CPU的IRQ5和Q6中斷源。 為實現1路1553B總線接口,選用DDC公司的BU-61580總線控制芯片,+5V工作電壓,完全集成MIL-STD-1553接口及終端,靈活的處理器及內存配置接口,內配標準4K%26;#215;16RAM。由于在設計中給其分配的地址空間范圍內有多個外設,所以在FPGA用CS7加上一定的地址經譯碼后產生的信號BU SEIECT作為Bu-61580的片選信號。由于此芯片工作需要獨立的16MHz時鐘信號源,因此采用一個有源的16MHz石英振蕩器。 2.2 仲裁電路 仲裁電路是為保證雙機熱備系統的正常工作及出錯板極切換而設計的,所以尤為重要。 (1)設計思路 用兩個可編程計數器不斷對時鐘脈沖進行計數,當到達預定計數值而未收到CPU端ACtive信號時,則在計數輸出端產生從低電平到高電平的躍變。該變化通過門電路決定是否觸發用于切換輸出信號的觸發器,同時給出故障警示脈沖信號。 (2)電路邏輯說明 如圖4所示,晶振和兩個非門組成的自激多諧振蕩器產生的時鐘脈沖(32.768kHz),分別送到兩個可編程計數/分頻器54LS292的時鐘輸入端。兩者的計數分頻值均被設為,因此定時周期為2s,則計數器Q端在半個周期即1s時翻轉。如超過該時間而CLRN未收到從CPU板送來的Active信號(下降沿有效),則會在Q輸出上升沿。兩個Q端輸出分別送到兩個與非門用于判斷是否輸出觸發J-K觸發器的下降沿信號。當有超時信號輸出的這一邊正好是其輸出有效的一邊時,其送往的與非門的另一輸入必為高。這時觸發信號產生,觸發器被觸發而產生切換。反之,當有超時信號輸出的這一邊不是其輸出有效的一邊,則其送往的與非門的另一輸入必為低,這時不產生觸發信號,不發生切換。在兩種情況下產生的超時信號都被送往兩個與非門組成的組合邏輯電路,用于輸出故障警示脈沖到當前正常工作的CPU板的A1arm端,同時這個信號也作為發生故障的CPU板的復位信號送往對應的CPU復位端。 2.3 其它硬件部分的設計 本系統的硬件設計部分還包括A/D和D/A轉換、頻率計數輸入端口、開關量轉換電路、掉電保護電路、測試診斷電路等。由于測試診斷電路涉及的內容較多,故在此未贅述,僅對前四部分作簡要介紹。 為實現A、B通道的64路A/D采集模擬開關控制電路(其中四路用作器件工作狀態測試),選用ADl674作為A/D轉換器件。AD1674是美國模擬器件公司(Analog Devices)生產的12位精度逐次逼近型快速A/D轉換器,為其公司經典轉換器AD574A的升級產品。轉換速度僅為10 u s,轉換精度≤005%,片內配有三態輸出緩沖電路,因而可直接與各種典型的微處理器相連接,而無須附加邏輯接口電路,且能與CM0S及TTL電平兼容。另外其片內自帶采樣保持電路,保證了A/D采樣的準確性和穩定性,可直接與被轉換的模擬信號相連。由于ADl674片內包含高精度的參考電壓源和時鐘電路,這使它在不需要任何外部電路和時鐘信號的情況下能完成一切A/D轉換功能。 本系統中的4路頻率端口信號量(FQ0~FQ3)經4路差分比較器整形成4路標準TTL方波信號(FQINO~FQIN3,門限以TTL電平為準),后送入CPU計數器計數。差分比較器選用TI公司的LMl39芯片。其支持單極和雙極輸入,寬電源輸入(+2V~+36V),差分輸入電壓范圍可達36V,輸出電平兼容TTL、MOS、CMOS,內部集成4通道比較器,采用14引腳DIP封裝。 根據系統工作環境,32路離散量的輸入采集信號及輸出控制信號均為+28V;而MPC860的工作電壓為3.3V輸入電平兼容+5V,涉及到高低電平的隔離控制,因此設計中采用光耦器件來實現。我們選用Toshiba公司的TLP521-4,片內集成4路耦合通道,整個系統輸入輸出共需16片,集電極至發射極最高電壓+55V,片內二極管正向電流最大50mA,功耗150mW,16引腳DIP封裝。 根據方案要求,系統在掉電時需要提供短時間的電 源以作系統數據保存工作。這里選用Maxim公司的 MAx79l電路監控芯片,采用IRQ1中斷源,配合大容量 的電解電容作為后備電源。 2.4系統自診斷輔助電路 為了配合系統自診斷程序的工作,設計了以下四個 方面的輔助電路測試電路。 (1)模擬量輸入測試模塊 通過提供一個檢測用模擬信號,作為多路模擬開關的一路輸入信號。經A/D轉換后,將數據送入CPU進行比較檢測,便可得知模擬信號輸入模塊是否正常工作。 (2)A/D本身的故障定位 各種典型的A/D轉換器,都有兩個重要的信號引腳START和EOC(以常用的AD0809為例),前者為輸入信號,高電平有效。此信號上升沿清除ADC內部寄存器,在下降沿時啟動內部控制信號,開始A/D轉換工作。另一信號EOC是轉換結束信號,高電平有效,為輸出信號。當一次A/D結束時,此引腳輸出高電平。在A/D轉換過程中為低。我們可以利用它來測試A/D是不是正常工作。具體到我們系統所選用的芯片AD574而言,它的EOC信號引腳稱為STS。不同的是,A/D轉換過程中為高電平,轉換結束為低電平。 (3)頻率輸入測試模塊 本模塊主要由頻率輸入調整及MPU構成。MPC860發出基準頻率后輸入調整模塊后再送入MPC860內部頻率計數器進行計數及比較。 開關量輸入測試模塊。本模塊通過MPU主動發出一個數據信號,經由開關量輸入模塊通道后再返回CPU內部進行比較。如果與原來發出的開關量相符,為正常工作狀態。 (4)通信端口測試模塊 主要思想是通過引入一個類似于雙刀雙擲的電子開關,然后讓系統發信息給自己。能正常接收為正常工作,反之表明系統有錯。 3 總 結 本文所設計的機載燃油雙機熱備份測控計算機系統,已實現預期容錯功能,具有通用性強,系統可靠性高、功耗低等諸多特性。目前,該系統在嵌入式安全實時操作系統CRT0S2.0的支持下,正在開發燃油測控和管理等更多的上層應用軟件。 |