NFC技术之Felica协议详解

RF/无线

1827人已加入

描述

之前介绍了ISO14443相关协议,接下来继续介绍Felica,我们平常说的F卡或Type-F指的就是FeliCa。

Felica简介

FeliCa是由Sony公司开发的一种非接触智能卡技术。它只支持212kbps和424kbps两种速率。

数据链路层

链路层的数据包格式如下:

nfc

(1)Preamble:前导码,6个字节,全部为0。

(2)Sync code: 同步码,2个字节,值为:0xB2, 0x4D。

(3)Data length: 数据包大小(Data length + Packet Data)。

(4)Packet Data: 数据包内容。

(5)CRC: CRC校验值。

*注意: 我们主要关注Data length和Packet Data两个字段,其他字段芯片一般会自动添加。

命令介绍

命令包格式:

nfc

就是上面的Packet Data部分,主要由两部分组成:

(1)Command Code:命令码

(2)Command data: 命令数据

应答包格式:

nfc

和命令包类似,主要由两部分组成:

(1)Response Code: 应答码

(2)Response data: 应答数据

命令码及应答码

nfc

nfc

由于命令比较多,这里就不一一讲解了,具体命令详解可以参考《felica card users manual》。

防碰撞流程

Felica的防碰撞机制和ISO14443B的机制类似,都是基于时隙的。但是有一些区别就是ISO14443B还要使用Slot-MARKER命令,而Felica不需要。比如下图:

nfc

读卡器发送完轮询命令之后,不同的卡随机产生一个应答时间,这样就尽量保证不会在同一时间应答(也有概率会在同一时间)。

文件系统

Felica使用文件系统来对存储块进行管理。比如下图:

nfc

从上图可以看出,文件系统主要由四个组件组成:

System

一张卡(物理卡)可以存储多张逻辑卡,每张逻辑卡就是一个system。

Area

Area表示层次关系,可以理解为类似目录。

Service

service决定了访问数据块的方法,以及如何正确访问,里面保存校验key。

Block

数据存储块,真正存储数据的空间。每个Block为16个字节

总结

Felica的命令比较多,在《felica card users manual》中对每一条命令都有详细的解释。有需要的时候再去查阅!

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分