【经验】国产非接触卡读写芯片THM3523实现电子钱包功能的方法

2021-05-01 世强
非接触卡读写芯片,THM3523,同芯微电子 非接触卡读写芯片,THM3523,同芯微电子 非接触卡读写芯片,THM3523,同芯微电子 非接触卡读写芯片,THM3523,同芯微电子

本文使用同芯微电子THM3523非接触卡读写芯片的DEMO板测试电子钱包功能,主要介绍如何使用THM3523将mifare格式的NFC卡片的某个块初始化为值块,并对该值块执行充值、扣款、读取余额等操作。


1、在main.c文件中添加需要用到的头文件;定义g_rfAtr[]数组用来存放缓存数据;定义M_gUID[]数组用来存放卡号;定义DefaultKey[]数组用来存放默认密码,本文使用mifare格式的NFC卡片,卡片的块原始密码为6个0xFF;按照值块的格式定义ValueBlockInitSet[]数组,本文定义值块余额为0,值块地址为0x01;定义ValueBlockIncrease[]数组用来存放需要充值的金额,本文定义充值100;定义ValueBlockDecrease[]数组用来存放需要扣款的金额,本文定义扣款20。

2、增加ReadBlockDataSendToUart2()函数,用来读取某个块的数据,并把读到的数据通过UART2打印出来。

3、在main()函数中,调用uart2_init()函数对串口2执行初始化,波特率9600;调用SleepMode()函数设置THM3523芯片进入正常的工作模式,SleepMode()函数的形参填写1为正常模式,形参填写0为休眠模式;调用SET_Mode()函数设置THM3523芯片使用SPI接口,在SET_Mode()函数的形参中,填写0则使用UART接口,填写1则使用I2C接口,填写2则使用SPI接口;调用IO_INIT()函数执行IO口初始化,主要是初始化SPI接口。

4、在while()循环中,调用THM_MFindCard()函数执行寻卡功能,当发现NFC卡片后再执行其他操作。

5、发现NFC卡片后,调用THM_MCascaded_Anticoll()函数执行防冲撞处理,并读出卡片的卡号,然后将卡片4个字节的卡号通过UART2发送到串口打印出来。

6、调用THM_MInitialKEY()函数加载默认密码,然后再调用THM_MAuthentication()函数对块1进行密码验证;在对块执行读写操作之前,需要先验证密码是否正确。

7、调用THM_MWrite()函数按照值块的格式将块1初始化为值块,要将NFC卡片的某个块作为电子钱包使用,得先将卡片的某个块按照值块的格式写入数据。

8、调用THM_Mchange()函数给NFC卡片的值块1充值100,并读出余额打印到串口;THM_Mchange()函数的第一个形参写入0xC1时,表示执行充值操作。

9、调用THM_Mchange()函数给NFC卡片的值块1扣款20,并读出余额打印到串口;THM_Mchange()函数的第一个形参写入0xC0时,表示执行扣款操作。

10、编译程序并下载固件到MCU中,将卡片靠近THM3523 DEMO板时,串口打印如下数据;第1行数据表示读到NFC卡片的卡号为:0xA3、0x89、0xDE、0x79;第2行数据表示将块1初始化为值块后,读到值块1的余额为0;第2行数据表示将值块1充值100之后,读到值块1的余额为100;第2行数据表示将值块1扣款20之后,读到值块1的余额为80。

11、本文的mian.c文件源代码如下所示:

#include "stm32f10x.h"

#include "usart.h"

#include "mifare.h"

#include "thm3523.h" 

#include "ISO14443.h"

#include <string.h>


u8 g_rfAtr[20];

extern unsigned char M_gUID[5];


u8 DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};


u8 ValueBlockInitSet[16] = {0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x01, 0xFE};

u8 ValueBlockIncrease[4] = {0x00, 0x00, 0x00, 0x64};

u8 ValueBlockDecrease[4] = {0x00, 0x00, 0x00, 0x14};


void ReadBlockDataSendToUart2(u8 block)

{

    u8 status;

    u8 TempData[16];

    u8 g_rfAtrLen = 0;

    status = THM_MRead(block, &g_rfAtrLen, TempData);  //Read the data of block[n] to TempData

    if(status == RECEIVE_OK)

    {

        UART2_SendBuff(TempData, MBLOCK_SIZE);  //Send the data of TempData to uart2

    }

}


