《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于多個(gè)CPU方式的自動(dòng)識(shí)別控制系統(tǒng)
基于多個(gè)CPU方式的自動(dòng)識(shí)別控制系統(tǒng)
摘要: 自動(dòng)識(shí)別技術(shù)是將數(shù)據(jù)自動(dòng)識(shí)讀、自動(dòng)輸入計(jì)算機(jī)的一種方法或手段。它是包括條碼技術(shù)、磁條(卡)技術(shù)、光學(xué)字符識(shí)別、系統(tǒng)集成化、射頻技術(shù)、聲音識(shí)別及視覺(jué)識(shí)別等集計(jì)算機(jī)、光、機(jī)電、通信技術(shù)為一體的綜合性高新科
Abstract:
Key words :

自動(dòng)識(shí)別技術(shù)是將數(shù)據(jù)自動(dòng)識(shí)讀、自動(dòng)輸入計(jì)算機(jī)的一種方法或手段。它是包括條碼技術(shù)、磁條(卡)技術(shù)、光學(xué)字符識(shí)別、系統(tǒng)集成化、射頻技術(shù)、聲音識(shí)別及視覺(jué)識(shí)別等集計(jì)算機(jī)、光、機(jī)電、通信技術(shù)為一體的綜合性高新科學(xué)技術(shù)。自動(dòng)識(shí)別技術(shù)提供了快速、準(zhǔn)確地進(jìn)行數(shù)據(jù)采集輸入的有效手段,解決了手工數(shù)據(jù)輸入速度慢、錯(cuò)誤率高等造成的“瓶頸”難題,因而自動(dòng)識(shí)別技術(shù)作為一種革命性的高新技術(shù),日益為人們所接受。

 

自動(dòng)識(shí)別控制系統(tǒng)則是集微機(jī)自動(dòng)識(shí)別技術(shù)和現(xiàn)代安全管理與控制措施為一體的系統(tǒng),它涉及電子,機(jī)械,光學(xué),計(jì)算機(jī)技術(shù),通訊技術(shù),生物技術(shù)等諸多新技術(shù)。是解決重要部門(mén)出入口實(shí)現(xiàn)安全防范管理的有效措施。包括出入口門(mén)禁安全管理系統(tǒng)、電梯控制系統(tǒng)、車(chē)輛進(jìn)出控制系統(tǒng)、物業(yè)消防監(jiān)控系統(tǒng)、保安巡檢管理系統(tǒng)等,適用各種機(jī)要部門(mén),如銀行、賓館、機(jī)房、軍械庫(kù)、機(jī)要室、辦公間,智能化小區(qū),工廠等。

 

自動(dòng)識(shí)別控制系統(tǒng)在工作環(huán)境安全、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。因此設(shè)計(jì)一款性能價(jià)格比較高的產(chǎn)品將有著廣泛的應(yīng)用前景。

 

1、自動(dòng)識(shí)別控制系統(tǒng)的功能組成

 

作為一種通用性強(qiáng)、功能齊全的自動(dòng)識(shí)別控制系統(tǒng),應(yīng)該具有眾多組成要素。下面我們就以一個(gè)4門(mén)門(mén)禁控制器為例來(lái)說(shuō)明,它的功能模塊組成如下:

 

4路開(kāi)門(mén)繼電器控制電路+1路報(bào)警繼電器控制電路

 

4路門(mén)位置信號(hào)偵測(cè)電路+4路開(kāi)門(mén)按鈕信號(hào)偵測(cè)電路+4路防破壞信號(hào)偵測(cè)電路

 

4路開(kāi)關(guān)量輸入電路+4路開(kāi)關(guān)量輸出電路

 

8路WIGEN信號(hào)譯碼電路(用于接8個(gè)WIGEN讀卡器)

 

2路ABA信號(hào)譯碼電路與2路鍵盤(pán)仿真信號(hào)電路(用于接2個(gè)ABA讀卡器或2個(gè)鍵盤(pán)仿真讀卡器)

 

1路TTL232/RS232信號(hào)譯碼電路(用于接1個(gè)TTL232/RS232讀卡器)

 

1路RS485信號(hào)控制電路(用于連接多達(dá)32個(gè)RS485方式的讀卡器)

 

