0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)多CPU的單片機系統(tǒng)的應(yīng)用設(shè)計

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:周建勇,何為民 ? 2021-03-24 13:52 ? 次閱讀

隨著人們生活水平的提高和科學(xué)技術(shù)的發(fā)展,安全防范的問題引起了越來越多的關(guān)注。人們在承受現(xiàn)代文明所帶來的高效率、快節(jié)奏壓力的同時,都希望能擁有一個安全、舒適的家庭環(huán)境。因此,越來越多的安防產(chǎn)品應(yīng)運而生,尤其是蓬勃發(fā)展的現(xiàn)代化社區(qū)物業(yè)管理,通過監(jiān)控網(wǎng)絡(luò)把家庭和社區(qū)值班室緊密地聯(lián)系起來,給人們的生活帶來了極大的方便。但是,有些社區(qū)監(jiān)控網(wǎng)絡(luò)并不能完全履行其職責(zé),存在一定的安全隱患。主要原因是目前大多數(shù)的監(jiān)控節(jié)點都是采用1個CPU完成所有的功能,包括掃描各傳輸器模塊狀態(tài)、信息處理、數(shù)據(jù)顯示、報警、與上位機通信等等。這無疑給此CPU帶來了很大的壓力:一旦出現(xiàn)故障,使得此單片機不能正常工作,則該監(jiān)控節(jié)點將完全癱瘓,報警信息將得不到有效的處理。另外,在一些實時性要求較高的多任務(wù)系統(tǒng)中,單CPU結(jié)構(gòu)也將顯得力不從心。那么,能否找到一種既簡單又經(jīng)濟的解決辦法,把目前服務(wù)器中較為流行的多CPU并行處理的設(shè)計思想融入到社區(qū)監(jiān)控網(wǎng)絡(luò)中來呢?答案是肯定的。隨著單片機技術(shù)的發(fā)展,單片機的價格在不斷下降,其價格甚至比一些常用的接口芯片還要低,這就使多CPU的單片機系統(tǒng)的成本大大降低。此外,由于采用多CPU的設(shè)計思想,將使系統(tǒng)在并行處理和實時采集數(shù)據(jù)方面具有明顯的優(yōu)勢,能極大地提高系統(tǒng)的穩(wěn)定性和可靠性。尤其是對一些功能稍微復(fù)雜一點的系統(tǒng),多CPU系統(tǒng)設(shè)計方法將更能顯示出它的優(yōu)越性。那么,如何實現(xiàn)多CPU的單片機系統(tǒng)設(shè)計呢?本文將在這方面進行一些有益的探索。

一、多CPU系統(tǒng)的設(shè)計原理

顧名思義,多CPU系統(tǒng)就是在1個系統(tǒng)中含有多個CPU。每個CPU獨立地處理1個或少量的事務(wù),然后通信某種方法,控制數(shù)據(jù)的合理流動,以完成設(shè)計要求的系統(tǒng)。其典型結(jié)構(gòu)如圖1所示。

從圖1中可以看到,多CPU系統(tǒng)中一個非常重要的問題,是如何解決好各CPU之間數(shù)據(jù)的合理流動問題,以下是幾種常用的方法。

1.利用雙口RAM實現(xiàn)CPU之間的通信

雙口RAM是一種高速的并行傳輸芯片,是實現(xiàn)CPU之間通信的一種簡便有效的方法。常用的CMOS雙口RAM有IDT7132、IDT7142等型號。IDT7132和6116類似,都是CMOS靜態(tài)RAM,存儲容量均為2KB。不同點在于IDT7132有兩套I/O口,并有一套競爭裁決電路。因此,IDT7132內(nèi)部的2KB存儲器可以通過左右兩邊的任一組I/O口進行全異步的存儲器讀寫操作,能方便地實現(xiàn)CPU之間的數(shù)據(jù)交換。采用雙口RAM實現(xiàn)多CPU系統(tǒng)的示意圖如圖2所示。