int main(void)

{

    u8 status;

    uart2_init(9600); //Set uart2 Baud Rate: 9600

    SleepMode(1);   //Set THM3523 to work mode

    SET_Mode(2);    //Set THM3523 to SPI mode, 0: UART, 1: I2C, 2: SPI  

    IO_INIT();   //SPI GPIO initialize

    while(1)

    {

        status = THM_MFindCard(g_rfAtr);  //Find Card

        if(status != 0x02)

        {

          continue;

        }


        status = THM_MCascaded_Anticoll(g_rfAtr);  //Anticoll and Read Card ID

        if((status != 5) && (status != 10) && (status != 15))

        {

          continue;

        }

        UART2_SendBuff(M_gUID, 4);  //Send Card ID to uart2


        THM_MInitialKEY(PICC_AUTHENT1A, DefaultKey);      //Copy block key to M_gKEYA[]

        status = THM_MAuthentication(PICC_AUTHENT1A, 1);  //Authentication block[1] key

        if(status != MI_OK)

        {

            continue;

        }


        status = THM_MWrite(1, ValueBlockInitSet); //Initializes the block[1] to a value block

        if(status != MI_OK)

        {

            continue;

        }

        ReadBlockDataSendToUart2(1);                       //Read the block[1] data and send the data to UART2


        THM_Mchange(0xC1, 1, ValueBlockIncrease);  //Increases the value of the value block 1

        ReadBlockDataSendToUart2(1);                      //Read the block data and send the data to UART2


        THM_Mchange(0xC0, 1, ValueBlockDecrease);  //Decreases the value of the value block 1

        ReadBlockDataSendToUart2(1);                       //Read the block data and send the data to UART2

    }

}


技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由潮汕小菜提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

平台合作

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】THM3523非接触卡读写芯片移植读卡代码和实现读卡号功能的方法

同芯微电子原厂提供的“THM3523_DEMO参考程序”主要是实现上位机软件控制THM3523芯片和NFC卡片进行通信的功能,在普通的读卡应用中可以不用那么多代码。本文主要介绍如何移植读卡需要的代码到MCU工程中,并使用STM32F103 MCU控制THM3523 DEMO板实现读卡号功能。

2021-04-27 -  设计经验

【经验】国产非接触卡读写芯片THM3523对NFC卡片执行读写数据和修改扇区密码的方法

本文使用同芯微电子THM3523 DEMO板和MIFARE 1(ISO/IEC 14443A )NFC卡片作为测试工具,编写程序实现THM3523非接触卡读写芯片对NFC卡片执行读写数据和修改扇区密码的功能。

2021-04-20 -  设计经验

【经验】加密芯片解决信息泄漏的烦恼,在信息安全领域中发挥着重要作用

随着互联网的普及,信息安全已经成为了一个备受关注的问题。在这个大数据时代,我们的个人信息和公司机密、财务信息等都面临着被黑客侵扰、病毒攻击和各种网络攻击的风险。因此,加密技术也就应运而生,为解决信息泄漏带来的烦恼提供了有力的保障。

2023-07-25 -  设计经验 代理服务 技术支持 采购服务

非接触式读写卡芯片 产品介绍

非接触式读写卡芯片产品介绍涵盖应用领域、产品介绍、芯片特性、开发套件和产品路线图。主要应用领域包括读卡器、门锁、电表和POS等,采用国际标准如Qi标准、EMV contactless L1和PBOC3.0。芯片特性包括符合ISO/IEC14443和ISO/IEC15693标准,发射功率和接收增益可调,支持多种传输速率和接口模式。提供完备的软硬件开发套件,产品路线图展示未来产品发展计划。

同芯微电子  -  CONTACTLESS READ-WRITE CARD CHIP,非接触式读写卡芯片,非接触式读卡芯片,THM3523,THM3070,THM3010,THM3050,THM3060,THM3030,THM3040,读卡器,POS,门锁,电表

商品及供应商介绍

【选型】同芯微电子(TMC)国产NFC读卡器芯片THM3070和THM3523性能和应用的区别

同芯微电子国产NFC读卡器芯片目前主推的型号是THM3070和THM3523,本文主要从芯片的性能和应用来介绍这两种芯片的区别,方便用户在设计产品的时候根据需求来选择合适的NFC读卡器芯片。

2020-12-09 -  器件选型

