Felica的文件系统使用“系统\域\服务\数据块”的结构,如下图所示。通过这种结构实现对卡片非易失性存储区的使用和操作。


                                    Felica的文件系统图

1、数据块

在Felica卡的文件系统中,非易失性内存操作的最小容量单位是16字节,称为数据块。所有的用户数据以数据块为单位存取。如果用户的数据超过16字节就要以多块的形式存储。除了用户数据,文件系统的管理信息也以数据块的形式存储。事实上,用户并不需要直接对数据块进行操作,而是通过一种被称为“服务”的机制实现存取。

2、服务

“服务”是文件系统中数据块的集合,“服务”提供了集合中数据块的存取控制。所有数据块的存取都是通过服务来实现的,因此,向卡片的文件系统注册“服务”才有可能存取数据块。

为了操作“服务”管理下的数据块,首先通过一个2字节的服务代码标识一个服务,然后使用1个字节的数据块号确定服务中数据块的位置。任何一个服务中的数据块号都是从0开始。

有3种不同类型的服务:

(1) 随机服务:这是一种普通用途的服务,可以读写服务中任一指定的数据块。

(2) 循环服务:这种服务中的数据滚动管理。写入新数据的同时将删除最旧的数据。

(3) 钱包服务:这种服务中的数据采用收费滚动管理,自动对块中指定的数据进行数值操作。

每种服务的存取方法不同。服务的访问属性可设置为“读/写”、“只读”、“操作前需要认证”等。

3、域

Felica使用“服务”用来管理数据块,同时使用“域”来管理非易失性存储区剩余的可用数据块或用来分配数据块给服务。

所有的服务都处于某一域的管理之下。所以服务建立的时候需要向主管它的域申请分配数据块。域之间也可以交叉管理,一个域下的数据块可以分配给其他的域,也可以被其他域管理。域使用2字节的域代码标识,其中域0是根域,在卡中总是存在,代码为0000H。

4、系统

系统是是文件系统的最高级,一个系统被看成一张逻辑卡片。通过系统分割,可以在一张物理卡片中生成多个系统,与域和服务类似,系统也使用一个两字节的系统代码来表示。

为了识别一张卡片,读写器必须使用轮询命令巡检射频场中未知数目的卡片。系统代码作为轮询命令的参数,在防冲突的过程中,只有系统代码相符的系统做出响应。卡片上如果分了多个系统,读写器则像对待一张单独的卡片一样对待卡上的每一个系统。

5、域和服务之间的关系

系统中的域和服务使用两字节的代码标识,每个服务只能分配一个代码,且在系统中唯一,而域则分配了一个代码段。域所管理的服务代码中最前面的服务代码同时又是该域的域代码。

例如一个服务的服务代码是12C8H,它所在的域管理的代码范围是12C0H~3FFFH,则域代码是12C0H。

域和服务之间以及域和域之间的父子关系通过以下方式确定:

(1) 如果一个服务的服务代码位于一个域管理的服务代码范围内,则该域与对应的服务形成父子关系。

(2) 如果域A管理的的服务代码位于域B管理的服务代码范围内,则该域B与域A形成父子关系。

射频识别技术漫谈(26)——Felica的文件系统的更多相关文章

  1. 射频识别技术漫谈(25)——Felica简介

    Felica是SONY公司开发的射频识别技术,该技术使用的载波频率与ISO14443A和ISO14443B一样,都是13.56MHz,所以有人把它称为ISO14443C,但SONY并没有正式接受这样的 ...

  2. 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】

    从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...

  3. 射频识别技术漫谈(1)——概念、分类

    现代社会智能卡已经渗透到生活的方方面面,公交卡.考勤卡.身份证.手机卡等等数不胜数.    智能卡按使用时是否和读卡器接触可分为接触式智能卡和非接触式智能卡,接触式智能卡上有6-8个触点,使用时插在卡 ...

  4. 射频识别技术漫谈(23)——ISO15693的载波、调制与编码

    射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...

  5. 射频识别技术漫谈(20)——RC系列射频接口芯片

    目前基于13.56MHz的射频识别技术主要有ISO14443A.ISO14443B.ISO15693和FELICA技术.针对13.56MHz的射频识别技术,NXP开发了一系列名字以RC(Radio C ...

  6. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】

    通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...

  7. 射频识别技术漫谈(4)——数据编码【worldsing 笔记】

    前已述及,射频识别技术中的调制方法一般使用调幅(AM),也就是将有用信号调制在载波的幅度上传送出去.这里的"有用信号"指用高低电平表示的数据"0"或" ...

  8. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  9. 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡【worlsing笔记】

    Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...

随机推荐

  1. JavaScript 开发经验整理

    前言 今年接触了一个B/S的项目,总结了一些JavaScript开发经验,整理些有用的内容与大家分享. 本文会持续更新... 1.实现代码访问的控制 随着项目JavaScript代码库扩大,本应被控制 ...

  2. 性能优化工具---vmstat

    作用: 报告关于内核线程.虚拟内存.磁盘.陷阱和 CPU 活动的统计信息 参数: 通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数 显示说明: 第一行数据反映开 ...

  3. springmvc+mybatis集成配置

    简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求.闲暇时间把项目配置文件共享出来,供大家参看: 1.首先我们来看下依赖的pom: <!-- spri ...

  4. TOJ 1702.A Knight's Journey

    2015-06-05 问题简述: 有一个 p*q 的棋盘,一个骑士(就是中国象棋里的马)想要走完所有的格子,棋盘横向是 A...Z(其中A开始 p 个),纵向是 1...q. 原题链接:http:// ...

  5. Spring学习之常用注解(转)

    使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...

  6. 在Java SE中使用Hibernate处理数据

    如今,Hibernate正在迅速成为非常流行的(如果不是最流行的)J2EE O/R映射程序/数据集成框架.它为开发人员提供了处理企业中的关系数据库的整洁.简明且强大的工具.但如果外部需要访问这些已被包 ...

  7. mysql的触发器

    删除触发器 drop TRIGGER 触发器名字; 查找库里面的所有触发器 SELECT * FROM information_schema.`TRIGGERS`;show triggers 触发器语 ...

  8. BUAA 更大公约数

    题目链接 给一个n*m的矩阵, 删除里面的一行一列, 使得剩下的数的最大公约数最大. 一个格子(x,y), 先预处理出(1,1)到这个格子的内所有数的最大公约数, 同理处理出(1, m), (n, m ...

  9. hdu 2824The Euler function

    题目链接 快速求出a到b之间所有数的欧拉函数. 一个一个求肯定是不行的, 我们知道欧拉函数的公式为phi(n) = n*(1-1/i1)*(1-1/i2).......i1, i2为素因子. 那么我们 ...

  10. poj 2689 大范围内素数筛选

    /** 给定一定范围求其内的素数 注意: **/ #include <iostream> #include <math.h> #include <cstring> ...