基于Cortex-M3的嵌入式以太网门禁系统设计

发布者:uioo9158最新更新时间:2018-02-04 来源: eefocus关键字:Cortex-M3  以太网  门禁系统 手机看文章 扫描二维码
随时随地手机看文章

内容摘要:阐述了采用Cortex—M3內核的STM32为主控芯片、射频芯片PN532、以太网控制器ENC28J60的硬件电路和软件设计框架,同时对以太网协议LwIP进行了详细的分析。本门禁系统传输距离远,超低功耗,性能优异且稳定,完全适用于校园以及公司的门禁系统。

    引 言


    当前,有很多的企业是采用佩戴工作证来完成门禁管理,而且还是采用传统的人工方式完成,不仅容易被人混入,且没有记录,存在各种人为的失误。同时,市场上门禁系统存在传输距离受限制、性能不佳等问题。

    随着嵌入式技术日新月异的发展,以及以太网技术的普及,使得基于以太网的嵌入式产品越来越多,发展也越来越快。本文研究的就是采用以太网传输数据和射频芯片识别智能卡相结合的门禁系统,相对于传统的门禁系统,以太网解决了传输距离上的问题。其次,采用了基于80C51内核的射频芯片PN532,使得性能更加稳定。其工作的基本原理是先将智能卡放在门禁系统上,系统读取数据并传送给主芯片STM32进行处理,主芯片处理后再通过以太网协议LwIP将数据从ENCN8J60传输给服务器。

    1 门禁系统硬件组成

    门禁系统主要由意法半导体公司的主控芯片STM3H、MICroChip公司的以太网控制器ENC28J60和NXP公司的射频芯片PN532组成。

    门禁系统结构组成如图1所示。主芯片STM32通过以太网协议栈LwIP将数据传输到ENC28J60,然后可以通过网线与服务器直接连接进行通信,也可以通过路由器再连接到服务器。在非接触式卡通信方面,STM32通过频率为1MHz的SPI接口与PN532相连。

基于Cortex—M3的嵌入式以太网门禁系统设计

    1.1 STM32外围电路设计

    本系统采用意法半导体公司以Cortex—M3为内核的32位微处理器STM32F103为主控芯片,其主频为72 MHz,内部集成存储空间为256K的Flash和64K的SRAM,还包含I2C、SPI、I2S、USART、CAN、ADC、看门狗等。性价比在同类产品中十分突出。硬件连接如图2所示。

基于Cortex—M3的嵌入式以太网门禁系统设计

    在调试时我们采用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所示。

基于Cortex—M3的嵌入式以太网门禁系统设计

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

基于Cortex—M3的嵌入式以太网门禁系统设计

    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所示,每次重新启动后,首先初始化相关寄存器,初始化各个模块,确定已经连接服务器,然后进入程序主循环。

基于Cortex—M3的嵌入式以太网门禁系统设计

    首先监测是否需要调用LwIP内部的快速定时器和慢速定时器。然后监测服务器是否有断开,如果断开则重新连接服务器,没有断开的话则检测是否有智能卡,有的话接收卡中信息进行处理然后发送给服务器。

    结语

    本文对使用STM32为主控芯片的门禁系统的硬件和软件架构进行了相应的描述,对于文中所涉及的芯片和以太网协议的使用具有指导意义,能够较大幅度地降低成本,同时门禁系统的使用会更加稳定,传输距离更长。


关键字:Cortex-M3  以太网  门禁系统 引用地址:基于Cortex-M3的嵌入式以太网门禁系统设计

上一篇:嵌入式LonWorks网络智能网关设计解析
下一篇:基于μC/OS—III的CC1120驱动程序设计

推荐阅读最新更新时间:2024-03-16 15:54

