鐵電存儲(chǔ)器在多CPU自動(dòng)識(shí)別控制系統(tǒng)中的應(yīng)用
1、自動(dòng)識(shí)別控制系統(tǒng)簡(jiǎn)介
自動(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ù)。是解決重要部門出入口實(shí)現(xiàn)安全防范管理的有效措施。包括出入口門禁安全管理系統(tǒng)、電梯控制系統(tǒng)、車輛進(jìn)出控制系統(tǒng)、物業(yè)消防監(jiān)控系統(tǒng)、保安巡檢管理系統(tǒng)等,適用各種機(jī)要部門,如銀行、賓館、機(jī)房、軍械庫(kù)、機(jī)要室、辦公間,智能化小區(qū),工廠等。
自動(dòng)識(shí)別控制系統(tǒng)在工作環(huán)境安全、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。因此設(shè)計(jì)一款性能價(jià)格比較高的產(chǎn)品將有著廣泛的應(yīng)用前景。
2、自動(dòng)識(shí)別控制系統(tǒng)的功能組成
作為一種通用性強(qiáng)、功能齊全 的自動(dòng)識(shí)別控制系統(tǒng),應(yīng)該具有眾多組成要素。下面我們就以一個(gè)4門門禁控制器為例來(lái)說(shuō)明,它的功能模塊組成如下:
4路開(kāi)門繼電器控制電路+1路報(bào)警繼電器控制電路
4路門位置信號(hào)偵測(cè)電路+4路開(kāi)門按鈕信號(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路鍵盤仿真信號(hào)電路(用于接2個(gè)ABA讀卡器或2個(gè)鍵盤仿真讀卡器)
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ǔ)用戶信息和事件信息)
系統(tǒng)監(jiān)控電路
通訊電路(用于和上位機(jī)進(jìn)行通訊)
3、幾種主控設(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門控制器的功能特點(diǎn),我們可做以下幾個(gè)方案:
3.1.傳統(tǒng)形式
這是一種為廣大嵌入式系統(tǒng)設(shè)計(jì)人員熟知的形式,在很多教科書及應(yīng)用系統(tǒng)中有著詳細(xì)的介紹。
在主控方面,一般采用以應(yīng)用最廣的8051+EPROM程序存儲(chǔ)器或帶有大容量FLASH ROM 的CPU如SST89C58或P89C51RD2
在系統(tǒng)擴(kuò)展方面,2片74HC138用于譯碼,1片74HC373用于地位地址鎖存,1片74HC245用于總線驅(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)化是不利的。
3.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í)鐘、看門狗定時(shí)器、通用I/O口、CPU操作頻率可達(dá)60MHz等特點(diǎn)。
CPLD是復(fù)雜可編程邏輯陣列的簡(jiǎn)稱,它具有口線多、速度快、可編程、純硬件電路等特點(diǎn)。
根據(jù)我們提出的4門控制器的功能,一片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)用于本文提出的通用控制器。
3.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等專用接口芯片中的任何一種;而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門控制器將由3片CPU共同組成,它具有以下特點(diǎn) 芯片數(shù)目少。除了存儲(chǔ)芯片和時(shí)鐘芯片,基本只剩下3塊89S52 CPU用89S52價(jià)格低的特點(diǎn),充當(dāng)外設(shè)。使用靈活??筛鶕?jù)情況減少某個(gè)CPU或更改其程序完成不同的功能原來(lái)寫在一個(gè)CPU中的程序分離,使每個(gè)芯片基本上在8K之內(nèi)完成,也就是都可選擇89S52,不用采用昂貴的大容量FLASH 8051內(nèi)核的 CPU。加了看門狗的主CPU可以實(shí)時(shí)監(jiān)控另外兩個(gè)CPU的工作是否正常各CPU各司其職。提高了與上位機(jī)通訊的速度及準(zhǔn)確性,提高了讀寫存儲(chǔ)的速度以及訪問(wèn)FALSH的時(shí)間。由于將個(gè)任務(wù)分解,所以每個(gè)CPU所用的寄存器較少,均可以使用89S52自帶的256字節(jié)RAM即可,不必使用XDATA訪問(wèn)RAM 中的CPU ,提高了各CPU執(zhí)行的速度。
4、選擇FM3808為多功能存儲(chǔ)、時(shí)鐘、系統(tǒng)監(jiān)控芯片
4.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ú)論采用專用的掉電保護(hù)芯片和采用分立元件組成的對(duì)電路,都不能100%的保證數(shù)據(jù)部丟失,尤其是在電源不穩(wěn)定和干擾嚴(yán)重的環(huán)境下。
時(shí)鐘有眾多選擇,如DS1302及12887,但價(jià)格不低監(jiān)控芯片也有很多種,如X25045,它集成了看門狗、電壓監(jiān)測(cè)、可靠復(fù)位及EEPROM等特點(diǎn),但價(jià)格也不低。
4.2. FM3808的特點(diǎn)
為了使系統(tǒng)具有更高的可靠性以及小型化,我們將采用RAMTRON的新型多功能芯片:
FM3808,一種將掉電非遺失、實(shí)時(shí)時(shí)鐘、系統(tǒng)監(jiān)控于一體的高性能芯片。它具有以下特點(diǎn):
32K*8 BIT 非易失RAM
高達(dá)100億次的讀寫次數(shù)
寫無(wú)延時(shí)
數(shù)據(jù)可保存10年
內(nèi)置低電壓保護(hù)
實(shí)時(shí)時(shí)鐘
后備電源切換
可編程時(shí)鐘日歷報(bào)警
可編程看門狗定時(shí)器
電源監(jiān)測(cè)
可編程中斷輸出
可編程CPU復(fù)位或中斷
5V工作電壓
后備電壓可低至5V
動(dòng)態(tài)電流25mA
時(shí)鐘后備電流1uA
5、選擇FM24C16作為多CPU通訊中樞
在確立以多CPU方式作為系統(tǒng)主控方案后,需要解決一個(gè)最關(guān)鍵的問(wèn)題,那就是CPU之間的通訊。讓我們先來(lái)比較一下幾種數(shù)據(jù)交換的優(yōu)缺點(diǎn)。
5.1.幾種單片機(jī)之間的通信方式的可行性分析
采用硬件UART進(jìn)行異步串行通信。這是一種占用口線少,有效、可靠的通信方式;但在本文提出的4門控制器方式中,一個(gè)CPU的UART要完成與上位機(jī)的通訊,一個(gè)CPU的UART負(fù)責(zé)與485讀卡器或232讀卡器之間的通訊,可見(jiàn)硬件資源是不夠的。這種方法不適合本例。
采用片內(nèi)SPI接口或2C總線模塊串行通信形式。SPI/I2C接口具有硬件簡(jiǎn)單、軟件編程容易等特點(diǎn),但目前大多數(shù)單片機(jī)不具備硬件SPI/I2C模塊。特別是我們采用的通用廉價(jià)的89X52系列單片機(jī)。這種方法也不可行。口對(duì)口并行通信,利用單片機(jī)的口線直接相連,加上1~2條握手信號(hào)線。這種方式的特點(diǎn)是通信速度快,1次可以傳輸4位或8位,甚至更多,但是并行RAM需要占用大量的口線(數(shù)據(jù)線+地址線+讀寫線+片選線+握手線),一般在16條以上。這是一個(gè)讓人望而生畏的數(shù)字,而且會(huì)大大增加PCB面積并給布線帶來(lái)一定的困難。這有悖于將CPU口線用于擴(kuò)展口線的特點(diǎn)。使實(shí)際需要的口線不夠用,因此也是不可行的。利用雙口RAM作為緩沖器通信。這種方式的最大特點(diǎn)就是通信速度快,兩邊都可以直接用讀寫存儲(chǔ)器的指令直接操作;但這種方式需要大量的口線,而且雙口RAM的價(jià)格很高。同樣不予考慮。利用自定串行通訊協(xié)議在CPU間進(jìn)行通訊。這是在FM24C16未面世以來(lái),最符合本文提出的4門控制器的一種方式,且已正常應(yīng)用于實(shí)際系統(tǒng)當(dāng)中。雖然可以滿足本系統(tǒng)的需要,占用口線少,使用靈活,但調(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方案的意義。
5.2.FM24C16的特點(diǎn)
針對(duì)自定串行通訊協(xié)議存在的問(wèn)題,我們?cè)O(shè)想若是在單片機(jī)之間增加1個(gè)數(shù)據(jù)緩沖器,大批數(shù)據(jù)先寫入緩沖區(qū),然后再讓對(duì)方去取, 各個(gè)單片機(jī)對(duì)數(shù)據(jù)緩沖器都是主控模式,這樣必然會(huì)大大提高通信效率。不選擇EEPROM是因?yàn)槠渥x寫次數(shù)有限且速度慢,而串行數(shù)據(jù)緩沖的RAM不但難以買到而且價(jià)格很高。移位寄存器也可以做數(shù)據(jù)緩沖器,但目前容量最大的也只128位,因?yàn)槭恰跋冗M(jìn)先出”結(jié)構(gòu),所以不管傳遞數(shù)據(jù)多少,接收方必須移完整個(gè)寄存器,靈活性差而且大容量的移位寄存器也是少見(jiàn)難買的。
而隨著美國(guó)Ramtran公司一種被稱為“鐵電存儲(chǔ)器”( 簡(jiǎn)稱FRAM)的新型非易失性存儲(chǔ)器件的推出,給我們帶來(lái)了解決方法。其中的FM24C16應(yīng)用于本文的4門控制器就再合適不過(guò)了。
不需寫入時(shí)間、讀寫次數(shù)無(wú)限沒(méi)有分布結(jié)構(gòu)可以連續(xù)寫放的優(yōu)點(diǎn),具有RAM與EEPROM的雙得特性
價(jià)格較低因此我們可以將3個(gè)CPU 與1片F(xiàn)RAM接成多主-從的I2C總線方式,加上幾條握手線,軟件方面解決好I2C多主-從的控制沖突與通信協(xié)議問(wèn)題,即可實(shí)現(xiàn)簡(jiǎn)單、高效、可靠的通信。
6、各CPU功能規(guī)劃
6.1.CPU1功能介紹
任務(wù)1:定時(shí)發(fā)送繼電器控制信息 (24C16中的第1頁(yè)01-08字節(jié))
任務(wù)2:定時(shí)發(fā)送正常狀態(tài)信息 (24C16中的第1頁(yè)61字節(jié))
任務(wù)3:根據(jù)條件實(shí)時(shí)發(fā)送設(shè)置信息24C16中的第4頁(yè)01---字節(jié))
任務(wù)4:定時(shí)查詢CPU2的監(jiān)測(cè)信息(24C16中的第2頁(yè)01-15字節(jié))
任務(wù)5:定時(shí)查詢CPU3機(jī)器號(hào)信息 (24C16中的第3頁(yè)01-05字節(jié))
任務(wù)6:定時(shí)查詢CPU3的卡片信息(24C16中的第3頁(yè)11-25字節(jié))
任務(wù)7:監(jiān)控串行口由上位機(jī)發(fā)出的命令
任務(wù)8:處理卡號(hào)信息
任務(wù)9:定時(shí)查詢FM3808的時(shí)鐘信息
6.2.CPU2功能介紹
任務(wù)1:定時(shí)查詢CPU1的控制信息(24C16中的第1頁(yè) 01-08字節(jié))
任務(wù)2:每隔 2S查詢CPU1的狀態(tài)信息(24C16中的第1頁(yè) 61字節(jié))
任務(wù)3:每隔 2S查詢CPU3的狀態(tài)信息(24C16中的第3頁(yè) 31字節(jié))
任務(wù)4:實(shí)時(shí)發(fā)送監(jiān)測(cè)信息(24C16中的第2頁(yè)01-15字節(jié))
任務(wù)5:實(shí)時(shí)發(fā)送時(shí)鐘信息(24C16中的第2頁(yè)21-36字節(jié))
6.3.CPU3功能介紹
任務(wù)1:定時(shí)發(fā)送發(fā)送機(jī)器號(hào)信息 (24C16中的第3頁(yè)01-05字節(jié))
任務(wù)2:根據(jù)變化實(shí)時(shí)發(fā)送卡片信息 (24C16中的第3頁(yè)11-26字節(jié))
任務(wù)3:定時(shí)發(fā)送發(fā)送正常狀態(tài)信息(24C16中的第3頁(yè)31字節(jié))
任務(wù)4:監(jiān)控485讀卡器信息
任務(wù)5:監(jiān)控wigen26讀卡器信息
任務(wù)6:監(jiān)控ABA/鍵盤仿真讀卡器信息
7.系統(tǒng)功能框圖
8.結(jié)束語(yǔ)
本文給出的基于多cpu方式的4門控制器,一方面充分利用鐵電存儲(chǔ)器FM3808非易失RAM及融合時(shí)鐘、監(jiān)控與一體的多功能特點(diǎn),另一方面將FM24c16的讀寫速度快、讀寫次數(shù)巨大的特點(diǎn)完美的嵌入到3個(gè)cpu間的通訊當(dāng)中,實(shí)現(xiàn)了多cpu系統(tǒng)使用靈活、編程方便、資源豐富的多快好省的優(yōu)越性。
此控制器不僅可作為自動(dòng)識(shí)別多門控制系統(tǒng)的主控器,而且在空調(diào)控制、工業(yè)控制等領(lǐng)域也進(jìn)行了實(shí)踐應(yīng)用,并取得了良好的效果。
參考文獻(xiàn)
(1)陳 沖,一種基于鐵電存儲(chǔ)器的雙機(jī)串行通信技術(shù),單片機(jī)及嵌入式系統(tǒng)應(yīng)用,2002
評(píng)論