This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TRF7970A:TRF7970A APDU 演示

Guru**** 2549720 points
Other Parts Discussed in Thread: MSP-EXP430F5529LP, MSP-EXP430G2ET, DLP-7970ABP, TRF7970A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/842983/ccs-trf7970a-trf7970a-apdu-demo

器件型号:TRF7970A
主题中讨论的其他器件:MSP-EXP430G2ETDLP-7970ABP、MSP-EXP430F5529LP

工具/软件:Code Composer Studio

您好!

我想将 TRF7970A 用作智能卡/银行卡读取器。 我有 MSP-EXP430G2ET LP + DLP-7970ABP。

作为起点、我需要一个具有 APDU 功能的示例。

您能给我举一个合适的 APDU 示例吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    请参阅我们的卡仿真应用手册 :http://www.ti.com/cn/lit/pdf/sloa208

    您将需要一个 MSP-EXP430F5529LP、这是因为 MSP-EXP430G2ET 没有足够的内存空间来支持卡仿真模式。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好! 感谢您的回答!

    为什么需要卡仿真? 我想创建银行卡读取器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    很抱歉、我误读了您的帖子、看不到"读取器"部分。 您可以拒绝我之前的回复、因为它不正确。

    对于读者、应用手册为 :http://www.ti.com/cn/lit/pdf/sloa227

    注意事项:

    1) 1)如果您需要对此应用进行 EMVCo 认证、则不能使用 TRF7970A。 有关详细信息、请参阅器件芯片勘误表。

    2) 2)我们在 SLOA227软件中没有显式支持组卡命令、但所有挂钩都存在。 您将使用 ISO7816-4接口。

    3) 3)由于第1点突出显示的问题、我们不了解银行卡命令、因此您需要在您的端处理完整的应用程序实现

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.您能给我推荐另一款符合 EMVCO 要求的 TI NFC 芯片吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    我们没有此类器件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已经尝试过以下示例:  http://www.ti.com/lit/zip/sloc297c

    我已成功通过通道级别(REQA、Anticollion、SELECT、RATS)并从签证卡获得正确的回复:

    TX:E0 70

    RX:05 78 80 70 02 A5 46

    但之后、我无法获得任何 APDU 的响应(我已经尝试了 selcet PPSE、选择 AID)。 始终: NO_RESPONSE_received。  然后、我对其他 NFC 读取器(ACR35)执行同样的操作-所有操作都正常。 我还在 RAT 之后尝试了 PPS 命令(106kbps)并得到正确的响应(D0)、但之后的 APDU 也失败了。

    在  从通道级别切换到协议级别之前、是否需要对 TRF7970A 侧进行任何其他调整?

    我已使用以下 SPI 命令发送 APDU:

    8F 91 3D 01 40 (接头) 00 A4 04 00 0E 32 50 41 59 2E 53 59 2E 44 46 30 31 00 (车身)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    正如我在原始文章中所述、您应该从 SLOA227软件开始。 SLOC297具有最低的 ISO7816-4支持、与 SLOA227不同、它尚未经过 NFC 标准合规性测试。 SLOC297用于裸机 RFID 应用、例如读取 UID 和一些数据块。 当 SLOA227已在更易于使用的设置中实现了 APDU 时、我们不支持在其上实现 APDU 命令。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已经订购  了 MSP-EXP430F5529LP 来运行 SLOA227。

    但我已经检查了代码、 SLOA227和 SLOC297在各个阶段执行了我指向的相同操作(REQA、Anticollion、SELECT、RATS、SELECT AID)。 即使是援助也是一样的。

    好的、请忽略示例、让我重新表述我的问题:

    我  通过 SPI 向 TRF7970A 发送以下命令并得到以下答案:

    TX>> 26   // REQA
    RX<< 04 00   // ATQA (请求类型 A 的应答)
    TX>> 93 20   //选择级联1 (防碰撞 CL1 SEL)
    RX<<08 FE E4 EC FE    // UID (4字节)+ BCC (位数校验)
    TX>> 93 70 08 Fe E4 EC Fe + CRC16    // SEL (选择标签0x9370)+ UID + CRC16
    RX<< 20 fc 70      // SAK (选择确认0x20)+ CRC16
    TX>> e0 70 + CRC16    // RATS (请求选择0xE070的应答)+ CRC16
    RX<<05 78 80 70 02 A5 46    // ATS (选择响应的答案)
    TX>> 00 A4 04 00 0E 32 50 41 59 2E 53 53 2E 44 44 46 30 31 00 + CRC16  //(选择 PPSE)+ CRC16

    为什么在最后一次 TX 之后没有得到响应? 然后、我使用其他 NFC 读取器(ACR35)执行此操作-获得正确的响应。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    命令的格式可能不正确、或者等待回复的超时可能已关闭。 我对支付卡的了解不够、不知道缺少什么。 选择 PPSE 名称使我认为这也可能与 PPS 命令相关、如果是、则有一个发送 PPS API 可供使用、如果您将器件的数据速率更改为106kbps、则该 API 可设置器件的数据速率。

    相同的级是 ISO14443A 通信从标签读取任何数据的标准级。 在这些阶段之后、应用程序定义了如何读取数据、SLOC297只有一组基本的硬编码 ISO7816-4来从4A 类标签读取简单的 NDEF 消息、除此之外什么都没有。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我发现了错误:我忘记了命令开始时的0x02。 感谢您给我提供格式设置!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已经获得 MSP-EXP430F5529LP 并运行 SLOA227。  

    如何使用 SLOA227发送 APDU?

    我可以在 GUI NFC TI 工具 v.1.8和代码中找到它。

    我找到 了 ISO_7816_4_sendAPDU () 函数、 但在任何地方都不调用它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rustem、

    您可以修改诸如 NFC_GUI_statemachines 中的 T4T_app.c 等应用层。 这就是使用 API 的地方、如下所示:

    ISO_7816_4_sendSelectApplication
    ISO_7816_4_sendSelectFile
    ISO_7816_4_sendReadFile
    ISO_7816_4_sendWriteFile 

    对于 提供的 NFC 堆栈中包含的命令尚未考虑的任何 APDU、您应使用 ISO_7816_4_sendAPDU。