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

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

 

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

 

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

 

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

 

作為一種通用性強、功能齊全的自動識別控制系統(tǒng),應該具有眾多組成要素。下面我們就以一個4門門禁控制器為例來說明,它的功能模塊組成如下:

 

4路開門繼電器控制電路+1路報警繼電器控制電路

 

4路門位置信號偵測電路+4路開門按鈕信號偵測電路+4路防破壞信號偵測電路

 

4路開關量輸入電路+4路開關量輸出電路

 

8路WIGEN信號譯碼電路(用于接8個WIGEN讀卡器)

 

2路ABA信號譯碼電路與2路鍵盤仿真信號電路(用于接2個ABA讀卡器或2個鍵盤仿真讀卡器)

 

1路TTL232/RS232信號譯碼電路(用于接1個TTL232/RS232讀卡器)

 

1路RS485信號控制電路(用于連接多達32個RS485方式的讀卡器)

 

1路設備ID號設置撥斷開關

 

時鐘芯片控制電路

 

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

 

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

 

通訊電路(用于和上位機進行通訊)

 

2、幾種主控設計方案的比較

 

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

 

2.1 傳統(tǒng)形式

 

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

 

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

 

2.2 ARM+CPLD

 

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

 

CPLD是復雜可編程邏輯陣列的簡稱,它具有口線多、速度快、可編程、純硬件電路等特點。

 

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

 

2.3 多CPU系統(tǒng)

 

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

 

正如軟件可由實時多任務操作系統(tǒng)RTOS來實現一樣,硬件一樣可用多CPU組成的系統(tǒng)來實現。

 

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

 

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

 

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

 

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

 

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

 

3.2 FM3808的特點

 

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

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

 

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

 

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

 

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

 

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

 

4.2 FM24C16的特點

 

針對自定串行通訊協議存在的問題,我們設想若是在單片機之間增加1個數據緩沖器,大批數據先寫入緩沖區(qū),然后再讓對方去取,各個單片機對數據緩沖器都是主控模式,這樣必然會大大提高通信效率。不選擇EEPROM是因為其讀寫次數有限且速度慢,而串行數據緩沖的RAM不但難以買到而且價格很高。移位寄存器也可以做數據緩沖器,但目前容量最大的也只128位,因為是“先進先出”結構,所以不管傳遞數據多少,接收方必須移完整個寄存器,靈活性差而且大容量的移位寄存器也是少見難買的。

 

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

結論:

 

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。