<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Cortex―M3的嵌入式以太網(wǎng)門禁系統(tǒng)設(shè)計(jì)

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

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201609/305075.htm

          引言

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

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

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

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

          門禁系統(tǒng)結(jié)構(gòu)組成如圖1所示。主芯片STM32通過(guò)以太網(wǎng)協(xié)議棧將數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/ENC28J60">ENC28J60,然后可以通過(guò)網(wǎng)線與服務(wù)器直接連接進(jìn)行通信,也可以通過(guò)路由器再連接到服務(wù)器。在非接觸式卡通信方面,STM32通過(guò)頻率為1MHz的SPI接口與PN532相連。

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

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

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

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

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

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

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

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

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

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

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

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

          兩個(gè)專用的引腳用于連接LED,進(jìn)行網(wǎng)絡(luò)活動(dòng)狀態(tài)指示。

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

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

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

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

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

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

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

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

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

          RAM API把協(xié)議棧和應(yīng)用程序放在一個(gè)進(jìn)程里,該函數(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

          以上三個(gè)配置占據(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,配置最大輸出單元等:


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 門禁 Cortex-M3 LwIP PN532 ENC28J60

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();