The Applicaton of FRAM
in Auto-ID Control System Based on Multi-CPU

摘要: 本文通過對以4門門禁控制器為代表的自動識別控制系統的功能介紹,比較詳細的給出了多cpu方式作為主控方式的方案設計,巧妙的利用了鐵電存儲">

      技術頻道

      鐵電存儲器在多CPU自動識別控制系統中的應用

      The Applicaton of FRAM
      in Auto-ID Control System Based on Multi-CPU

      摘要: 本文通過對以4門門禁控制器為代表的自動識別控制系統的功能介紹,比較詳細的給出了多cpu方式作為主控方式的方案設計,巧妙的利用了鐵電存儲器FM3808的掉電數據保存、時鐘以及可監控系統的高度集成的特點,同時通過FM24c16作為中樞橋梁解決了過去多CPU數據交換的瓶頸,從而建立起一個靈活、廉價、功能強大的多口數據采集控制系統的框架。
      關鍵字: 自動識別 多CPU系統 FM3808 FM24c16

      1、自動識別控制系統簡介
      自動識別技術是將數據自動識讀、自動輸入計算機的一種方法或手段。它是包括條碼技術、磁條(卡)技術、光學字符識別、系統集成化、射頻技術、聲音識別及視覺識別等集計算機、光、機電、通信技術為一體的綜合性高新科學技術。自動識別技術提供了快速、準確地進行數據采集輸入的有效手段,解決了手工數據輸入速度慢、錯誤率高等造成的“瓶頸”難題,因而自動識別技術作為一種革命性的高新技術,日益為人們所接受。
      自動識別控制系統則是集微機自動識別技術和現代安全管理與控制措施為一體的系統,它涉及電子,機械,光學,計算機技術,通訊技術,生物技術等諸多新技術。是解決重要部門出入口實現安全防范管理的有效措施。包括出入口門禁安全管理系統、電梯控制系統、車輛進出控制系統、物業消防監控系統、保安巡檢管理系統等,適用各種機要部門,如銀行、賓館、機房、軍械庫、機要室、辦公間,智能化小區,工廠等。
      自動識別控制系統在工作環境安全、人事考勤管理等行政管理工作中發揮著巨大的作用。因此設計一款性能價格比較高的產品將有著廣泛的應用前景。
      2、自動識別控制系統的功能組成
      作為一種通用性強、功能齊全的自動識別控制系統,應該具有眾多組成要素。下面我們就以一個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號設置撥斷開關
      時鐘芯片控制電路
      存儲芯片控制電路(用于存儲用戶信息和事件信息)
      系統監控電路
      通訊電路(用于和上位機進行通訊)
      3、幾種主控設計方案的比較
      隨著電子技術的發展,各種CPU、存儲芯片、系統擴展芯片、時鐘芯片等層出不窮,在給設計人員有了更多選擇的同時,也帶來了另一個問題,就是該如何選擇一種適合于自身的一種方案。這個方案不但要能實現系統需求的基本功能,還要在可靠性、開發難易程度、芯片供貨情況以及價格等方面都要做到適宜。針對上面列出的4門控制器的功能特點,我們可做以下幾個方案:
      3.1.傳統形式
      這是一種為廣大嵌入式系統設計人員熟知的形式,在很多教科書及應用系統中有著詳細的介紹。
      在主控方面,一般采用以應用最廣的8051+EPROM程序存儲器或帶有大容量FLASH ROM 的CPU如SST89C58或P89C51RD2
      在系統擴展方面,2片74HC138用于譯碼,1片74HC373用于地位地址鎖存,1片74HC245用于總線驅動,3片74HC377用于信號輸出,4片74HC244用于信號輸入
      存儲方面,一片628128用于存儲事件信息和外部變量,一片28SF040或39SF040用于存儲各種有效卡片、非法卡片信息
      時鐘方面,采用一片串行方式的DS1302或并行數據方式的DS12C887
      通訊方面,2片485芯片,一片用于和上位機通訊,一片用于和RS485讀卡器通訊
      這種方式具有芯片價格較便宜,供貨渠道廣泛,編程調試較容易等優點,但其體積龐大,芯片多,硬件故障點增多,而且由于任務眾多,導致CPU工作繁忙,軟件中的各種中斷處理容易干擾,雖然現在已有基于8051的實時多任務操作系統可以解決此問題,但是這要求設計者一方面要選擇價格相對高的CPU,另一方面也要學習消化RTX51,而將其正確的應用到系統中去需要更高的軟件技巧和更多的調試時間。否則軟件的可靠性無法保證。這對于產品的快速市場化是不利的。
      3.2.ARM+CPLD
      ARM芯片及CPLD芯片是最近幾年流行起來的嵌入式系統的構成部件,他們將可能成為后PC時代嵌入式系統設計的首選。ARM是一款32位的精簡指令集(RISC)處理器架構,以其高性能、低功耗、低成本占有市場。 以PHILIPS的LPC2104為例,它具有128K 片內Flash程序存儲器、最多64K靜態RAM、雙UART、兩個定時器、具有4路捕獲/比較通道、多達6路輸出的PWM單元、實時時鐘、看門狗定時器、通用I/O口、CPU操作頻率可達60MHz等特點。
      CPLD是復雜可編程邏輯陣列的簡稱,它具有口線多、速度快、可編程、純硬件電路等特點。
      根據我們提出的4門控制器的功能,一片ARM及一片CPLD,加上少許外圍電路,即可實現。這樣不僅使系統板的體積大大減少,而且增加了可靠性,這是其他方式所不能比擬的。但是,由于ARM及CPLD均是新興的技術,對于一些基于8051單片機經驗豐富的設計者而言,卻需要有一個不短的時間去學習消化實踐,另外,有關ARM及CPLD的開發工具,如仿真器、集成開發環境IDE都在一個比較高的價位上,且學習及使用都比8051難多了。這不僅對產品的快速市場化不利,而且也不適合對某些場合靈活多變的設計。而且,目前這兩種芯片的價格較8051組成的系統價格仍偏高,這也不太適合應用于本文提出的通用控制器。
      3.3.多CPU系統
      在經過對上述兩種方案的比較后,是否還有其他某種使用芯片數量最少、價格最便宜、功能最齊全、設計靈活多變的方案呢?答案是肯定的。那就是采用多CPU系統。基于8051芯片如AT89x52的廣泛使用,使單片機的價格大大下降。目前,89X52的市場零售價已經低于8255、8279、8253、8250等專用接口芯片中的任何一種;而89X52的功能實際上遠遠超過以上芯片。因此,如把89x52作為接口芯片使用,在經濟上是合算的。這樣就解決了系統擴展芯片眾多的缺點。一片89x52有32個I/O口,均可做輸入輸出,且有3個定時器和2個外部中斷,完全可以解決對ABA/WIGEN/232不同串行信號的處理。
      正如軟件可由實時多任務操作系統RTOS來實現一樣,硬件一樣可用多CPU組成的系統來實現。
      這樣,本文提出得4門控制器將由3片CPU共同組成,它具有以下特點 芯片數目少。除了存儲芯片和時鐘芯片,基本只剩下3塊89S52 CPU用89S52價格低的特點,充當外設。使用靈活。可根據情況減少某個CPU或更改其程序完成不同的功能原來寫在一個CPU中的程序分離,使每個芯片基本上在8K之內完成,也就是都可選擇89S52,不用采用昂貴的大容量FLASH 8051內核的 CPU。加了看門狗的主CPU可以實時監控另外兩個CPU的工作是否正常各CPU各司其職。提高了與上位機通訊的速度及準確性,提高了讀寫存儲的速度以及訪問FALSH的時間。由于將個任務分解,所以每個CPU所用的寄存器較少,均可以使用89S52自帶的256字節RAM即可,不必使用XDATA訪問RAM 中的CPU ,提高了各CPU執行的速度。
      4、選擇FM3808為多功能存儲、時鐘、系統監控芯片
      4.1.傳統方式的說明
      在確立了主控方式之后,要選擇存儲、時鐘及系統監控芯片,我們先來分析以往芯片的選擇正
      如3.1種所描述的,除了選擇具有512K BYTES的FLASH ROM 芯片作為卡號存儲芯片外(因為無論有效無效卡號,其更改頻率是不高的,采用此芯片不會影響芯片),作為常用的信息存儲及外部寄存器芯片,一般采用SRAM如628128,雖然此芯片目前價格很便宜,但由于系統掉電后,其中的所有信息消失,所以必須加掉電保護電路和電池。而無論采用專用的掉電保護芯片和采用分立元件組成的對電路,都不能100%的保證數據部丟失,尤其是在電源不穩定和干擾嚴重的環境下。
      時鐘有眾多選擇,如DS1302及12887,但價格不低監控芯片也有很多種,如X25045,它集成了看門狗、電壓監測、可靠復位及EEPROM等特點,但價格也不低。
      4.2. FM3808的特點
      為了使系統具有更高的可靠性以及小型化,我們將采用RAMTRON的新型多功能芯片:
      FM3808,一種將掉電非遺失、實時時鐘、系統監控于一體的高性能芯片。它具有以下特點:
      32K*8 BIT 非易失RAM
      高達100億次的讀寫次數
      寫無延時
      數據可保存10年
      內置低電壓保護
      實時時鐘
      后備電源切換
      可編程時鐘日歷報警
      可編程看門狗定時器
      電源監測
      可編程中斷輸出
      可編程CPU復位或中斷
      5V工作電壓
      后備電壓可低至5V
      動態電流25mA
      時鐘后備電流1uA
      5、選擇FM24C16作為多CPU通訊中樞
      在確立以多CPU方式作為系統主控方案后,需要解決一個最關鍵的問題,那就是CPU之間的通訊。讓我們先來比較一下幾種數據交換的優缺點。
      5.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門控制器的一種方式,且已正常應用于實際系統當中。雖然可以滿足本系統的需要,占用口線少,使用靈活,但調試相當繁瑣,因為不但要正確解決好中斷的請求問題,還要精心調試時序以及通訊協議,尤其是在3個CPU間的通訊當中,單片機要傳遞的每一位或每一個字節做出響應,通信數據量較大時會耗費大量的軟件資源,這在一些實時性要求高的地方是不允許的。況且沒個CPU都有各自的任務,如果將太多的軟件資源用于數據交換,則失去了采用多CPU方案的意義。
      5.2.FM24C16的特點
      針對自定串行通訊協議存在的問題,我們設想若是在單片機之間增加1個數據緩沖器,大批數據先寫入緩沖區,然后再讓對方去取,各個單片機對數據緩沖器都是主控模式,這樣必然會大大提高通信效率。不選擇EEPROM是因為其讀寫次數有限且速度慢,而串行數據緩沖的RAM不但難以買到而且價格很高。移位寄存器也可以做數據緩沖器,但目前容量最大的也只128位,因為是“先進先出”結構,所以不管傳遞數據多少,接收方必須移完整個寄存器,靈活性差而且大容量的移位寄存器也是少見難買的。
      而隨著美國Ramtran公司一種被稱為“鐵電存儲器”( 簡稱FRAM)的新型非易失性存儲器件的推出,給我們帶來了解決方法。其中的FM24C16應用于本文的4門控制器就再合適不過了。
      不需寫入時間、讀寫次數無限沒有分布結構可以連續寫放的優點,具有RAM與EEPROM的雙得特性
      價格較低因此我們可以將3個CPU 與1片FRAM接成多主-從的I2C總線方式,加上幾條握手線,
      軟件方面解決好I2C多主-從的控制沖突與通信協議問題,即可實現簡單、高效、可靠的通信。
      6、各CPU功能規劃
      6.1.CPU1功能介紹
      任務1:定時發送繼電器控制信息 (24C16中的第1頁01-08字節)
      任務2:定時發送正常狀態信息 (24C16中的第1頁61字節)
      任務3:根據條件實時發送設置信息24C16中的第4頁01---字節)
      任務4:定時查詢CPU2的監測信息(24C16中的第2頁01-15字節)
      任務5:定時查詢CPU3機器號信息 (24C16中的第3頁01-05字節)
      任務6:定時查詢CPU3的卡片信息(24C16中的第3頁11-25字節)
      任務7:監控串行口由上位機發出的命令
      任務8:處理卡號信息
      任務9:定時查詢FM3808的時鐘信息
      6.2.CPU2功能介紹
      任務1:定時查詢CPU1的控制信息(24C16中的第1頁 01-08字節)
      任務2:每隔 2S查詢CPU1的狀態信息(24C16中的第1頁 61字節)
      任務3:每隔 2S查詢CPU3的狀態信息(24C16中的第3頁 31字節)
      任務4:實時發送監測信息(24C16中的第2頁01-15字節)
      任務5:實時發送時鐘信息(24C16中的第2頁21-36字節)
      6.3.CPU3功能介紹
      任務1:定時發送發送機器號信息 (24C16中的第3頁01-05字節)
      任務2:根據變化實時發送卡片信息 (24C16中的第3頁11-26字節)
      任務3:定時發送發送正常狀態信息(24C16中的第3頁31字節)
      任務4:監控485讀卡器信息
      任務5:監控wigen26讀卡器信息
      任務6:監控ABA/鍵盤仿真讀卡器信息

      7.系統功能框圖

      8.結束語
      本文給出的基于多cpu方式的4門控制器,一方面充分利用鐵電存儲器FM3808非易失RAM及融合時鐘、監控與一體的多功能特點,另一方面將FM24c16的讀寫速度快、讀寫次數巨大的特點完美的嵌入到3個cpu間的通訊當中,實現了多cpu系統使用靈活、編程方便、資源豐富的多快好省的優越性。
      此控制器不僅可作為自動識別多門控制系統的主控器,而且在空調控制、工業控制等領域也進行了實踐應用,并取得了良好的效果。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 人妖在线精品一区二区三区| 精品视频午夜一区二区| 国产精品夜色一区二区三区 | 国产福利电影一区二区三区,日韩伦理电影在线福 | 精品人妻码一区二区三区| 污污内射在线观看一区二区少妇| 波多野结衣电影区一区二区三区| 国产一区在线观看免费| 激情啪啪精品一区二区| 久久精品一区二区三区日韩| 亚洲色精品VR一区区三区| 国产综合精品一区二区| 在线精品动漫一区二区无广告| 无码少妇一区二区三区| 精品国产AV无码一区二区三区| 好吊视频一区二区三区| 在线观看一区二区三区av| 国产精品一区不卡| 久久婷婷久久一区二区三区| 日韩精品一区在线| 亚洲福利电影一区二区?| 亚洲人成网站18禁止一区| 亚洲国产精品一区二区三区在线观看| 国产高清一区二区三区视频| 老熟妇仑乱一区二区视頻| 一本大道东京热无码一区| 国产精品va一区二区三区| 夜色福利一区二区三区| 国产精品va一区二区三区| 精品亚洲综合在线第一区| 亚洲AV成人精品一区二区三区| 四虎永久在线精品免费一区二区 | 国产在线观看一区精品| 成人久久精品一区二区三区| 一区二区三区波多野结衣 | 久久精品国产一区二区电影| 国精产品一区二区三区糖心| 一区二区在线观看视频| 国产人妖视频一区二区破除| 国产观看精品一区二区三区| 国产精品一区二区三区免费|