1路設(shè)備ID號(hào)設(shè)置撥斷開(kāi)關(guān)

 

時(shí)鐘芯片控制電路

 

存儲(chǔ)芯片控制電路(用于存儲(chǔ)用戶(hù)信息和事件信息)

 

系統(tǒng)監(jiān)控電路

 

通訊電路(用于和上位機(jī)進(jìn)行通訊)

 

2、幾種主控設(shè)計(jì)方案的比較

 

隨著電子技術(shù)的發(fā)展,各種CPU、存儲(chǔ)芯片、系統(tǒng)擴(kuò)展芯片、時(shí)鐘芯片等層出不窮,在給設(shè)計(jì)人員有了更多選擇的同時(shí),也帶來(lái)了另一個(gè)問(wèn)題,就是該如何選擇一種適合于自身的一種方案。這個(gè)方案不但要能實(shí)現(xiàn)系統(tǒng)需求的基本功能,還要在可靠性、開(kāi)發(fā)難易程度、芯片供貨情況以及價(jià)格等方面都要做到適宜。針對(duì)上面列出的4門(mén)控制器的功能特點(diǎn),我們可做以下幾個(gè)方案:

 

2.1 傳統(tǒng)形式

 

這是一種為廣大嵌入式系統(tǒng)設(shè)計(jì)人員熟知的形式,在很多教科書(shū)及應(yīng)用系統(tǒng)中有著詳細(xì)的介紹。

 

在主控方面,一般采用以應(yīng)用最廣的8051+EPROM程序存儲(chǔ)器或帶有大容量FLASH ROM 的CPU如SST89C58或P89C51RD2在系統(tǒng)擴(kuò)展方面,2片74HC138用于譯碼,1片74HC373用于地位地址鎖存,1片74HC245用于總線(xiàn)驅(qū)動(dòng),3片74HC377用于信號(hào)輸出,4片74HC244用于信號(hào)輸入存儲(chǔ)方面,一片628128用于存儲(chǔ)事件信息和外部變量,一片28SF040或39SF040用于存儲(chǔ)各種有效卡片、非法卡片信息時(shí)鐘方面,采用一片串行方式的DS1302或并行數(shù)據(jù)方式的DS12C887通訊方面,2片485芯片,一片用于和上位機(jī)通訊,一片用于和RS485讀卡器通訊這種方式具有芯片價(jià)格較便宜,供貨渠道廣泛,編程調(diào)試較容易等優(yōu)點(diǎn),但其體積龐大,芯片多,硬件故障點(diǎn)增多,而且由于任務(wù)眾多,導(dǎo)致CPU工作繁忙,軟件中的各種中斷處理容易干擾,雖然現(xiàn)在已有基于8051的實(shí)時(shí)多任務(wù)操作系統(tǒng)可以解決此問(wèn)題,但是這要求設(shè)計(jì)者一方面要選擇價(jià)格相對(duì)高的CPU,另一方面也要學(xué)習(xí)消化RTX51,而將其正確的應(yīng)用到系統(tǒng)中去需要更高的軟件技巧和更多的調(diào)試時(shí)間。否則軟件的可靠性無(wú)法保證。這對(duì)于產(chǎn)品的快速市場(chǎng)化是不利的。

 

2.2 ARM+CPLD

 

ARM芯片及CPLD芯片是最近幾年流行起來(lái)的嵌入式系統(tǒng)的構(gòu)成部件,他們將可能成為后PC時(shí)代嵌入式系統(tǒng)設(shè)計(jì)的首選。ARM是一款32位的精簡(jiǎn)指令集(RISC)處理器架構(gòu),以其高性能、低功耗、低成本占有市場(chǎng)。 以PHILIPS的LPC2104為例,它具有128K 片內(nèi)Flash程序存儲(chǔ)器、最多64K靜態(tài)RAM、雙UART、兩個(gè)定時(shí)器、具有4路捕獲/比較通道、多達(dá)6路輸出的PWM單元、實(shí)時(shí)時(shí)鐘、看門(mén)狗定時(shí)器、通用I/O口、CPU操作頻率可達(dá)60MHz等特點(diǎn)。

 

CPLD是復(fù)雜可編程邏輯陣列的簡(jiǎn)稱(chēng),它具有口線(xiàn)多、速度快、可編程、純硬件電路等特點(diǎn)。

 

