如何使用STM32設計嵌入式乙太網控制門禁系統

2020-11-26 電子發燒友

如何使用STM32設計嵌入式乙太網控制門禁系統

電子設計 發表於 2018-09-03 11:06:17

引言

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

隨著嵌入式技術日新月異的發展,以及乙太網技術的普及,使得基於乙太網的嵌入式產品越來越多,發展也越來越快。本文研究的就是採用乙太網傳輸數據和射頻晶片識別智慧卡相結合的門禁系統,相對於傳統的門禁系統,乙太網解決了傳輸距離上的問題。其次,採用了基於80C51內核的射頻晶片PN532,使得性能更加穩定。其工作的基本原理是先將智慧卡放在門禁系統上,系統讀取數據並傳送給主晶片STM32進行處理,主晶片處理後再通過乙太網協議LwIP將數據從ENCN8J60傳輸給伺服器。

1 門禁系統硬體組成

門禁系統主要由意法半導體公司的主控晶片STM3H、Microchip公司的乙太網控制器ENC28J60和NXP公司的射頻晶片PN532組成。

門禁系統結構組成如圖1所示。主晶片STM32通過乙太網協議棧LwIP將數據傳輸到ENC28J60,然後可以通過網線與伺服器直接連接進行通信,也可以通過路由器再連接到伺服器。在非接觸式卡通信方面,STM32通過頻率為1MHz的SPI接口與PN532相連。

1.1 STM32外圍電路設計

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

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

1.2 射頻晶片PN532硬體電路設計

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

PN532支持三種通信方式:SPI、I2C、HUS。由於我們採用SPI方式與主控晶片STM32進行通信,所以I0和I1分別設置為0和1。

PN532外圍電路結構如圖3所示。

1.3 乙太網控制器ENC28J60硬體設計

主控晶片ENC28J60是帶有行業標準串行外設接口(Serial Peripheral Interface,SPI)的獨立乙太網控制器。它可作為任何配備有SPI的控制器的乙太網接口。ENC28J60符合IEEE802.3的全部規範,採用了一系列包過濾機制以對傳入數據包進行限制。它還提供了一個內部DMA模塊,以實現快速數據吞吐和硬體支持的IP校驗和計算。與主控制器的通信通過兩個中斷引腳和SPI實現,數據傳輸速率高達10 Mb/s。

兩個專用的引腳用於連接LED,進行網絡活動狀態指示。

應當注意的是,當從ENC28J60讀取多個數據時,即使不需要主控晶片STM32輸出的數據,每讀取一個數據前也要向SPI發送緩衝器寫一個數據用來啟動SPI的接口時鐘。

ENC28J60典型應用電路如圖4所示。

2 系統軟體設計

2.1 乙太網協議LwIP

LwIP是瑞士計算機科學院開發的小型開源的TCP/IP協議棧。由於它只需要十幾K的RAM和40K左右的ROM就可以運行,所以很適合在硬體資源並不充裕的嵌入式系統中使用。

LwIP屬於比較鬆散的通信機制,通過共享內存的方式實現應用層與底層協議之間的通信。它提供了三種API:①RAM API,②LwIP API,③BSD API。

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

在TCP/IP傳輸層中有TCP和UDP兩種協議,TCP提供IP環境下數據的可靠傳輸,UDP提供的是不可靠傳輸,由於門禁系統中必須要求傳輸數據的正確,所以採用TCP。圖5是LwIP下的TCP處理流程框圖。

RAM API把協議棧和應用程式放在一個進程裡,該函數基於函數回調技術,下面是LwIP的部分關鍵配置和代碼。

(1)LwIP配置

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

是否使用作業系統,我們不用,所以填寫為1:

#define NO_SYS 1

配置heap的大小:

#define MEM_SIZE

配置pool的大小

#define PBUF_POOL_SIZE

#define PBUF_POOL_BUFSIZE

以上三個配置佔據了LwIP協議棧大部分的內存,需要根據自己的需要修改成合適的值。

(2)LwIP代碼

①分別設置IP位址,子網掩碼和網關:

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

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

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

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

low_level_init(netif);

③連接遠程主機,當連接建立,就會調用第4個參數Conn_Back:

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

④當有新的數據接收到時調用的回調函數:

tcp_recv(TCP_pcb.tcp_recv_callback);

⑤伺服器成功接收到數據後調用的回調函數:

tcp_sent(TCP_pcb,tcp_sent_callback);

⑥處理錯誤的回調函數:

tcp_err(pcb,CMD_conn_err);

⑦是否接收到數據:

ethernetif_input(&enc28j60);

通信一旦結束或者出現異常狀況後,一定要使用pbuf_free()函數釋放pbuf,避免內存的浪費。還有一點要注意的是,系統在正常運行的過程中,定時器函數tcp_fasttmr()和tcp_slowtmr()函數必須以固定的時間間隔被規律地調用。

