衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

電子設計 ? 作者:電子設計 ? 2018-09-03 11:06 ? 次閱讀

引言

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

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

1 門禁系統硬件組成

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

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

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

1.1 STM32外圍電路設計

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

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

在調試時我們采用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所示。

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

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所示。

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

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所示,每次重新啟動后,首先初始化相關寄存器,初始化各個模塊,確定已經連接服務器,然后進入程序主循環。

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

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

結語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 射頻
    +關注

    關注

    104

    文章

    5618

    瀏覽量

    168224
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307696
  • 以太網
    +關注

    關注

    40

    文章

    5460

    瀏覽量

    172741
  • STM32
    +關注

    關注

    2272

    文章

    10924

    瀏覽量

    357585
收藏 人收藏

    評論

    相關推薦

    基于嵌入式系統以太網控制器設計

    本文主要基于S3C44B0X+uClinux 系統平臺開發出嵌入式以太網控制器,該方案和其它設計比較具有高性能、低功耗、軟硬件易擴展特點,是當前及今后工業
    發表于 10-19 15:58 ?2416次閱讀
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>的<b class='flag-5'>以太網</b><b class='flag-5'>控制</b>器設計

    嵌入式工業以太網控制器的設計和應用

    隨著工業以太網的大規模應用,嵌入式的工業以太網系統也越來越多地滲入到了工控領域,以ColdFire微處理器和ARM處理器為硬件平臺的嵌入式
    發表于 11-17 11:14 ?965次閱讀

    嵌入式工業以太網的應用研究

    以太網在工業現場中的應用與uClinux嵌入式系統是兩個現在研究的熱點領域,以太網與uClinux在工業控制領域有著非常好的應用前景。本文所
    發表于 05-21 11:21 ?1553次閱讀
    <b class='flag-5'>嵌入式</b>工業<b class='flag-5'>以太網</b>的應用研究

    高性能嵌入式工業以太網監控系統電路設計

    本文提出基于嵌入式工業以太網技術的監控系統,詳細闡述了嵌入式工業以太網監控裝置的硬件和軟件的設計過程,包括32位微處理器
    發表于 01-21 10:12 ?1186次閱讀
    高性能<b class='flag-5'>嵌入式</b>工業<b class='flag-5'>以太網</b>監控<b class='flag-5'>系統</b>電路設計

    怎么實現基于Cortex-M3的嵌入式以太網門禁系統設計?

    的基本原理是先將智能卡放在門禁系統上,系統讀取數據并傳送給主芯片STM32進行處理,主芯片處理后再通過以太網協議LwIP將數據從ENCN8J
    發表于 05-24 06:49

    基于嵌入式模塊comX的實時以太網

    netX網絡控制器為處理器的嵌入式模塊comX,是支持所有主流實時以太網協議的嵌入式模塊。本文在介紹了實時以太網和netX網絡
    發表于 12-20 06:24

    基于CP2200 的嵌入式系統以太網接口設計

    隨著單片機處理能力不斷增強,嵌入式系統也越復雜,控制系統日趨網絡化,使基于以太網嵌入式系統研究
    發表于 05-26 16:44 ?15次下載

    嵌入式以太網工業設備接入系統的設計

    本文首先針對傳統以太網難以勝任控制中硬實時要求的問題,提出一些確保以太網在工業控制中實時性的措施。然后描述了基于以太網
    發表于 07-10 15:17 ?12次下載

    嵌入式設備與以太網互連系統的設計

    針對當前工業控制、智能儀器、信息家電等領域大量嵌入式設備需要接入互聯網的現狀,提出了一種基于IP2022 單芯片的解決方案,實現了帶有RS-485 串口的嵌入式設備與以太網的連接
    發表于 08-04 08:37 ?13次下載

    基于以太網嵌入式Web Server的控制系統設計研究

    介紹了基于以太網嵌入式Web Server 控制系統的設計、基本實現和測試。系統基于Modbus/UDP 主從協議對以太網通信進行確定性管
    發表于 09-16 11:21 ?25次下載

    基于OpenTCP的嵌入式以太網模塊設計

    針對TCP/IP 協議內容多、占空間大、不易嵌入單片機,以及嵌入式以太網模塊參數一般是固化在單片機內部的問題,給出了基于OpenTCP 協議和MS9S12NE64 以太網芯片的
    發表于 01-06 16:50 ?15次下載

    嵌入式以太網設計

    嵌入式以太網設計,隨著半導體技術的飛速發展,嵌入式產品已經廣泛應用于軍事、消費電子、網絡通信、工業控制等各個領域,網絡化是嵌入式
    發表于 06-27 09:35 ?840次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>以太網</b>設計

    嵌入式以太網數字語音廣播系統技術設計

    嵌入式以太網數字語音廣播系統技術設計 本文給出一種嵌入式以太網數字語音廣播系統解決方案,能夠較
    發表于 04-28 09:43 ?949次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>以太網</b>數字語音廣播<b class='flag-5'>系統</b>技術設計

    STM32F103VET6和EN28J60的嵌入式以太網接口設計

    STM32F103VET6和EN28J60的嵌入式以太網接口設計
    發表于 09-26 09:02 ?49次下載
    <b class='flag-5'>STM32</b>F103VET6和EN28J60的<b class='flag-5'>嵌入式</b><b class='flag-5'>以太網</b>接口設計

    基于STM32嵌入式以太網門禁系統設計

    問題。 隨著嵌入式技術日新月異的發展,以及以太網技術的普及,使得基于以太網嵌入式產品越來越多,發展也越來越快。本文研究的就是采用以太網傳輸
    發表于 11-29 18:37 ?956次閱讀
     基于<b class='flag-5'>STM32</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>以太網</b><b class='flag-5'>門禁</b><b class='flag-5'>系統</b>設計
    百家乐官网庄闲收益率| 汇丰百家乐娱乐城| 大发888官网 888| 电玩百家乐官网的玩法技巧和规则 | 百家乐官网牌路图表下| 大发888游戏出纳| 中国百家乐官网软件| 大发888官方 df888| 大赢家百家乐官网娱乐| 新澳博| 百家乐没边| 百家乐官网平台信誉| 威尼斯人娱乐平台代理| 百家乐官网怎么完才能嬴| 德州扑克技巧视频| 保单百家乐路单| 百家乐官网下注瀛钱法| 明珠百家乐的玩法技巧和规则| 678百家乐官网博彩娱乐平台 | 大发888娱乐城 qq服务| 澳门百家乐官网游戏官网| 轮盘必胜法| 百家乐博娱乐网赌百家乐| 百家乐官网心得打法| 德州扑克3d豪华版| 百家乐傻瓜式投注法| 大玩家百家乐官网现金网| 菲律宾太阳城网| 百家乐赌法博彩正网| 大家旺百家乐官网娱乐城| 百家乐赌术揭秘| 百家乐官网技术交流群| 大发888新址| 百家乐投注软件有用吗| 澳门百家乐官网怎么看小路| 现金网注册| 澳门百家乐怎赌才能赚钱| 冠军百家乐官网现金网| 大发888娱乐场下载最高| 真钱百家乐五湖四海全讯网| 永利百家乐官网娱乐网|