根據(jù)我們提出的4門(mén)控制器的功能,一片ARM及一片CPLD,加上少許外圍電路,即可實(shí)現(xiàn)。這樣不僅使系統(tǒng)板的體積大大減少,而且增加了可靠性,這是其他方式所不能比擬的。但是,由于ARM及CPLD均是新興的技術(shù),對(duì)于一些基于8051單片機(jī)經(jīng)驗(yàn)豐富的設(shè)計(jì)者而言,卻需要有一個(gè)不短的時(shí)間去學(xué)習(xí)消化實(shí)踐,另外,有關(guān)ARM及CPLD的開(kāi)發(fā)工具,如仿真器、集成開(kāi)發(fā)環(huán)境IDE都在一個(gè)比較高的價(jià)位上,且學(xué)習(xí)及使用都比8051難多了。這不僅對(duì)產(chǎn)品的快速市場(chǎng)化不利,而且也不適合對(duì)某些場(chǎng)合靈活多變的設(shè)計(jì)。而且,目前這兩種芯片的價(jià)格較8051組成的系統(tǒng)價(jià)格仍偏高,這也不太適合應(yīng)用于本文提出的通用控制器。

 

2.3 多CPU系統(tǒng)

 

在經(jīng)過(guò)對(duì)上述兩種方案的比較后,是否還有其他某種使用芯片數(shù)量最少、價(jià)格最便宜、功能最齊全、設(shè)計(jì)靈活多變的方案呢?答案是肯定的。那就是采用多CPU系統(tǒng)?;?051芯片如AT89x52的廣泛使用,使單片機(jī)的價(jià)格大大下降。目前,89X52的市場(chǎng)零售價(jià)已經(jīng)低于8255、8279、8253、8250等專(zhuān)用接口芯片中的任何一種;而89X52的功能實(shí)際上遠(yuǎn)遠(yuǎn)超過(guò)以上芯片。因此,如把89x52作為接口芯片使用,在經(jīng)濟(jì)上是合算的。這樣就解決了系統(tǒng)擴(kuò)展芯片眾多的缺點(diǎn)。一片89x52有32個(gè)I/O口,均可做輸入輸出,且有3個(gè)定時(shí)器和2個(gè)外部中斷,完全可以解決對(duì)ABA/WIGEN/232不同串行信號(hào)的處理。

 

正如軟件可由實(shí)時(shí)多任務(wù)操作系統(tǒng)RTOS來(lái)實(shí)現(xiàn)一樣,硬件一樣可用多CPU組成的系統(tǒng)來(lái)實(shí)現(xiàn)。

 

這樣,本文提出得4門(mén)控制器將由3片CPU共同組成,它具有以下特點(diǎn) 芯片數(shù)目少。除了存儲(chǔ)芯片和時(shí)鐘芯片,基本只剩下3塊89S52 CPU用89S52價(jià)格低的特點(diǎn),充當(dāng)外設(shè)。使用靈活??筛鶕?jù)情況減少某個(gè)CPU或更改其程序完成不同的功能原來(lái)寫(xiě)在一個(gè)CPU中的程序分離,使每個(gè)芯片基本上在8K之內(nèi)完成,也就是都可選擇89S52,不用采用昂貴的大容量FLASH 8051內(nèi)核的 DSP指令和JAVA引擎 href="http://www.ednchina.com/ART_14353_20036_OA_20177762.HTM">CPU。加了看門(mén)狗的主CPU可以實(shí)時(shí)監(jiān)控另外兩個(gè)CPU的工作是否正常各CPU各司其職。提高了與上位機(jī)通訊的速度及準(zhǔn)確性,提高了讀寫(xiě)存儲(chǔ)的速度以及訪(fǎng)問(wèn)FALSH的時(shí)間。由于將個(gè)任務(wù)分解,所以每個(gè)CPU所用的寄存器較少,均可以使用89S52自帶的256字節(jié)RAM即可,不必使用XDATA訪(fǎng)問(wèn)RAM 中的CPU ,提高了各CPU執(zhí)行的速度。

 

3、選擇FM3808為多功能存儲(chǔ)、時(shí)鐘、系統(tǒng)監(jiān)控芯片

 

3.1 傳統(tǒng)方式的說(shuō)明

 