利用這種方法可以實現(xiàn)數(shù)據(jù)的高速傳輸。CPU對IDT7132的讀寫時間小于120ns,通常為幾十ns。當(dāng)工作電源為+5V時,其讀寫的最大功耗為325mW,而在維持工作時最大功耗僅為5mW。另外,由于雙口RAM是一種通用芯片,因此,它在選擇與CPU接口時具有較大的靈活性。不過這種方法也會增加電路設(shè)計的難度和成本。

2.利用共享內(nèi)存的方法實現(xiàn)CPU之間的通信

這種方法與前面的方法類似。所不同的是,前一種方法是利用雙口RAM的一套競爭裁決電路實現(xiàn)對RAM的訪問,而這里是利用不同的時序?qū)崿F(xiàn)共享內(nèi)存的。LON網(wǎng)絡(luò)中的Neuron節(jié)點芯片設(shè)計都是采用這種方法的,其典型結(jié)構(gòu)如圖3所示。

在Neuron芯片中,每個CPU最小周期等于3個系統(tǒng)周期;每個系統(tǒng)時鐘周期等于2個輸入鐘周期;3個CPU的最小周期分別間隔1個系統(tǒng)鐘周期。這樣,每個CPU在1個指令周期內(nèi)部能訪問存儲區(qū)和ALU一次。系統(tǒng)對3個CPU采用了管道技術(shù),在不影響性能的情況下降低硬件的需求。3個CPU可并行工作,不會造成耗時中斷和上下文切換。

利用這種方法也能夠?qū)崿F(xiàn)CPU之間數(shù)據(jù)的高速傳輸,但是,它必須制成專用芯片,把CPU和RAM等元件封裝在一起。因此,這種方法比較適合于特定的工業(yè)場合。

3.利用總線的方法實現(xiàn)CPU之間的通信

隨著總線技術(shù)的發(fā)展,使得多主多從的單片機系統(tǒng)設(shè)計變得越來越簡單。設(shè)計者只須通過接口芯片就可以將CPU掛到總線上去,實現(xiàn)CPU之間的通信,其典型的結(jié)構(gòu)如圖4所示。

這種方法具有結(jié)構(gòu)簡單、設(shè)計靈活、經(jīng)濟實惠的特點。在系統(tǒng)數(shù)據(jù)量不大,速度要求不是很高的情況下,應(yīng)該是一種很好的選擇方法。值得一提的是,在這種方法中,I2C總線以其結(jié)構(gòu)簡單、設(shè)計靈活、易于擴展和開發(fā)周期短的特點,越來越受到設(shè)計者的青睞。尤其目前很多單片機都帶有I2C接口,不用接口芯片就中以把CPU直接掛到總線上,使得電路設(shè)計更加簡單、經(jīng)濟。本文的多CPU系統(tǒng)也是基于I2C總線的一種安防系統(tǒng)。

二、基于多CPU下的社區(qū)安防系統(tǒng)的設(shè)計方法

1.系統(tǒng)的拓撲結(jié)構(gòu)

系統(tǒng)的拓撲圖如圖5所示。該系統(tǒng)實際上是一個3級分布式測控系統(tǒng)。第1級由1臺安裝在社會值班室的PC機組成,是整個系統(tǒng)的核心部分。它主要負責(zé)向各家庭數(shù)據(jù)終端(HDT)發(fā)出各種命令,接收返回信息,并進行數(shù)據(jù)庫管理和報表統(tǒng)計等工作。第2級由安裝在各家庭的家庭數(shù)據(jù)終端組成,相當(dāng)于1個監(jiān)控節(jié)點。它主要負責(zé)接收PC機發(fā)來的命令和向PC機發(fā)送各檢測模塊的檢測信息,并進行顯示、報警、存儲等信息的處理。第3級由安裝在家庭各房間的各種模塊組成,包括煙感、紅外等報警模塊,水表、電表等數(shù)字模塊和家電控制的控制模塊。它主要負責(zé)檢測和控制各控制對象的狀態(tài)。

2.家庭數(shù)據(jù)終端(HDT)的功能

