一、首先,能够获得参加本次2020意法半导体开发大赛也比较意外,因为手上刚好有个智能门锁的样品需要开发,看到本次大赛中的ST25DV04K正好能够满足门锁的一些要求,因此就提交了申请,并很快就收到了板子。由于ST25DV04K的功能是用在量产工具中,因此目前ST25DV04K部分还没有进行实际的开发,在此主要展示的是STM32WB55和ST25R3911B的部分功能以及ST25DV04K应用的设想
二、 参赛项目简介
本次参赛项目是智能门锁,门锁中使用了STM32WB55RGV6、ST25R3911B、指纹模块、触摸板以及ST25DV04K,ST25DV04K是动态标签,门锁的NFC使用ST25TV02K即可,主体的门锁并没有使用ST25DV04K,而是用于生产阶段
三、 硬件部分
本次大赛的主角ST25DV04K,内置4kbit的EEPROM,是一款支持I2C和NFC 双接口的EEPROM存储芯片,支持NFC type-V协议,读写距离距离更远,由于NFC需要设计天线,前期使用ST提供的X-NUCLEO-NFC04A1开发板可以大大缩减前期的开发时间
主控STM32WB55RGV6
STM32WB55RGV6是ST推出的BLE SOC,除了BLE还可以支持802.15.4,内置M4和M0+两个内核,M0+内核用于控制BLE的时序,不开放给用户,用户应用程序是在64Mhz的M4内核上运行的,相对于传统的单核BEL SOC,双核的最大优势是用户的应用时序不会被BLE时序打断,用于高实时性的场景时有更大的优势,另外功耗方面也有一定的优势
NFC Reader---ST25R3911B
ST25R3911B是ST NFCReader系列芯片的一员,与本次大赛中另外一款ST25R3916基本一致,当然ST25R3916支持的功能更多一些,该芯片支持的协议也很全面
– NFC-A / ISO14443A,高达848 kbit/s;
– NFC-B / ISO14443B,高达848 kbit/s;
– NFC-F / Felica™,高达424kbit/s ;
– NFC-V / ISO15693,高达53 kb/s ;
– NFC-A / ISO14443A和NFC-F /FeliCa™卡模拟;
– 有源和无源点对点发起方和目标模式,高达424kbit/s ;
– 低位模式实现了兼容MIFARE®Classic或其他自定义协议
该芯片支持低功耗电容和感应卡检测,用于门锁的场景可以提高相应速度
该芯片还支持很多其他的特性,这里就不过多介绍,具体请参考芯片规格书
NFC TAG芯片ST25TV02K,内置2kbit EEPROM,可以分为四个区域并设置不同的密码
门锁的PCB,由于缺少部分元器件,因此还不能使用,调试阶段都是使用开发板完成;很庆幸的是ST的NUCLEO板型号比较全面,使用开发板就可以快速实现产品功能的验证
全家福
除了NFC,指纹和触摸板也是必不可少的
四、 功能框图
首先看一下系统框图
触摸和指纹模块是通过UART与MCU进行连接,STM32WB55RGV6只有两个UART,刚好够用,指纹模块内置处理器,因此系统中没有涉及到指纹识别的算法,STM32WB55RGV6的主频高达64MHz,运行指纹识别算法应该是足够的,因此后续可以考虑把算法放到STM32WB55RGV6中运行;
五、 软件部分
ST25R3911B部分的demo可以在ST官网进行下载:
其他的资料在论坛也可以下载
STM32WB55的BLE部分代码则可以使用ST的代码生成工具STM32CubeMX进行生成,包括ST25DV04K的代码也可以生成,当然,这个工具只是生成库文件和一些初始化函数,主体的逻辑处理还是需要自己慢慢敲的
六、 测试验证
ST25R3911B与MCU使用SPI通信;由于硬件UART都被占用了,ST25R3911B读取NFC tag芯片只能通过USB CDC打印LOG
ST25DV04K用于生产测试,
用于生产时需要测试NFC的功能是否正常,以及参数的写入和固件的升级等;ST25DV04K的FTM功能也可以用于固件升级,测试传输速率大概有2.5K byte/S;ST25 APP中也该功能的演示
BLE的APP也没做,测试可以先用应用市场现有的APP进行测试
七、 总结
由于各个部分都可以使用现有的例程,经过测试各个模块功能也是没有问题的,但是整合到一起还需要时间