在確立了主控方式之后,要選擇存儲(chǔ)、時(shí)鐘及系統(tǒng)監(jiān)控芯片,我們先來(lái)分析以往芯片的選擇正如3.1種所描述的,除了選擇具有512K BYTES的FLASH ROM 芯片作為卡號(hào)存儲(chǔ)芯片外(因?yàn)闊o(wú)論有效無(wú)效卡號(hào),其更改頻率是不高的,采用此芯片不會(huì)影響芯片),作為常用的信息存儲(chǔ)及外部寄存器芯片,一般采用SRAM如628128,雖然此芯片目前價(jià)格很便宜,但由于系統(tǒng)掉電后,其中的所有信息消失,所以必須加掉電保護(hù)電路和電池。而無(wú)論采用專(zhuān)用的掉電保護(hù)芯片和采用分立元件組成的對(duì)電路,都不能100%的保證數(shù)據(jù)部丟失,尤其是在電源不穩(wěn)定和干擾嚴(yán)重的環(huán)境下。

 

時(shí)鐘有眾多選擇,如DS1302及12887,但價(jià)格不低監(jiān)控芯片也有很多種,如X25045,它集成了看門(mén)狗、電壓監(jiān)測(cè)、可靠復(fù)位及EEPROM等特點(diǎn),但價(jià)格也不低。

 

3.2 FM3808的特點(diǎn)

 

為了使系統(tǒng)具有更高的可靠性以及小型化,我們將采用RAMTRON的新型多功能芯片: FM3808,一種將掉電非遺失、實(shí)時(shí)時(shí)鐘、系統(tǒng)監(jiān)控于一體的高性能芯片。它具有以下特點(diǎn):*32K/8 BIT 非易失RAM*高達(dá)100億次的讀寫(xiě)次數(shù)*寫(xiě)無(wú)延時(shí)*數(shù)據(jù)可保存10年*內(nèi)置低電壓保護(hù)*實(shí)時(shí)時(shí)鐘*后備電源切換*可編程時(shí)鐘日歷報(bào)警*可編程看門(mén)狗定時(shí)器*電源監(jiān)測(cè)*可編程中斷輸出*可編程CPU復(fù)位或中斷*5V工作電壓*后備電壓可低至5V*動(dòng)態(tài)電流25mA*時(shí)鐘后備電流1uA

4、選擇FM24C16作為多CPU通訊中樞

 

在確立以多CPU方式作為系統(tǒng)主控方案后,需要解決一個(gè)最關(guān)鍵的問(wèn)題,那就是CPU之間的通訊。讓我們先來(lái)比較一下幾種數(shù)據(jù)交換的優(yōu)缺點(diǎn)。

 

4.1 幾種單片機(jī)之間的通信方式的可行性分析

 

采用硬件UART進(jìn)行異步串行通信。這是一種占用口線(xiàn)少,有效、可靠的通信方式;但在本文提出的4門(mén)控制器方式中,一個(gè)CPU的UART要完成與上位機(jī)的通訊,一個(gè)CPU的UART負(fù)責(zé)與485讀卡器或232讀卡器之間的通訊,可見(jiàn)硬件資源是不夠的。這種方法不適合本例。

 

