当前位置: 首页 > news >正文

干货 | NXP NCF3321 卡保护应用阈值修改讲解

1. 前言

        NCF3321 是世平集团代理的 NXP 所研发的新一代车规级 NFC 前端 IC,相比上代 NFC 前端 IC 性能提升巨大、支持多类型多协议卡检测、支持手机模拟 NFC 识别、支持手机与卡共同检测、宽范围工作温度工作更加稳定。

        NCF3321 是一款高度集成的高性能、完全符合 NFC 论坛标准的 13.56 MHz 非接触式通信前端 IC,它采用了出色的调制和解调概念,完全集成了不同类型的非接触式通信方法和协议。NCF3321 可确保与下一代 NFC 手机的最大程度的互操作性。NCF3321 针对门把手应用进行了优化,并实现了具有超低功耗卡检测的大功率发射器功能。

        卡保护应用是 NFC3321 重要应用功能之一,该功能结合无线充电业务共同运行可以有效识别卡片并在运行过程中给予主控 MCU 允许充电\禁止充电指令可以有效保护卡片不会因无线充电而烧毁。由于硬件天线电路设计不同卡保护功能在程序中需要根据天线的不同而测试调试阈值,本文将简单叙述测试调试阈值方法。

2. 前期准备

2.1 硬件准备

       由于天线设计不同导致天线内磁场强度存在差异,卡片或手机放入天线不同区域内造成不同程度的磁场失谐,该失谐由 NCF3321 通过 ADC 检测传输到主控 MCU 的程序运行中反映为相位改变,卡保护功能识别手机与卡片以最大或最小相位值为标准,因此需要将天线分为多个区域使用一张卡片或手机对天线不同覆盖区域进行测试统计其相位值。


图2.1 天线区域分割示意图

2.2 软件准备

  • 编译器:GCC ARM Embedded 6.3.1 20170509
  • IDE:S32 Design Studio for ARM 2018.R1
  • 配置工具:EB Tresos Studio v24.0.1 b180321-0610
  • 用于 AUTOSAR、AnfcRL 的汽车 NFC 读取器库包:AnfcRL_TS_T40D2M10I1R0
  • 用于 S32K144 AUTOSAR4.3 驱动包:S32K14X_MCAL4_3_RTM_1_0_1
  • Gnuwin32 (version 3.81)
  • GNU Arm Embedded Toolchain (Version 7-2018-q2-major)
  • 卡保护应用工程:aNfc_S32K144_CardProtection

备注:IDE、EB、NFC 读取器库包、MCAL 等软件组件与代码工程包需要在 NXP 官网申请权限进行下载。

3. 阈值调整

3.1 导入工程

       在 S32DS 内导入 CardProtection 工程,右击工程名称选择 Properties 选项,在 C/C++ General 下 Paths and Symbols 内 #Symbols 下 GNU C 选项内添加 DEBUG_ANALOG 宏定义,该宏定义用以打开卡保护功能检测到卡片时天线磁场失谐传递给 MCU 的相位数据信息。


图3.1.1 导入 S32K144 CardProtection 工程


图3.1.2 添加 DEBUG_ANALOG 宏定义


图3.1.3 卡保护检卡细节图

3.2 修改数值讲解

        卡保护功能调整的阈值是 detune_meas.c 的 LENIENT_THRESHOLD 和 STRICT_THRESHOLD 两个变量的值。LENIENT_THRESHOLD 值为单个设备识别检测值,log 打印的 delta phase 大于 LENIENT_THRESHOLD 设定值识别为 Card,小于设定值则被识别成 phone;STRICT_THRESHOLD 设定值为一个手机加一张卡或多张卡等多个 NFC 设备测试识别值。


图3.2.1 修改阈值变量说明图

3.3 举例

       开始 LENIENT_THRESHOL 的值是 4200, iphone11 手机放上去检测被识别成 Card 并给出 PROHIBIT CHARGING 结果,通过 log 打印得出 delta phase 是 7031,如果要卡保护功能正确识别手机则需要将 LENIENT_THRESHOLD 阈值调大,大于 7031 ,我们改成了 8000,再次放上 iphone11 卡片弹窗确认选择一张卡,测试结果如下,识别成为 phone 并给出 ALLOW CHARGING 结果。


图3.3.1 修改阈值结果图

同理如果是多个 NFC 设备则修改 STRICT_THRESHOLD 变量值即可。

        由于天线设计存在盲区,建议按照硬件准备章节将天线分成多个区域,使用卡片或手机进行多次检测总结多个 delta phase 值评测修改阈值。

        综上所述 NCF3321 为卡保护应用阈值修改讲解,通过修改可准确识别手机、单卡与多卡情况并给出禁止充电、允许充电命令。如想了解更多资料与设计,请联系我们 atu.sh@wpi-group.com。

4. 参考文献

[1] DS787721-Data Sheet NCF3321(2.1).pdf,NXP

[2] UM-SCA11222-AUTOSAR_Demonstration_Guideline_for_aNFC_Reader_Library.pdf,NXP

[3] WCT-15WTXAUTOS13V2 Install User Guide(WCT15WTXAUTOSBUG).pdf,NXP

[4] UM-SCA11840-RTD_AUTOSAR_Demonstration_Guideline_for_aNFC_Reader_Library.pdf,NXP

欢迎在博文下方留言评论,我们会及时回复您的问题。

如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com   作者:Hobo

更多资讯,请扫码关注我们!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【团队建设】前端编码规范
  • 示波器常识概述及简介
  • Logrus IT的质量评估门户如何提高游戏本地化质量:案例研究
  • 华为OD机试 - 根据IP查找城市(Java 2024 E卷 100分)
  • 前端远端SDK组件加载方案
  • Java 入门指南:Map 接口
  • 航空制造领域中三维工艺技术的应用
  • 更换 CentOS 7 YUM 源至国内镜像:简易教程与操作指南
  • SAP与生产制造MPM系统集成案例
  • 位图
  • VS2022 QT环境显示中文乱码问题
  • 一种低成本RS485光耦脉宽补偿电路
  • Qt是不是经常写个QWidget输入参数?
  • 2024年第十五届蓝桥杯图形化省赛真题分享包含答案
  • RabbitMQ 是什么?应用场景有哪些?
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 03Go 类型总结
  • Apache的基本使用
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES6 学习笔记(一)let,const和解构赋值
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JS字符串转数字方法总结
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MQ框架的比较
  • Promise初体验
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • RxJS: 简单入门
  • SpiderData 2019年2月16日 DApp数据排行榜
  • unity如何实现一个固定宽度的orthagraphic相机
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 深度学习在携程攻略社区的应用
  • 项目管理碎碎念系列之一:干系人管理
  • 写代码的正确姿势
  • 在weex里面使用chart图表
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • "无招胜有招"nbsp;史上最全的互…
  • # 飞书APP集成平台-数字化落地
  • ### RabbitMQ五种工作模式:
  • #数据结构 笔记三
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)fread与fwrite详解
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (算法)硬币问题
  • (一)基于IDEA的JAVA基础1
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)linux 命令大全
  • (转)ObjectiveC 深浅拷贝学习
  • (状压dp)uva 10817 Headmaster's Headache