基于Cortex-M3的嵌入式以太網(wǎng)門(mén)禁系統設計

發(fā)布時(shí)間:2014-12-16 10:42    發(fā)布者:designapp

        當前,有很多的企業(yè)是采用佩戴工作證來(lái)完成門(mén)禁管理,而且還是采用傳統的人工方式完成,不僅容易被人混入,且沒(méi)有記錄,存在各種人為的失誤。同時(shí),市場(chǎng)上門(mén)禁系統存在傳輸距離受限制、性能不佳等問(wèn)題。
隨著(zhù)嵌入式技術(shù)日新月異的發(fā)展,以及以太網(wǎng)技術(shù)的普及,使得基于以太網(wǎng)的嵌入式產(chǎn)品越來(lái)越多,發(fā)展也越來(lái)越快。本文研究的就是采用以太網(wǎng)傳輸數據和射頻芯片識別智能卡相結合的門(mén)禁系統,相對于傳統的門(mén)禁系統,以太網(wǎng)解決了傳輸距離上的問(wèn)題。其次,采用了基于80C51內核的射頻芯片PN532,使得性能更加穩定。其工作的基本原理是先將智能卡放在門(mén)禁系統上,系統讀取數據并傳送給主芯片STM32進(jìn)行處理,主芯片處理后再通過(guò)以太網(wǎng)協(xié)議LwIP將數據從ENCN8J60傳輸給服務(wù)器。
1 門(mén)禁系統硬件組成
門(mén)禁系統主要由意法半導體公司的主控芯片STM3H、Microchip公司的以太網(wǎng)控制器ENC28J60和NXP公司的射頻芯片PN532組成。
門(mén)禁系統結構組成如圖1所示。主芯片STM32通過(guò)以太網(wǎng)協(xié)議棧LwIP將數據傳輸到ENC28J60,然后可以通過(guò)網(wǎng)線(xiàn)與服務(wù)器直接連接進(jìn)行通信,也可以通過(guò)路由器再連接到服務(wù)器。在非接觸式卡通信方面,STM32通過(guò)頻率為1MHz的SPI接口與PN532相連。



圖1 門(mén)禁系統組成





       

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



圖2 主控芯片STM32外圍電路結構


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




       
1.2 射頻芯片PN532硬件電路設計
PN532是NXP公司推出的一個(gè)高度集成的非接觸式讀寫(xiě)芯片,它包含80C51微控制器內核,集成了13.56 MHz下的各種主動(dòng)/被動(dòng)式非接觸通信方法和協(xié)議。支持ISO14443A/14443B協(xié)議。工作距離超過(guò)75 mm。接收來(lái)自天線(xiàn)的信號并對該數據按照ISO14443規定的幀格式處理數據。
PN532支持三種通信方式:SPI、I2C、HUS。由于我們采用SPI方式與主控芯片STM32進(jìn)行通信,所以I0和I1分別設置為0和1。
PN532外圍電路結構如圖3所示。



圖3 PN532外圍電路結構





       
1.3 以太網(wǎng)控制器ENC28J60硬件設計
主控芯片ENC28J60是帶有行業(yè)標準串行外設接口(Serial Peripheral Interface,SPI)的獨立以太網(wǎng)控制器。它可作為任何配備有SPI的控制器的以太網(wǎng)接口。ENC28J60符合IEEE802.3的全部規范,采用了一系列包過(guò)濾機制以對傳入數據包進(jìn)行限制。它還提供了一個(gè)內部DMA模塊,以實(shí)現快速數據吞吐和硬件支持的IP校驗和計算。與主控制器的通信通過(guò)兩個(gè)中斷引腳和SPI實(shí)現,數據傳輸速率高達10 Mb/s。
兩個(gè)專(zhuān)用的引腳用于連接LED,進(jìn)行網(wǎng)絡(luò )活動(dòng)狀態(tài)指示。
應當注意的是,當從ENC28J60讀取多個(gè)數據時(shí),即使不需要主控芯片STM32輸出的數據,每讀取一個(gè)數據前也要向SPI發(fā)送緩沖器寫(xiě)一個(gè)數據用來(lái)啟動(dòng)SPI的接口時(shí)鐘。
ENC28J60典型應用電路如圖4所示。





