《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 一種三MCU系統(tǒng)的硬件實現(xiàn)
一種三MCU系統(tǒng)的硬件實現(xiàn)
潘 峰 丁 凡
摘要: 介紹以兩片80C196KC為主處理MCU、一片89C51進行動態(tài)LED顯示的三MCU系統(tǒng)。兩80C196KC之間通過互訪數(shù)據(jù)存儲器進行數(shù)據(jù)交換,80C196KC與89C51的通訊使用串行口。
Abstract:
Key words :

    摘  要: 介紹以兩片80C196KC為主處理MCU、一片89C51進行動態(tài)LED顯示的三MCU系統(tǒng)。兩80C196KC之間通過互訪數(shù)據(jù)存儲器進行數(shù)據(jù)交換,80C196KC與89C51的通訊使用串行口。 

    關(guān)鍵詞: 單片機  多處理器  總線控制  存儲器共享

 

    MCS96系列單片機是16位單片機。運算速度高、I/0資源豐富、具有10位A/D轉(zhuǎn)換器,特別適合于實時處理、實時控制的各類自動控制系統(tǒng),如工業(yè)過程控制系統(tǒng)、伺服系統(tǒng)、分布式控制系統(tǒng)、變頻調(diào)速電機控制系統(tǒng)等。在國內(nèi)有成熟的開發(fā)系統(tǒng)和穩(wěn)定的供貨來源,相關(guān)資料也非常豐富,開發(fā)非常方便。 

    本文介紹的三MCU系統(tǒng),使用兩片80C196KC作數(shù)據(jù)處理及控制,一片89C51進行顯示。應用于液壓缸活塞桿的位移檢測控制[1]。 

1 系統(tǒng)的總體結(jié)構(gòu)

    系統(tǒng)的總體結(jié)構(gòu)如圖1所示。為了提高系統(tǒng)數(shù)據(jù)處理能力,使用兩片80C196KC作為主處理芯片。兩片80C196KC各自擴展了程序存儲器ROM和數(shù)據(jù)存儲器RAM。不需要交換數(shù)據(jù)時,兩片80C196KC獨立工作;當需要交換數(shù)據(jù)時,首先征求對方同意,在對方允許的情況下,通過雙向總線開關(guān)訪問對方的數(shù)據(jù)存儲器。

 

 

    傳感器的信號接到80C196KC的A/D轉(zhuǎn)換器輸入端。 

    系統(tǒng)有兩種輸出:模擬量輸出和PWM輸出。這兩種輸出都通過80C196KC的PWM功能實現(xiàn)。 

    串行口是一個雙向數(shù)據(jù)通道,可接收其他設(shè)備或上位機來的數(shù)字信號,也可將測量結(jié)果和液壓缸本身的一些狀態(tài)信息傳送給其他設(shè)備或上位機。 

    系統(tǒng)測量結(jié)果的顯示使用LED數(shù)碼管,顯示數(shù)據(jù)由80C196KC通過串行口傳送。顯示使用動態(tài)方式,控制芯片使用89C51單片機。89C51單片機把80C196KC送來的數(shù)據(jù)先進行運算,轉(zhuǎn)化為顯示用字型碼,一路通過I/O口送到顯示譯碼驅(qū)動器,另一路完成位選通控制。 

2 80C196KC之間相互訪問數(shù)據(jù)存儲器的硬件實現(xiàn)方法 

2.1 80C196KC提供的總線控制信號

    80C196KC提供了一組總線控制信號。它們支持總線交換協(xié)議,可用于共享存儲器的多處理器系統(tǒng)或DMA傳輸。 

    是總線占用信號,80C196KC的輸入信號由外部設(shè)備或其他單片機、微處理器發(fā)出。有效,表示外設(shè)要求占用系統(tǒng)總線。 

    為總線占用應答信號由80C196KC發(fā)出。當80C196KC檢測到有效后,就釋放總線和有關(guān)的控制信號,并向?qū)Ψ桨l(fā)出有效作為應答信號,表示已經(jīng)放棄了對總線的控制權(quán)。 

    外設(shè)訪問80C196KC的存儲器結(jié)束后,使無效,并交還對系統(tǒng)總線的控制權(quán)。80C196KC撤去應答信號(使之無效),重新獲得對總線的控制權(quán)。 

    在系統(tǒng)總線占用期間,80C196KC仍可以繼續(xù)執(zhí)行內(nèi)部ROM/EPROM中的程序。這時若產(chǎn)生了外部操作,CPU就會把該外部總線懸掛起來,并發(fā)出(總線請求)有效信號。在撤消有效信號的同時,80C196KC也撤消了信號。 

    當80C196KC應答了總線占用請求時,地址/數(shù)據(jù)總線、和INST的三態(tài)輸出緩沖器被置為高阻態(tài),完全放棄了對總線的占用和控制。 