【应用】国产非接触式读卡芯片THM3523用于智能电表,支持低功耗寻卡模式

在客户智能电表中,国产高可靠性非接触读卡器芯片推荐THM3523,输入电压为2.7~5.5V。SPI最高可达10Mbps。可支持读ISO/IEC14443 TypeA/B卡。通信接口也支持多种模式,如SPI、I2C、UART。支持低功耗寻卡模式,适合电池供电产品。

2020-09-18 -  应用方案

详解加密芯片的基本特性和加密原理

加密芯片通过内置的加密算法和密钥管理机制,为数据的加密和解密提供了硬件级别的支持和保护,提高了系统的安全性和可靠性。加密芯片在信息安全领域的广泛应用,有效保护了重要信息的机密性和完整性,为各行业用户提供了更加安全可靠的数据保护手段。

2023-10-28 -  技术探讨 代理服务 技术支持 采购服务

紫光青藤(TSINGTENG MICRO)公司简介及产品介绍

紫光青藤微系统有限公司,隶属于紫光国芯微电子股份有限公司,专注于智能物联产品与技术。公司拥有35000多名员工,20000多项专利,89个分支机构,234个运营与研发中心。产品涵盖安全物联芯片、汽车安全芯片、智能识别和存储等领域,包括安全SE MCU、读卡器RF芯片、USB Key芯片、Nor Flash、条码识别及汽车安全芯片等。紫光青藤致力于提供智能、创新、安全、高效的场景化服务,推动各行业数字化转型升级。

紫光青藤  -  SPI NOR FLASH,CODE MODULE,U-KEY,安全SE MCU,NOR FLASH,汽车安全芯片,USB-KEY芯片,非接触读卡器芯片,嵌入式扫码模组,电可擦可编程只读存储器,SPI NOR闪存,SEMCU,车载安全芯片,扫码芯片,车载SEMCU,识别模组,安全物联芯片,扫码芯片及模组,EEPROM,安全SEMCU,非接触读头,扫码模组,U键,ESAM,扫码盒子,代码模块,THM3523,THM3682FAQHB,TH25D-40LA,TH25D-20LA,TH25D-40HA,TH25D-20HA,THK88,THM3652FAGAB,TH25Q-16UA,THM3622FAQF,T9,THM3682FAQH,THM3682FAGA,TH25Q-80HA,TH25D-40UA,THM3070,TH25D-20UA,TH25Q-40UA,THM30,25D SERIES,25Q SERIES,THM35,THM3632FAQB,THM36,THM3652FAQHB,TH25Q-80UA,THM3662FAQB,智能手环,U-KEY,智能家电,AMOLED屏幕工业互联网HDMI,T-BOX,汽车电子ADAS系统,门禁,智能锁,安防摄像头,TWS耳机,智能家居,功能手机基带,汽车安全大脑,AMOLED屏幕,智能电表,安防监控,工业互联网PLC,POS机,仪表盘,路由器,工业互联网HDMI,工业互联网HDMI、PLC,智能手机TDDI触控,手表,支付盒子,身份证阅读器,5G基站,智能玩具,指纹模组,耗材认证,U键,刷脸支付,电脑BIOS

商品及供应商介绍 代理服务 技术支持 采购服务

【技术】一文介绍安全芯片的工作原理

安全芯片是一种集成了安全功能的芯片,它通过硬件和软件的双重机制保护数据的安全性。安全芯片的工作原理包括密钥管理、加解密处理、防攻击和安全认证等几个方面。本文瑞纳捷将从安全芯片的功能、特点、工作原理以及应用等几个方面进行阐述,旨在帮助读者更好地了解安全芯片。

2023-07-11 -  技术探讨 代理服务 技术支持 采购服务

【产品】通信速率达106kbps的非接触式逻辑加密卡芯片,适用于各种电子证件等领域

华大电子推出的非接触式逻辑加密卡芯片SHC1104适用于各种电子证件、电子钱包、自动收费系统和公共交通自动售检票系统等领域,现已成功应用于各地公共交通卡等项目中。SHC1104由射频通讯接口、安全控制单元和1k bytes EEPROM组成。

2022-02-27 -  产品 代理服务 技术支持 采购服务

【技术】加密芯片技术如何保障数据安全?

随着数字化时代的到来,人们对数据安全的需求越来越高。加密技术作为一种保护数据安全的重要手段,被广泛应用于各个领域。而加密芯片技术则是实现加密技术的关键之一。本文瑞纳捷将介绍加密芯片技术的基本原理和应用。