采用片內(nèi)SPI接口或2C總線(xiàn)模塊串行通信形式。SPI/I2C接口具有硬件簡(jiǎn)單、軟件編程容易等特點(diǎn),但目前大多數(shù)單片機(jī)不具備硬件SPI/I2C模塊。特別是我們采用的通用廉價(jià)的89X52系列單片機(jī)。這種方法也不可行??趯?duì)口并行通信,利用單片機(jī)的口線(xiàn)直接相連,加上1~2條握手信號(hào)線(xiàn)。這種方式的特點(diǎn)是通信速度快,1次可以傳輸4位或8位,甚至更多,但是并行RAM需要占用大量的口線(xiàn)(數(shù)據(jù)線(xiàn)+地址線(xiàn)+讀寫(xiě)線(xiàn)+片選線(xiàn)+握手線(xiàn)),一般在16條以上。這是一個(gè)讓人望而生畏的數(shù)字,而且會(huì)大大增加PCB面積并給布線(xiàn)帶來(lái)一定的困難。這有悖于將CPU口線(xiàn)用于擴(kuò)展口線(xiàn)的特點(diǎn)。使實(shí)際需要的口線(xiàn)不夠用,因此也是不可行的。利用雙口RAM作為緩沖器通信。這種方式的最大特點(diǎn)就是通信速度快,兩邊都可以直接用讀寫(xiě)存儲(chǔ)器的指令直接操作;但這種方式需要大量的口線(xiàn),而且雙口RAM的價(jià)格很高。同樣不予考慮。利用自定串行通訊協(xié)議在CPU間進(jìn)行通訊。這是在FM24C16未面世以來(lái),最符合本文提出的4門(mén)控制器的一種方式,且已正常應(yīng)用于實(shí)際系統(tǒng)當(dāng)中。雖然可以滿(mǎn)足本系統(tǒng)的需要,占用口線(xiàn)少,使用靈活,但調(diào)試相當(dāng)繁瑣,因?yàn)椴坏_解決好中斷的請(qǐng)求問(wèn)題,還要精心調(diào)試時(shí)序以及通訊協(xié)議,尤其是在3個(gè)CPU間的通訊當(dāng)中,單片機(jī)要傳遞的每一位或每一個(gè)字節(jié)做出響應(yīng),通信數(shù)據(jù)量較大時(shí)會(huì)耗費(fèi)大量的軟件資源,這在一些實(shí)時(shí)性要求高的地方是不允許的。況且沒(méi)個(gè)CPU都有各自的任務(wù),如果將太多的軟件資源用于數(shù)據(jù)交換,則失去了采用多CPU方案的意義。

 

4.2 FM24C16的特點(diǎn)

 

針對(duì)自定串行通訊協(xié)議存在的問(wèn)題,我們?cè)O(shè)想若是在單片機(jī)之間增加1個(gè)數(shù)據(jù)緩沖器,大批數(shù)據(jù)先寫(xiě)入緩沖區(qū),然后再讓對(duì)方去取,各個(gè)單片機(jī)對(duì)數(shù)據(jù)緩沖器都是主控模式,這樣必然會(huì)大大提高通信效率。不選擇EEPROM是因?yàn)槠渥x寫(xiě)次數(shù)有限且速度慢,而串行數(shù)據(jù)緩沖的RAM不但難以買(mǎi)到而且價(jià)格很高。移位寄存器也可以做數(shù)據(jù)緩沖器,但目前容量最大的也只128位,因?yàn)槭?ldquo;先進(jìn)先出”結(jié)構(gòu),所以不管傳遞數(shù)據(jù)多少,接收方必須移完整個(gè)寄存器,靈活性差而且大容量的移位寄存器也是少見(jiàn)難買(mǎi)的。

 

而隨著美國(guó)Ramtran公司一種被稱(chēng)為“鐵電存儲(chǔ)器”( 簡(jiǎn)稱(chēng)FRAM)的新型非易失性存儲(chǔ)器件的推出,給我們帶來(lái)了解決方法。其中的FM24C16應(yīng)用于本文的4門(mén)控制器就再合適不過(guò)了。不需寫(xiě)入時(shí)間、讀寫(xiě)次數(shù)無(wú)限沒(méi)有分布結(jié)構(gòu)可以連續(xù)寫(xiě)放的優(yōu)點(diǎn),具有RAM與EEPROM的雙得特性?xún)r(jià)格較低因此我們可以將3個(gè)CPU 與1片F(xiàn)RAM接成多主-從的I2C總線(xiàn)方式,加上幾條握手線(xiàn),軟件方面解決好I2C多主-從的控制沖突與通信協(xié)議問(wèn)題,即可實(shí)現(xiàn)簡(jiǎn)單、高效、可靠的通信。

結(jié)論:

 

本文給出的基于多cpu方式的4門(mén)控制器,一方面充分利用鐵電存儲(chǔ)器FM3808非易失RAM及融合時(shí)鐘、監(jiān)控與一體的多功能特點(diǎn),另一方面將FM24c16的讀寫(xiě)速度快、讀寫(xiě)次數(shù)巨大的特點(diǎn)完美的嵌入到3個(gè)cpu間的通訊當(dāng)中,實(shí)現(xiàn)了多cpu系統(tǒng)使用靈活、編程方便、資源豐富的多快好省的優(yōu)越性。

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