2.2 80C196KC互訪數(shù)據(jù)存儲器的方法

    由于使用外部程序存儲器,當一片80C196KC的總線應答信號有效、此片CPU放棄總線控制權(quán)的第二個機器周期,總線請求信號有效出現(xiàn)。為了不讓此信號干擾另一片CPU對總線的使用,使本片CPU的P1.0與對方的相或,如圖2所示。在申請總線占用前,先對本CPU的P1.0置1,屏蔽對方的信號。直到本CPU使用總線完畢,再使本CPU的P1.0置0,釋放對方的信號。 

 

 

    總線應答信號由P1.2檢測。 

    總線開關(guān)使用雙向總線驅(qū)動器74LS245,每片可驅(qū)動8路信號,共使用3片。由于三片74LS245屬于同一個開關(guān)的3個部分,所以三片74LS245的使能端E連在一起,控制端DIR也連在一起。 

    74LS245只有在總線應答信號有效后才能起作用,所以將兩片80C196KC的相與后接在74LS245的使能端這樣,當任何一片80C196KC的有效時,74LS245就進入使能狀態(tài)。 

    74LS245控制數(shù)據(jù)方向的DIR端接在80C196KC(1)的端。當80C196KC(1)的有效時,80C196KC(1)的數(shù)據(jù)訪問指向80C196KC(2)的數(shù)據(jù)存儲器;當80C196KC(2)的有效時,80C196KC(2)的數(shù)據(jù)訪問指向80C196KC(1)的數(shù)據(jù)存儲器。 

    在訪問對方的數(shù)據(jù)存儲器時,必須保證仍在訪問本方的程序存儲器,否則程序?qū)o法正常進行。為了實現(xiàn)這一點,采用圖3的連接方法。地址線最高位P4.7(AD15)不直接連在程序存儲器28256的片選端,而是與的反向信號相或后再接在28256的片選端。這樣,當本方CPU應答對方占用總線信號后,本方信號有效,經(jīng)過非門后變成高電平,28256的片選端也為高電平,使本方程序存儲器28256無法選中,只能選中本方數(shù)據(jù)存儲器。從而實現(xiàn)在程序運行正常的情況下訪問對方的數(shù)據(jù)存儲器。 

 

 

    與程序存儲器相同,數(shù)據(jù)存儲器也面臨著同樣的問題:在需要訪問對方的數(shù)據(jù)存儲器時,要使本方的數(shù)據(jù)存儲器無效。數(shù)據(jù)存儲器6264有兩個使能端:CS1和CS2。CS1作為控制端已經(jīng)與80C196KC的地址最高位通過非門相連,可以使用CS2完成這個功能,具體連接方法如圖4所示。每一片80C196KC的數(shù)據(jù)存儲器的CS2都與對方的相連。這樣,當本方CPU出讓總線控制權(quán)時,有效,使對方數(shù)據(jù)存儲器6264的CS2端為低電平,進入非使能狀態(tài)。對方CPU在訪問數(shù)據(jù)存儲器時,訪問的就是本方的數(shù)據(jù)存儲器。 

 

 

3 PWM和模擬量輸出

    在數(shù)字系統(tǒng)中,模擬量輸出一般是使用D/A轉(zhuǎn)換器,但80C196KC具有PWM輸出功能,可通過此功能獲得模擬量輸出。通過PWM獲得模擬量輸出的原理圖如圖5所示。由于內(nèi)部脈寬調(diào)制器輸出的是TTL電平的調(diào)制脈沖,為了獲得高精度的模擬量輸出,需要進行緩沖,使PWM信號的電平擺幅變?yōu)?~5V。緩沖選用帶有TTL電平到CMOS電平轉(zhuǎn)換功能的CMOS型反向緩沖器CD4049,緩沖之后進行濾波。 

 

 

4 LED顯示

    LED顯示部分由兩排LED組成:第一排6位數(shù)字,1位符號位;第二排5位數(shù)字,1位符號位。顯示部分的LED位數(shù)較多,為了簡化電路,減少能量消耗,用動態(tài)顯示方式。由于動態(tài)顯示方式比較消耗CPU資源,用一片89C51專門負責顯示之前的數(shù)據(jù)變換和LED的動態(tài)掃描。這一片89C51與一片80C196KC通過串行口進行數(shù)據(jù)傳遞。這樣,顯示就不再占用兩片80C196KC的資源,系統(tǒng)的編程也非常方便。 

    本文介紹的三MCU處理系統(tǒng)的兩片80C196KC的存儲器擴展使用獨立編址方式,所以兩片80C196KC的地址空間全部可用,非常適合于程序和數(shù)據(jù)量比較大的場合。每片80C196KC都具有一個A/D轉(zhuǎn)換器,可同時進行兩路轉(zhuǎn)換和處理,大大增加了處理速度。本系統(tǒng)應用于液壓缸活塞桿的位移檢測,取得了比較好的效果。 

參考文獻

1 潘 峰,丁 凡.基于超松弛法的行程傳感液壓缸磁路結(jié)構(gòu)的研究.動力工程,2001;10 

2 陳隆道,許 昌,周箭. 智能儀器的雙CPU技術(shù). 電測與儀表,1998;35(1) 

3 孫涵芳. Intel 16位單片機.北京:北京航空航天大學出版社,1995.11 

4 何立民.MCS-51系列單片機應用系統(tǒng)設(shè)計.系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學出版社,1993.7 

5 余永權(quán).ATMEL89系列Flash單片機原理及應用.北京:電子工業(yè)出版社,1997.10

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。