基于Nios軟核處理器的溫備份智能容錯(cuò)系統(tǒng)設(shè)計(jì)方案
6)SDRAM控制器,用于連接片外64MB同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器,以便于為程序提供運(yùn)行環(huán)境。
7)UART0和UART1通過(guò)電平轉(zhuǎn)換芯片(MAX3232)轉(zhuǎn)換成RS-232電平以便與服務(wù)器通過(guò)串口通信。
8)WD Timer定時(shí)器,在這里作為看門狗定時(shí)器使用,以便提高仲裁器的可靠性,在仲裁器中運(yùn)行的程序出現(xiàn)故障時(shí),它給系統(tǒng)提供復(fù)位信號(hào)。
該系統(tǒng)是使用Quartus II進(jìn)行硬件設(shè)計(jì)的,用其中的SOPC Builder工具[4]進(jìn)行Avalon架構(gòu)設(shè)計(jì),圖3是仲裁器的Avalon架構(gòu)的設(shè)計(jì)最終界面。由于篇幅有限,此處僅提供UART0、UART1和IDE硬盤相關(guān)的部分原理圖,如圖4所示。
圖3 SOPC Builder設(shè)計(jì)界面
圖4 部分原理圖
4.2 軟件設(shè)計(jì)思想
以上主要介紹了硬件部分的設(shè)計(jì)思想,下面簡(jiǎn)單描述一下軟件開(kāi)發(fā)的相關(guān)思想。該仲裁器的軟件開(kāi)發(fā)使用Nios IDE[6](Nios集成開(kāi)發(fā)環(huán)境),主要包括如下模塊:
1)狀態(tài)獲取模塊:該模塊被Timer1定時(shí)器中斷例程定期調(diào)用,主要用于獲取服務(wù)器的當(dāng)前狀態(tài),其設(shè)計(jì)流程如圖5所示:
圖5 狀態(tài)獲取模塊流程
2)顯示模塊:用于輸出用戶關(guān)心的信息,如根據(jù)服務(wù)器的狀態(tài)用不同顏色點(diǎn)亮雙色發(fā)光二極管、顯示當(dāng)前時(shí)間間隔等級(jí)以及控制蜂鳴器報(bào)警。
3)通訊模塊:主要用于與服務(wù)器進(jìn)行通訊,以便給服務(wù)器發(fā)送命令以及獲得工作服務(wù)器的同步信息并把同步信息寫入硬盤中。
4)按鍵處理模塊:用于處理用戶按鍵,根據(jù)不同的按鍵進(jìn)行不同的控制,如:開(kāi)/關(guān)繼電器以及設(shè)置時(shí)間間隔等級(jí)。
5)硬盤訪問(wèn)模塊:用于提供對(duì)硬盤進(jìn)行讀寫操作的函數(shù),以便需要操作硬盤的模塊調(diào)用。
6)讀寫Flash的模塊:用于讀取/修改仲裁器的相關(guān)參數(shù),如:各服務(wù)器運(yùn)行時(shí)間,檢測(cè)服務(wù)器狀態(tài)的時(shí)間間隔等。
5 結(jié) 論
本文提出的軟硬件設(shè)計(jì)思想經(jīng)實(shí)踐證明是可行的,并且在實(shí)際的系統(tǒng)中工作良好。該思想可以進(jìn)一步推廣到多機(jī)容錯(cuò)系統(tǒng)中。在多機(jī)系統(tǒng)中,我們?cè)诙ㄖ坪酶髋_(tái)機(jī)器的工作計(jì)劃后,就可以利用本文提到的給每臺(tái)服務(wù)器一個(gè)計(jì)劃運(yùn)行時(shí)間這一思想來(lái)解決實(shí)際問(wèn)題。另外,使用Nios軟核處理器,可以定制很多的UART口,這一點(diǎn)就遠(yuǎn)遠(yuǎn)優(yōu)于需要擴(kuò)展串口電路的普通單片機(jī),從而在硬件設(shè)計(jì)和軟件設(shè)計(jì)上大大降低了難度。
本文作者創(chuàng)新點(diǎn):1) 采用SOC(系統(tǒng)級(jí)芯片)設(shè)計(jì)出溫備份高速仲裁器。2) 將同步信息放到了仲裁器中。這樣,所有同步信息就不依賴于工作設(shè)備(如PC機(jī)),所以即使工作設(shè)備出現(xiàn)故障也無(wú)妨,這樣就大大提高了系統(tǒng)的可靠性。3) 能夠?qū)ぷ髟O(shè)備進(jìn)行計(jì)劃定制,傳統(tǒng)的溫備份仲裁器沒(méi)有這一功能。
參考文獻(xiàn)
[1] 王仲生.智能故障診斷與容錯(cuò)控制[M].西安:西北工業(yè)大學(xué)出版社,2005。
[2] 潘松,黃繼業(yè),曾毓.SOPC技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社,2005。
[3] 宋保維,系統(tǒng)可靠性設(shè)計(jì)與分析.西安:西北工業(yè)大學(xué)出版社,2000。
[4] Sylvain Poussier, Hassan Rabah, Serge Weber.SOPC-based Embedded Smart Strain Gage Sensor. Lecture Notes in Computer Science[J],2002,2438:1131-1132。
[5] 徐光輝,程?hào)|旭等.基于FPGA的嵌入式開(kāi)發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2006。
[6] 郭書軍,王玉花, 葛紉秋.嵌入式處理器原理及應(yīng)用——Nios系統(tǒng)設(shè)計(jì)和C語(yǔ)言編程[M].北京:清華大學(xué)出版社,2004。
[7] 沙占友,孟志永,王彥朋.單片機(jī)外圍電路設(shè)計(jì)(第2版)[M].北京:電子工業(yè)出版社,2006。
[8] 王俊卿,楊揚(yáng),劉慶文.基于NIOS軟核處理器的uClinux的移植[J].微計(jì)算機(jī)信息,2005,21-1:123-124。
評(píng)論