2.2 門禁系統軟體架構與設計

門禁系統的主要流程如圖6所示,每次重新啟動後,首先初始化相關寄存器,初始化各個模塊,確定已經連接伺服器,然後進入程序主循環。

首先監測是否需要調用LwIP內部的快速定時器和慢速定時器。然後監測伺服器是否有斷開,如果斷開則重新連接伺服器,沒有斷開的話則檢測是否有智慧卡,有的話接收卡中信息進行處理然後發送給伺服器。

結語

本文對使用STM32為主控晶片的門禁系統的硬體和軟體架構進行了相應的描述,對於文中所涉及的晶片和乙太網協議的使用具有指導意義,能夠較大幅度地降低成本,同時門禁系統的使用會更加穩定,傳輸距離更長。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 指紋識別門禁系統的設計全解
    論文在以ARMS3C2410為核心和嵌入式作業系統Linux的基礎上,設計開發了基於指紋識別的乙太網門禁控制系統。  本文具體內容主要有以下幾個方面:  (1)系統整體方案概述和設計:根據系統功能要求,設計指紋識別乙太網門禁系統,重點闡述了其中關鍵模塊的硬體設計。
  • 9種乙太網接口的設計與實現,涵蓋原理分析及電路圖
    TMS320LF2407與LAN91C111型嵌入式乙太網接口電路的實現文章介紹基於TMS320LF2407型DSP的嵌入式系統與LAN91C111型自適應10Mb/s/100Mb/s嵌入式乙太網控制的接口電路及軟硬體實現方法。
  • 一種嵌入式Web伺服器的設計方案
    2.嵌入式WEB伺服器總體設計方案接入Internet有很多種接入方式:電話撥號接入、ISDN,ADSL、乙太網接入等,其中乙太網作為一種廉價、高效的Internet接入方式,已經得到了非常廣泛的應用,本文的Internet接入採用乙太網方式。將TCP/IP協議棧嵌入到單片機中,使用網絡控制晶片實現單片機的上網和數據傳輸。
  • 病房呼叫系統的軟體設計_單片機病房呼叫系統的設計 - CSDN
    不會stm32,那你還不好意思來應聘硬體工程師? stm32的學習資料多是零零散散的,電路城先將stm32資料做了一個整合,也將於STM32單片機的精彩設計實例做了一個匯總,適合新手迅速上手,也適合高手做創作。
  • 基於嵌入式技術的LED顯示屏控制系統淺析
    ,設計用於滿足某些專用性要求比較高的工程應用場合,這些要求可以體現在對嵌入式系統的成本、尺寸以及系統功耗等方面的特定需求,並且為了達成這種需求可以對組成嵌入式系統的軟體和硬體部分進行裁剪。而嵌入式應用軟體則是按照具體工程項目需求,基於選擇的系統硬體平臺而進行設計開發的用戶應用程式。 嵌入式作業系統可理解為一種被設計用於嵌入式系統的作業系統,嵌入式作業系統支持整個嵌入式系統的軟硬體資源的分配問題以及多任務之間調度與協調等方面的工作。 近年來,隨著各地高速公路以及城市軌道交通的迅速修建,市場對專業設計用於智能交通領域的各種LED顯示屏的需求愈來愈大。
  • 串口轉乙太網實現了TCP/IP的嵌入式協議轉換
    打開APP 串口轉乙太網實現了TCP/IP的嵌入式協議轉換 zstel 發表於 2020-12-02 12:17:36 串口轉乙太網模塊是嵌入式設備、單片機和物聯網採集系統基於TCP/IP協議接入網絡的一種方便、穩定的解決方案。
  • 嵌入式Web伺服器GoAhead在電力系統通信中應用
    簡單介紹GoAhead嵌入式Web伺服器的基本特點,接著講解了嵌入式Web配置管理功能在電力系統通信中應用的工作原理及設計方法。以工業乙太網交換機為實例,介紹了軟體系統功能,並詳細討論了軟體系統工作流程。
  • AKT門禁系統設計
    在此方案中,我們主要介紹AKT「一卡通」系統中的門禁部分。第二章 AKT門禁系統簡介   AKT門禁控制系統是由深圳市奧凱特科技有限公司結合國外先進技術,自行開發研製的的智能控制系統,它除具有普通門禁控制功能外,還具有相關的PLC邏輯編程功能,可適用於通道管理及小型樓宇自控系統。   1.AKT門禁系統網絡結構:
  • 基於STM32的全彩LED顯示屏系統的設計方案
    2 系統硬體設計  本系統選用ST公司新推出的32位微處理器STM32F103ZET6作為主控晶片,STM32F103ZET6使用了先進架構的ARMCortex-M3內核,其靈活的靜態存儲器控制器使得它能很方便的和許多存儲器和外設連接,同時STM32片上外設豐富,可以簡化系統外圍電路的設計。
  • 乙太網供電設備控制電路設計詳解
    而IEEE802.3標準是在最初的乙太網技術基礎上於1980年開發成功的。現在,乙太網一詞泛指所有採用CSMA/CD協議的區域網。乙太網2.0版由數字設備公司、Intel公司和Xerox公司聯合開發,它與IEEE802.3兼容。
  • 基於RFID的門禁系統設計
    基於RFID的門禁系統設計 秩名 發表於 2011-10-17 14:15:46 門禁系統,又稱為出入口控制系統,是對重要區域或通道的出入口進行管理與控制的系統。
  • 千兆乙太網MAC的FPGA實現與設計
    摘要:在數字系統互聯設計中,高速串行I/O技術取代傳統的並行I/O技術成為當前發展的趨勢,與傳統並行接口技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的能力。乙太網作為一種高速的串行傳輸方式,是當前最基本、最流行的區域網組網技術,為了適應各種新開展的業務如流視頻等,其速率也在不斷提高。
  • 乙太網設備如何同時使用電纜傳輸數據和供電
    打開APP 乙太網設備如何同時使用電纜傳輸數據和供電 亞德諾半導體 發表於 2021-01-08 14:33:45 本文介紹乙太網設備如何同時使用電纜傳輸數據和供電
  • 嵌入式系統在大射電望遠鏡5米模型上懸索控制中的應用
    摘 要:介紹了ARM9和嵌入式實時作業系統μC/OS-II在大射電望遠鏡5米模型上懸索控制中的應用。介紹了基於ARM9處理器(Atmel公司的AT91RM9200)的觸控螢幕、LCD等電路的設計。分析了用AT91RM9200產生6路獨立的PWM信號的方法。給出了在嵌入式實時作業系統μC/OS-II下的多任務應用軟體的設計實例,並成功實現了六軸聯動。
  • 嵌入式導航系統的組成與設計流程
    、"如何前往?"等問題,存在著前所未有的需求性。因此,以嵌入式系統為主要平臺的數碼地理整合性應用與其因應方案,也就是手持式、車載GPS全球衛星導航系統,便可解決對此人們急迫的需求性。基於S3C2440A微處理器和Win CE 5.0嵌入式作業系統,設計了一套可靠且實用的嵌入式導航系統,所提供的功能可以滿足人們現階段日常生活的需要。
  • 嵌入式WEB伺服器中TCP/IP協議棧的設計與實現
    由於Web技術的開放性和獨立平臺特性,大大降低了軟體系統和通信系統的設計、維護工作量,節省了人員培訓費用,提高了現場測試和控制設備的管理水平。而嵌入式Web伺服器將Web伺服器引入到現場測試和控制設備中,在相應的硬體平臺和軟體系統的支持下,使傳統的測試和控制設備轉變為具備了以TCP/IP為底層通信協議,Web技術為核心的基於網際網路的網絡測試和控制設備,有著一般Web伺服器所不具有優勢。
  • 現場總線Profibus和乙太網技術在菸草制絲線控制系統的應用
    在控制系統改造中,以菸草行業要求的準確配方、均勻摻兌、精確配料和質量穩定,提高信息化水平為目的,從設計的可靠性、先進性、開放性、可擴展性、網絡化出發,採用現場總線技術分布式控制和乙太網相結合,完成制絲線控制系統改造的設計、實施。
  • 關於溫度控制中衰減器嵌入式系統的設計
    關於溫度控制中衰減器嵌入式系統的設計 工程師之餘 發表於 2018-11-12 15:58:03 高功率微波衰減器的最基本原理就是將微波功率通過衰減吸波材料轉化為熱量
  • 射頻識別技術怎麼用於門禁系統應用?
    對車輛進行有效的管理,其核心問題是如何對車輛進行識別。本文介紹了一個基於射頻識別技術的門禁系統,將RFID技術應用於門禁的管理,可以有效地實現對車輛快速可靠地識別,使安防中門禁管理實現高效化、智能化。 射頻門禁系統由車載電子標籤、車感線圈、射頻接口、信號處理、控制系統與管理系統六個部分組成。
  • 簡化您的乙太網設計,第1部分:乙太網PHY基礎知識和選擇過程
    對於那些不太精通乙太網物理層(PHY)術語的人來說,評估各種類型的術語是非常難的。這些數字、符號和縮寫指的是什麼?什麼是介質獨立接口(MII)?汽車物理層和工業物理層的區別在哪?如何為網絡協議攝像頭、車聯網控制單元和可編程邏輯控制器選擇物理層?所有的物理層都滿足各種現場總線要求嗎?