CPU單片機系統設計在社區安防系統中的應用
隨著(zhù)人們生活水平的提高和科學(xué)技術(shù)的發(fā)展,安全防范的問(wèn)題引起了越來(lái)越多的關(guān)注。人們在承受現代文明所帶來(lái)的高效率、快節奏壓力的同時(shí),都希望能擁有一個(gè)安全、舒適的家庭環(huán)境。因此,越來(lái)越多的安防產(chǎn)品應運而生,尤其是蓬勃發(fā)展的現代化社區物業(yè)管理,通過(guò)監控網(wǎng)絡(luò )把家庭和社區值班室緊密地聯(lián)系起來(lái),給人們的生活帶來(lái)了極大的方便。但是,有些社區監控網(wǎng)絡(luò )并不能完全履行其職責,存在一定的安全隱患。主要原因是目前大多數的監控節點(diǎn)都是采用1個(gè)CPU完成所有的功能,包括掃描各傳輸器模塊狀態(tài)、信息處理、數據顯示、報警、與上位機通信等等。這無(wú)疑給此CPU帶來(lái)了很大的壓力:一旦出現故障,使得此單片機不能正常工作,則該監控節點(diǎn)將完全癱瘓,報警信息將得不到有效的處理。另外,在一些實(shí)時(shí)性要求較高的多任務(wù)系統中,單CPU結構也將顯得力不從心。那么,能否找到一種既簡(jiǎn)單又經(jīng)濟的解決辦法,把目前服務(wù)器中較為流行的多CPU并行處理的設計思想融入到社區監控網(wǎng)絡(luò )中來(lái)呢?答案是肯定的。隨著(zhù)單片機技術(shù)的發(fā)展,單片機的價(jià)格在不斷下降,其價(jià)格甚至比一些常用的接口芯片還要低,這就使多CPU的單片機系統的成本大大降低。此外,由于采用多CPU的設計思想,將使系統在并行處理和實(shí)時(shí)采集數據方面具有明顯的優(yōu)勢,能極大地提高系統的穩定性和可靠性。尤其是對一些功能稍微復雜一點(diǎn)的系統,多CPU系統設計方法將更能顯示出它的優(yōu)越性。那么,如何實(shí)現多CPU的單片機系統設計呢?本文將在這方面進(jìn)行一些有益的探索。
本文引用地址:http://dyxdggzs.com/article/201706/351934.htm一、多CPU系統的設計原理
顧名思義,多CPU系統就是在1個(gè)系統中含有多個(gè)CPU。每個(gè)CPU獨立地處理1個(gè)或少量的事務(wù),然后通信某種方法,控制數據的合理流動(dòng),以完成設計要求的系統。其典型結構如圖1所示。
從圖1中可以看到,多CPU系統中一個(gè)非常重要的問(wèn)題,是如何解決好各CPU之間數據的合理流動(dòng)問(wèn)題,以下是幾種常用的方法。
1.利用雙口RAM實(shí)現CPU之間的通信
雙口RAM是一種高速的并行傳輸芯片,是實(shí)現CPU之間通信的一種簡(jiǎn)便有效的方法。常用的CMOS雙口RAM有IDT7132、IDT7142等型號。IDT7132和6116類(lèi)似,都是CMOS靜態(tài)RAM,存儲容量均為2KB。不同點(diǎn)在于IDT7132有兩套I/O口,并有一套競爭裁決電路。因此,IDT7132內部的2KB存儲器可以通過(guò)左右兩邊的任一組I/O口進(jìn)行全異步的存儲器讀寫(xiě)操作,能方便地實(shí)現CPU之間的數據交換。采用雙口RAM實(shí)現多CPU系統的示意圖如圖2所示。
利用這種方法可以實(shí)現數據的高速傳輸。CPU對IDT7132的讀寫(xiě)時(shí)間小于120ns,通常為幾十ns。當工作電源為+5V時(shí),其讀寫(xiě)的最大功耗為325mW,而在維持工作時(shí)最大功耗僅為5mW。另外,由于雙口RAM是一種通用芯片,因此,它在選擇與CPU接口時(shí)具有較大的靈活性。不過(guò)這種方法也會(huì )增加電路設計的難度和成本。
2.利用共享內存的方法實(shí)現CPU之間的通信
這種方法與前面的方法類(lèi)似。所不同的是,前一種方法是利用雙口RAM的一套競爭裁決電路實(shí)現對RAM的訪(fǎng)問(wèn),而這里是利用不同的時(shí)序實(shí)現共享內存的。LON網(wǎng)絡(luò )中的Neuron節點(diǎn)芯片設計都是采用這種方法的,其典型結構如圖3所示。
在Neuron芯片中,每個(gè)CPU最小周期等于3個(gè)系統周期;每個(gè)系統時(shí)鐘周期等于2個(gè)輸入鐘周期;3個(gè)CPU的最小周期分別間隔1個(gè)系統鐘周期。這樣,每個(gè)CPU在1個(gè)指令周期內部能訪(fǎng)問(wèn)存儲區和ALU一次。系統對3個(gè)CPU采用了管道技術(shù),在不影響性能的情況下降低硬件的需求。3個(gè)CPU可并行工作,不會(huì )造成耗時(shí)中斷和上下文切換。
利用這種方法也能夠實(shí)現CPU之間數據的高速傳輸,但是,它必須制成專(zhuān)用芯片,把CPU和RAM等元件封裝在一起。因此,這種方法比較適合于特定的工業(yè)場(chǎng)合。
3.利用總線(xiàn)的方法實(shí)現CPU之間的通信
隨著(zhù)總線(xiàn)技術(shù)的發(fā)展,使得多主多從的單片機系統設計變得越來(lái)越簡(jiǎn)單。設計者只須通過(guò)接口芯片就可以將CPU掛到總線(xiàn)上去,實(shí)現CPU之間的通信,其典型的結構如圖4所示。
這種方法具有結構簡(jiǎn)單、設計靈活、經(jīng)濟實(shí)惠的特點(diǎn)。在系統數據量不大,速度要求不是很高的情況下,應該是一種很好的選擇方法。值得一提的是,在這種方法中,I2C總線(xiàn)以其結構簡(jiǎn)單、設計靈活、易于擴展和開(kāi)發(fā)周期短的特點(diǎn),越來(lái)越受到設計者的青睞。尤其目前很多單片機都帶有I2C接口,不用接口芯片就中以把CPU直接掛到總線(xiàn)上,使得電路設計更加簡(jiǎn)單、經(jīng)濟。本文的多CPU系統也是基于I2C總線(xiàn)的一種安防系統。
二、基于多CPU下的社區安防系統的設計方法
1.系統的拓撲結構
系統的拓撲圖如圖5所示。該系統實(shí)際上是一個(gè)3級分布式測控系統。第1級由1臺安裝在社會(huì )值班室的PC機組成,是整個(gè)系統的核心部分。它主要負責向各家庭數據終端(HDT)發(fā)出各種命令,接收返回信息,并進(jìn)行數據庫管理和報表統計等工作。第2級由安裝在各家庭的家庭數據終端組成,相當于1個(gè)監控節點(diǎn)。它主要負責接收PC機發(fā)來(lái)的命令和向PC機發(fā)送各檢測模塊的檢測信息,并進(jìn)行顯示、報警、存儲等信息的處理。第3級由安裝在家庭各房間的各種模塊組成,包括煙感、紅外等報警模塊,水表、電表等數字模塊和家電控制的控制模塊。它主要負責檢測和控制各控制對象的狀態(tài)。
2.家庭數據終端(HDT)的功能
家庭數據終端是安裝在家庭內部的1個(gè)監控節點(diǎn),主要執行以下任務(wù):(1)接收PC機發(fā)來(lái)的命令;(2)信息顯示;(3)鍵盤(pán)掃描;(4)聲光報警;(5)生成家庭狀態(tài)字節,并向PC機發(fā)送各種狀態(tài)信息;(6)報警信息儲存,即“黑匣子”功能;(7)掃描各傳感器模塊狀態(tài)。另外,HDT還應個(gè)有可添加擴展模塊的功能。這些功能當然可以用1個(gè)CPU實(shí)現,但將給CPU帶來(lái)較大的工作量,降低了系統的安全性和可靠性。因此,我們采用多CPU的思想進(jìn)行系統的設計。
根據HDT的功能特點(diǎn),將任務(wù)分成3個(gè)部分,分別由3個(gè)CPU來(lái)完成。各CPU之間采用I2C總線(xiàn)進(jìn)行通信,其結構如圖6所示。CPU-1專(zhuān)門(mén)用于與PC機的通信,包括:(1)接收PC機發(fā)來(lái)的命令,并傳送給其他CPU;(2)生成家庭狀態(tài)字節,向PC機返回信息;(3)進(jìn)行聲光報警。CPU-2專(zhuān)門(mén)用于與第3級各模塊的通信,包括:(1)掃描各傳感器模塊的報警狀態(tài),并及時(shí)通知其他CPU;(2)接收其他CPU傳送過(guò)來(lái)的命令,對有關(guān)控制對象進(jìn)行操作;(3)向AT24C64中存儲報警記錄,包括報警類(lèi)型和報警時(shí)間,實(shí)現“黑匣子”功能。CPU-3專(zhuān)門(mén)用于信息顯示和鍵盤(pán)掃描,包括:(1)接收PCF8583的數據,顯示時(shí)間;(2)接收CPU-2傳送來(lái)的信息,顯示報警類(lèi)型或故障位置;(3)掃描鍵盤(pán),并向其他CPU發(fā)送命令,完成布防、撤防、修改密碼等操作功能。在3個(gè)CPU之間,采用I2C總線(xiàn)進(jìn)行連接;CPU選用Philips公司生產(chǎn)的P87LPC76X芯片。P87LPC76X芯片是一種20腳封裝的單片機,適合于許多要求高集成、低成本的場(chǎng)合,具有較高的性能價(jià)格比,是Philips小型封裝系列中的一員。它在提供很多新特征的同時(shí),提供了I2C總線(xiàn)的通信接口。另外,它還提供了3個(gè)寄存器和中斷控制位以實(shí)現對I2C總線(xiàn)的操作,因此,可以很容易地利用它的I2C接口實(shí)現多CPU的設計思想。
結束語(yǔ)
隨著(zhù)單片機技術(shù)的迅速發(fā)展,封裝小、功能強、價(jià)格低的單片機越來(lái)越多地被開(kāi)發(fā)出來(lái)。單片機所執行的功能也會(huì )越來(lái)越專(zhuān)一,越來(lái)越簡(jiǎn)單。這將為多CPU系統的設計提供一個(gè)堅實(shí)的基礎,也必然會(huì )提高系統的安全性和可靠性。
評論