QQ图片20221202213934.jpg

第一章,

读写器、电子标签的组成及各部分功能。

读写器
天线
产生电磁场,与电子标签通过电磁波交换数据信息。
射频接口
调制和发送到天线的信号,并接收和调解来自天线的信号。
控制单元
完成与上位机及电子标签之间的通行数据的处理。
应用接口
读写器与中间件或应用系统软件交换数据的通道。

电子标签
(1)天线
负责与读写器通讯,无源标签还通过天线获得能量。
(2)射频前端
射频前端对接收或发送的数据进行放大整形、调制解调,无源标
签还对天线的感应电压进行整流、滤波、稳压获得工作电源。
(3)控制与存储电路
存储部分存储电子标签数据,各种类型的非易失性存储器。
控制部分分为使用CPU的电子标签和不使用CPU的电子标签。
不使用CPU的标签使用专用集成电路(Application SpecificIntegrated Circuit,ASIC)执行地址和安全逻辑,通过状态机对所有的过程和状态进行控制。 使用CPU的标签通过运行片内操作系统(Chip Operating
System,COS)对相关读写过程和状态进行控制。

RFID系统按照工作频率、耦合方式、读写距离分类,

工作频率
(1)低频(Low Frequency,LF)。30-300kHz
(2)高频(High Frequency,HF)。为3-30MHz
(3)微波。300MHz-3000GHz,300MHz-3GHz也称超高频(Ultra High Frequency,UHF)。

耦合方式
电感耦合方式
反向散射耦合方式

读写距离
(1)密耦合系统。典型工作距离为1cm。
(2)近耦合系统。典型工作距离为10cm。
(3)疏耦合系统。典型工作距离为1m。
(4)远距离系统。典型工作距离为10m。

RFID通信发起方式,及其相应通信过程,

(1)RTF模式
RTF模式即“读写器先讲(Reader Talk First,RTF)”,通信的发起方是读写器。读写器每间隔一段时间就向其天线磁场中发送轮询命令,进入天线场的电子标签收到读写器的轮询命令后回送应答,读写器收到标签的应答后,开启后续的通信过程。
(2)TTF模式
TTF模式则是采用“标签先讲(Tag Talk First,TTF)”,即通信的发起方是电子标签。符合TTF协议的电子标签进入读写器天线场后,主动发送自身信息,而无需等待读写器发送命令。TTF通信协议简单,多用在读写器与只读电子标签的通信中。

(1)全双工通信
在读写器与电子标签的整个通信期间,读写器的天线磁场都是打开的,读写器与电子标签不同时向对方发送数据。
(2)半双工通信
在读写器与电子标签的整个通信期间,读写器的天线磁场并不都是打开的,从电子标签到读写器的信息传输期间,读写器的天线磁场是关闭的。比如无源半双工系统的工作过程如下。
①读写器先发射射频能量,给电子标签的储能元件充电。
②读写器停止发射能量,标签利用储能向读写器发送信号。
③能量传输与信号传输交叉进行,一个完整的读出周期由充电和读出两个阶段构成。

第二章。

RFID有哪几种调制类型。