家庭數(shù)據(jù)終端是安裝在家庭內(nèi)部的1個監(jiān)控節(jié)點,主要執(zhí)行以下任務(wù):(1)接收PC機發(fā)來的命令;(2)信息顯示;(3)鍵盤掃描;(4)聲光報警;(5)生成家庭狀態(tài)字節(jié),并向PC機發(fā)送各種狀態(tài)信息;(6)報警信息儲存,即“黑匣子”功能;(7)掃描各傳感器模塊狀態(tài)。另外,HDT還應(yīng)個有可添加擴展模塊的功能。這些功能當(dāng)然可以用1個CPU實現(xiàn),但將給CPU帶來較大的工作量,降低了系統(tǒng)的安全性和可靠性。因此,我們采用多CPU的思想進行系統(tǒng)的設(shè)計。

根據(jù)HDT的功能特點,將任務(wù)分成3個部分,分別由3個CPU來完成。各CPU之間采用I2C總線進行通信,其結(jié)構(gòu)如圖6所示。CPU-1專門用于與PC機的通信,包括:(1)接收PC機發(fā)來的命令,并傳送給其他CPU;(2)生成家庭狀態(tài)字節(jié),向PC機返回信息;(3)進行聲光報警。CPU-2專門用于與第3級各模塊的通信,包括:(1)掃描各傳感器模塊的報警狀態(tài),并及時通知其他CPU;(2)接收其他CPU傳送過來的命令,對有關(guān)控制對象進行操作;(3)向AT24C64中存儲報警記錄,包括報警類型和報警時間,實現(xiàn)“黑匣子”功能。CPU-3專門用于信息顯示和鍵盤掃描,包括:(1)接收PCF8583的數(shù)據(jù),顯示時間;(2)接收CPU-2傳送來的信息,顯示報警類型或故障位置;(3)掃描鍵盤,并向其他CPU發(fā)送命令,完成布防、撤防、修改密碼等操作功能。在3個CPU之間,采用I2C總線進行連接;CPU選用Philips公司生產(chǎn)的P87LPC76X芯片。P87LPC76X芯片是一種20腳封裝的單片機,適合于許多要求高集成、低成本的場合,具有較高的性能價格比,是Philips小型封裝系列中的一員。它在提供很多新特征的同時,提供了I2C總線的通信接口。另外,它還提供了3個寄存器和中斷控制位以實現(xiàn)對I2C總線的操作,因此,可以很容易地利用它的I2C接口實現(xiàn)多CPU的設(shè)計思想。

結(jié)束語

