便携式射频读写器设计

2018-09-03 02:29李园园
无线互联科技 2018年16期
关键词:读写器蓝牙指令

李园园,李 勇

(中山职业技术学院,广东 中山 528404)

随着信息技术、物联网技术、移动应用技术等高新技术的蓬勃发展,智能化的生活已经渗透到我们生活、工作、学习的方方面面,各行各业不仅仅需要信息化的支持,更需要借助物联网技术实现人和物品之间更紧密的联接。经过近些年不断地发展,高校的资产管理系统已然实现了信息化,学校资产盘点终端主要有两种技术手段:条形码二维码技术和射频技术。二维码技术可以用特定的手持终端或手机上安装专门开发的APP来实现设备管理,优点是设备成本低,且操作方便;缺点是操作效率低,一次只能读取一个资产的信息,对于空间狭窄操作设备无法到达的地方无法进行管理。射频技术可以克服二维码技术在资产管理方面的缺陷,效率高,可以同时管理数百个资产数据;管理空间范围大,远到几十米的范围进行资产信息读写。本文设计了一种超高频(Ultrahigh Frequency,UHF)射频标签读写终端以及手机客户端的编程流程,能通过蓝牙配合手机使用同时进行二维码和射频标签的读写管理。

1 硬件设计

1.1 系统结构

手持UHF射频读写终端,能满足电池供电、低功耗、蓝牙功能,射频标签读写功能,硬件的整体结构如图1所示。

图1 硬件结构

1.2 主要硬件选型

1.2.1 单片机

选用意法半导体公司的STM32F103C8T6,该芯片应用广泛,供货量大,价格基本与51系列同等功能单片机持平,性价比非常高。该芯片使用高性能的ARM® Cortex™-M3 32位的RISC内核,工作频率为72 MHz,内置高速存储器(64 K字节的闪存和20 K字节的SRAM),包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I 2 C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。该单片机丰富的片上资源以及外设接口,保证了系统的最小化以及硬件的可靠性。供电电压为2.0~3.6 V,一系列的省电模式(睡眠模式、停机模式、待机模式)保证低功耗应用的要求。

1.2.2 射频模块

选用晓网电子的一款900 M超高频模块RF100,兼容ISO18000-6C/EPC Gen2 协议。电源电压支持 3.6~5 V 供电,该模块参数如下。

(1)通讯协议:TTL串口;波特率:115 200 bps。

(2)频率范围:840~928 MHz。

(3)模块尺寸为 20 mm×23 mm×1 mm(未计算屏蔽罩厚度)。

(4)发射功率为 15 dBm,26 dBm,软件可调。

(5)读卡距离:2~10 m,依据使用天线而定。

(6)模块处于关闭模式:漏电小于10 μA。

(7)模块处于深度睡眠模式:功耗小于300 μA。

(8)模块处于待机模式:功耗为32 mA左右。

(9)模块连续盘存模式:功耗为220~320 mA左右。

(10)模块发送连续波时:功耗为320 mA左右。

(11)多标签读取>50 张/s。

(12)启动时间<80 ms。

1.2.3 蓝牙模块

选用蜂汇物联的主从一体蓝牙模块串口透传模块B-0001,该无线模块是基于TI公司的CC2540F256 芯片研发的射频模块,该模块可广泛应用于短距离无线通信领域,具有功耗低、体积小、抗干扰能力强等特点。B-0001可以实现模块与手机数据透传,模块与模块点对点的数据透传,通过简单的 IO 控制便可以快速使用蓝牙低能耗(Bluetooth Low Energy Consumption,BLE)技术。模块主从合一,具有命令控制,通过串口可以切换模块的主从角色,配置串口波特率,修改模块的广播名称,修改广播间隔和连接参数。该模块采用TI CC2541方案,适配BLE4.0协议,可通过RS232串口与单片机通信,具有低功耗,超小体积等特点。

以上主要硬件的选择,保证了系统设计的简洁,功能可靠,并且达到了便携式设备的低功耗的要求。

2 便携式射频标签读写器

本文设计的便携式射频标签读写器,以手机或PC机作为客户端通过蓝牙RS232串口控制读写器的运行(见图2)。读写器的使用方式为:(1)系统开机上电;(2)手机端蓝牙寻找配对设备;(3)设备配对后,可以通过手机发送指令对读写器进行设置;(4)RFID标签管理。主要程序功能包含客户端控制数据的封装与发送;读写器返回数据的解封装;蓝牙接收客户端数据解封装与封装成RFID模块控制命令;RFID将读取的标签信息转发至蓝牙端。

图2 读写器程序结构

?帧头 帧类型 指令代码 指令参数长度 指令参数 校验位 帧尾

手机客户端APP开发:Android 还是 iOS,APP软件编程的使用相同的编程流程,设备中所用的蓝牙模块的透传服务是 0xFEE0, 传输数据的特征值是 0xFEE1。APP编程设计流程如下。

(1)扫描设备,扫描到设备后会有一个回调函数,查找广播报文中含有0xFEE0或者根据服务0xFEE0这个参数去扫描。(2)连接设备,调用连接蓝牙的API。连接成功后会有回调;连接成功之后调用发现服务的API去发现所有的服务,透传的服务是0xFEE0。若有发现到0xFEE服务,那么接着应该去使能特征值0xFEE1,只有使用了这个开关,模块才会发送数据到手机。(3)调用发送函数去发送数据,当手机接收到数据,会有一个接收到数据的回调。

3 数据通信设计

3.1 手机端到读写器蓝牙端数据

手机端到读写器蓝牙端数据分两类设置指令和数据传送指令,设置指令的格式如下。

?帧头 命令码 数据长度 数据 校验和 帧尾

(1)帧头:固定为“0XFE”。(2)命令码:(A)OX00表示设备命名;(B)0X01表示通信波特率设置;(C)0X02射频模块通信功耗设置。(3)数据长度:数据部分的长度。(4)数据:依据命令码设定。(5)校验和:从命令码到数据段按字节相加,取最后一个字节。(6)帧尾:固定为“0X0F”。

数据传送指令格式为如下。

?帧头 数据 帧尾

(1)帧头:固定为“0XEF”。(2)数据:所要传送的内容。(3)帧尾:固定为“0X0F”。

3.2 读写器内部蓝牙通信指令

读写器内部单片机蓝牙通信指令对蓝牙模块进行具体的控制,所使用指令集分采用蜂汇设定的指令集,分为两种,一个是设置指令集,一个查看参数指令集。

(1)蓝牙模块设置命令格式如下。

帧头 命令码 数据长度 数据 帧尾

(2)蓝牙模块查看参数指令格式如下。

帧头(固定) Type 帧尾0xFB 命令号 0x00 0xAA

3.3 射频模块指令格式为

指令由帧头、帧类型、指令代码、指令数据长度、指令参数、校验码和帧尾组成,均为十六进制表示。

帧头:0xBB;帧类型:0x00;指令代码:0x07;指令参数长度:0x0001;指令参数:0x01;校验位:从帧类型到最后一个指令参数累加和,取最后一个字节;帧尾:0x7E。

4 结语

本文设计了一种和手机配合使用的射频标签读卡器,给出了硬件原理图框架,以及主要硬件模块的选型;设计了软件流程框架,给出了手机端到设备端通信协议、设备内部蓝牙模块管理协议、设备内部射频模块通信协议。与读卡器配合手机使用,利用手机通信及二维码扫描的优势,可以同时实现二维码和射频标签对资产的管理。

猜你喜欢
读写器蓝牙指令
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
基于视频抓拍读写器的高速公路防倒卡研究
坐标系旋转指令数控编程应用
基于随机时隙的RFID读写器防冲突方法
RFID网络读写器冲突避免MAC协议
基于Intel R1000的超高频RFID读写器设计