2023-05-31 -  技术探讨 代理服务 技术支持 采购服务

FM1216系列CPU卡芯片规格书

FM1216是一款由上海复旦大学微电子集团设计的双接口CPU卡芯片,支持ISO7816和ISO14443A协议。该芯片适用于接触式和非接触式智能卡应用,如电子钱包、公共交通射频卡、基于PBOC2.0标准的银行卡。

复旦微电子  -  CPUCARD芯片,CPUCARD CHIP,FM1216,FM1216 SERIES,CONTACTLESS-BASED SMART CARD APPLICATIONS,EXISTING PULIC TRAFFIC RF CARD,BANKING CARD,ELECTRONICS WALLET,银行卡,现有公共交通射频卡,非接触式智能卡应用,电子钱包

Sep. 2013  - 数据手册  - Ver 1.1 代理服务 技术支持 采购服务

【产品】内嵌8位微处理器的非接触式CPU卡芯片,具有80k Bytes的存储空间

华大电子推出的非接触式CPU卡芯片CIU51L80,其典型的应用覆盖公共交通、电子钱包等。CIU51L80内嵌8位微处理器、符合ISO/IEC14443 Type A标准的RF电路、真随机数电路、DES/3DES算法模块、SM1/SM4商密算法模块。

2022-02-26 -  产品 代理服务 技术支持 采购服务

非接触式CPU卡芯片CIU51L80 ( 80k bytes )

华大电子  -  非接触式CPU卡芯片,CIU51L80,公共交通,电子钱包

2022/9/14  - 数据手册 代理服务 技术支持 采购服务

《高效率15w车载手机无线充电器优选元器件方案》,这个支持哪些协议?

这个资料是介绍其中的无线充电的功率和线圈部分。世强现在有满足QI协议的IDT/ROHM/紫光同芯三个品牌的无线充电产品,请参考下列链接。三个品牌产品均可以支持QI协议。 https://www.sekorm.com/doc/159956.html https://www.sekorm.com/chapter/5968.html

2019-12-23 -  技术问答
展开更多

电子商城

查看更多

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.7950

现货: 56,767

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.7950

现货: 36,614

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.6360

现货: 28,840

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.4320

现货: 27,053

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥1.0350

现货: 23,990

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.4320

现货: 14,665

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥0.4000

现货: 12,758

品牌:紫光青藤

品类:I/O Flash Memory

价格:¥1.0230

现货: 10,372

品牌:无锡紫光微

品类:Super-Junction MOSFET

价格:¥4.4706

现货: 839

品牌:无锡紫光微

品类:Super-junction Power MOSFET

价格:¥1.6471

现货: 746

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:同芯微电子

品类:集成电路

价格:¥10.0000

现货:12,999

品牌:同芯微电子

品类:安全芯片

价格:¥7.5000

现货:518

品牌:同芯微电子

品类:高性能CPU安全芯片

价格:¥17.5000

现货:510

品牌:同芯微电子

品类:接触式接口芯片

价格:¥2.0000

现货:500

品牌:同芯微电子

品类:安全芯片

价格:¥7.5000

现货:498

品牌:同芯微电子

品类:安全模块

价格:¥13.1160

现货:470

品牌:同芯微电子

品类:高性能CPU安全芯片

价格:¥16.2500

现货:280

品牌:同芯微电子

品类:高性能CPU安全芯片

价格:¥20.0000

现货:270

品牌:同芯微电子

品类:高性能CPU安全芯片

价格:¥17.5000

现货:199

品牌:同芯微电子

品类:高性能CPU安全芯片

价格:¥17.0000

现货:178

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

非接触磁力传感器定制

可自由定制铜排形状尺寸;检测精度:0.5%~1.0;电流测量范围 ±300-500A。低噪音 (0.27mVpp);低磁力残余误差:2mV;响应性能<4μSec;支持RoHS指令 、AEC-Q200。

最小起订量: 100个 提交需求>

FloTHERM热仿真

提供稳态、瞬态、热传导、对流散热、热辐射、热接触、和液冷等热仿真分析,通过FloTHERM软件帮助工程师在产品设计初期创建虚拟模型,对多种系统设计方案进行评估,识别潜在散热风险。

实验室地址: 深圳 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面