1.幅移键控(Amplitude Shift Keying,ASK
2. 频移键控(Frequency Shift Keying,FSK)幅度不变,载波的频率随调制信号的变化而变化
3. 相移键控(Phase Shift Key,PSK)幅度不变,载波的相位随调制信号的变化而变化

(1)按调制信号形式可分为模拟调制和数字调制。
(2)按被调信号种类可分为脉冲调制、正弦波调制和光波调制等
(3)按传输特性可分为线性调制和非线性调制。线性调制不改变信号原始频谱结构,而非线性调制则改变了信号原始频谱结构。

曼切斯特编码、差动双向编码方式、波形,

曼彻斯特编码
在半个位周期时的下降沿表示二进制“1”,正跳变表示二进制“0”。

差动双向编码
在两位相邻数据的交界处中有跳变,根中间是否有跳变来区分0和1,有是0,没有是1

通信数据完整性(奇偶校验、CRC校验),

奇偶校验

循环冗余码校验法
(Cyclic Redundancy Check,CRC)利用除法及其余数来进行错误检测。
1.除数
一个由二进制位串组成的代码,称为生成多项式,应满足:
(1)生成多项式的最高位和最低位必须为1;
(2)当被传送信息任何一位发生错误时,被生成多项式做除后应该使余数不为0;
(3)不同位发生错误时,应该使余数不同;
(4)对余数继续做除,应使余数循环。一般根据余数的位数命名不同的CRC校验,命名形式为CRC-R,比如CRC-8、CRC-16等,除数比余数多一位。
2.被除数
由待发送数据右侧补充R个0得到。
3.除法
除式中的竖向运算不使用减法,而是使用模2加,即异或运算
4.余数
宽度不足R位,要在左侧补0凑足R位。例:待发送数据10110
image.png

非对称加密算法机密信息交换过程。

公钥加密 私钥解密

动态时隙ALOHA 算法防冲突过程,

动态帧时隙ALOHA算法中一个帧内的时隙数目随着区域内标签数目动态改变,或增加时隙数以减少帧中的碰撞数目。
步骤如下:
(1)进入识别状态,开始识别命令中包含了初始的时隙数N。
(2)由电子标签随机选择一个时隙,同时将自己的时隙计数器复位为1。
(3)当电子标签随机选择的时隙数与时隙计数器对应时,标签向读写器发送数据;若不相等,标签将保留自己的时隙数并等待下一个命令。
(4)当读写器检测到的时隙数量等于命令中规定的循环长度N 时,本次循环结束,读写器转入步骤(2),开始新的循环。该算法每帧的时隙个数N都是动态产生的,解决了帧时隙ALOHA算法中的时隙浪费的问题,适应标签数量动态变化的情形。

二进制树型搜索算法。

二进制树型搜索算法的实现步骤如下:
(1)读写器广播发送最大序列号查询条件Q,其作用范围内的标签在同一时刻传输它们的序列号至读写器。
(2)读写器对收到的标签进行响应,如果出现不一致的现象(即有的序列号该位为0,而有的序列号该位为1),则可判断有碰撞。
(3)确定有碰撞后,把有不一致位的数最高位置0再输出查询条件Q,依次排除序列号大于Q的标签。
(4)识别出序列号最小的标签后,对其进行数据操作,然后使其进入“无声”状态,则对读写器发送的查询命令不进行响应。
(5)重复步骤1,选出序列号倒数第二的标签。
(6)多次循环完后完成所有标签的识别。
image.png
image.png

第四章。

串联谐振回路、并联谐振回路主要参数的计算,
串联谐振
角频率:image.png L:电感;C:电容

特性阻抗:image.png

品质因数:image.png

通频带:image.png

并联谐振
角频率:同上
特性阻抗:image.png
品质因数:同上
通频带:同上

串联谐振回路、并联谐振回路中Q值、选择性和通频带之间的关系

第八章。

RFID标准分类(图8.1)

1670053423448.jpg

ISO/IEC14443 TypeA协议工作状态转换,

image.png
(1)POWER OFF。断电状态,PICC未获取满足芯片工作所需的能量。
(2)IDLE。休闲状态,PICC进入磁场得电复位,等待来自读写器的请求命令。
(3)READY。就绪状态,PICC收到REQA或WAKE-UP命令,此状态下PICC可以执行防冲突循环。
(4)ACTIVE。激活状态,PICC的UID被PCD选中。
(5)HALT。停止状态,PICC收到HALT命令或其他不在ISO/IEC14443Type A规定范围内的命令,此状态下PICC仅接受WAKE-UP命令。

ISO15693防冲突(249面例子)。

image.png
image.png

EPC标准体系框架,各自功能。

(1)EPC物理对象交换
规范用户与带有EPC编码的物理对象进行交互。对物品所使用标签进行标识。
(2)EPC基础设施
EPCglobal体系框架定义了用来收集和记录EPC数据的主要设施部件接口标准。
(3)EPC数据交换
为用户提供了一种点对点共享EPC数据的方法和用户访问EPCglobal核心业务和其他相关共享业务的机会。

EPC编码类型。

EPC代码是由一个版本号加上另外三段数据,依次为域名管理(厂商) 、对象分类(产品) 、序列号

EPC信息网络系统组成,各部分的作用、功能,

(1)EPC中间件。
EPC中间件被称为Savant,是具有一系列特定属性的“程序模块”或“服务”,并被用户集成以满足他们的特定需求。
(2)对象名解析服务ONS。
类似于域名解析服务DNS,ONS则为Savant系统指明了存储产品相关信息的服务器。ONS设计与架构都以Internet域名解析服务为基础。
(3)XML与PML
EPC系统使用XML的为物理实体的远程监控和环境监控提供一种简单、通用的描述语言。在EPC系统中,XML用于描述产品、过程和环境信息,为软件开发、数据存储和分析服务。
(4)EPC信息服务EPCIS
EPCIS(Electronic Products Code Information Service,EPC信息服务)是EPC系统的重要部分,利用标准的采集和共享信息方式,为EPC数据提供标准接口,可与已有的数据库、应用程序及信息系统相连接,供各行业和组织灵活应用。

第十章,

RFID软件分类及各类软件作用、功能,

1.RFID前端软件
直接与电子标签交互的软件,包括读写器中的软件、设备驱动软件、接口软件等。前端软件的主要功能如下。
(1)读/写功能。从电子标签中读取和写入数据。
(2)防冲突功能。
(3)安全功能。采用加密、认证等措施确保电子标签和读写器双向数据通信的安全。
(4)检错纠错功能。保障数据完整性的措施。
2.中间件软件
3.后端软件
后端软件处理通过中间件上传的前端软件采集的数据信息,实现对信息的管理和系统的实际应用。主要功能如下。
(1)电子标签信息管理。电子标签的序列号存入数据库中,并完成数据库信息的实时更新。
(2)数据分析和储存。对整个系统内的数据进行统计分析,生成相关报表,对分析得到的结果进行存储、管理和备份。
(3)实现与前端软件的通信。通过中间件将应用系统软件的命令传送到前端的读写器。
(4)其他功能。比如应用系统参数设置以及系统用户信息和权限的管理,系统运行日志、报警日志的生成与管理等。
4.其他软件
为RFID系统服务的外围软件或辅助软件等。
(1)开发平台。开发RFID前端软件、中间件和后端软件的软件。
(2)测试软件。用来对系统的整体或部分功能进行测试。
(3)评估软件。用来对整个系统的硬件和软件性能进行评估,有时和测试软件合二为一,称为测试评估软件。
(4)演示软件。用来向目标用户演示模块或系统功能的软件。比如读写器的开发厂家通常配有该读写器的演示软件,可以展示读写器的读写功能、通信协议等。
(5)仿真软件。用计算机软件模拟RFID系统中的组成模块或工作环境要素,通过模拟实验来研究已经存在的或正在设计中的RFID系统。

RFID中间件特征

(1)独立于架构。
(2)数据流。具有数据的收集、过滤、整合与传递等特性,以便将正确的对象信息传递到后端的应用系统。
(3)过程流。具有数据排序与管理的能力。
(4)支持多编码标准。
(5)状态监控。监控连接到系统中的RFID读写器的状态等功能并可以自动向应用系统汇报。
(6)安全功能。在RFID中间件中配置安全模块,可以实现网络防火墙的功能,保障数据的安全性和完整性。

RFID中间件层次结构。

1.按网络框架分层
可以分为边缘层业务集成层两个逻辑层次。
image.png
2.按数据流分层
自底向上依次为数据采集层、事件处理层和信息发布层
image.png

RFID测试分类

RFID测试的分类
(1)RFID技术测试
测试RFID产品的功能、性能、可靠性等,包括硬件和软件测试,具体又分为读写器、电子标签、中间件和应用系统软件的测试。
(2)RFID应用测试
RFID应用测试主要是在具体应用环境中所进行的测试。通过测试,检验和校核应用方案的可行性,降低应用项目的实施风险。

补充: STM32单片机串口初始化函数Uart2Init(),参考“实验3_STM32串口控制LED”例程。

  1. /*********************************************
  2. ** 功能:串口初始化函数
  3. ** 输入:无
  4. ** 输出:无
  5. *********************************************/
  6. void Uart2Init(void)
  7. {
  8. GPIO_InitTypeDef GPIO_InitStructure;
  9. USART_InitTypeDef USART_InitStructure;
  10. USART_ClockInitTypeDef USART_ClockInitStructure;
  11. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  12. RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
  13. /* Configure USART2 Tx (PA2) as alternate function push-pull */
  14. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  15. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  16. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  17. GPIO_Init(GPIOA, &GPIO_InitStructure);
  18. /* Configure USART2 Rx (PA3) as input floating */
  19. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  20. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  21. GPIO_Init(GPIOA, &GPIO_InitStructure);
  22. USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  23. USART_InitStructure.USART_StopBits = USART_StopBits_1;
  24. USART_InitStructure.USART_Parity = USART_Parity_No;
  25. USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  26. USART_InitStructure.USART_BaudRate = 9600;
  27. USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
  28. USART_Init(USART2, &USART_InitStructure);
  29. // USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;
  30. USART_ClockInitStructure.USART_Clock = USART_Clock_Enable;
  31. USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;
  32. USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;
  33. USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;
  34. USART_ClockInit(USART2, &USART_ClockInitStructure);
  35. USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
  36. /* Enable USART2 */
  37. USART_Cmd(USART2, ENABLE);
  38. }