石俊杰,陳軍華
(63981部隊,湖北 武漢430030)
在現(xiàn)代智能控制系統(tǒng)中,隨著信息量的增加和實時性要求的提高,經常需要對信息或數據進行高速采集和處理,這就要求在設計控制系統(tǒng)時充分關注它的信息處理能力,否則極易造成數據處理中的“瓶頸”現(xiàn)象,從而達不到設計要求。目前,除了采用性能更高的控制芯片外,還可以采用雙CPU結構,利用高速雙口RA M實現(xiàn)雙CPU間的信息處理。這樣,不管是并行處理網絡中的數據共享,還是在流水處理中的數據傳送,都能保證數據通路的暢通;而且,隨著低端微處理價格的不斷下降,采用雙CPU結構有時能避免采用高性能CPU上的高成本,獲取更高的經濟效益。
雙CPU控制系統(tǒng)比單CPU控制系統(tǒng)更為復雜,本文著重從幾個值得注意的要點予以探討:
(1)確保雙CPU工作的協(xié)同和可靠
在雙CPU控制系統(tǒng)中,兩個CPU應是同一系統(tǒng)中的兩個不同的處理單元,它們可以處理不同的事務或數據,但對控制系統(tǒng)外部接口而言,它們可以看作是一個整體。因此,一旦其中一個CPU出現(xiàn)故障,另一個CPU會有反應,所以在硬件和軟件設計時有相應的故障冗余處理。
(2)合理設計交叉事務的實時處理軟硬件
圖1 交叉事務的實時處理框圖
如圖1所示,在有些控制系統(tǒng)中,有時需要通過事務處理接口A(B)實時訪問數據采集接口B(A)或事務處理接口B(A),這時,單純依賴數據共享是不夠的,必須考慮雙CPU間的直接指令傳送。
(3)雙口RA M存儲空間的組成及訪問
采用雙口RA M時,兩個CPU可以共享數據,還可能需要互相傳遞指令,實現(xiàn)交叉訪問。因此,存儲單元的空間分布及訪問安全也是必須注意的問題。
在具體設計中,可以根據設計要求選擇性能及I/O資源合適的CPU和雙端口RA M。這里選用Winbond公司的高性能微控制芯片W77E58,其相關技術指標為:
a.最高40 MHz的時鐘頻率;b.2優(yōu)先級12中斷源;c.4×8bit的I/O口;d.2個全雙工串行口。
在雙端口RA M 中,IDT(Integrated Device Technology)公司的高速異步雙口RAM IDT7132使用較為普遍,其相關技術指標為:
a.訪問時間:20/25/35/55/100 ns;b.兩套獨立的I/O口,包括數據總線、地址總線、控制總線;c.存儲容量:2 K×8bit;d.單5 V供電。
現(xiàn)以W77E58和IDT7132組成雙CPU智能控制系統(tǒng),結合上述幾個要點介紹。
在組成雙CPU系統(tǒng)時,可靠性應加以關注。特別是在復位邏輯、故障處理方面。在兩個CPU控制程序開始工作時,需要對相關接口、存儲空間、參數及變量初始化;一旦其中某一CPU出現(xiàn)程序“跑飛”現(xiàn)象,其看門狗電路應立即動作,復位并重啟;此時,另一CPU也應可靠復位,否則出現(xiàn)故障的CPU初始化處理可能會與另一CPU的正常處理程序產生沖突。為此,可以采用圖2所示電路,實現(xiàn)雙CPU的聯(lián)動復位。
圖2 雙CPU聯(lián)動復位電路
圖2 中D18、D19為看門狗芯片DS1232,WDOG_A和WDOG_B分別連接兩個CPU的看門狗脈沖端口,RST連接兩個CPU的Reset端。
在通電復位后,正常工作時,兩個CPU分別給WDOG_A和 WDOG_B提供看門狗脈沖,RST持續(xù)保持低電平;一旦某一CPU出現(xiàn)故障而不能提供看門狗脈沖時,對應DS1232的RST端會輸出高電平,迫使兩個CPU都復位重啟。
實時處理交叉事務一般包括對鍵盤中斷、特殊控制指令、硬件故障的處理,往往需要很高的響應速度,此時,僅利用對共享數據的查詢是不夠的,可以利用CPU的中斷處理模式實現(xiàn)快速響應。
在圖3所示電路中,雙CPU除了利用兩套獨立的I/O實現(xiàn)資源共享外,還采用LB1~LB4、RB1~RB4直接連接的方式實現(xiàn)直接指令控制。例如:當需要通過W77E58 A的事務處理端口,如鍵盤等,緊急控制W77E58B所連接的事務處理端口,如繼電器等產生動作,就可以通過 W77E58A直接控制 W77E58B產生中斷,從而達到快速響應的目的。
圖3 雙CPU直接指令控制電路
在較為復雜的雙CPU系統(tǒng)中,雙口RAM的存儲空間往往不是單一的共享數據分區(qū),如在上述示例中,可能還要用到指令分區(qū)、故障信息分區(qū)等,如表1所示。
表1是為方便說明給出的示例,不同的控制系統(tǒng)可能會有不同的存儲空間組織及訪問控制。對于存儲空間的訪問,還應注意:
(1)對于采用異步雙口RA M的系統(tǒng),兩個CPU不可對同一地址同時進行寫訪問或一讀一寫訪問,應注意訪問仲裁邏輯。
(2)對于非常重要的分區(qū),必要時可采用備份,出現(xiàn)異常時應予以更新。
(3)對指令區(qū)和故障信息區(qū)進行讀訪問后,應對所讀存儲空間清零,避免重復響應。
表1 雙口RAM存儲空間的組成及訪問特性
雙CPU控制系統(tǒng)應用越來越廣泛,其中許多采用了雙口RA M,當然,按設計和實現(xiàn)功能的不同,其具體實現(xiàn)也不盡相同。除了本文所述之外,控制程序的可靠性冗予設計、抗干擾措施及事務處理的合理分配都是設計雙CPU控制系統(tǒng)時值得注意的。上文所述方法及要點,也適用于基于雙口RA M的多CPU控制系統(tǒng)。隨著新器件的不斷出現(xiàn),性能的不斷提高,相信會有越來越多的新技術出現(xiàn)在智能控制系統(tǒng)中。
[1] W77E58 DATA SHEET[Z].Winbond,Inc.
[2] IDT7132 DATA SHEET[Z].Integrated Device Technology,Inc.