• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Cortex-M3的嵌入式以太網(wǎng)門禁系統(tǒng)設(shè)計

      2014-09-06 10:49:58何晉張一斌
      關(guān)鍵詞:門禁系統(tǒng)以太網(wǎng)嵌入式

      何晉, 張一斌

      (長沙理工大學(xué) 電氣與信息工程學(xué)院,長沙 410004)

      ?

      基于Cortex-M3的嵌入式以太網(wǎng)門禁系統(tǒng)設(shè)計

      何晉, 張一斌

      (長沙理工大學(xué) 電氣與信息工程學(xué)院,長沙 410004)

      闡述了采用Cortex-M3內(nèi)核的STM32為主控芯片、射頻芯片PN532、以太網(wǎng)控制器ENC28J60的硬件電路和軟件設(shè)計框架,同時對以太網(wǎng)協(xié)議LwIP進行了詳細(xì)的分析。本門禁系統(tǒng)傳輸距離遠(yuǎn),超低功耗,性能優(yōu)異且穩(wěn)定,完全適用于校園以及公司的門禁系統(tǒng)。

      門禁;Cortex-M3;LwIP;PN532;ENC28J60

      引 言

      當(dāng)前,有很多的企業(yè)是采用佩戴工作證來完成門禁管理,而且還是采用傳統(tǒng)的人工方式完成,不僅容易被人混入,且沒有記錄,存在各種人為的失誤。同時,市場上門禁系統(tǒng)存在傳輸距離受限制、性能不佳等問題。

      隨著嵌入式技術(shù)日新月異的發(fā)展,以及以太網(wǎng)技術(shù)的普及,使得基于以太網(wǎng)的嵌入式產(chǎn)品越來越多,發(fā)展也越來越快。本文研究的就是采用以太網(wǎng)傳輸數(shù)據(jù)和射頻芯片識別智能卡相結(jié)合的門禁系統(tǒng),相對于傳統(tǒng)的門禁系統(tǒng),以太網(wǎng)解決了傳輸距離上的問題。其次,采用了基于80C51內(nèi)核的射頻芯片PN532,使得性能更加穩(wěn)定。其工作的基本原理是先將智能卡放在門禁系統(tǒng)上,系統(tǒng)讀取數(shù)據(jù)并傳送給主芯片STM32進行處理,主芯片處理后再通過以太網(wǎng)協(xié)議LwIP將數(shù)據(jù)從ENC28J60傳輸給服務(wù)器。

      圖1 門禁系統(tǒng)組成

      1 門禁系統(tǒng)硬件組成

      門禁系統(tǒng)主要由意法半導(dǎo)體公司的主控芯片STM32、Microchip公司的以太網(wǎng)控制器ENC28J60和NXP公司的射頻芯片PN532組成。

      門禁系統(tǒng)結(jié)構(gòu)組成如圖1所示。主芯片STM32通過以太網(wǎng)協(xié)議棧LwIP將數(shù)據(jù)傳輸?shù)紼NC28J60,然后可以通過網(wǎng)線與服務(wù)器直接連接進行通信,也可以通過路由器再連接到服務(wù)器。在非接觸式卡通信方面,STM32通過頻率為1 MHz的SPI接口與PN532相連。

      1.1 STM32外圍電路設(shè)計

      本系統(tǒng)采用意法半導(dǎo)體公司以Cortex-M3為內(nèi)核的32位微處理器STM32F103為主控芯片,其主頻為72 MHz,內(nèi)部集成存儲空間為256K的Flash和64K的SRAM,還包含I2C、SPI、I2S、USART、CAN、ADC、看門狗等。性價比在同類產(chǎn)品中十分突出。硬件連接如圖2所示。

      在調(diào)試時我們采用SWD取代JTAG,因為SWD不僅引腳更少,而且在高速模式下更加可靠。

      圖2 主控芯片STM32外圍電路結(jié)構(gòu)

      1.2 射頻芯片PN532硬件電路設(shè)計

      PN532是NXP公司推出的一個高度集成的非接觸式讀寫芯片,它包含80C51微控制器內(nèi)核,集成了13.56 MHz下的各種主動/被動式非接觸通信方法和協(xié)議。支持ISO14443A/14443B協(xié)議。工作距離超過75 mm。接收來自天線的信號并對該數(shù)據(jù)按照ISO14443規(guī)定的幀格式處理數(shù)據(jù)。

      圖3 PN532外圍電路結(jié)構(gòu)

      PN532支持三種通信方式:SPI、I2C、HUS。由于我們采用SPI方式與主控芯片STM32進行通信,所以I0和I1分別設(shè)置為0和1。

      PN532外圍電路結(jié)構(gòu)如圖3所示。

      1.3 以太網(wǎng)控制器ENC28J60硬件設(shè)計

      主控芯片ENC28J60是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(Serial Peripheral Interface, SPI)的獨立以太網(wǎng)控制器。它可作為任何配備有SPI 的控制器的以太網(wǎng)接口。ENC28J60 符合IEEE 802.3 的全部規(guī)范,采用了一系列包過濾機制以對傳入數(shù)據(jù)包進行限制。它還提供了一個內(nèi)部 DMA 模塊,以實現(xiàn)快速數(shù)據(jù)吞吐和硬件支持的IP 校驗和計算。 與主控制器的通信通過兩個中斷引腳和SPI 實現(xiàn),數(shù)據(jù)傳輸速率高達(dá) 10 Mb/s。兩個專用的引腳用于連接LED,進行網(wǎng)絡(luò)活動狀態(tài)指示。

      應(yīng)當(dāng)注意的是,當(dāng)從ENC28J60讀取多個數(shù)據(jù)時,即使不需要主控芯片STM32輸出的數(shù)據(jù),每讀取一個數(shù)據(jù)前也要向SPI發(fā)送緩沖器寫一個數(shù)據(jù)用來啟動SPI的接口時鐘。

      ENC28J60典型應(yīng)用電路如圖4所示。

      圖4 ENC28J60典型應(yīng)用電路

      2 系統(tǒng)軟件設(shè)計

      2.1 以太網(wǎng)協(xié)議LwIP

      LwIP是瑞士計算機科學(xué)院開發(fā)的小型開源的TCP/IP協(xié)議棧。由于它只需要十幾K的RAM和40K左右的ROM就可以運行,所以很適合在硬件資源并不充裕的嵌入式系統(tǒng)中使用。

      LwIP屬于比較松散的通信機制,通過共享內(nèi)存的方式實現(xiàn)應(yīng)用層與底層協(xié)議之間的通信。它提供了三種API:①RAM API,②LwIP API,③BSD API。

      其中的RAM API其缺點就是代碼不易于理解,開發(fā)難度大,其優(yōu)點是相對于其他兩種方式占用的資源少,效率更加高,更適合于對于資源相對少的嵌入式使用,所以我們采用RAM API方式進行編寫。

      在TCP/IP傳輸層中有TCP和UDP兩種協(xié)議,TCP提供IP環(huán)境下數(shù)據(jù)的可靠傳輸,UDP提供的是不可靠傳輸,由于門禁系統(tǒng)中必須要求傳輸數(shù)據(jù)的正確,所以采用TCP。圖5是LwIP下的TCP處理流程框圖。

      圖5 TCP處理框圖

      RAM API把協(xié)議棧和應(yīng)用程序放在一個進程里,該函數(shù)基于函數(shù)回調(diào)技術(shù),下面是LwIP的部分關(guān)鍵配置和代碼。

      (1) LwIP配置

      在LwIP的配置文件lwipopts.h中修改如下地方。

      是否使用操作系統(tǒng),我們不用,所以填寫為1:

      #define NO_SYS 1

      配置heap的大?。?/p>

      #define MEM_SIZE

      配置pool的大小

      #define PBUF_POOL_SIZE

      #define PBUF_POOL_BUFSIZE

      以上三個配置占據(jù)了LwIP協(xié)議棧大部分的內(nèi)存,需要根據(jù)自己的需要修改成合適的值。

      (2) LwIP代碼

      ① 分別設(shè)置IP地址,子網(wǎng)掩碼和網(wǎng)關(guān):

      IP4_ADDR(&ipaddr, 192, 168, 2, 28);

      IP4_ADDR(&netmask, 255, 255, 255, 0);

      IP4_ADDR(&gw, 192, 168, 2, 254);

      ② 初始化底層函數(shù),也就是配置MAC地址,初始化ENC28J60,配置最大輸出單元等:

      low_level_init( netif );

      ③ 連接遠(yuǎn)程主機,當(dāng)連接建立,就會調(diào)用第4個參數(shù)Conn_Back:

      tcp_connect(TCP_pcb,&ipaddr,1026,Conn_back);

      ④ 當(dāng)有新的數(shù)據(jù)接收到時調(diào)用的回調(diào)函數(shù):

      tcp_recv(TCP_pcb, tcp_recv_callback);

      ⑤ 服務(wù)器成功接收到數(shù)據(jù)后調(diào)用的回調(diào)函數(shù):

      tcp_sent(TCP_pcb, tcp_sent_callback);

      ⑥ 處理錯誤的回調(diào)函數(shù):

      tcp_err(pcb, CMD_conn_err);

      ⑦ 是否接收到數(shù)據(jù):

      ethernetif_input(&enc28j60);

      通信一旦結(jié)束或者出現(xiàn)異常狀況后,一定要使用pbuf_free()函數(shù)釋放pbuf,避免內(nèi)存的浪費。還有一點要注意的是,系統(tǒng)在正常運行的過程中,定時器函數(shù)tcp_fasttmr()和tcp_slowtmr()函數(shù)必須以固定的時間間隔被規(guī)律地調(diào)用。

      2.2 門禁系統(tǒng)軟件架構(gòu)與設(shè)計

      門禁系統(tǒng)的主要流程如圖6所示,每次重新啟動后,首先初始化相關(guān)寄存器,初始化各個模塊,確定已經(jīng)連接服務(wù)器,然后進入程序主循環(huán)。

      圖6 門禁系統(tǒng)主程序流程圖

      首先監(jiān)測是否需要調(diào)用LwIP內(nèi)部的快速定時器和慢速定時器。然后監(jiān)測服務(wù)器是否有斷開,如果斷開則重新連接服務(wù)器,沒有斷開的話則檢測是否有智能卡,有的話接收卡中信息進行處理然后發(fā)送給服務(wù)器。

      結(jié) 語

      [1] 廣州致遠(yuǎn)電子有限公司.LwIP的RAM API接口及編程指南,2008.

      [2] 朱升林.LwIP協(xié)議深度剖析與實戰(zhàn)演練[M].北京:中國水利水電出版社,2012.

      [3] Adam Dunkels.Design and Implementation of the LwIP [M].Stockholm: Swedish Institute of Computer Science, 2001.

      [4] ST Microelectronics.STM32F103xE Data Sheet, 2010.

      [5] Vincent Onde. Cortex-M3 based STM32 MCU tackles advanced motor control techniques J].Electronic Engineering&Product World, 2010, 17(11).

      [6] 宋巖.ARM Cortex-M3權(quán)威指南[M].北京:北京航空航天大學(xué)出版社,2009.

      [7] 王永虹,徐煒,郝立平.STM32系列ARM cortex-M3微控制器原理與實踐[M].北京:北京航空航天大學(xué)出版社,2008.

      [8] 李寧.基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.

      [9] Microchip.ENC28J60 Stand-alone Ethernet Controller with SPI Interface Datasheet, 2006.

      [10] NXP.PN532/C1 Product short data sheet,2005.

      [11] Philips Co., Ltd.PN532 User Manual UM0502-03, 2006.

      [12] 李翔.智能卡研發(fā)技術(shù)與功能實現(xiàn)[M].北京:人民郵電出版社,2012.

      表2 運動到指定點測試

      參考文獻

      [1] 楊星.論單片機發(fā)展歷程及技術(shù)進步[J].知識經(jīng)濟,2011,23(1):97.

      [2] 詹躍東.電機及拖動基礎(chǔ)[M].重慶:重慶大學(xué)出版社,2002.

      [3] 楊莉,魏萍.基于單片機控制的步進電機轉(zhuǎn)速控制系統(tǒng)[J].南昌工程學(xué)院學(xué)報,2005(6).

      [4] 丁偉雄,楊定安,宋曉光.步進電機的控制原理及其單片機控制實現(xiàn)[J].煤礦機械,2005,26(6):129-131.

      [5] 張勁.利用AT89S52單片機控制步進電機[J].福建電腦,2008,24(12):175-185.

      [6] Valdes,MDMoure,MJ,et al.Implementation of a Frequency Measurement Circuitfor High-Accuracy QCMSensors[D]. Vigo:Electron Technol Univ of Vigo,2004:29-36.

      (責(zé)任編輯:楊迪娜 收稿日期:2014-11-20)

      Ethernet Entrance Guard System Based on Cortex-M3

      He Jin, Zhang Yibin

      (College of Electrical and Information Engineering, Changsha University of Science and Technology, Changsha 410004, China)

      This paper expounds the hardware circuit and software design of the framework that contains main control chip using STM32 with Cortex-M3 kernel, RF chip PN532, Ethernet controller ENC28J60, and the Ethernet protocol LwIP has carried on the detailed analysis. The entrance guard system has the merit of long transmission distance and low power consumption, excellent and stable. It is fully applicable to campus and entrance guard system for companies.

      entrance guard;Cortex-M3; LwIP;PN532;ENC28J60

      TP368.2

      A

      2013-12-28)

      猜你喜歡
      門禁系統(tǒng)以太網(wǎng)嵌入式
      基于多種生物特征識別的RFID門禁系統(tǒng)設(shè)計
      基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
      基于單片機的安全門禁系統(tǒng)研究設(shè)計
      電子制作(2019年11期)2019-07-04 00:34:32
      搭建基于Qt的嵌入式開發(fā)平臺
      解析社區(qū)藍(lán)牙門禁系統(tǒng)
      談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      基于單片機的小區(qū)門禁系統(tǒng)設(shè)計
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      张家港市| 明溪县| 常宁市| 都江堰市| 休宁县| 荃湾区| 通城县| 开封市| 常宁市| 普陀区| 娄底市| 通渭县| 无为县| 沭阳县| 息烽县| 大姚县| 凉城县| 汉源县| 宜宾市| 东山县| 新闻| 盘锦市| 宁强县| 会昌县| 海南省| 巴里| 凤庆县| 呼伦贝尔市| 南宫市| 新绛县| 海林市| 泉州市| 阜平县| 新乡县| 泗水县| 高密市| 丽江市| 丽水市| 札达县| 嘉祥县| 蓬安县|