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