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.

請問如何實現TRF7970讀寫felica內存



工程師們好,我遇到的問題是想請教如何去讀寫felica的內存,ISO14443A和ISO15693的讀寫方式已研讀出來,但felica卻找不到詳細的資料,請各位工程師能否幫我解惑,感激不盡。

  •    Felica技术并不是一个完全公开的协议,尤其是该技术涉及安全认证和加密的部分,SONY的保密做的很好。本文介绍的也仅是其公开的部分信息。

        Felica技术的通讯协议包括三层:物理层描述数据传输的物理和电气特性; 数据链路层描述数据传输和错误检测的格式;应用层描述命令的功能和规范.

        Felica射频传输的物理特性如下表所示

     Felica射频接口的物理特性

    数据传输方法

    半双工同步系统

    载波频率

    13.56MHz

    调制方法

    ASK

    位编码方法

    Manchester编码,MSB在前

    数据传输速率

    212/424 kbps

     

        Felica卡片和读写器之间的数据传输使用数据包。数据包的格式如下:

    数据包各部分定义

    名称

    字节长度

    定义

    前导码

    6

    00 00 00 00 00 00

    同步码

    2

    B2 4D

    数据长度

    1

    包数据长度+1

    包数据

    n

    命令包或返回包中的数据

    CRC

    2

    基于CRC-CCITT的校验,

    初始值=0000H,

    生成多项式:X16+X12+X5+1

     

        Felica技术应用层的命令包由命令码和命令数据两部分组成,包括1字节的命令码和N字节的命令数据。命令码标识命令的类型,命令数据为本条命令执行所需的数据。读卡器命令发出后卡片回复一个响应包,响应包由1字节响应码和N字节响应数据两部分组成。响应码标识响应的类型,响应数据为本条命令执行后卡片返回的数据。

        Felica命令列表如下:

    命令

    命令码

    响应码

    功能简述

    轮询

    00H

    01H

    探测识别卡片

    请求服务

    02H

    03H

    验证卡片上是否存在指定的域或服务

    请求响应

    04H

    05H

    验证射频场中是否有卡

    不需认证读

    06H

    07H

    从不需认证的服务中读取数据块

    不需认证写

    08H

    09H

    向不需认证的服务中写入数据块

    请求系统码

    0CH

    0DH

    读取卡片上已注册的系统码

    认证1

    10H

    11H

    读写器认证卡片

    认证2

    12H

    13H

    卡片认证读写器

    14H

    15H

    从需认证的服务中读取数据块

    16H

    17H

    向需认证的服务中写入数据块

     

        Felica有两个重要的参数:出厂识别码(IDm)和出厂参数(PMm)。IDm和PMm可以使用轮询命令获得,IDm和PMm在出厂时固化在卡片中,卡片出厂后不能修改。

        Felica使用出厂识别码(IDm)在通讯中识别一张卡片。Idm包含制造商代码和卡片识别码两部分。

        出厂参数(PMm)包括2字节的芯片类型(用来识别产品)和6字节的最大响应时间参数(用来确定每一条命令的超时时间)。

        Felica采用基于时隙的方法实现卡片的防冲突机制。为了识别一张卡片,读写器必须使用轮询命令轮询未知数量的卡片。卡片收到轮询命令后,以随机的方式选择一个时隙,并在读写器呼叫该时隙时予以应答,从而实现防冲突。

        当读写器正确接收一个卡片对于轮询命令的应答,读写器可以获得卡片的Idm,在之后的通讯中,读写器通过在命令包中包含Idm,就可以从射频场的多张卡片中唯一的指定一张进行通讯。卡片收到命令后将把自己的Idm与命令包中的Idm比对,如果不同卡片不会对命令做出反应。这种机制实现了射频场中的卡片选择。

  • 你可以去CSDN搜索这个Felica的相关资料。刚才搜了一下,有不少人用过这个卡。