多CPU單片機(jī)系統(tǒng)設(shè)計(jì)在社區(qū)安防系統(tǒng)中的應(yīng)用
摘要:本文較為詳細(xì)地介紹基于多CPU的單片機(jī)系統(tǒng)設(shè)計(jì)思想,并給出它在社區(qū)安全防范系統(tǒng)中的應(yīng)用。關(guān)鍵詞:多CPU 安全防范 系統(tǒng)設(shè)計(jì)
概述
隨著人們生活水平的提高和科學(xué)技術(shù)的發(fā)展,安全防范的問(wèn)題引起了越來(lái)越多的關(guān)注。人們?cè)诔惺墁F(xiàn)代文明所帶來(lái)的高效率、快節(jié)奏壓力的同時(shí),都希望能擁有一個(gè)安全、舒適的家庭環(huán)境。因此,越來(lái)越多的安防產(chǎn)品應(yīng)運(yùn)而生,尤其是蓬勃發(fā)展的現(xiàn)代化社區(qū)物業(yè)管理,通過(guò)監(jiān)控網(wǎng)絡(luò)把家庭和社區(qū)值班室緊密地聯(lián)系起來(lái),給人們的生活帶來(lái)了極大的方便。但是,有些社區(qū)監(jiān)控網(wǎng)絡(luò)并不能完全履行其職責(zé),存在一定的安全隱患。主要原因是目前大多數(shù)的監(jiān)控節(jié)點(diǎn)都是采用1個(gè)CPU完成所有的功能,包括掃描各傳輸器模塊狀態(tài)、信息處理、數(shù)據(jù)顯示、報(bào)警、與上位機(jī)通信等等。這無(wú)疑給此CPU帶來(lái)了很大的壓力:一旦出現(xiàn)故障,使得此單片機(jī)不能正常工作,則該監(jiān)控節(jié)點(diǎn)將完全癱瘓,報(bào)警信息將得不到有效的處理。另外,在一些實(shí)時(shí)性要求較高的多任務(wù)系統(tǒng)中,單CPU結(jié)構(gòu)也將顯得力不從心。那么,能否找到一種既簡(jiǎn)單又經(jīng)濟(jì)的解決辦法,把目前服務(wù)器中較為流行的多CPU并行處理的設(shè)計(jì)思想融入到社區(qū)監(jiān)控網(wǎng)絡(luò)中來(lái)呢?答案是肯定的。隨著單片機(jī)技術(shù)的發(fā)展,單片機(jī)的價(jià)格在不斷下降,其價(jià)格甚至比一些常用的接口芯片還要低,這就使多CPU的單片機(jī)系統(tǒng)的成本大大降低。此外,由于采用多CPU的設(shè)計(jì)思想,將使系統(tǒng)在并行處理和實(shí)時(shí)采集數(shù)據(jù)方面具有明顯的優(yōu)勢(shì),能極大地提高系統(tǒng)的穩(wěn)定性和可靠性。尤其是對(duì)一些功能稍微復(fù)雜一點(diǎn)的系統(tǒng),多CPU系統(tǒng)設(shè)計(jì)方法將更能顯示出它的優(yōu)越性。那么,如何實(shí)現(xiàn)多CPU的單片機(jī)系統(tǒng)設(shè)計(jì)呢?本文將在這方面進(jìn)行一些有益的探索。
一、多CPU系統(tǒng)的設(shè)計(jì)原理
顧名思義,多CPU系統(tǒng)就是在1個(gè)系統(tǒng)中含有多個(gè)CPU。每個(gè)CPU獨(dú)立地處理1個(gè)或少量的事務(wù),然后通信某種方法,控制數(shù)據(jù)的合理流動(dòng),以完成設(shè)計(jì)要求的系統(tǒng)。其典型結(jié)構(gòu)如圖1所示。
從圖1中可以看到,多CPU系統(tǒng)中一個(gè)非常重要的問(wèn)題,是如何解決好各CPU之間數(shù)據(jù)的合理流動(dòng)問(wèn)題,以下是幾種常用的方法。
1.利用雙口RAM實(shí)現(xiàn)CPU之間的通信
雙口RAM是一種高速的并行傳輸芯片,是實(shí)現(xiàn)CPU之間通信的一種簡(jiǎn)便有效的方法。常用的CMOS雙口RAM有IDT7132、IDT7142等型號(hào)。IDT7132和6116類(lèi)似,都是CMOS靜態(tài)RAM,存儲(chǔ)容量均為2KB。不同點(diǎn)在于IDT7132有兩套I/O口,并有一套競(jìng)爭(zhēng)裁決電路。因此,IDT7132內(nèi)部的2KB存儲(chǔ)器可以通過(guò)左右兩邊的任一組I/O口進(jìn)行全異步的存儲(chǔ)器讀寫(xiě)操作,能方便地實(shí)現(xiàn)CPU之間的數(shù)據(jù)交換。采用雙口RAM實(shí)現(xiàn)多CPU系統(tǒng)的示意圖如圖2所示。
利用這種方法可以實(shí)現(xiàn)數(shù)據(jù)的高速傳輸。CPU對(duì)IDT7132的讀寫(xiě)時(shí)間小于120ns,通常為幾十ns。當(dāng)工作電源為+5V時(shí),其讀寫(xiě)的最大功耗為325mW,而在維持工作時(shí)最大功耗僅為5mW。另外,由于雙口RAM是一種通用芯片,因此,它在選擇與CPU接口時(shí)具有較大的靈活性。不過(guò)這種方法也會(huì)增加電路設(shè)計(jì)的難度和成本。
[1] [2] [3]