雙端口RAM在單片機系統(tǒng)中的應用
1引言
在對產(chǎn)品可靠性要求高的系統(tǒng)中,往往需要硬件冗余。有些設備不僅要求其在各種惡劣的天氣下工作,而且要求長期不間斷工作。為提高可靠性往往采用雙CPU系統(tǒng)。平時主單片機系統(tǒng)工作,并將所處理的數(shù)據(jù)存儲在外存,一旦主CPU系統(tǒng)出現(xiàn)故障,副CPU可切換上來,并利用公共外存的數(shù)據(jù)繼續(xù)工作,而不需要人工干預。這時雙端口RAM做為外存就是兩個CPU之間信息傳遞的最好渠道。本文以美國IDT公司生產(chǎn)的IDT7130為例,闡述雙端口RAM在最常用的80C31雙機系統(tǒng)中的應用。
2 系統(tǒng)的基本結(jié)構(gòu)及硬件框圖
如圖1所示,整個系統(tǒng)由2個8031最小系統(tǒng)、雙端口RAM、故障探測及切換系統(tǒng)、程序監(jiān)控系統(tǒng)、I/O轉(zhuǎn)換電路、鍵盤顯示電路及外部受控設備組成。
2個8031最小系統(tǒng)中,一個為主CPU(左邊),右邊為副CPU系統(tǒng)。當兩個CPU均為正常工作時,切換系統(tǒng)控制為主CPU系統(tǒng)工作,這時副CPU端的CE被屏蔽,同時鍵盤顯示系統(tǒng)和I/O口由主CPU系統(tǒng)控制。切換系統(tǒng)不斷地檢測兩個CPU系統(tǒng)的工作狀況。
當切換系統(tǒng)檢測出主CPU系統(tǒng)發(fā)生故障時,屏蔽掉左邊的CE,而打開CE,同時將鍵盤顯示系統(tǒng)及I/O交由副CPU系統(tǒng)控制。這時副CPU將接著主CPU系統(tǒng)剛剛中斷的工作繼續(xù)進行。由于副CPU系統(tǒng)所使用的是雙端口RAM中同一地址的數(shù)據(jù)繼續(xù)工作,所以從外部看不出切換過程的發(fā)生。
為了保證設備長期不間斷運行的可靠性,特使用了看門狗電路(MAX813L),這樣首先從軟件上保證程序運行的可靠性,最后又從雙CPU切換來保證硬件上的可靠性。
由于鍵盤顯示電路(8279)中用到了數(shù) 據(jù)總線,所以使用了二片74HC245,并將RD、WR進行了二選一,245的方向也由PSEN及RD通過邏輯組合進行控制。
3 系統(tǒng)各部分工作原理
3 .1 IDT7130的工作原理
IDT7130為1 kΩ×8位的靜態(tài)雙端口RAM,它采用高性能CEMOS工藝,典型功耗為325 MW,最大訪問時間僅為20 ns。它帶有兩個自身控制,地址和I/O引腳的獨立端口。它允許任何一個端口獨立地讀寫存儲器中的任何單元。為了避免雙CPU系統(tǒng)對數(shù)據(jù)讀寫發(fā)生爭用,其片內(nèi)帶有硬件端口仲裁電路,以保證雙機有序地讀寫存儲器中的任何單元。在MCS-51系列單片機中,由于沒有READY延時線,所以不能使用這些仲裁電路,而需另設硬件電路來防止數(shù)據(jù)爭用。
評論