雙CPU在多I/O口系統中的硬件設計
1 引言
本文引用地址:http://dyxdggzs.com/article/172237.htm常規的單片機應用系統設計,往往都用一個(gè)CPU,再擴展一系列外圍輔助電路以達到相應設計目標。這種方法,尤其在輸入輸出接口較多的系統中,必須進(jìn)行繁瑣的譯碼、邏輯變換,使得系統硬件復雜,調試困難。而用雙CPU設計,可大大減少硬件電路,軟件資源分配及設計均相對獨立,易于修改程序而適合很多應用系統。
下面結合一個(gè)實(shí)際應用系統介紹雙CPU的應用。
2 系統組成
本系統要求8路開(kāi)關(guān)量輸入,8路模擬信號采集,8路繼電器控制輸出,8位數碼顯示,8路按鍵輸入。其中開(kāi)關(guān)量輸入、模擬信號采集、繼電器控制輸出配置在主板上,數碼顯示和按鍵輸入在面板上。
基于上述設計要求,考慮用一只97C51設計主板,完成8路開(kāi)關(guān)量、8路模擬信號采集以及8路繼電器控制;可用另外一只97C51控制面板上的8位數碼顯示和8路按鍵采集;兩只97C51通過(guò)標準串口連接交換信息,這樣主板和面板上只需6根線(xiàn)連接即可。其硬件組成框圖分別如圖1、圖2所示。
圖1 主板硬件原理框圖
圖2 面板硬件原理框圖
3 主板設計
3.1 主板硬件設計
見(jiàn)圖1,8路開(kāi)關(guān)量直接通過(guò)P1口輸入到CPU,通過(guò)P2口的輸出經(jīng)光耦隔離后驅動(dòng)8路繼電器,8路模擬量利用美國德州公司的11通道串行A/D芯片TLC542采集后串行送入P0口。當需要顯示數據時(shí),按一定協(xié)議將數據通過(guò)串口傳輸到面板上CPU控制顯示。
為了保證系統可靠,采用MAX690做為看門(mén)狗監控兩只CPU的運行。一個(gè)看門(mén)狗監控兩只CPU,其中任意一只CPU死機時(shí)均自動(dòng)復位,實(shí)現方法是:由面板上CPU的COM端發(fā)出一路連續的周期小于1s的方波信號到主板上CPU的COM端,主板上CPU接收到這一方波信號后,嚴格將其按相近頻率,在主程序中唯一地方發(fā)出清除看門(mén)狗計時(shí)器的信號。
3.2 主板控制軟件
主板控制軟件流程如圖3所示。
圖3 主板軟件流程圖
4 面板設計
4.1 面板硬件設計
見(jiàn)圖2,CPU P1口直接采樣8路按鍵狀態(tài),并送到主板CPU。同時(shí)用串口接收主板上CPU送來(lái)的顯示數據內容,經(jīng)轉換后,以P0口做段驅動(dòng),P2口做位驅動(dòng)直接顯示出來(lái)。
為保證系統可靠,該CPU的P3.2腳發(fā)出一周期小于1s的標準方波信號供主板上CPU采集,再驅動(dòng)清除看門(mén)狗,以實(shí)現 一只看門(mén)狗同時(shí)監控兩只CPU的目的。
4.2 面板CPU的軟件流程
面板CPU的流程如圖4所示。
圖4 面板CPU軟件流程圖
4.3 顯示方式的改變
當顯示數據的方式需要改變時(shí),主板上的程序將不變,而只需改變面板上CPU的程序即可,這樣可極其靈活地適合于各種應用場(chǎng)合。
5 結論
綜上所述,以較簡(jiǎn)單的硬件電路,較少的連線(xiàn),獨立的程序實(shí)現了雙CPU系統,達到了所提出的要求,提高了系統的可靠性及工作效率。
因為CPU的智能化及豐富的片內資源,其靈活性和兼容性遠遠勝過(guò)邏輯電路組合設計模式,又因CPU的價(jià)格現在已很低廉,所以,雙CPU系統在一定的應用環(huán)境中是非常適合的。
評論