主题中讨论的其他器件:MSP430G2553、 MSP430F2370
我有 TRF7970A RFID BoosterPack (DLP 70ABP v4.5)和 MSP430G2553评估套件
我已经从 TI 网站下载了与 MSP430G2553 (20引脚)相同的演示示示例(TRF7970A_RFID_Reader_Demo)
我的核心目标是从 Mifare 1K/4K 经典卡读取/写入扇区。
我执行了以下步骤。
- 堆叠 MSP430G2553和 TRF7970A。
- 编译了项目并运行。
- 项目已成功执行。
但是、这样我只能读取扇区0块0、无需任何密钥即可读取。 因此、我只能读取 CSn。
然后、我看到了 TI 的 SLOA214文档、其中介绍了用于扇区读取的智能卡通信的直接模式、其中还包括加密库
因此、我安装了与 SLOA214关联的项目、该项目主要用于 MSP430F2370控制器和 TRF7970A。
但是、由于我没有 TRF7970A 评估模块、我执行了以下步骤。
- 我将现有模块(DLP)与 G2553套件结合使用。
- 为了使其正常工作,我更改了中的.cmd 文件,根据 MSP430G2553 (SPI 线路和 TX 使能、TX 数据和 SDM 位时钟)更改了引脚配置
- 编译了项目并运行。
- 在这里我发现我的程序只能在标签选择之前起作用、也就是说、它通过了防冲突序列循环、但没有进入 RFID_AuthenticateA()函数。
- 我使用的卡是空白 Mifare Classic 4K 卡、因此我使用的是默认的 keyA (FF FF FF FF FF FF FF FF FF FF FF FF FF)
void NFC_runMFCAuth (void)
{
Trf797xTurnRfOn();//为 TRF7970启用射频场
-
Trf797xWriteInitialatorSetup();//发送初始命令以配置4A 类读/写器 IRQ_ON;//为 IRQ 在 I/O 引脚上启用中断 //当 PICC 暴露于未调制的操作字段时 //它应能够在5ms 内接受请求。 // PCD 应该定期显示 一个持续时间至少为// 5.1ms 的未调制字段。 (ISO14443-3) McuDelayMillisecond (6); if (Iso14443aAnticolliion (REQA)= STATUS_SUCCESS)//按照描述执行完整的防冲突序列 {//在 ISO14443-3中针对 if (RFID_AuthenticateA)(g_pui8MFCkey= uComplete= uature= u= uature= u= u= uature= u= uuuuature= u= uuuuature= u= uuuuuuuature= u= uuuuuuan= uag= u= uuid= uid= uuuuuuuua= uid= uid= uuuuuuuuuua16uag= uid= uid= uuuuua= ua= uid= ua16u "); UartPutNewLine(); UartSendCString (" MIFARE 经典身份验证成功"); UartPutNewLine(); UartSendCString ("================================================================================================ "); UartPutNewLine (); UartPutNewLine (); #endif //============================================================================================================================================================================================================================================================================================================================================================================================================================================================ //本节是一个特定于用户的应用程序的示例,允许 在验证后读出 MFC 标签的//内容 。//==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== RFID_ReadBlock (pui8MFCblock、pui8BlockData); } } IRQ_OFF; Trf797xTurnRfOff ();//关闭射频场 Trf797xResetIrqStatus ();//读取 IRQ 以确保已清除 }
问题可能出在哪里?
我注意到的一个问题是、DLP7970A 的引脚排列上没有 MOD 引脚、这在直接模式下可能是必需的。
这会造成问题吗?
是否有任何解决方案?
提前感谢。