ARM技术的Cortex-M3微处理器测试方法研究与实现
0 引言 随着半导体技术的发展,集成电路制程工艺从深亚微米发展到纳米级,晶体管集成度的大幅提高使得芯片复杂度增加,单个芯片的功能越来越强。二十世纪90年代ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。采用ARM技术知识产权( IP 核)的微处理器,即ARM 微处理器,已遍及工业控制。消费类电子产 品。通信系统。网络系统。无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32 位RISC微处理器七成以上的市场份额。ARM 芯片的广泛应用和发展也给测试带来了挑战,集成电路测试一般采用实际速度下的功能测试,但半导体技术的发展使得测试开发工程资源按几何规律增长,自动测试 设备(ATE)的性能赶不上日益增加的器件I/O
[单片机]
ARM技术的<font color='red'>Cortex-M3</font>微处理器测试方法研究与实现
Maxim Integrated推出以太网光收发器IC
Maxim Integrated的SFP+光收发器模块总功耗低于0.8W,内置模拟监测器有效降低成本。 中国,北京,2014年3月11日。Maxim Integrated Products, Inc. (NASDAQ: MXIM)推出高集成度10GBASE-LR SFP+光收发器IC MAX3956,为工程师提供高性能、低功耗光模块方案。 光模块设计人员为了满足低功耗要求,常常在设计中不得不牺牲高性能。MAX3956 SFP+激光收发器IC能够很好地解决上述问题。该器件能够提供50%的传输模板裕量(1k波形,没有接触眼图模板边缘),SFP+模块总功耗低于0.8W。较低的功
[网络通信]
Maxim Integrated推出<font color='red'>以太网</font>光收发器IC
以太网和融合网络适配器带来的新性能
最新的以太网和融合网络适配器(Converged Network Adapter,CNA)OneConnect OCe14000具备了一些十分重要的性能和数据中心的高效率。OCe14000系列适配器的设计目标是通过满足数据中心、Web规模计算和不断进化的云网络的需求,进一步提升前三代适配器的已有功能。我们相信,我们一定能够实现这些目标,并且设立一些极其创新的性能基准。 与前几代适配器相比数据包处理性能提高4倍 若要在任何情况下提高网络接口卡(Network Interface Card,NIC)的性能,必须要体现一个特征,即能够处理高速率的传入/传出以太网数据包。这一速度通常称为帧速率或数据包速率,并以每秒可传输的数据量来表示
[嵌入式]
Cortex-M3之SysTick
SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。 Cortex‐M3处理器内部包含了一个简单的定时器。因为所有的CM3芯片都带有这个定时器,软件在不同 CM3器件间的移植工作得以化简。该定时器的时钟源可以是内部时钟(FCLK,
[单片机]
<font color='red'>Cortex-M3</font>之SysTick
STM32_CorTex-M3位带操作的理解
STM32支持了位带操作(bit_band),有两个区中实现了位带。其中一个是SRAM 区的最低1MB 范围,第二个则是片内外设 区的最低1MB 范围。这两个区中的地址除了可以像普通的RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区 把每个比特膨胀成一个32 位的字。 每个比特膨胀成一个32 位的字,就是把 1M 扩展为 32M , 于是;RAM地址 0X200000000(一个字节)扩展到8个32 位的字,它们是:(STM32中的SRAM依然是8位的,所以RAM中任一地址对应一个字节内容) 0X220000000 ,0X220000004,0X220000008,0X22000000C,0X2200
[单片机]
STM32_CorTex-M3位带操作的理解
Marvell 光纤通道和以太网解决方案现已面向市场
Marvell (NASDAQ:MRVL)今日宣布其品类丰富的下一代 10/25GbE FastLinQ®以太网和 QLogic® 16G/32G 光纤通道技术已应用于 Dell EMC PowerEdge MX。Marvell®最新技术被 Dell EMC®所采用,促进两家公司长久以来的协同创新合作关系的持续性发展,为数据中心提供了性能强劲、企业级、可组合的I/O连接解决方案。 新的Dell EMC PowerEdge MX 以 Dell EMC 模块化的灵活基础设施架构为基础,其设计可以满足和超越客户需求,提供超高性能和扩展范围,同时降低了购置成本。作为 Dell EMC PowerEdge MX 的一部分,Marvell
[网络通信]
CAN总线与以太网互连系统设计
摘要:介绍了一种基于单片机SX52的CAN与以太网互连方案,阐述了以太网和CAN总线网络协议转换的软硬件设计,实现了以太网与现有CAN总线网的直接连接。保证管理监控层(以太网)与生产测控层(CAN总线网)之间的连接,使得上下层数据能方便地通信。 关键词:现场总线 CAN总线 以太网 在大型企业自动化系统中,上层企业管理层和生产监控层一般都采用以太网和PC机,而下层车间现场则采用现场总线和单片机测控设备。上下两层的沟通,通常采用工业控制机加以太网卡,再加上PC机插槽上的接口卡或并行打印口的EPP接口卡实现。这种连接方式成本高,开发周期长。针对这种情况,笔者设计一种单独的CAN以太网网关互连系统,成功地实现以太网与现有CAN总线网
[应用]
基于VDSL的以太网的设计与实现
    摘要: 描述了一种新兴宽带接入技术。这种宽带接入技术利用VDSL在现有电话线上实现10M以太网(Ethernet)功能,从而以尽可能低的成本,在不需要重新布线的情况下实现宽带接入。     关键词: 宽带接入 数字用户环路(xDSL) 甚高比特率数字用户环路(VDSL) Ethernet Internet的发展正快速进入宽带时代。目前在处理“信息高速公路最后1公里”的宽带接入方面已经有了很多解决方案,例如:FTTH(光纤到户)接入网、HFC(混合光纤同轴电缆)接入网、光纤+双绞线以太网、高速无线接入网、xDSL等。 除xDSL宽带接入方式外,其它几类接入网的建设需要重新布线或建立无线基站
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved