讯飞AI开发者社区 RFID射频识别概述及案例

RFID射频识别概述及案例

知识点1:RFID概述概念:1、英文名称是(Radio Frequencyldentification),简称是"RFID"又称无线射频识别,RFID是物联网的其中一种终端技术。2、RFID是一种通信技术,可通过无线电讯,号耦合识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。组成:应用程序阅读器...

知识点1:RFID概述

概念:

1、英文名称是(Radio Frequencyldentification),简称是"RFID"又称无线射频识别,RFID是物联网的其中一种终端技术。

2、RFID是一种通信技术,可通过无线电讯,号耦合识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

组成:

应用程序

阅读器(PCD)

应答器(PICC)

RFID分类:

1、根据频率

RFID射频识别概述及案例_s50

2、根据是否有源

RFID射频识别概述及案例_RFID_02

RFID工作原理:

RFID射频识别概述及案例_s50_03

应用场景:

大学食堂饭卡

公交地铁卡

门禁卡

身份证

ETC

动物标签

超市、物流、定位

知识点2:RFID协议(了解)

常见协议:

ISO/IEC18000:(125KHZ、13.56MHZ、860-960MHZ、2.4GHZ)

ISO/IEC14443:(13.56MHZ)

1、物理特性

2、射频功率和信号接口

卡片:分别是TypeA和TypeB且互不兼容

读卡器:不区分信号接口

3、初始化和防冲突机制。

4、传输协议、命令。

ISO/IEC15693

EPC标准

......

知识点3:RFID卡工作状态

1、 POWER OFF:缺少载波能量

2、 IDLE:等待读写器发来的请求

3、 READY:收到读写器发来的请求

4、 ACTIVE:收到读写器发来的选择

5、 HALT:读写器发来的停止命令

RFID射频识别概述及案例_交叉编译_04

知识点4:RFID卡(S50)

卡片分类:

ID卡:ID卡就是“感应式磁卡”。

IC卡:集成电路卡。

RFID射频识别概述及案例_nfs_05

S50卡:

基本特性:

l 容量为8K位EEPROM(1K字节=1024字节,EEPROM带电可擦除可编程只读存储器)

l 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位

l 每个扇区有独立的一组密码及访问控制

l 每张卡有唯一序列号,为32位(卡号4字节)

l 具有防冲突机制,支持多卡操作

l 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路

l 数据保存期为10年,可改写10万次,读无限次

l 工作温度:-20℃~50℃(湿度为90%)

l 工作频率:13.56MHZ

l 通信速率:106 KBPS

l 读写距离:10 cm以内(与读写器有关)

读写控制:

RFID射频识别概述及案例_RFID_06

举例:扇区1的块3内容

RFID射频识别概述及案例_s50_07

密码a是否可以读写块0?(可以)

密码b是否可以读写块0?(可以)

密码a是否可以读写块1?(可以)

密码a验证之后是够可以修改密码a?(可以写,但是读不可以)

计算步骤:

1、将存取控制转换二进制,并提取块0的控制位(C10=0;C20=0;C30=0)

1111 1111

0000 0111

1000 0000

0110 1001

RFID射频识别概述及案例_s50_08

RFID射频识别概述及案例_nfs_09

2、查看块0-2的控制表

RFID射频识别概述及案例_s50_10

块3的控制表

RFID射频识别概述及案例_nfs_11

知识点5:测试设备

步骤1:连线

RFID射频识别概述及案例_s50_12

步骤2:在window系统打开软件跟开发板通信

RFID射频识别概述及案例_RFID_13

RFID射频识别概述及案例_nfs_14

可能出现的问题:com端口找不到。

步骤3:将虚拟机的程序拿到开发板:

3.1安装nfs服务器(只需要操作一次)

1.nfs服务安装:
sudo apt-get install nfs-kernel-server nfs-common
2.工作路径配置:
sudo gedit /etc/exports,最后加上以下语句:
/ *(rw,sync,no_root_squash)
3.重启服务生效:
sudo service nfs-kernel-server restart
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

3.2安装交叉编译器(只需要操作一次)

1.新建交叉编译器安装路径
sudo mkdir /usr/local/arm
2.解压并获得安装路径
sudo tar xvf arm-linux-gcc-4.3.2.tar.bz2 -C /usr/local/arm/
3.保存环境变量
sudo vim ~/.bashrc
在文件末尾添加
export PATH=/usr/local/arm/4.3.2/bin:$PATH
4.重启脚本
source ~/.bashrc
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

3.3开发板挂载(注意开发板需要链接网线)

udhcpc//自动获取ip
mount -o nolock,wsize=1024,rsize=1024   虚拟机ip:虚拟机路径 /mnt
  • 1.
  • 2.

3.4开发版执行程序

cd/mnt
cd /程序路径
./程序名
  • 1.
  • 2.
  • 3.

RFID射频识别概述及案例_s50_15

知识点6:RFID读卡器(FM17550)

基本特性:

工作频率:13.56Mhz

支持协议:读写A类卡,读写B类卡...

读写距离:50mm

通信方式:

串口:(异步)

RFID射频识别概述及案例_交叉编译_16

RFID射频识别概述及案例_交叉编译_17

RFID射频识别概述及案例_交叉编译_18

软件编程架构:(重点!)

RFID射频识别概述及案例_nfs_19

案例1:获取卡号

步骤1:main--》rfid_reset();

1.1初始化rfid的rst引脚

RFID射频识别概述及案例_s50_20

1.2初始化串口rfid_uart_init()-----循环初始化直到获取设备的正确版本。

RFID射频识别概述及案例_nfs_21

步骤2:main--》rfid_carda_init();

寄存器初始化。

RFID射频识别概述及案例_交叉编译_22

步骤3:获取 卡类型及卡号

3.1获取卡类型:rfid_carda_request(PICC_REQALL,type);

RFID射频识别概述及案例_交叉编译_23

3.2获取卡号:rfid_anticoll(card_id);

RFID射频识别概述及案例_s50_24

案例2:读写卡数据

步骤1:初始化串口及其他接口

步骤2:初始化rfid本身通信的寄存器

步骤3:获取卡号

步骤4:选定卡片

RFID射频识别概述及案例_交叉编译_25

步骤5:验证密码

RFID射频识别概述及案例_交叉编译_26

步骤6:读卡内容

RFID射频识别概述及案例_nfs_27

步骤7:写卡

RFID射频识别概述及案例_s50_28

RFID射频识别概述及案例_RFID_29

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐

  • 浏览量 1011
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献24条内容