简介 基于 ST25R3916 NFC 芯片在嵌入式门禁的应用,广泛应用在楼宇对讲门口机,小区 IC 门禁和出租房门禁等场所。 1. 门禁硬件资源 本次 NCF 开发设计大赛, ST 官方提供硬件支持: 1, STM32L476RG-Nucleo 开发板,简称 MCU 开发板 2, X-NUCLEO-NFC06A1 模块,简称 NFC 模块,内部包含 ST25R3916 NFC 芯片,可以 IC 卡读卡 / 写卡操作。 MCU 开发板和 NFC 模块结合成一个 嵌入式 门禁系统,需要用到开发板上一个按键、一个串口和 NFC 模块上的 3 个 LED 灯等,还需在购买几个 IC 卡做门禁刷卡测试。 2. 门禁系统主要框架 主要 系统框架图 S1 为开发板上的按钮,主要增加管理功能和删除所有用户卡需用到 LED1 指示注册管理卡操作,常亮或者闪烁正在进行,熄灭则退出。 LED2 指示增加用户卡操作,常亮或者闪烁正在进行,熄灭则退出。 LED3 指示删除用户卡操作,常亮或者闪烁正在进行,熄灭则退出。 LED4 指示正常工作状态用户刷卡,同时指示开门动作。 实物图 3. 开发工具 1) 串口调试助手 2) MDK5 3) STM32L476 软件工程包: STM32CubeExpansion_NFC6_V1.0.0 中的 Applications 例程 https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-nfc6.html 4. 软件设计需求 门禁上电时 :所有 LED 常亮, 1S 后熄灭,进入正常工作状态。 注册管理卡 :按下 S1 , LED1 闪烁 600ms ( NO:300ms , OFF:300ms ),连续刷两张 IC 卡,这时 LED1 变为常亮,表示增加管理卡成功,刷的第一张卡为增加管理卡,第二张卡为删除管理卡。 增加用户卡 :在正常工作状态下,刷增加管理卡, LED2 闪烁 600ms ( NO:300ms , OFF:300ms ),刷要增加的用户卡,依次逐个增加,然后刷增加管理卡或者删除管理卡结束操作。 删除用户卡 :在正常工作状态下,刷删除管理卡, LED3 闪烁 600ms ( NO:300ms , OFF:300ms ),刷要删除的用户卡,依次逐个删除,然后刷增加管理卡或者删除管理卡结束操作。 删除所有卡 :在正常工作状态下,刷删除管理卡, LED3 闪烁 600ms ( NO:300ms , OFF:300ms ) , 按下 S1 , LED3 常亮,后刷增加管理卡或者删除管理卡, LED3 灭删除所有卡成功。 用户刷卡 :在正常工作状态下,用户刷卡,若用户卡已注册,则开门 LED4 常亮 1S 后熄灭,若用户卡未注册,则不开门 LED4 闪 3S 后熄灭, 5. 程序设计简介 1. 增加消息事件队列 event.c 和 event.h ,事件类型包括: 1) 按键事件 2) 刷卡事件 3)10ms 周期事件 4)100ms 周期事件 2. 增加门禁功能处理 doorApp.c 和 doorApp.h ,包括注册管理卡、增加用户卡、删除用户卡和删除所有的用户卡等功能。 3. 增加 4 个 LED 的常亮、熄灭和闪烁功能的处理 本文主要描述了 NFC 嵌入式门禁架构和功能设计思想,工程测验和程序展示请看下篇《基于 ST25R3916 NFC 芯片在嵌入式门禁的应用( 002 )》