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

最简单的办法就是用高电平表示“1”,用低电平表示“0”,这种代码叫全宽码,如下图所示:

这种编码方式存在的最大缺陷就是数据容易失步。上图的数据我们看的很清楚,但是想想如果发送方连续发送100个“0”或100个“1”,就会有100个单位的连续高电平或100个单位的连续低电平。这种情况下,接收方极有可能把数据的个数数错,把100数成99或101,这就是数据失步。所以这种编码很少直接采用。这就要求使用的编码既能让接收方知道发送方传送的是“1”还是“0”,又能让接收方正确分辨出每个二进制比特。实际的射频识别技术中采用的数据编码主要有以下几种,它们都能满足上述要求。

1.曼侧斯特(Manchester)码

如下图所示,曼侧斯特码每位数据的中心都有跳变,上升沿表示数据“1”,下降沿表示数据“0”,或者反之。当发送连续的“0”或“1”时,则在数据的开始部分增加一个状态转换沿。

 

2.两相(Biphase)码

两相码每位数据的开始处都有跳变,数据中心有跳变表示“1”,数据中心无跳变表示“0”,或者反之。
3.频移键控(FSK)码

频移键控码用不同的脉冲频率表示数据,脉冲频率高表示“1”,脉冲频率低表示“0”,或者反之。

4.相移键控(FSK)码

相移键控码用数据的开始处有没有相位翻转表示数据的变化,有相位的翻转表示数据发生了翻转(上一位如果是“0”,则当前发送“1”;上一位如果是“1”,则当前发送“0”),无相位的翻转表示数据没有发生变化(上一位如果是“0”,则当前发送“0”;上一位如果是“1”,则当前发送“1”),或者反之。
5.米勒(Miller)码

 

如图,米勒码用数据中心是否有跳变表示数据。数据中心有跳变表示“1”,数据中心无跳变表示“0”。当发送连续的“0”时,则在数据的开始处增加一个跳变防止失步。

6.修正的米勒(Modified Miller)码

修正的米勒码是ISO14443A规定使用的数据编码。数据中间有个窄脉冲表示“1”,数据中间没有窄脉冲表示“0”,当有连续的“0”时,从第二个“0”开始在数据的起始部分增加一个窄脉冲。该标准还规定起始位的开始处也有一个窄脉冲,而结束位用“0”表示。如果有两个连续的位开始和中间部分都没有窄脉冲,则表示无信息。

7.副载波调制的曼侧斯特(Manchester)码

副载波调制的曼侧斯特码也是ISO14443A规定使用的数据编码,在卡片向PCD回送数据时使用。副载波调制码元的右半部分表示数据“0”,副载波调制码元的左半部分表示数据“1”。

副载波并不是我们通常理解的正弦波,而是由卡片中的负载调制而引起的射频场强度的变化。根据电磁感应原理我们知道,假如电磁场中有一个线圈,如果线圈不闭合,它对电磁场是没有影响的;但是如果线圈闭合了,线圈中就会产生环流,从而消弱电磁场的强度。卡片中也有一个这样的线圈,当卡片在读写器的射频场中时,卡片可以控制这个线圈的开合从而引起读写器射频场强度的变化,而这个变化的波形就是上图中的一个个白竖条。这些白色竖条的频率在国际标准中规定是13.56MHz/16=847KHz,并称这些847KHz的条条为副载波。产生这些副载波的办法称为负载调制。卡片通过何时发送以及什么位置发送这些白条条来向读写器回送数据。

射频识别技术中采用的编码方法还有许多种,有些是上述几种的变形。但无论采用什么编码方法,其原则都应该是数据利于传送和识别,且不能失步,有时候还要配合下面将要叙述的卡片防冲突。

本文来自新浪网。

射频识别技术漫谈(4)——数据编码【worldsing 笔记】的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 射频识别技术漫谈(7)——ID卡【worldsing笔记】

    ID(Identification)是识别的意思,ID卡就是识别卡.ID卡包含范围广泛,只要具有识别功能的卡片都可以叫ID卡,例如条码卡,磁卡都可以是ID卡,我们这儿说的当然是射频识别卡. 射频ID卡 ...

  9. 射频识别技术漫谈(12)——三次相互认证【worldsing笔记】

    射频识别系统中由于卡片和读写器并不是固定连接为一个不可分割的整体,二者在进行数据通讯前如何确信对方的合法身份就变得非常重要.根据安全级别的要求不同,有的系统不需认证对方的身份,例如大多数的TTF模式的 ...

随机推荐

  1. tinyXml在linux下的使用

    [下载] 一.下载 xml 软件包:tinyxml_2_6_2.zipTinyxml(轻量级 c++)下载地址:http://sourceforge.net/projects/tinyxml/?sou ...

  2. Servlet课程0426(十二)Servlet MV模式下用户登录及查看用户表中所有用户

    Welcome.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java ...

  3. Android:实现无标题的两种方法

    实现无标题的两种方法:配置xml文件和编写代码设置 1.在AndroidManifest.xml文件中进行配置 实现全屏效果: android:theme="@android:style/T ...

  4. bzoj1084: [SCOI2005]最大子矩阵

    dp.状态转移方程在代码里 #include<cstdio> #include<algorithm> #include<cstring> using namespa ...

  5. RMI、RPC、SOAP通信技术介绍及比对

    1.RMI 使用java的程序员,对于RMI(RemoteMethod Invoke,远程方法调用)一定不陌生,在java中,为了在分布式应用开发时,能够方便调用远程对象,java提供了RMI的API ...

  6. Jquery Ashx 存在缓存问题

    因为缓存总是不调用 PermissionEdit.ashx $.ajax({ type: "get", cache: false, url:"PermissionEdit ...

  7. Socket编程(九)

    此为网络编程的一个系列,后续会把内容补上.....

  8. Java [leetcode 15] 3Sum

    问题描述: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find ...

  9. window.location.search作用

    window.location.search.substr(1).split("&") 这里面的相关属性和时间还有参数能具体说明一下吗?window.location wi ...

  10. Servlet3.0学习总结(一)——使用注解标注Servlet

    一.Servlet3.0介绍 Servlet3.0是Java EE6规范的一部分,Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述 ...