圖4 ENC28J60典型應用電路



圖5 TCP處理框圖





       
2 系統軟件設計
2.1 以太網(wǎng)協(xié)議LwIP
LwIP是瑞士計算機科學(xué)院開(kāi)發(fā)的小型開(kāi)源的TCP/IP協(xié)議棧。由于它只需要十幾K的RAM和40K左右的ROM就可以運行,所以很適合在硬件資源并不充裕的嵌入式系統中使用。
LwIP屬于比較松散的通信機制,通過(guò)共享內存的方式實(shí)現應用層與底層協(xié)議之間的通信。它提供了三種API:①RAM API,②LwIP API,③BSD API。
其中的RAM API其缺點(diǎn)就是代碼不易于理解,開(kāi)發(fā)難度大,其優(yōu)點(diǎn)是相對于其他兩種方式占用的資源少,效率更加高,更適合于對于資源相對少的嵌入式使用,所以我們采用RAM API方式進(jìn)行編寫(xiě)。
在TCP/IP傳輸層中有TCP和UDP兩種協(xié)議,TCP提供IP環(huán)境下數據的可靠傳輸,UDP提供的是不可靠傳輸,由于門(mén)禁系統中必須要求傳輸數據的正確,所以采用TCP。圖5是LwIP下的TCP處理流程框圖。
RAM API把協(xié)議棧和應用程序放在一個(gè)進(jìn)程里,該函數基于函數回調技術(shù),下面是LwIP的部分關(guān)鍵配置和代碼。
(1)LwIP配置
在LwIP的配置文件lwipopts.h中修改如下地方。
是否使用操作系統,我們不用,所以填寫(xiě)為1:
#define NO_SYS 1
配置heap的大。
#define MEM_SIZE
配置pool的大小
#define PBUF_POOL_SIZE
#define PBUF_POOL_BUFSIZE
以上三個(gè)配置占據了LwIP協(xié)議棧大部分的內存,需要根據自己的需要修改成合適的值。
(2)LwIP代碼
①分別設置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);
②初始化底層函數,也就是配置MAC地址,初始化ENC28J60,配置最大輸出單元等:
low_level_init(netif);
③連接遠程主機,當連接建立,就會(huì )調用第4個(gè)參數Conn_Back:
tcp_connect(TCP_pcb,&ipaddr,1026,Conn_back);
④當有新的數據接收到時(shí)調用的回調函數:
tcp_recv(TCP_pcb.tcp_recv_callback);
⑤服務(wù)器成功接收到數據后調用的回調函數:
tcp_sent(TCP_pcb,tcp_sent_callback);
⑥處理錯誤的回調函數:
tcp_err(pcb,CMD_conn_err);
⑦是否接收到數據:
ethernetif_input(&enc28j60);
通信一旦結束或者出現異常狀況后,一定要使用pbuf_free()函數釋放pbuf,避免內存的浪費。還有一點(diǎn)要注意的是,系統在正常運行的過(guò)程中,定時(shí)器函數tcp_fasttmr()和tcp_slowtmr()函數必須以固定的時(shí)間間隔被規律地調用。




       

2.2 門(mén)禁系統軟件架構與設計
門(mén)禁系統的主要流程如圖6所示,每次重新啟動(dòng)后,首先初始化相關(guān)寄存器,初始化各個(gè)模塊,確定已經(jīng)連接服務(wù)器,然后進(jìn)入程序主循環(huán)。

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



圖6 門(mén)禁系統的主要流程圖


結語(yǔ)
本文對使用STM32為主控芯片的門(mén)禁系統的硬件和軟件架構進(jìn)行了相應的描述,對于文中所涉及的芯片和以太網(wǎng)協(xié)議的使用具有指導意義,能夠較大幅度地降低成本,同時(shí)門(mén)禁系統的使用會(huì )更加穩定,傳輸距離更長(cháng)。



本文地址:http://selenalain.com/thread-135384-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页