隨著單片機技術(shù)的迅速發(fā)展,封裝小、功能強、價格低的單片機越來越多地被開發(fā)出來。單片機所執(zhí)行的功能也會越來越專一,越來越簡單。這將為多CPU系統(tǒng)的設(shè)計提供一個堅實的基礎(chǔ),也必然會提高系統(tǒng)的安全性和可靠性。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631975
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163514
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210829
收藏 人收藏

    評論

    相關(guān)推薦

    單片機如何實現(xiàn)通訊 ?

    單片機如何實現(xiàn)通訊
    發(fā)表于 11-10 07:51

    單片機系統(tǒng)中的數(shù)據(jù)交換

    單片機系統(tǒng)中的數(shù)據(jù)交換
    發(fā)表于 05-15 15:05 ?13次下載

    基于主/從結(jié)構(gòu)的CPU系統(tǒng)的研究與實現(xiàn)

    本文較為詳細地介紹基于CPU單片機嵌入式系統(tǒng)系統(tǒng)設(shè)計思想,提出了在
    發(fā)表于 06-20 09:52 ?14次下載

    CPU單片機系統(tǒng)設(shè)計在社區(qū)安防系統(tǒng)中的應(yīng)用

    摘要:本文較為詳細地介紹基于CPU單片機系統(tǒng)設(shè)計思想,并給出它在社區(qū)安全防范系統(tǒng)中的應(yīng)用。關(guān)鍵詞:
    發(fā)表于 08-08 17:25 ?24次下載

    單片機通道溫度采集測控系統(tǒng)

    單片機通道溫度采集測控系統(tǒng) 摘要3Abstract4第一章前言5第二章 單片機通道溫度采集測控
    發(fā)表于 12-19 10:17 ?4348次閱讀

    基于單片機CPU構(gòu)成的復(fù)雜系統(tǒng)應(yīng)用研究

    介紹了單片機CPU構(gòu)成復(fù)雜系統(tǒng)的電路以及該系統(tǒng)的幾種應(yīng)用實例。    關(guān)鍵詞:單片機,雙
    發(fā)表于 05-06 20:44 ?625次閱讀
    基于<b class='flag-5'>單片機</b>雙<b class='flag-5'>CPU</b>構(gòu)成的復(fù)雜<b class='flag-5'>系統(tǒng)</b>應(yīng)用研究

    基于單片機并行通訊系統(tǒng)

    1 簡介 本文介紹的單片機并行通訊系統(tǒng),使用89C51作為主機,片89C2051作為從。
    發(fā)表于 11-08 10:20 ?3682次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>多</b><b class='flag-5'>機</b>并行通訊<b class='flag-5'>系統(tǒng)</b>

    基于單片機系統(tǒng)標準總線的CPU板的設(shè)計

    本文介紹了在單片機系統(tǒng)標準總線的基礎(chǔ)上,基于MCS-51系列單片機CPU板的設(shè)計。說明了數(shù)據(jù)存儲器、看門狗、時鐘電路、串行通訊、鍵盤、LED及LCD等的設(shè)計。
    發(fā)表于 03-28 17:58 ?4次下載

    通信和單片機和pc

    通信和單片機和pc
    發(fā)表于 11-04 11:38 ?7次下載

    解讀單片機CPU的區(qū)別及意義

    單片機CPU有什么區(qū)別 (1)CPU:計算機里面用作控制、計算; (2)單片機單片機就是一種比較簡單的
    的頭像 發(fā)表于 07-15 10:37 ?3w次閱讀

    基于單片機和CAN控制器和CAN收發(fā)器實現(xiàn)系統(tǒng)系統(tǒng)的設(shè)計

    其通信方式實質(zhì)上仍是“主從式”。本文介紹了一種基于CAN控制器的單片機系統(tǒng),從本質(zhì)上實現(xiàn)了任意兩
    發(fā)表于 06-26 17:57 ?2536次閱讀
    基于<b class='flag-5'>單片機</b>和CAN控制器和CAN收發(fā)器<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>多</b><b class='flag-5'>機</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計

    C51單片機學(xué)習(xí)筆記(四)——單片機的中斷系統(tǒng)及應(yīng)用

    C51單片機學(xué)習(xí)筆記(四)——單片機的中斷系統(tǒng)及應(yīng)用文章目錄C51單片機學(xué)習(xí)筆記(四)——單片機的中斷
    發(fā)表于 11-14 10:21 ?17次下載
    C51<b class='flag-5'>單片機</b>學(xué)習(xí)筆記(四)——<b class='flag-5'>單片機</b>的中斷<b class='flag-5'>系統(tǒng)</b>及應(yīng)用

    單片機cpu的區(qū)別

    單片機CPU在計算機系統(tǒng)中都扮演著重要的角色,但它們有一些明顯的區(qū)別:
    的頭像 發(fā)表于 08-30 11:35 ?4223次閱讀
    <b class='flag-5'>單片機</b>和<b class='flag-5'>cpu</b>的區(qū)別

    一種單片機通信系統(tǒng)的設(shè)計

    電子發(fā)燒友網(wǎng)站提供《一種單片機通信系統(tǒng)的設(shè)計.pdf》資料免費下載
    發(fā)表于 10-30 11:11 ?0次下載
    一種<b class='flag-5'>單片機</b><b class='flag-5'>多</b><b class='flag-5'>機</b>通信<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    PC單片機實時通信的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《PC單片機實時通信的設(shè)計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-31 09:55 ?3次下載
    PC<b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>多</b><b class='flag-5'>機</b>實時通信的設(shè)計與<b class='flag-5'>實現(xiàn)</b>