《RFID在煤矿系统中的应用》由会员分享,可在线阅读,更多相关《RFID在煤矿系统中的应用(60页珍藏版)》请在金锄头文库上搜索。
1、成都理工大学硕士学位论文RFID在煤矿系统中的应用姓名:徐广伟申请学位级别:硕士专业:信号与信息处理指导教师:陈金鹰20100501摘 要 I RFID 在煤矿系统中的应用在煤矿系统中的应用 作者简介:徐广伟 男,1984 年 2 月出生,2007 年 9 月师从于成都理工大学陈金鹰教授,于 2010 年 6 月获工学硕士学位。 摘要摘要 本文针对如何建立一套有效的煤矿人员定位与管理系统进行了深入研究, 结合矿井实际情况和 RFID 技术优势设计了煤矿井下人员定位与管理系统,并完成了相应的硬件与软件设计。该煤矿井下人员定位与管理系统是集自动控制技术、RFID 技术、网络通讯技术等多学科综合应用
2、为一体的自动识别信息系统。该系统是通过对坑道远距离移动目标进行非接触式信息采集处理, 实现了人在不同状况移动、静止下的自动识别,从而实现对目标的自动管理。 本文主要从以下几个方面进行了研究。首先,对国内外 RFID 技术的发展和应用进行了前瞻性研究,结合煤矿的实际情况和所面临的问题,通过 RFID 技术、嵌入式技术和 CAN 通信技术,提出在井下关键部位安装 RFID 读卡器监测点,读卡器把监测到的标签数据通过 CAN 总线网络传到地面管理中心的系统方案。 其次,系统由硬件设计、软件设计和有源标签设计等部分组成,硬件设计主要由控制模块,CAN 通信模块,射频模块、电源模块、指示模块、显示模块和
3、RS-232/RS-485 串口通信模块等组成。其中控制模块采用的是 PHILIPS 公司的LPC2119 ARM7 芯片,该芯片具有 SPI 接口和集成了 2 路 CAN 控制器,SPI 接口用来与射频部分通信,CAN 控制器用来往上位机上传数据;射频模块采用的是使用Nordic 公司的 nRF24L01 2.45G 射频芯片;串口通信模块有 RS-232 和 RS-485 两种串口通信,其中 RS-232 采用的是 MAXIM 公司的 MAX3232ECAE,RS-485 则采用的 MAXIM 公司的 MAX13085ECSA; CAN 通信模块采用防电隔离的收发芯片 CTM8251;指示
4、与显示模块的硬件设计主要采用了 LED 与液晶来进行设计,指示模块用 LED灯来指示阅读器运行状态,电源状态,通信指示等,显示模块采用液晶来显示基本信息,包括煤矿名称、巷道名称、阅读器的分机号、读到标签的数据、实时时间等。 软件设计同样有射频软件设计、指示与显示软件设计、CAN 通信软件设计等等。该部分主要对射频软件设计和 CAN 通信软件设计进行了研究。射频软件设计部分主要介绍了射频芯片工作模式转换,接收射频数据的软件设计,发送射频数据的软件设计,还有与 MCU 通信的 SPI 接口程序的编写;CAN 通信的软件设计主要研究了 FULLCAN 函数库, 以及 CAN 通信中初始化程序设计,
5、接收数据软件设计,发送数据软件设计和中断函数的程序编写。 其中 FULLCAN 函数库有 5 个头文件和2 个源文件组成。 成都理工大学硕士学位论文 II 有源标签设计采用的是 TI 公司的 MSP430 系列超低功耗单片机和 nRF24L01射频芯片进行设计。有源标签是主动式标签,相对无源标签,读写距离更远,漏读误读概率更低。最后系统进行了功能测试,经测试系统运行安全可靠,实现了功能要求,达到了设计目标。 关键词:RFID 煤矿 定位 Abstract III The Application of RFID in Coal Mine System Introduction of Author
6、:Xu Guangwei,male,born in February of 1984,in September 2007 at the Chengdu University of Technology where studied under Professor Chen Jinying, was granted the Master of Engineering in June 2010. Abstract This article studies about how to create an effective positioning and management system for mi
7、ne personnel conducted in-depth, combined with the actual situation and RFID technology advantages, design a location and the mine personnel management system, and completed the appropriate hardware and software design. This is an automatic identification of information system which combined with po
8、sitioning and automatic control technology, RFID technology and network communication technology and other disciplines into one integrated application. The system through the tunnel distance target acquisition and processing of non-contact information, to achieve a movement in different situations,
9、still under the automatic identification, in order to achieve the target of automated management. This article studied from the following aspects. First, studied domestic and foreign development and application of RFID technology, combined with the actual situation of coal mines and the problems, th
10、rough RFID technology, embedded technology and CAN communications technology, made a key part in the underground installation of RFID readers monitoring points, reader to tag data to monitor the CAN bus via the network management center to the ground system solutions. Second, the system consists of
11、hardware design, software design and active components such as label design, hardware design mainly by the control module, CAN communication module, RF modules, power modules, direct modules, display modules and RS-232/RS-485 serial communication modules and other components. Control module which is
12、 Philips LPC2119 ARM7 chip, the chip with SPI interface and a CAN controller integrated 2-way, SPI interfaces used with the RF part of the communication, CAN controller is used to upload data up-bit machine; RF module used of nRF24L01 2.45G RF chip which produced by the Nordic company; Serial commun
13、ication module with RS-232 and RS-485 two serial communication, RS-232 which is used in MAXIMs MAX3232ECAE, RS-485 is adopted in MAXIMs 成都理工大学硕士学位论文 IV MAX13085ECSA; CAN communication module using anti-isolation of the transceiver chip CTM8251; the hardware design of Instructions and display module
14、using LED and LCD , Instruction modules with LED lights to indicate reader operation status, power status, communication instruction, using liquid crystal display module to display the basic information, instructions, including the name of mine , roadway name, extension reader, read the label data,
15、real time. Display Module through LCD demonstrate basic information, including the mine name, gallery name, extension reader, read the label data, real time and so on. Software design consist of a radio frequency software design, instruction and display software design, CAN communication software de
16、sign and so on. In this part, the RF communication software design and CAN communication software design were studied. RF software design introduces the radio frequency chip mode conversion, radio frequency data receiver software design, software design to send RF data, as well as communication with
17、 the MCU SPI interface program of preparation; CAN communication software design of the FULLCAN main library, and initialize the CAN communication procedures designed to receive data software design, software design and send data interrupt programming functions. Of which there are five tall library
18、files and two source files. Active tags Design uses TIs MSP430 family of ultra-low power MCU and nRF24L01 RF chip. Active tags compare with passive tags, readers farther, lower the probability of leakage reading misreading. Finally the system of functional tests, tested the system safe and reliable
19、operation, implemented functional requirements, meet the design objectives. Key words:RFID coal mine Location 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 成都理工大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 年 月 日 学位论文版权使用授
20、权书 本学位论文作者完全了解 成都理工大学 有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权 成都理工大学 可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后适用本授权书) 学位论文作者签名: 学位论文作者导师签名: 年 月 日第 1 章 引言 1 第第 1 章章 引引 言言 目前 RFID 技术发展迅猛,为设计识别系统提供了方便。RFID 是一种非接触式的自动识别技术。它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工
21、作于各种恶劣环境。RFID 技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。RFID 技术的基本工作原理并不复杂,其主要组成部分包括读写器和射频卡两部分。读写器和射频卡之间通过无线方式通信,因此它们都有无线收发模块及天线(或感应线圈) 。射频卡中有存储器,内存容量为几个比特到几千比特,可以存储永久性数据和非永久性数据。永久性数据可以是射频卡序列号,它是用来作为射频卡的唯一身份标识,不能更改非永久性数据写在 EEPROM 等可重写的存储器内,用来存储用户数据。射频卡进入磁场后,接收读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无源标
22、签或被动标签) ,或者主动发送某一频率的信号(Active Tag,有源标签或主动标签) 。读写器读取信息并解码后,通过通信模块送至中央信息系统进行有关数据处理。 RFID 在历史上的首次应用可以追溯到第二次世界大战期间,当时的功能是用于分辨出敌方。飞机上装有高耗电量的主动式卷标,当雷达发出询问的讯号,这些卷标就会发出适当的响应,藉以识别出是友军还是敌军。此系统称为 IFF(Identify:Friend or Foe) 。目前世界上的飞安管制系统仍是以此为概念。 RFID 直接继承了雷达的概念,并由此发展出一种生机勃勃的 AIDC 新技术RFID 技术。1948 年哈里.斯托克曼发表的“利用
23、反射功率的通讯”奠定了射频识别 RFID 的理论基础。 RFID 技术发展的历程表。在 20 世纪中,无线电技术的理论与应用研究是科学技术发展最重要的成就之一。RFID 技术的发展可按 10 年期划分如下: 1941-1950 年,雷达的改进和应用催生了 RFID 技术,1948 年奠定了 RFID 技术的理论基础。 1951-1960 年,早期的 RFID 技术的探索阶段,主要处于实验室实验研究。 1961-1970 年,RFID 技术的理论得到了发展,开始了一些应用尝试。 1971-1980 年,RFID 技术与产品研发处于一个大发展时期,各种 RFID 技术测试得到加速,出现了一些最早的
24、 RFID 应用。 1981-1990 年, RFID 技术及产品进入商业应用阶段, 各种规模应用开始出现。 1991-2000 年,RFID 技术标准化问题日趋得到重视,RFID 产品得到广泛应用,RFID 产品逐渐成为人们生活的一部分。 目前,美国国防部已经在内部采用这种技术来跟踪 40 万种物品,包括空运货物集装箱和“悍马”防弹越野车,2003 年 9 月,国防部向供应商也发出了一成都理工大学硕士学位论文 2 份像沃尔玛那样的通告,要求供应商到 2005 年要采用 RFID 技术。1999 年,美国麻省理工学院的自动识别技术中心(AUTO-ID Center)成立,我国的复旦大学也成立了
25、该实验室。 欧洲 RFID 市场发展迅速,在 2008 年增至 44.5 亿英镑。目前每年交易的零售商品总量达到 2600 亿件,在这个数字中,2010 年会有 5%的产品采用 RFID 标签。欧洲最大的 RFID 市场应该是在德国,预计德国采用 RFID 标签的零售商品数量将达到 6 亿件,紧随德国之后的是法国和英国,两国采用 RFID 标签的零售商品数量预计大约在 5 亿件左右,由此可以看出欧洲 RFID 市场的巨大商机。 下面从欧洲 RFID 的产品研发能力和具体应用两方面来进行分析: (1)技术方面 欧洲的许多厂家都致力于发展 RFID 相关技术,也取得了巨大成功,如Philips、S
26、TMicroelectronics 在积极开发廉价 RFID 芯片;Checkpoint 在开发支持多系统的 RFID 识别系统; 诺基亚在开发基于 RFID 的移动电话购物系统; SAP则在积极开发支持 RFID 的企业应用管理软件。 在 RFID 芯片设计与制造方面,上海华虹、上海复旦微电子、上海贝岭、北京华大、大唐微电子、深圳毅能达等企业已涉足;在天线设计与制造方面,中国电子科技集团第五十研究所等专业院所正在对不同频段的天线进行研究; 在读写设备方面,上海华申智能、深圳远望谷等,已经开发出 900MHz 电子标签超高频的读写器;在系统集成和数据管理软件平台方面,上海交通大学和 AUTO-
27、ID 中国实验室已和 SAP 合作,正在进行电子标签中间件的开发;在应用系统开发方面,行业内的应用占绝大多数,涉足的厂商众多。主要厂商集中于北京、上海、广东三地。其中,上海发展最快,整个 RFID 产业链已经初步形成。 (2)应用方面 欧洲在交通、身份识别、生产线自动化控制、物资跟踪等封闭系统与美国基本处在同一阶段。目前,欧洲许多大型企业纷纷进行 RFID 的应用实验。例如麦德龙,欧洲零售商和服装公司 Karstadt、LemmiFashions、Marks&Spencer 和NPCollection 都应用了单品级贴标。此外,欧洲 RFID 应用不仅仅体现在零售业上,荷兰采用 RFID 标签
28、监控花的栽培过程;西班牙利用 RFID 精简医药供应链;空中客车进一步实现 RFID 应用计划;索尼将 RFID 标签集成进闭路 TV 摄像头来监测库存,提高安全性。 我国 RFID 技术起步虽晚,但射频识别技术在我国第二代居民身份证、城市公共交通支付、电子证照与商品防伪、特种设备安检、安全管理、动植物电子标识、以及现代物流管理等领域的应用已经取得了较大进展。 实华开公司将与日本的 RFID 标准实验室签约,成立“实华开泛在网络技术有限公司” 。同时还将与世界 500 强的 4 家企业就有关 RFID 的使用问题签约。 第 1 章 引言 3 远望谷与广州市政府就共同推动 RFID 技术应用与产
29、业发展签署了合作框架协议。根据协议,广州市政府为远望谷发展 RFID 产业提供公共服务平台,支持公司参与广州 RFID 技术应用示范工程建设,开拓 RFID 技术应用市场。同时远望谷也将推动 RFID 技术的研发、生产、应用及运营等方面的工作,加强 RFID 技术应用创新研究。 由清华大学、同方微电子公司共同研制成功的我国最小尺寸 RFID 芯片,最小面积可达到 0.3 平方毫米,厚度最小达到 50 微米,可嵌入到纸张内,最远识别距离在 5 米左右。该芯片的相关技术已用于 2008 年奥运会门票,在奥运历史上首次实现采用芯片嵌入的门票,数量超过 1600 万张。该技术的应用提高了奥运门票的防伪
30、能力,极大的方便了信息统计和门票管理,加强了奥运安全管理,成为“科技奥运”的一大亮点。 近年来,煤矿高瓦斯矿井的在数量不断增加,在分析近期几个煤矿发生的特大事故时发现:(1)地面与井下人员的信息沟通不及时;(2)地面人员难以及时动态掌握井下人员的分布及作业情况,进行精确人员定位;(3)一旦煤矿事故发生,抢险救灾、安全救护的效率低,搜救效果差。必须提升安全生产信息化管理水平,加强以灾害预防、搜救为主要目标的安全生产长效机制,是安全生产工作的必由之路。 RFID 应用到煤矿中可以有效地实时的对人员进行跟踪定位,实现煤矿井下作业人员进出的有效识别和监测监控,使管理系统充分体现人性化、信息化和高度自动
31、化,为煤矿管理者提供人员进出限制、考勤作业、监测监控等多方面的管理信息,提高企业的管理水平。一旦发生安全事故,可以快速有效的进行救援。而且 RFID 具有非常明显的优势。首先,它的读取非常方便快捷,数据读取不需要光源,有效识别的距离非常大,通常可以达到 30 米以上。其次,RFID 标签的数据可以更改,此外,RFID 还具有使用寿命长,安全性高、对环境要求低等优点。 成都理工大学硕士学位论文 4 第第 2 章章 RFID 在煤矿系统中的应用概述在煤矿系统中的应用概述 2.1 RFID 在煤矿系统中的在煤矿系统中的设计设计原理原理 RFID 人员定位与跟踪的原理是,在井下坑道、作业面的交叉道口等
32、重要位置安装人员定位分站,矿井工作人员随身携带的识别标签,识别标签不断的发射无线射频信号,当工作人员进入人员定位分站读取范围内,定位分站的 RFID 读卡器通过天线接收到识别标签发来的信号,将信号进行分析处理,然后通过 CAN总线将数据上传到上位机,系统数据库查找该标签所对应人员的姓名、年龄、性别、部门、职务等基本信息,从而实现了对目标的自动化定位管理。本系统必须遵循统一发卡、统一装备、统一管理、一人一卡的原则。 人员定位与管理系统的应用软件主要用于存储所有跟踪器的记录情况和实时位置。软件可提供给使用者分类、过滤、搜索和报告生成等功能,并利用这些功能完成数据的实现和全面的记录,原理图如 2-1
33、 所示。 矿矿地地下下 矿矿地上地上 互联网互联网/GIS/GIS 平平台台 CAN/CAN/ 组 态 软 件组 态 软 件平台平台 图图 2 2- -1 1 矿山管理、监控、灾害预警和灾害救助综合试验平台网络拓扑图 第 2 章 RFID 在煤矿系统中的应用概述 5 2.2 RFID 系统原理系统原理 2.2.1 RFID 简介 RFID 是“无线射频识别” (Radio Frequency Identification)技术的简写,指的是利用无线射频传输技术来存储数据和检索数据的过程, 是非接触式自动识别技术的一种。一个典型的 RFID 系统将一个带有独特电子商品代码的数码记忆芯片植入到单个
34、物体上,接受设备能激活 RFID 标签,读取和更改数据,并将信息传输到主机上进行进一步的处理。RFID 一般包括三个部分:发射装置(RFID标签)、读取传输设备和信息处理设备。 与传统的条形码相比,RFID 具有非常明显的优势。首先,它的读取非常方便快捷,数据读取不需要光源,有效识别的距离非常大,通常可以达到 30 米以上。其次,RFID 标签的数据可以更改,因此商家可以通过 RFID 标签与消费者进行售后服务方面的互动。此外,RFID 还具有使用寿命长,安全性高、对环境要求低等优点,使得 RFID 技术受到了企业界和科研机构的追捧。 根据工作频率的不同 RFID 系统可分为:低频、中频、高频
35、、超高频和微波段 RFID 系统。低频段的 RFID 系统简称 LF RFID,其工作频率范围为 30kHz 300kHz。典型工作频率有:125KHz,133KHz;中高频段的简称 HF RFID,其工作频率一般为 3MHz30MHz,典型工作频率为:13.56MHz;超高频和微波段的简称UHF RFID,其工作频率在 300MHz-5.8GHz,典型工作频率有 433MHz、915MHz、2.45GHz、5.8GHz 等。不同的国家所使用的 RFID 频率也不尽相同。欧洲的超高频是 868MHz,美国的则是 915MHz,日本目前不允许将超高频用到射频技术中。 由于使用的频率不同,各系统的
36、性能和工作原理也各不相同。LF RFID 和 HF RFID 系统工作中采用电感耦合,即变压器模型,通过空间高频交变磁场实现耦合,依据的是电磁感应定律;UHF RFID 系统则工作于电磁反向散射耦合方式,既雷达原理模型,发射出去的电磁波,碰到目标后反射,同时携带回目标信息,依据的是电磁波的空间传播规律。工作时,射频标签位于阅读器天线辐射场的远区场内,读写器天线辐射场为无源标签提供射频能量,将标签唤醒。相应的有源射频识别系统阅读距离一般大于 1m,典型情况为 46m,最大可达 10m 以上。阅读器天线一般均为定向天线, 只有在阅读器天线定向波束范围内的射频标签可被读/写。 RFID 系统一般由电
37、子标签、 读写器、 天线和后台应用软件几个部分组成,如图 2-2 所示。 成都理工大学硕士学位论文 6 控制模块上位机接口模块天线模块射频模块天线模块射频模块RFID阅读器识别卡 图图 2 2- -2 2 RFID 体系结构 电子标签依据频率的不同可分为低频电子标签、高频电子标签、超高频电子标签和和微波电子标签。依据封装形式的不同分为信用卡标签、线形标签、纸状标签、玻璃管标签、圆形标签及特殊用途的异形标签等。 依据电子标签的供电方式的不同,电子标签可以分为有源电子标签(Active tag) 、无源电子标签(Passive tag)和半无源电子标签(Semipassive tag) 。有源电子
38、标签内装有电池,无源标签内没有电池,半无源电子标签部分依靠电池工作。本设计采用的是 2.45G 有源电子标签。 阅读器通过天线与电子标签进行无线通信, 可以实现对标签识别码和内存数据的读出或写入等操作。 2.2.2 RFID 的工作原理 RFID 技术的基本工作原理:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无源标签或被动标签) ,或者主动发送某一频率的信号(Active Tag,有源标签或主动标签) ;解读器读取信息并解码后,送至中央信息系统进行有关数据处理。 一套完整的 RFID 系统,是由阅读器(Reader)
39、与电子标签(TAG)也就是所谓的应答器 (Transponder) 及应用软件系统三个部分组成, 其工作原理是 Reader发射一特定频率的无线电波能量给 Transponder,用以驱动 Transponder 电路将内部的数据送出, 此时 Reader 便依序接收解读数据, 送给应用程序做相应的处理。 以 RFID 卡片阅读器及电子标签之间的通讯及能量感应方式来看大致上可以分成, 感应偶合 (Inductive Coupling) 及后向散射偶合 (Backscatter Coupling)两种,一般低频的 RFID 大都采用第一种式,而较高频大多采用第二种方式。 阅读器根据使用的结构和技
40、术不同可以是读或读/写装置, 是 RFID 系统信息控制和处理中心。 阅读器通常由耦合模块、 收发模块、 控制模块和接口单元组成。阅读器和应答器之间一般采用半双工通信方式进行信息交换, 同时阅读器通过耦合给无源应答器提供能量和时序。 在实际应用中,可进一步通过 Ethernet 或第 2 章 RFID 在煤矿系统中的应用概述 7 WLAN 等实现对物体识别信息的采集、 处理及远程传送等管理功能。 应答器是 RFID系统的信息载体,目前应答器大多是由耦合原件(线圈、微带天线等)和微芯片组成无源单元。 2.2.3 RFID 技术的优点 比起条码技术,RFID 可以协助企业达到更快速、更便捷、更通透
41、的物品管理,在一切讲求快速反应、立即决策的今天,RFID 所提供的物品管理效率正是企业所需要的,而商机,就在这需求中被创造出来的。条码是一种应用非常广泛的自动识别技术,但 RFID 与之相比优势非常明显:不需要光源,甚至可以透过外部材料读取数据;使用寿命长,能在恶劣环境下工作;能够轻易嵌入或附着在不同形状、类型的产品上;读取距离更远;可以写入及存取数据,标签的内容可以动态改变; 能够同时处理多个标签; 标签的数据存取有密码保护, 安全性更高;可以对 RFID 标签所附着的物体进行追踪定位。以下是 RFID 技术比起条形码技术所体现出来的七大优点: (1)快速扫描 一次只能有一个条形码受到扫描;
42、RFID 辨识器可同时辨识读取数个 RFID 标签。 (2)体积小型化、形状多样化 RFID 在读取上并不受尺寸大小与形状限制,不需为了读取精确度而配合纸张的固定尺寸和印刷品质。此外,RFID 标签更方便向小型化与多样化发展,以应用于不同产品。 (3)抗污染能力和耐久性 传统条形码的载体是纸张,因此容易受到污染,但 RFID 对水、油和化学药品等物质具有很强抵抗性。此外,由于条形码是附于塑料袋或外包装纸箱上,所以特别容易受到折损,RFID 标签是将数据存储在芯片中,因此可以免受污损。 (4)可重复使用 现今的条形码印刷上去之后就无法更改,RFID 标签则可以重复地新增、修改、删除 RFID 标
43、签内储存的数据,方便信息的更新。 (5)穿透性和无屏障阅读 在被覆盖的情况下,RFID 能够穿透纸张、木材和塑料等非金属或非透明的材质并能够进行穿透性通信。 而条形码扫描器必须在近距离而且没有物体阻挡的情况下,才可以辨读条形码。 (6)数据的记忆容量大 一维条形码的容量是 50Bytes,二维条形码最大的容量可储存 2 至 3000 字符,RFID 最大的容量则有数 MBytes。随着记忆载体的发展,数据容量也有不断成都理工大学硕士学位论文 8 扩大的趋势。未来物品所需携带的资料量会越来越大,对卷标所能扩充容量的需求也相应增加。 (7)全性由于 RFID 承载的是电子信息,其数据内容可经由密码
44、保护,使其内容不易被伪造及变造。 2.2.4 RFID 技术标准 目前 RFID 存在两个技术标准阵营:一个是总部设在美国麻省理学院的Auto-ID Center,另一个是日本的 Ubiquitous ID Center(UID) 。前者的领导组织是美国的 EPC(电子产品代码)环球协会,旗下有沃尔玛集团、英国 Tesco等 100 多家欧美的零售流通企业,同时有 IBM、微软等公司提供技术研究支持。后者主要由日系厂商组成,有日本电子厂商、信息企业和印刷公司等,总计达352 家。日本 UID 标准和欧美的 EPC 标准在使用无线频段、信息位数和应用领域等存在诸多差异。例如日本的 RFID 采用
45、的频段为 2.45GHz 和 13.56MHz,欧美的EPC 标准采用 UHF 频段,如 902MHz-928MHz;日本的电子标签的信息位数 128 位,EPC 标准的位数为 96 位;日本的电子标签标准可用于库存管理、信息发送与接收以及产品和零部件的跟踪管理等,EPC 标准侧重于物流管理、库存管理等。 2.2.5 RFID 系统数据的传输 RFID 系统从阅读器到标签方向的数据传输过程中,所有已知的数字方法都可以选用,而与工作频率和耦合方式无关。常用的数据调制解调有幅度调制键控(ASK) ,频移键控(FSK)和相移键控(PSK)等方式。现代电子标签多数采用ASK 调制方式。为了使代表消息的
46、信号在数字系统或数字信道中有效地传输,必须对信源发出的信号进行变换,使之成为合适的数字脉冲串(一般为二进制冲) ,这就是信源信号编码。在通信中,信号编码的目的主要有两个,一是将信号变换为适于数字通信系统处理与传输的数字信号形式。 二是通过信号编码提高通信的有效性,尽可能减少原消息中的冗余,使单位时间或单位频带上所传的信息量最大。 信号编码的作用使要传输的信息及其信号表示尽可能最佳地与传输道的性能相匹配。这种处理包括对信息提供某种程度的保护,从而防止信息受干扰或相碰撞,以及对某些信号特性的蓄意改变。对于不同的传输系统,由于信道特性和要求的指标不同而采用不同的数字脉冲波形。通常使用的波形有矩形脉冲
47、、三角脉冲、高斯脉冲及正余弦脉冲等。由于矩形冲易于形成和变换,所以矩形脉冲成为最常用的数字波形。对于给定的码情况下,使用不同的编码类型可以形成各不相同的二进制脉冲序列。射频识别系统通常使用下列编码法中的一种方法: 反向不归零(RZ)码。 “高”电平表示 l, “低”电平表示 0。 第 2 章 RFID 在煤矿系统中的应用概述 9 曼彻斯特(Manchester)码。曼彻斯特编码在半个比特周期时的负跳变表示 1,半个比特周期时的正跳变表示 0。曼彻斯特编码通常用于从标签到阅读器的数据传输,有利于发现数据传输的错误。 单极性归零编码。第一个半比特周期内的“高”表示 1,而持续整个周期的“低”表示
48、0。 脉冲间歇编码。相对脉冲位置编码来说,在下一脉冲前的暂停时间 t 表示 1,而下一脉冲前的暂停持续时间 2t 表示 0。 脉冲位置编码。与脉冲间歇编码类似,不同的是在脉冲位置编码中,每个数据比特的宽度是一致的。 2.3 CAN 通信技术通信技术 2.3.1 CAN 总线的产生与发展 CANCONTROLLER AREA NETWORK(控制器局部网)是 BOSCH 公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。 由于 CAN 为愈来愈
49、多不同领域采用和推广, 导致要求各种应用领域通信报文的标准化。为此,1991 年 9 月 PHILIPS SEMICONDUCTORS 制订并发布了 CAN 技术规范(VERSION 2.0) 。该技术规范包括 A 和 B 两部分。2.0A 给出了曾在 CAN 技术规范版本 1.2 中定义的 CAN 报文格式,能提供 11 位地址;而 2.0B 给出了标准的和扩展的两种报文格式,提供 29 位地址。此后,1993 年 11 月 ISO 正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898) ,为控制器局部网标准化、规范化推广铺平了道路。 2.3.2
50、 CAN 总线特点 CAN 总线 80 年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议, 它是一种多主总线, 通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达 1MBPS。 (1)CAN 总线通信接口中集成了 CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 (2)CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。 采用这种方法的优点可使网络内的节点个数在理论上不受限成都理工大学硕士学位论文 10 制,数据块的标识码可由 11 位或 29 位二
51、进制数组成,因此可以定义 211 或 229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为 8 个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时 8 个字节不会占用总线时间过长,从而保证了通信的实时性。CAN 协议采用 CRC 检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN 卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。 (3)CAN 总线采用了多主竞争式总线结构,具有多主站运行和分散仲
52、裁的串行总线以及广播通信的特点。CAN 总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN 总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高, 特别适用于分布式测控系统之间的数通讯。 CAN 总线插卡可以任意插在 PC AT XT 兼容机上,方便地构成分布式监控系统。 (4)结构简单,只有 2 跟线与外部相连,并且内部集成了错误探测和管理模块。 (5)CAN 的特点如下: CAN(Controller Area Network)总线,也称控制器局部网,由于采用了许多新技术及独特的设计,CAN 总线与一般的通信总
53、线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点如下: CAN 是具有国际标准的现场总线。 CAN 为多主工作方式,网络上任何一个节点均可在任意时刻主动地向网络上其它节点发送信息,而不分主从。 在报文标识符上,CAN 上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在 134s 内得到传输。 CAN 采用非破坏总线仲裁技术。当多个节点同时向总线发送信息出现冲突时,优先级低的节点会主动地退出发送,而优先级高的节点可以不受影响的继续传输数据,从而大大节省了总线冲突的仲裁时间。尤其是网络负载很重的情况下,也不会出现网络瘫痪情况(以太网则可能) 。 CAN 节点只需通过
54、报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。 CAN 的直接通信距离最远可达 10km (速率 5kbps 以下) ; 通信速率最高可达 1Mbps(此时通信距离最长为 40m) 。 CAN 上的节点数主要取决于总线驱动电路, 目前可达 110 个。 在标准帧的报文标识符有 11 位,而在扩展帧的报文标识符(29 位)个数几乎不第 2 章 RFID 在煤矿系统中的应用概述 11 受限制。 报文采用短帧格式,传输时间短,受干扰概率低,保证了数据出错率极低。 CAN 的每帧信息都有 CRC 校验及其他检错措施, 具有极好的检错效果。 CAN 的通讯介质可以为双绞线、
55、同轴电缆或光纤,选择灵活。 CAN 节点在错误帧的情况下具有自动关闭输出功能,而总线上其它节点的操作不受影响。 CAN 总线具有较高的性能价格比。它结构简单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。 CAN 协议也是建立在国际标准组织的开放系统互联模型基础上的。不过,由于 CAN 的数据结构简单,又是范围较小的局域网,其模型结构只取 OSI 底层的物理层、 数据链路层和应用层 3 层, 不需要其他中间层,应用层数据直接取自数据链路层或直接向数据链路层写数据。结构层次少,利于系统中实时控制信号的传送。 2.3.3 CAN 总线技术介绍 (1)位仲裁
56、 要对数据进行实时处理, 就必须将数据快速传送, 这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。实时处理通过网络交换的紧急数据有较大的不同。一个快速变化的物理量, 如汽车引擎负载, 将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。 CAN 总线以报文为单位进行数据传送,报文的优先级结合在 11 位标识符中,具有最低二进制数的标识符有最高的优先级。 这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。当几个站同时发送报文时,站 1 的报文标识符为 011111;站 2 的报文标识符为 01
57、00110;站 3 的报文标识符为 0100111。所有标识符都有相同的两位 01,直到第 3 位进行比较时,站 1 的报文被丢掉,因为它的第 3 位为高,而其它两个站的报文第 3 位为低。站2 和站 3 报文的 4、5、6 位相同,直到第 7 位时,站 3 的报文才被丢失。注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。在此例中,站 2 的报文被跟踪。这种非破坏性位仲裁方法的优点在于, 在网络最终确定哪一个站的报文被传送以前, 报文的起始部分已经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。 CAN 具有较高的效率是因为总
58、线仅仅被那些请求总线悬而未决的站利用,这成都理工大学硕士学位论文 12 些请求是根据报文在整个系统中的重要性按顺序处理的。 这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。 对于主站的可靠性,由于 CAN 协议执行非集中化总线控制,所有主要通信,包括总线读取(许可)控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法。 (2) CAN 与其它通信方案的比较 在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中, 不管每个节点是否申请总线, 都对每个节点按最大时间分配。 由此,总线
59、可被分配给每个站并且是唯一的站, 而不论其是立即进行总线存取或在一特定时间进行总线存取。这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配(如:Ethernet CSMA/CD) 。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。 CAN 实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于 Ethernet 网络的消息仲裁,CAN 的非破坏性解决总线存取
60、冲突的方法,确保在不传送有用消息时总线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在 CSMA/CD 这样的网络中,如 Ethernet,系统往往由于过载而崩溃,而这种情况在 CAN 中不会发生。 (3)CAN 的报文格式 在总线中传送的报文,每帧由 7 部分组成。CAN 协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为 11 位,扩展格式为 29 位。 在标准格式中,报文的起始位称为帧起始(SOF) ,然后是由 11 位标识符和远程发送请求位(RTR)组成的仲裁
61、场。RTR 位标明是数据帧还是请求帧,在请求帧中没有数据字节。 控制场包括标识符扩展位(DE) ,指出是标准格式还是扩展格式。它还包括一个保留位(ro) ,为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC) 。数据场范围为 08 个字节,其后有一个检测数据错误的循环冗余检查(CRC) 。 应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑 1) ,这时正确接收报文的接收站发送主控电平(逻辑 0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。 第 2 章 RFID 在煤矿系统中的应用概述 13 报文的尾部由帧结束标出。在相邻的两
62、条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。 (4)数据错误检测 不同于其它总线,CAN 协议不能使用应答信息。事实上,它可以将发生的任何错误用信号发出。CAN 协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。 循环冗余检查(CRC) 在一帧报文中加入冗余检查位可保证报文正确。 接收站通过 CRC 可判断报文是否有错。 帧检查 这种方法通过位场检查帧的格式和大小来确定报文的正确性, 用于检查格式上的错误。 应答错误 如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK 场已损坏或网络中
63、的报文无站接收。CAN 协议也可通过位检查的方法探测错误。 总线检测 有时,CAN 中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。 位填充 一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步沿用位填充产生。 在五个连续相等位后, 发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN 自动插入一个高电平位。CAN 通过这种编码规则检查错误,如果在一帧报文中有 6 个相同位,CAN 就知道发生了错误。 如果至少有一个
64、站通过以上方法探测到一个或多个错误, 它将发送出错标志终止当前的发送。这可以阻止其它站接收错误的报文, 并保证网络上报文的一致性。当大量发送数据被终止后,发送站会自动地重新发送数据。作为规则,在探测到错误后 23 个位周期内重新开始发送。在特殊场合,系统的恢复时间为 31个位周期。 但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。因此,如果不采取自监测措施,总线系统应采用模块化设计。为此,CAN 协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。 这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种成都理工大学硕士学位论文 14 不
65、会对其它站产生不良影响的运行方法来实现, 即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。 CAN 可靠性 为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险, 汽车的安全系统要求数据传输具有较高的安全性。如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。从总线系统数据的角度看,可靠性可以理解为对传输过程产生的数据错误的识别能力。 残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。 它描述了传送数据被破坏和这种破坏不能被探测出来的概率。 残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。计算残余错误
66、概率要求能够对数据错误进行分类,并且数据传输路径可由一模型描述。如果要确定 CAN 的残余错误概率,我们可将残留错误的概率作为具有 8090 位的报文传送时位错误概率的函数, 并假定这个系统中有 510 个站, 并且错误率为 1/1000,那么最大位错误概率为 1013 数量级。例如,CAN 网络的数据传输率最大为1Mbps,如果数据传输能力仅使用 50%,那么对于一个工作寿命 4000 小时、平均报文长度为 80 位的系统,所传送的数据总量为 91010。在系统运行寿命期内,不可检测的传输错误的统计平均小于 102 量级。换句话说,一个系统按每年365 天,每天工作 8 小时,每秒错误率为
67、0.7 计算,那么按统计平均每 1000 年才会发生一个不可检测的错误。第 3 章 RFID 读卡器硬件设计 15 第第 3 章章 RFID 读卡器硬件设计读卡器硬件设计 3.1 读卡器的设计原理读卡器的设计原理 RFID 人员定位与跟踪的原理是,RFID 读卡器(位置固定)读到 RFID 卡的数据, 并把数据传送到上位机, 上位机根据 RFID 卡的数据查找持该卡人的信息 (比如姓名、年龄、性别、籍贯等)和读卡器所在的位置,就可以实现对人员的定位与跟踪。设计采用 CAN 传输,CAN 总线上可以连接 110 个节点,通过中继器可以连接更多的节点,煤矿巷道很多,采用 CAN 非常适合;而且它们
68、之间可以实现双向通信,上位机可以控制阅读器,阅读器可以向 RFID 卡发送紧急警报指令。矿工发现事故可以通过 RFID 卡上的报警按钮发送警报和求救信号。 RFID 读卡器设计主要采用 ARM7 芯片和无线收发模块读取 RFID 的数据,并把相关数据通过 CAN 传到上位机,其原理如图 3-1 所示: 控制模块射频模块CAN模块RS232/RS485显示模块指示模块电源模块 图图 3 3- -1 1 读卡器的设计原理图 3.2 控制模块控制模块 控制模块采用的控制芯片是 PHILIPS 生产 LPC2119ARM7 芯片,LPC2119 基于一个支持实时仿真和跟踪的 32 位 ARM7TDMI
69、-STM CPU,并带有 128k 字节(kB)嵌入的高速 Flash 存储器。 由于 LPC2119 非常小的 64 脚封装、极低的功耗、多个 32 位定时器、4 路 10位 ADC、2 路 CAN、PWM 通道、46 个 GPIO 以及多达 9 个外部中断使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。由于内置了宽范围的串行通信接口,也非常适合于通信网关、协议转换器以及其它各种类型的应用。 成都理工大学硕士学位论文 16 3.2.1 芯片特性 32 位 ARM7TDMI-S 核,超小 LQFP64 封装。 16kB 片内静态 RAM; 256 kB 片内 Flash 程序存储
70、器,128 位宽度接口/加速器可实现高达 60 MHz 工作频率; 通过片内 boot 装载程序实现在系统编程(ISP)和在应用编程(IAP) 。512 字节行编程时间为 1ms。单扇区或整片擦除时间为 400ms; EmbeddedICE-RT 可实现断点和观察点。 当使用片内 RealMonitor 软件对前台任务进行调试时,中断服务程序可继续运行; 嵌入式跟踪宏单元 (ETM) 支持对执行代码进行无干扰的高速实时跟踪; 2 个互连的 CAN 接口,带有先进的验收滤波器; 4 路 10 位 A/D 转换器,转换时间低至 2.44s; 多个串行接口,包括 2 个 16C550 工业标准 UA
71、RT、高速 I2C 接口(400 kbit/s)和 2 个 SPI 接口; 通过片内 PLL 可实现最大为 60MHz 的 CPU 操作频率; 向量中断控制器。可配置优先级和向量地址; 2 个 32 位定时器 (带 4 路捕获和 4 路比较通道) 、 PWM 单元 (6 路输出) 、实时时钟和看门狗; 多达 46 个通用 I/O 口 (可承受 5V 电压) , 9 个边沿或电平触发的外部中断引脚; 片内晶振频率范围:130 MHz; 2 个低功耗模式:空闲和掉电; 通过外部中断将处理器从掉电模式中唤醒; 可通过个别使能/禁止外部功能来优化功耗; 双电源 CPU 操作电压范围:1.651.95
72、V(1.8 V 0.15 V) ; I/O 操作电压范围:3.03.6 V(3.3 V 10%),可承受 5V 电压。 第 3 章 RFID 读卡器硬件设计 17 3.2.2 芯片结构框图 测试/调试接口ARM7TDMI-SAHB桥方针跟踪模块PLL系统功能向量中断控制器内部SRAM控制器内部FLASH控制器16kBSRAMVPB分频器128kB FLASHAHB TO VPB桥外部中断I2C串行接口AHB译码器通用I/O捕获/比较定时器0/110位ADCCAN接口0&1验收滤波器PWM0SPI串行接口UART0/UART1定时时钟系统控制看门狗定时器ARM7局部总线AMBA-AHB 图图 3
73、 3- -2 2 LPC2119 芯片结构框图 3.2.3 结构概述 ARM7TDMI-S 是一个通用的 32 位微处理器,它可提供高性能和低功耗。ARM结构是基于精简指令集计算机(RISC)原理而设计的。 指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。 由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。 ARM7TDMI-S 处理器使用了一个被称为 THUMB 的独特的结构化策略,它非常适用于那些对存储器有限制或者需要较高代码密
74、度的大批量产品的应用。 在 THUMB 后面一个关键的概念是“超精简指令集” 。ARM7TDMI-S 处理器基本上具有两个指令集: 标准 32 位 ARM 指令集;16 位 THUMB 指令集。 THUMB 指令集的 16 位指令长度使其可以达到标准 ARM 代码两倍的密度,却成都理工大学硕士学位论文 18 仍然保持 ARM 的大多数性能上的优势, 这些优势是使用 16 位寄存器的 16 位处理器所不具有的。这是因为 THUMB 代码和 ARM 代码一样,在相同的 32 位寄存器上进行操作。 THUMB 代码仅为 ARM 代码规模的 65%, 但其性能却相当于连接到 16 位存储器系统的相同
75、ARM 处理器性能的 160%。 LPC2119 集成了一个 128kB 的 FLASH 存储器系统。该存储器可用作代码和数据的存储。对 FLASH 存储器的编程可通过几种方法来实现。可通过串口进行在系统编程,也可以在应用程序运行时进行在应用编程。这样为数据存储和现场固件的升级都带来了极大的灵活性。 当使用片内 bootloader 时, 有 120/248 kB Flash存储器可作用户代码使用。 片内 SRAM 可用作代码或数据的存储。SRAM 支持 8 位、16 位和 32 位访问。LPC2119 具有 16kB 静态 RAM。 3.3 电源模块设计电源模块设计 电源模块式芯片采用的是
76、National Semiconductor 公司生产的 LM1117 系列芯片, 采用 LM1173.3 和 LM1171.8 两款芯片为系统提供 3.3v 和 1.8v 电压,其输出电压精度为1范围内。电源模块为设计的各个模块提供稳定的电源,电源的稳定性对系统非常重要。 3.4 CAN 通信通信模块设计模块设计 根据煤矿实际情况和LPC2119集成了CAN控制器, 设计中要外扩CAN收发器,CAN 收发芯片采用的是 CTM8251, CTM8251 是一款带隔离的通用 CAN 收发器芯片,该芯片内部集成了所有必需的 CAN 隔离及 CAN 收发器件,芯片的主要功能是将CAN 控制器的逻辑电
77、平转换为 CAN 总线的差分电平并且具有 DC 2500V 的隔离功能。 CTM825 是用 CAN 控制器与 CAN 总线之间的接口芯片, 完全符合 ISO 11898-24 V 标准。支持标准波特率 5kbps1Mbps。具有 DC 2500V 隔离功能;在 24V 系统中防止电池对地的短路;热保护;对电磁干扰有高的抗干扰性;至少可连接110 个节点等特点,其电路设计如图 3-2: 第 3 章 RFID 读卡器硬件设计 19 3.5 射频模块设计射频模块设计 无线射频模块使用 Nordic 公司的 nRF24L01 芯片,nRF24L01 是一款工作在2.4-2.5GHz 世界通用 ISM
78、 频段的单片无线收发器芯片无线收发器包括:频率发生器增强型 ShockBurstTM、ShockBurstTM模式控制器、功率放大器、晶体振荡器、控制器解、解调器、输出功率频道选择和协议的设置可以通过 SPI 接口进行设置。 极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗为 9.0mA 接收模式时为 12.3mA 掉电模式和待机模式下电流消耗更低,电路图如图 3-3 所示: 3.5.1 芯片特性 真正的GFSK单收发芯片; 内置链路层; 增强型ShockBurstTM; 自动应答及自动重发功能; 数据传输率1或2Mbps; 图图3 3- -2 2 CAN传输电路图路图图 3
79、3- -3 3 无线射频电路图 成都理工大学硕士学位论文 20 SPI 接口数据速率08Mbps; 125个可选工作频道; 很短的频道切换时间可用于跳频; 与nRF 24XX系列完全兼容; 可接受5V电平的输入; 20脚QFN44mm封装; 极低的晶振要求60ppm; 低成本电感和双面PCB板; 工作电压1.93.6V。 3.5.2 结构框图 DEMODADDR DecodeEnhanced ShockBurstTMClock Recovery Data SlicerCRC Code/DecodeFIFO IN/OUTGFSK FilterIF BPFLNAPADVDDVDDVDDVDDVSS
80、VSSVSSFrequency SynthesiserCECSNIRQSCKMIOSMOISVDD-PAANT1ANT2 图图 3 3- -4 4 nRF24L01 芯片的结构框图 3.6 RS232/RS485 通信模块设计通信模块设计 RS-232 模块设计采用的是 MAXIM 公司的 MAX3232ECAE, 串口既可以在应用中进行数据通信,而且也可以在开发过程中进行程序下载。LPC2119 可以通过串口进行程序的下载,串口具有多种功能,设计电路图 3-5 所示: 第 3 章 RFID 读卡器硬件设计 21 图图 3 3- -5 5 RS-232 模块电路设计图 根据实际需要,在工程应用
81、中需要远距离传输数据,提供多种通信接口,设计了 RS-485 通信模块,RS-485 是针对 RS-232 的不足,出现的新接口标准。RS485 是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到 1.2 km;最大可连接 32 个驱动器和收发器;接收器最小灵敏度可达200 mV;最大传输速率可达2.5 Mb/s。由此可见,RS-485 协议正是针对远距离、高灵敏度、多点通讯制定的标准。 在煤矿中由于现场的情况十分复杂,各个节点之间存在很高的共模电压。虽然 RS-485 接口采用的是差分传输方式,具有一定的抗共模干扰能力,但是
82、当共模电压超过 RS-485 接收器的极限接收电压,即大于+12V 或小于-7V 时,接收器就再也无法正常工作了,严重时甚至会烧毁芯片和仪器设备,增加了煤矿的安全隐患。 解决该问题的方法是通过 DC-DC 将系统电源和 RS-485 收发器的电源隔离,通过光耦将信号隔离,彻底消除共模电压的影响。在设计中采用光耦、带隔离的DC-DC 和 RS-485 芯片。本设计中采用了光耦隔离 DC-DC 芯片 HCPL-2630 和HCPL-2601,RS-485 芯片采用的是 MAXIM 公司的 MAX13085ECSA。 3.7 显示模块与指示模块设计显示模块与指示模块设计 显示模块的设计是通过 MCU
83、 的通用 IO 口来控制液晶模块显示信息,液晶显示的的数据有煤矿的名称,RFID 的分机号,与显示实时读到的标签的数据等。显示模块可以直观的显示阅读器的基本信息与读到的数据。 指示模块主要有电源指示灯,运行状态指示灯,通信状态指示灯,设备故障成都理工大学硕士学位论文 22 指示灯。电源指示灯亮表示电源连接成功;运行状态指示灯闪烁,表示成功读到标签,通信状态指示灯亮表示通信正常。设备故障指示灯,设备故障时该等将闪烁。指示模块可以指示阅读器的工作状态,利于使用者对阅读器的使用与安装。 同时设计中还有设计了报警器,如果设备出现故障,如发生短路,报警器将报警。 第 4 章 标签的设计 23 第第 4
84、章章 标签的设计标签的设计 由于标签采用电池供电, 我们希望在标签的使用寿命周期内不换电池或少换电池,所以要求标签的功耗要做到足够小。所以对 MCU 的功耗要求很高,标签设计采用的是低功耗的 MSP430 单片机和射频收发模块组成,其中射频收发模块采用的芯片也是 nRF24L01。 MSP430 系列单片机是美国德州仪器(TI)1996 年开始推向市场的一种 16位超低功耗的混合信号处理器(Mixed Signal Processor) 。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上。MSP430 系列单片机是具有强大处理能力的 16
85、的单片机,采用了精简指令集(RISC)结构,具有 7 种源操作数寻址和 4 种目的操作数寻址,简洁的 27 条内核指令以及大量的模拟指令,大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns。这些特点保证了可编制出高效率的源程序。在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器 (能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等) 。 MSP430 系列单片机的中断源较多,
86、并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6s 。 超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先,MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条件下运行时,芯片的电流会在 200400A 左右,时钟关断模式的最低功耗只有 0.1A 。 其次, 独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环(FLL 和 FLL+)时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器(
87、32768Hz) ,有的使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。 并且这些时钟可以在指令的控制下, 打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4) 。在等待方式下,耗电为 0.7A,在节电方式下,最低可达 0.1A。 系统工作稳定。上电复位后,首先由 DCOCLK 启动 CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用
88、做 CPU成都理工大学硕士学位论文 24 时钟 MCLK 时发生故障,DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗(WDT) 、模拟比较器 A 、定时器 A(Timer_A) 、定时器 B(Timer_B) 、串口 0 、1(USART0、1) 、硬件乘法器、液晶驱动器、10 位/12 位 ADC、 16 位 Sigma-Delta AD、 直接寻址模块 (DMA) 、 端口 O (P0) 、 端口 16(P1P6) 、基本定时器(Basic Timer)等的一些外围模
89、块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、 同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8 条 I/O 口线;P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps, 能够满足大多数数据采集应用; 能直接驱动液晶多达 160 段;
90、实现两路的 12 位 D/A 转换;硬件 IIC 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 电池选用 CR2032(20mm*3.2mm)锂锰电池,使用总容量为 210mAH,期望电 池 寿 命 为 2 年 大 约 17500 小 时 , 所 以 要 求 标 签 的 平 均 电 流 小 于150/17500=0.00856mA=8.56A,在一个工作周期中其中 120s 内的发射电流为11.5mA,平均到 0.7 秒的工作周期总为 1.97A,其余待机时间的最大电流为
91、 8.56-1.97-2.144.45A,考虑到电池的自放电和电池容量的不一致性,确定卡的待机电流为 3A。为了达到上述要求我们采取了一下措施:MCU 采用变频工作模式,在需要 MCU 快速计算的时候,例如加 A/D 转换和 SPI 传输时,就以高速运行尽快完成计算工作,然后转换到低速模式等待外部信号,在与读卡模块完成一次通讯后就立即关闭全部外部部件转入休眠模式以节省电力。 由于射频集成电路是功率消耗的主要部件,要减小总功耗就必须最大限度地减小其功耗,减小射频集成电路功耗的主要途径就是减小其工作时间,使其仅在很短的时间内工作,其他时间都处于关闭状态。所以我们采用突发通讯模式,以 1Mbps 的
92、通讯速率发送 12 个字节仅需 120s,然后立即关闭射频集成电路直到下一次通信再激活。通常在发送数据期间消耗 11.5mA 的电流,通讯周期为 0.7 秒,所以平均只消耗 3A 的电流。可实现 RFID 卡 nW 级超低功耗技术。 第 5 章 RFID 读卡器软件设计 25 第第 5 章章 RFID 读卡器软件设计读卡器软件设计 软件的设计主要包括两部分,一是对控制程序模块;二是射频程序模块。如下图 5-1 所示: 控制程序模块CAN通信程序模块指示程序模块射频程序模块显示程序模块射频通信程序模块SPI 程序模块 图图 5 5- -1 1 程序设计方框图 5.1 射频程序模块射频程序模块 如
93、图 5-2 可以看出,射频程序的主要包括射频数据的接收与发送、与 MCU之间的通信,程序的编写主要是这两部分的编写。 TXFilterGFSKModulatorTX FIFOsTX FIFOsRXFilterGFSKDemodulatorRX FIFOsRadio ControlPower ManagementRF SynthesiserSPIRegister mapPALNABasebandRF TransmitterRF ReceiverANT1ANT2XC1XC2VSSVDDIREFDVDDVDD_PACSNSCKMISOMOSIIRQCE 图图 5 5- -2 2 nRF24L01 芯
94、片的工作原理 5.1.1 运行模式 nRF24L01 有多种工作模式,在不同的模式下 nRF24L01 无线收发器都能控制和使用不同的无线参数,nRF24L01 有一个内置的状态机,它控制不同的操作系成都理工大学硕士学位论文 26 统之间的转换状态需要从用户输入定义的寄存器值和内部信号来转换。 5.1.1.1 模式类型 nRF24L01 可以设置以下几种主要的模式: 表表 5 5- -1 1 nRF24L01 主要工作模式 模式 PWR_UP PRIM_RX CE FIFO 寄存器状态 接收模式 1 1 1 - 发送模式 1 0 1 数据在 TX FIFO 寄存器中 发送模式 1 0 10 停
95、留在发送模式,直至数据发送完 待机模式 1 0 1 TX FIFO 为空 待机模式 1 - 0 无数据发送 掉电模式 0 - - - 5.1.1.2 状态图 在下面的状态图 5-3 中,可以看到 nRF24L01 的几种工作模式之间的相互转换, nRF24L01一直处于未定义状态, 直到VDD变为1.9V或者1.9以上时, nRF24L01的状态转变成复位保持状态,直到它进入掉电模式。即使在 nRF24L01 进入掉电模式,MCU 可以通过 SPI 控制芯片和芯片使能引脚使用三种类型状态图。 “推荐工作模式”是一个状态正常操作使用。 “可能的运行模式”是一种允许使用状态,但它是不使用时的正常运
96、作。 “转变状态”是一个时间限制状态启动的过程中使用的振荡器和 PLL 的解决。 第 5 章 RFID 读卡器软件设计 27 上电复位10.3ms未定义掉电模式待机模式II启动1.5ms待机模式I接收建立130us接收模式发送模式发送建立130 us VDD = 1.9VPWR_UP = 1PWR_UP=0PRIM_RX = 0TX FIFO emptyCE = 1PWR_UP = 0CE = 0PWR_UP=0PWR_UP = 0PRIM_RX = 1CE = 1VDD = 1.9VTX FIFO not emptyPRIM_RX = 0CE = 1 for more than 10 sTX
97、 finished with one packetCE = 0PWR_UP=0PWR_UP = 0CE = 1TX FIFO not emptyTX FIFO emptyCE = 1TX FIFO not emptyCE = 1图图 5 5- -3 3 nRF24L01 状态转换图 5.1.1.3 待机模式 待机模式在保证快速启动的同时减少系统平均消耗电流。在待机模式下,晶振正常工作。在待机模式下部分时钟缓冲器处在工作模式。当发送端TX FIFO 寄存器为空并且 CE 为高电平时进入待机模式在待机模式期间,寄存器配置字内容保持不变。 5.1.1.4 掉电模式 在掉电模式下,nRF24L01 各
98、功能关闭,保持电流消耗最小。进入掉电模式后 nRF24L01 停止工作,但寄存器内容保持不变。启动时间见表格 5-4 。掉电模式由寄存器中 PWR_UP 位来控制。 5.1.1.5 接收模式(RX 模式) 在 RX 模式是一种主动的模式,要进入这种模式下,nRF24L01 必须有 PWR_UP成都理工大学硕士学位论文 28 位置高,PRIM_RX 位设置高,CE 引脚设置高。 在这种模式下,接收解调来自射频通道的信号,不断接收到的数据解调到基带协议引擎。基带协议引擎不断搜索一个有效的数据包。如果一个有效的包被找到(由一个匹配的地址和一个有效的 CRC)的数据包的有效载荷提出在一个 RX FIF
99、O 的空槽请求。如果在 RX FIFO 已满,接收数据包将被丢弃。 nRF24L01 的保持在 RX 模式,直到处理器配置为待机模式或掉电模式为止。如果自动协议功能(增强的 ShockBurst基带协议引擎)的启用,nRF24L01 的可以进入的其他模式,以执行该协议。 在 RX 模式中载波检测信号可用。 当一个射频信号在接收信道中被检测到时载波检测到信号,并被设置为高。该信号必须为一个安全的 FSK 调制检测。其他信号也可以被检测出来。载波检测(CD)的设置时,高射频信号在 RX 模式检测,否则裁定为低。内部 CD 信号被过滤到 CD 之前提交记录。RF 信号必须存在至少128 s 在裁定设
100、置为高。 5.1.1.6 发送模式(TX 模式) TX 模式,也是一个主动的模式,nRF24L01 通过该模式发送数据包。要进入这种模式下,nRF24L01 的必须有 PWR_UP 位置高,PRIM_RX 位为低,TX FIFO 处于有效状态,CE 脉冲维持时间 10 微秒以上。 nRF24L01 在 TX 模式下直到它完成转递当前数据包为止。 如果 CE=0 nRF24L01的回到待机模式。如果 CE= 1,下一步行动取决于其 TX FIFO 的状态。如果 TX FIFO 寄存器不为空 nRF24L01 仍然处在 TX 模式, 传输下一个数据包。 如果 TX FIFO寄存器为空,nRF24L
101、01 则回到待机模式,nRF24L01 在 TX 模式下,nRF24L01收发器的锁相环将运行在开环状态下。 很重要的一点是 nRF24L01 在一次 TX 模式下,不要让其在该模式下运行超过 4 毫秒。如果设置成自动重发的模式下,则不需要考虑上面的问题。 5.1.2 增强型 ShockBurstTM模式 5.1.2.1 数据包处理方式 nRF24L01 有如下几种数据包处理方式: (1)ShockBurstTM (数据传输率为 1Mbps 时相同) ShockBurst 模式下 nRF24L01 可以与成本较低的低速 MCU 相连。高速信号处理是由芯片内部的射频协议处理的。nRF24L01
102、提供 SPI 接口数据率取决于单片机本身接口速度。ShockBurst 模式通过允许与单片机低速通信而无线部分高速通信,减小了通信的平均消耗电流。 在 ShockBurstTM接收模式下,当接收到有效的地址和数据时 IRQ 通知 MCU,随后 MCU 可将接收到的数据从 RX FIFO 寄存器中读出。 第 5 章 RFID 读卡器软件设计 29 在 ShockBurstTM发送模式下,nRF24L01 自动生成前导码及 CRC 校验。数据发送完毕后 IRQ 通知 MCU。减少了 MCU 的查询时间,也就意味着减少了 MCU 的工作量同时减少了软件的开发时间。nRF24L01 内部有三个不同的
103、RX FIFO 寄存器(6 个通道共享此寄存器)和三个不同的 TX FIFO 寄存器。在掉电模式下、待机模式下和数据传输的过程中 MCU 可以随时访问 FIFO 寄存器。这就允许 SPI 接口可以以低速进行数据传送,并且可以应用于 MCU 硬件上没有 SPI 接口的情况下。 (2)增强型 ShockBurstTM模式 增强型 ShockBurstTM模式可以使得双向链接协议执行起来更为容易、有效。典型的双向链接为:发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。 一旦数据丢失, 则通过重新发送功能将丢失的数据恢复。增强型的 ShockBurstTM模式可以同时控制应答
104、及重发功能而无需增加 MCU 工作量。 PTX1PTX2PTX3PTX4PTX5PTX6PRXData Pipe1Data Pipe2Data Pipe5Data Pipe0Data Pipe3Data Pipe4Frequency Channel N 图图 5 5- -4 4 接收模式数据通道 nRF24L01 在接收模式下可以接收 6 路不同通道的数据,见图 5-4。每一个数据通道使用不同的地址, 但是共用相同的频道。 也就是说6 个不同的nRF24L01 设置为发送模式后可以与同一个设置为接收模式的 nRF24L01 进行通信,而设置为接收模式的 nRF24L01 可以对这 6 个发射端
105、进行识别。数据通道 0 是唯一的一个可以配置为 40 位自身地址的数据通道。 15 数据通道都为 8 位自身地址和 32 位公用地址。所有的数据通道都可以设置为增强型 ShockBurstTM模式。 nRF24L01 在确认收到数据后记录地址,并以此地址为目标地址发送应答信号,在发送端,数据通道 0 被用做接收应答信号,因此,数据通道 0 的接收地址成都理工大学硕士学位论文 30 要与发送端地址相等以确保接收到正确的应答信号,见图 5-5 选择地址举例。 PTX1PTX2PTX3PTX4PTX5PTX6PRXData Pipe1Data Pipe2Data Pipe5Data Pipe0Dat
106、a Pipe3Data Pipe4Frequency Channel N Addr Data Pipe 0 (RX_ADDR_P0) : 0x7878787878 Addr Data Pipe 1 (RX_ADDR_P1) : 0xB3B4B5B6F1 Addr Data Pipe 2 (RX_ADDR_P2) : 0xB3B4B5B6CD Addr Data Pipe 3 (RX_ADDR_P3) : 0xB3B4B5B6A3 Addr Data Pipe 4 (RX_ADDR_P4) : 0xB3B4B5B60F Addr Data Pipe 5 (RX_ADDR_P5) : 0xB3B4
107、B5B605TX_ADDR: 0xB3B4B5B6F1RX_ADDR_P0:0xB3B4B5B6F1TX_ADDR: 0xB3B4B5B6A3RX_ADDR_P0:0xB3B4B5B6A3TX_ADDR: 0xB3B4B5B6CDRX_ADDR_P0:0xB3B4B5B6CDTX_ADDR: 0xB3B4B5B60FRX_ADDR_P0:0xB3B4B5B60FTX_ADDR: 0xB3B4B5B605RX_ADDR_P0:0xB3B4B5B605TX_ADDR: 0x7878787878RX_ADDR_P0:0x7878787878 图图 5 5- -5 5 发送模式数据通道 nRF24L0
108、1 配置为增强型的 ShockBurstTM发送模式下时,只要 MCU 有数据要发送,nRF24L01 就会启动 ShockBurstTM模式来发送数据。在发送完数据后 nRF24L01 转到接收模式并等待终端的应答信号。如果没有收到应答信号 nRF24L01 将重 发相 同的数 据包 ,直 到 收到应 答信 号或 重 发次数 超过SETUP_RETR_ARC 寄存器中设置的值为止,如果重发次数超过了设定值,则产生MAX_RT 中断。 只要收到确认信号,nRF24L01 就认为最后一包数据已经发送成功(接收方已经收到数据) ,把 TX FIFO 中的数据清除掉并产生 TX_DS 中断(IRQ
109、引脚置高) 。 在增强型 ShockBurstTM模式下,nRF24L01 有如下的特征:当工作在应答模式时,快速的空中传输及启动时间,极大的降低了电流消耗,降低了成本。nRF24L01 集成了所有高速链路层操作,比如:重发丢失数据包和产生应答信号。无需单片机硬件上一定有 SPI 口与其相连。SPI 接口可以利用单片机通用 I/O 口进行模拟。由于空中传输时间很短,极大的降低了无线传输中的碰撞现象。由于链路层完全集成在芯片上, 非常便于软硬件的开发。 增强型 ShockBurstTM发送模式状态图,如图 5-6 所示。 第 5 章 RFID 读卡器软件设计 31 开始初始发送待机模式I 是否C
110、E=1?数据包是否在发送寄存器里?待机模式II是否CE =1?创建发送数据包是否在发送寄存器里?发送模式发送数据包是否CE =1?是否自动重发使能?设置 TX_DS IRQ中断是否有No_ACK命令?创建接收接收模式是否接收到ACK命令?是否 超时?ACK 是否有效?待机模式I 重试次数是否等于ARC?有效数据放入接收寄存器设置TX_DS IRQ 和 RX_DR IRQ中断设置TX_DS IRQ中断发送模式重新发送上次的数据包 ARD 命令是否超时?创建发送设置MAX_RT IRQ中断数据包是否在发送寄存器里?YesNoNoNoYesYesNoNoNoYesNoYesNoNoYesNoNoNo
111、NoYesYesShockBurst型 操作YesYesYes 图图 5 5- -6 6 增强型 ShockBurstTM发送模式状态图 增强型 ShockBurstTM发送模式设置步骤: 1、配置寄存器位 PRIM_RX 为低。 2、当 MCU 有数据要发送时,接收节点地址(TX_ADDR)和有效数据(TX_PLD)通过 SPI 接口写入 nRF24L01。发送数据的长度以字节计数从 MCU 写入 TX FIFO。 当 CSN 为低时数据被不断的写入。发送端发送完数据后,将通道 0 设置为接收模成都理工大学硕士学位论文 32 式来接收应答信号,其接收地址(RX_ADDR_P0)与接收端地址(
112、TX_ADDR)相同。例:在图 5-5 中数据通道 5 的发送端(TX5)及接收端(RX)地址设置如下: TX5:TX_ADDR=0xB3B4B5B605 TX5:RX_ADDR_P0=0xB3B4B5B605 RX :RX_ADDR_P5=0xB3B4B5B605 3、设置 CE 为高,启动发射。CE 高电平持续时间最小为 10s。 4、nRF24L01 ShockBurstTM 模式: 无线系统上电; 启动内部 16MHz 时钟; 无线发送数据打包见数据包描述; 高速发送数据由 MCU 设定为 1Mbps 或 2Mbps。 5、如果启动了自动应答模式(自动重发计数器不等于 0,ENAA_P
113、0=1)无线芯片立即进入接收模式。如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的 TX_DS 位置高并把数据从 TX FIFO 中清除掉。如果在设定时间范围内没有接收到应答信号,则重新发送数据。如果自动重发计数器 (ARC_CNT) 溢出 (超过了编程设定的值) , 则状态寄存器的 MAX_RT 位置高。不清除 TX FIFO 中的数据。当 MAX_RT 或 TX_DS 为高电平时 IRQ 引脚产生中断。IRQ 中断通过写状态寄存器来复位。如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话,在 MAX_RX 中断清除之前不会重发数据包。数据包丢失
114、计数器(PLOS_CNT)在每次产生 MAX_RT 中断后加一。也就是说:重发计数器 ARC_CNT 计算重发数据包次数,PLOS_CNT 计算在达到最大允许重发次数时仍没有发送成功的数据包个数。 6、如果 CE 置低,则系统进入待机模式。如果不设置 CE 为低,则系统会发送 TX FIFO 寄存器中下一包数据。如果 TX FIFO 寄存器为空并且 CE 为高则系统进入待机模式。 7、如果系统在待机模式,当 CE 置低后系统立即进入待机模式。 增强型 ShockBurstTM接收模式状态图如图 5-7: 第 5 章 RFID 读卡器软件设计 33 开始初始接收待机模式I 是否CE=1?建立接收
115、接收模式是否CE=1?接收寄存器 是否为空?是否收到数据包?是否自动应答使能?数据包放入接收寄存器并设置RX_DR IRQ中断接收的数据包为新的包数据包放入接收寄存器并设置RX_DR IRQ中断丢弃该包对上一个应答是否完成了数据载入? 创建发送模式是否有无应答在接收包中?是否有有数据在发送寄存器中?创建发送模式发送模式发送应答信号发送模式发送有效数据应答信号设置TX_DS IRQ中断YesNoYesYesNoNoNoNoNoShockBurst型操作YesYesNoYesNoYesNoNoYesYesNo 图图 5 5- -7 7 增强型 ShockBurstTM接收模式状态图 成都理工大学硕
116、士学位论文 34 增强型 ShockBurstTM接收模式步骤: 1、ShockBurstTM接收模式是通过设置寄存器中 PRIM_RX 位为高来选择的。准备接收数据的通道必须被使能(EN_RXADDR 寄存器)所有工作在增强型 ShockBurstTM模式下的数据通道的自动应答功能是由 (EN_AA 寄存器) 来使能的,有效数据宽度是由 RX_PW_Px 寄存器来设置的。 2、接收模式由设置 CE 为高来启动。 3、130s 后 nRF24L01 开始检测空中信息。 4、 接收到有效的数据包后 (地址匹配、 CRC 检验正确) , 数据存储在 RX_FIFO 中,同时 RX_DR 位置高,并
117、产生中断。状态寄存器中 RX_P_NO 位显示数据是由哪个通道接收到的。 5、如果使能自动确认信号,则发送确认信号。 6、MCU 设置 CE 脚为低,进入待机模式(低功耗模式) 。 7、MCU 将数据以合适的速率通过 SPI 口将数据读出。 8、芯片准备好进入发送模式、接收模式或掉电模式。 5.1.2.2 两种数据双向的通讯方式 如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证 PTX 和 PRX 端的同步性。在 RX_FIFO 和 TX_FIFO 寄存器中可能同时存有数据。 (1)自动应答(RX) 自动应答功能减少了外部 MCU 的工作量,并
118、且在鼠标/键盘等应用中也可以不要求硬件一定有 SPI 接口,因此降低成本减少电流消耗。自动重应答功能可以通过 SPI 口对不同的数据通道分别进行配置。 在自动应答模式使能的情况下,收到有效的数据包后,系统将进入发送模式并发送确认信号。发送完确认信号后,系统进入正常工作模式(工作模式由 PRIM_RX 位和 CE 引脚决定) 。自动应答工作原理图如图 5-8 所示。 Address decoder and buffer controllerPayload 3Payload 2Payload 1FromRX Pipe TX Pipe addressTX FIFOACKgeneratorSPIMod
119、uleMCUaddress图图 5 5- -8 8 自动应答工作模式 (2)自动重发功能(ART ) (TX) 自动重发功能是针对自动应答系统的发送方。SETUP_RETR 寄存器设置,启动重发数据的时间长度。 在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号。接收到应答信号后,系统转入正常发送模式。如果 TX 第 5 章 RFID 读卡器软件设计 35 FIFO 中没有待发送的数据且 CE 脚电平为低,则系统将进入待机模式。如果没有收到确认信号, 则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值(达到最大的重发次数) 。有新的数据发送或 PRIM_RX
120、寄存器配置改变时丢包计数器复位。 数据包识别和 CRC 校验应用于增强型 ShockBurstTM模式下, 每一包数据都包括两位的 PID(数据包识别)来识别接收的数据是新数据包还是重发的数据包。PID 识别可以防止接收端同一数据包多次送入 MCU。在发送方每从 MCU 取得一包新数据后 PID 值加一。PID 和 CRC 校验应用在接收方识别接收的数据是重发的数据包还是新数据包。如果在链接中有一些数据丢失了,则 PID 值与上一包数据的PID 值相同。如果一包数据拥有与上一包数据相同的 PID 值, nRF24L01 将对两包数据的 CRC 值进行比较。 如果 CRC 值也相同的话就认为后面
121、一包是前一包的重发数据包而被舍弃。 1、接收方 接收方对新接收数据包的 PID 值与上一包进行比较。如果 PID 值不同,则认为接收的数据包是新数据包。如果 PID 值与上一包相同,则新接收的数据包有可能与前一包相同。接收方必须确认 CRC 值是否相等,如果 CRC 值与前一包数据的CRC 值相等,则认为是同一包数据并将其舍弃。 2、发送方 每发送一包新的数据则发送方的 PID 值加一,如图 5-9 所示。 结束开始是否从MCU接收到新的数据包?开始增加PID新的数据包对MCU有效丢弃该包做个副本结束NoYesPID是否与上个PID一致?CRC是否与上个CRC一致?YesYesNoNo单边发送
122、功能单边接收功能 图图 5 5- -9 9 PID 值生成和检测流程图 CRC 校验的长度是通过 SPI 接口进行配置的。 一定要注意 CRC 计算范围包括整个数据包:地址 PID 和有效数据等。若 CRC 校验错误则不会接收数据包,这一点是接收数据包的附加要求,在图 5-9 中没有说明。 (3)载波检测CD 当接收端检测到射频范围内的信号时将 CD 置高,否则 CD 为低。内部的 CD信号在写入寄存器之前是经过滤波的, 内部 CD 高电平状态至少保持 128s 以上。 成都理工大学硕士学位论文 36 在增强型 ShockBurstTM模式中只有当发送模块没有成功发送数据时, 推荐使用 CD
123、检测功能。如果发送端 PLOS_CNT 显示数据包丢失率太高时,可将其设置位接收模式检测 CD 值,如果 CD 为高(说明通道出现了拥挤现象) ,需要更改通信频道;如 CD 低电平状态(距离超出通信范围) ,可保持原有通信频道,但需作其它调整。 5.1.2.3 数据通道 nRF24L01 配置为接收模式时可以接收 6 路不同地址相同频率的数据。每个数据通道拥有自己的地址并且可以通过寄存器来进行分别配置。 数据通道是通过寄存器 EN_RXADDR 来设置的,默认状态下只有数据通道 0和数据通道 1 是开启状态的。 每一个数据通道的地址是通过寄存器 RX_ADDR_Px 来配置的。通常情况下不允许
124、不同的数据通道设置完全相同的地址。 数据通道 0 有 40 位可配置地址。 数据通道 15 的地址为:32 位共用地址+各自的地址 (最低字节) 。 图 5-10 所示的是数据通道 15 的地址设置方法举例。所有数据通道可以设置为多达 40 位,但是 15 数据通道的最低位必须不同。 Byte4Byte3Byte2Byte1Byte00xC20xC30xE70xD30xF00x350x770xC20xC20xC20xC20xC20xC20xC20xC20xC20xC40xC20xC20xC20xC20xC50xC20xC20xC20xC20xC60xC20xC20xC2数据通道 0 (RX_A
125、DDR_P0)数据通道1 (RX_ADDR_P1)数据通道2 (RX_ADDR_P2)数据通道3 (RX_ADDR_P3)数据通道4 (RX_ADDR_P4)数据通道5 (RX_ADDR_P5) 图图 5 5- -10 10 数据通道地址设置 当从一个数据通道中接收到数据,并且此数据通道设置为应答方式的话,则 nRF24L01 在收到数据后产生应答信号,此应答信号的目标地址为接收通道地址。 寄存器配置有些是针对所有数据通道的,有些则是针对个别的。如下设置举例是针对所有数据通道的: CRC 使能/禁止 CRC 计算 接收地址宽度 频道设置 第 5 章 RFID 读卡器软件设计 37 无线数据通信
126、速率 LNA 增益 射频输出功率 寄存器配置,nRF24L01 所有配置都在配置寄存器中,所有寄存器都是通过SPI 口进行配置的。 5.1.3 SPI 通信程序设计 SPI 接口是标准的 SPI 接口,其最大的数据传输率为 10Mbps。大多数寄存器是可读的。其工作原理如图 5-11 所示。关于 nRF24L01 I/O 脚详细的描述请参见下面的表 5-2。 表表 5 5- -2 2 nRF24L01I/O 引脚功能表 引脚名称 方向 发送模式 接收模式 待机模式 掉电模式 CE 输入 高电平10us 高电平 低电平 - CSN 输入 SPI 片选使能,低电平使能 SCK 输入 SPI 时钟
127、MOSI 输入 SPI 串行输入 MISO 三态输入 SPI 串行输出 IRQ 输入 中断,低电平使能 32 byte32 byte32 byteRX FIFO ControllerTX FIFO Controller32 byte32 byte32 byteSPI command decoderSPIDataDataDataDataControlControlRX FIFOTX FIFO 图图 5 5- -11 11 SPI 数据通信原理图 5.1.3.1 SPI 指令设置 SPI 接口可能用到的指令在下面有所说明 CSN 为低后 SPI 接口等待执行指成都理工大学硕士学位论文 38 令。每
128、一条指令的执行都必须通过一次 CSN 由高到低的变化。 5.1.3.2 SPI 指令格式 命令字由高位到低位(每字节) ,而数据字节则从低字节到高字节,每一字节高位在前,SPI 指令格式看表 5-3。 表表 5 5- -3 3 nRF24L01 SPI 串行口指令设置 指令名称 指令格式 操作 R_REGISTER 000A AAAA 读配置寄存器。AAAAA 指出读操作的寄存器地址 W_REGISTER 001A AAAA 写配置寄存器。AAAAA 指出写操作的寄存器地址 只有在掉电模式和待机模式下可操作。 R_RX_PAYLOAD 0110 0001 读 RX 有效数据:132 字节、读操
129、作全部从字节 0 开始。当读 RX 有效数据完成后, FIFO 寄存器中有效数据被清除。 应用于接收模式下。 W_RX_PAYLOAD 1010 0000 写 TX 有效数据:132 字节。写操作从字节 0 开始。 应用于发射模式下。 FLUSH_TX 1110 0001 清除 TXFIFO 寄存器,应用与发射模式下。 FLUSH_PL 1110 0010 清除 RXFIFO 寄存器,应用于接受模式下。 在传输应答信号过程中不应执行此指令。 也就是说, 若传输应答信号过程中执行此指令的话将使得应答信号不能被完整的传输。 REUSE_TX_PL 1110 0011 重新使用上一包有效数据。当 C
130、E 为高过程中,数据包被不断的中心发射。 在发射数据包过程中必须禁止数据包重利用功能。 NOP 1111 1111 空操作。可以用来读状态寄存器。 R_REGISTER 和 W_REGISTER 寄存器可能操作单字节或多字节寄存器。当访问多字节寄存器时首先要读/写的是最低字节的高位。在所有多字节寄存器被写完之前可以结束写 SPI 操作,在这种情况下没有写完的高字节保持原有内容不变。 例如:RX_ADDR_P0 寄存器的最低字节可以通过写一个字节给寄存器 RX_ADDR_P0来改变。在 CSN 状态由高变低后可以通过 MISO 来读取状态寄存器的内容。 5.1.3.3 中断 nRF24L01 的
131、中断引脚 IRQ 为低电平触发,当状态寄存器中 TX_DS RX_DR 或MAX_RT 为高时触发中断。当 MCU 给中断源写1时,中断引脚被禁止。 可屏蔽中断可以被 IRQ 中断屏蔽。通过设置可屏蔽中断位为高,则中断响应被禁止。默认状态下所有的中断源是被禁止的。 5.1.3.4 SPI 时序 图 5-12、5-13、5-14 和表 5-4、5-5 给出了 SPI 操作及时序。在写寄存器之前一定要进入待机模式或掉电模式。在图 5-12 至图 5-14 中用到了下面的符号:Cn-SPI 指令位、Sn-状态寄存器位、Dn-数据位(由低字节到高字节,每个字节中高位在前) 。 第 5 章 RFID 读
132、卡器软件设计 39 C7C6C5C4C3C2C1C0S7S6S5S4S3S2S1S0D7D6D5D4D3D2D1D0D15D14 D13 D12 D11 D10D9D8CSNSCKMOSIMISO 图图 5 5- -12 12 SPI 读操作 C C7 7C C6 6C C5 5C C4 4C C3 3C C2 2C C1 1C C0 0S S7 7S S6 6S S5 5S S4 4S S3 3S S2 2S S1 1S S0 0D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0D D1515D D1414 D D1313 D D1212 D D
133、1111 D D1010D D9 9D D8 8CSNCSNSCKSCKMOSIMOSIMISOMISO 图图 5 5- -13 13 SPI 写操作 C7C6C0S7S0TcwhTclTchTccTdhTdcTcsdTcdTcdzTcchCSNSCKMOSIMISO 图图 5 5- -14 14 SPI NOP 定时图 C CloadloadPin of nRFPin of nRF2424L L0101R RpullpullExternalExternalV Vdddd 图图 5 5- -15 15 电路连接图 上面的时间参数的值根据 Rpull 和 Cload 的不同不同,如表 5-4、5
134、-5: 成都理工大学硕士学位论文 40 表表 5 5- -4 4 SPI 参考时间(Cload=5pF) PARAMETER SYMBOL MIN MAX UNITS Data to SCK Setup Tdc 2 ns SCK to Data Hold Tdh 2 ns CSN to Data Valid Tcsd 38 ns SCK to Data Valid Tcd 55 ns SCK Low Time Tcl 40 ns SCK High Time Tch 40 ns SCK Frequency Fsck 0 8 MHz SCK Rise and Fall Tr,Tf 100 ns C
135、SN to SCK Setup Tcc 2 ns SCK to CSN Hold Tcch 2 ns CSN Inactive time Tcwh 50 ns CSN to Output High Z Tcdz 38 ns 表表 5 5- -5 5 SPI 参考时间(Cload=10pF) PARAMETER SYMBOL MIN MAX UNITS Data to SCK Setup Tdc 2 ns SCK to Data Hold Tdh 2 ns CSN to Data Valid Tcsd 42 ns SCK to Data Valid Tcd 58 ns SCK Low Time
136、Tcl 40 ns SCK High Time Tch 40 ns SCK Frequency Fsck 0 8 MHz SCK Rise and Fall Tr,Tf 100 ns CSN to SCK Setup Tcc 2 ns SCK to CSN Hold Tcch 2 ns CSN Inactive time Tcwh 50 ns CSN to Output High Z Tcdz 42 ns 5.1.3.5 数据包格式 增强型 ShockBurstTM模式下的数据包格式如下。 前导码 地址 (35 字节) 9 位 (标志位) 数据(132 字节) CRC 校验(0/1/2 字节)
137、 ShockBurstTM模式下数据包格式如下。 前导码 地址(35 字节) 数据(132 字节) CRC 校验(0/1/2 字节) 上面的两种模式的数据包中的前导码、地址、数据、标志位和 CRC 详细介绍如表 5-6。 第 5 章 RFID 读卡器软件设计 41 表表 5 5- -6 6 数据包描述 前导码 前导码用来检测 0 和 1.芯片在接受模式下去除前导码, 在发送模式下加入前导码。 地址 地址内容为接收机地址 地址宽度可以是 3、4 或 5 字节宽度 地址可以对接受通道及发送通道分别进行配置 从接受的数据包中自动去除地址。 标志位 PID:数据包识别。其中两位:是用来每当接受到新的数
138、据包后加一 七位保留,用作将来与其他产品兼容 当 nRF24L01 与 nRF24L01/ nRF24E1 通讯时不起作用。 数据 132 字节宽度 CRC CRC 校验是可选的 02 字节宽度的 CRC 校验 8 位 CRC 校验的多项式是:X8+X2+X+1 16 位 CRC 校验的多项式是:X16+X12+X5+1 5.1.3.6 SPI 通信时序 下面是 nRF24L01 部分工作时序数据。 nRF24L01 在掉电模式下转入发射模式或接收模式前必须经过 1.5ms 的待机模式。 当关掉电源 VDD 后寄存器配置内容丢失,模块上电后需重新进行配置,增强型 ShockBurstTM模式时
139、序如图 5-16,模式转换的时间限值如表 5-7。 表表 5 5- -7 7 nRF24L01 工作时序 nRF24L01 时序 最大值 最小值 参数名 掉电模式待机模式 1.5ms Tpd2stby 待机模式发送/接收模式 130s Tstby2a CE 高电平保持时间 10s Thce CSN 为低电平,CE 上升沿的延迟时间 4s Tpece2csn 成都理工大学硕士学位论文 42 ULIRQ: TX DSStandby 1PLL LockTXPLL LockRXStandby 1PLL LockRXPLL LockTXPLL LockRXIRQ:RX DR/DLPTX SPIPTX C
140、EPTX IRQPTX MODEPRX MODEPRX IRQPRX CEPRX SPIStandby 1TESB CycleTUL10us130usTOATIRQTIRQ130us130us130usTACK 图图 5 5- -16 16 增强型 ShockBurstTM模式发送一包数据时序(2Mbps) 图 5-16 所示是发送一包数据并收到应答信号的示意图。数据送入发送模块部分没有在图中显示。接收模块转入接收模式(CE=1) ,发射模块配置为发射模式(CE=1 持续至少 10s) ,130s 后启动发射,再过 37s 后(发送一字节) 。数据发送结束后,发送模块自动转入接收模式等待应答信
141、号。发送模块在收到应答信号后产生中断通知 MCU(IRQ(TX_DS)=TX_data sent(数据发送完) )接收模块接收到数据包后产生中断通知 MCU(IRQ(RX_DR)=RX_data ready(数据接收完毕) ) 。 5.2 CAN 通信通信软件软件模块模块 LPC2119 微处理器嵌入了 2 路 CAN 控制器, 通过 CAN 把数据传到上位机。 CAN发送程序的设计方法是先向发送寄存器中写入要发送的数据,然后启动发送,具体设计如下。 5.2.1 FullCAN 库函数 FullCAN函数库是针对LPC2000系列ARM芯片CAN模块而量身定制的函数库,FullCAN 函数库中
142、包含基本的内部寄存器操作函数,可以通过调用这些函数来操作任意一个指定的 CAN 控制寄存器。此外,FullCAN 函数库提供一些方便的 CAN第 5 章 RFID 读卡器软件设计 43 高阶应用函数库,通过调用可以实现 ARM 中 CAN 模块的初始化、发送、接收等高级功能。 FullCAN 函数库结构如图 5-17 所示,有 5 个头文件和 2 个源文件组成。 IncludeCan.H所有头文件的集合CANREG.HCAN控制器寄存器定义CANFUNC.H操作函数声明CANAPP.C应用函数库CUSTOM.H用户配置文件CANAPP.H应用函数库函数声明CANFUNC.C控制寄存器操作函数库
143、 图图 5 5- -17 17 FullCAN 函数库结构 各个文件功能的简单介绍如下: CANREG.H文件包含LPC2000系列ARM芯片的CAN控制寄存器定义,以及访问这类寄存器的带参数的宏定义。 ARM-CAN 控制器的控制寄存器多达 35 个,这些控制寄存器可以通过相应的宏进行操作,而且宏的名字和寄存器的名字一致。 IncludeCan.H 是函数库头文件的总包含文件。函数库的头文件比较多,为了方便使用,函数库的四个头文件均由一个文件包含,用户在使用时只包含 IncludeCan.H 文件即可。 CUSTOM.H 文件是 FullCAN 函数库为用户提供的专用配置文件,可以通过修改里
144、面各项定义的数值来配置 ARM-CAN 控制器的初始化参数,在具体工程项目中使用 FullCAN 函数库时可以方便配置所需的ARM-CAN 初始化参数。 FullCAN 函数库为适应不同需要分成两种函数库:一种是专门操作ARM-CAN 控制寄存器的底层操作函数库 CANFUNC.C;另一种是建立在底层操作函数库上的应用函数库 CANAPP.C。通常只需调用CANAPP.C 库的函数就可以完成基本常用的 CAN 控制功能。比如初始化 ARM-CAN 控制器和收发 CAN 信息等。 5.2.2 基本功能函数库 CAN 控制器的五大功能函数模块是实际应用中接触的第一线函数,它们是初始化模块、发送模块
145、、接收模块、中断处理模块和验收滤波器设置模块。 成都理工大学硕士学位论文 44 5.2.2.1 初始化模块 图 5-18 是 CAN 初始化流程图。其中,框内表示的是必要部分,只要满足框内的步骤就可以成功的初始化一个 CAN 控制器,在程序设计中最好全部初始化,可以使 CAN 节点功能更加完善。 根据流程图,可以写出一个通用的初始化函数。实际上初始化函数包括两部分, 一部分是系统硬件模块的初始化, 另一部分是设置验收过滤寄存器的初始化。 把这两个模块分开初始化,是因为验收过滤寄存器是一个全局控制寄存器,只需配置一次就可以了,而系统硬件模块属于每一个 CAN 控制器独享的寄存器,要求单独配置。
146、开始硬件使能和配置引脚连接软件复位设定通信波特率配置CAN工作模式配置发送优先级模式配置验收过滤器设置中断使能寄存器设置错误警告退出复位模式推出初始化 图图 5 5- -18 18 CAN 初始化流程图 5.2.2.2 接收模块 由于接收具有不可预知性,什么时候有数据来都是由外界发送节点决定的,用循环查询法太浪费处理器时间,用定时查询法容易漏掉数据,所以采用中断方式接收。此时,接收到的数据如果不能及时处理就会造成数据丢失,为了避免数据丢失,在函数库中建立一个环形缓冲结构,环形缓冲是嵌入式系统中常用的重要数据结构,一般用于平衡速率不同的两个部件。在基本功能函数库中,定义了两个环形数据结构分别给两
147、个通道的 CAN 控制器作接收缓冲区, 这个结构在运行期间不会被消除,这样就避免了重复建立缓冲所带来的内存空间的泄漏问题。 下面定义一个结构简单的环形缓冲区,如图 5-19 所示。 第 5 章 RFID 读卡器软件设计 45 0123456789ReadPointWritePoint 图图 5 5- -19 19 环形缓冲示意图 该环形缓冲区中有两个指针、一个标志和一个与缓冲结构相同的结构数组。定义操作该缓冲的规则如下; 每次往缓冲区中写数据后把 WritePoint 加 1。 每次往缓冲区中读数据后把 ReadPoint 加 1。 WritePoint 与 ReadPoint 不相等或者缓冲
148、区满表示缓冲区中有可用数据。 WritePoint 和 ReadPoint 超过指定长度时要清 0。 WritePoint 加 1 后与 ReadPoint 具有相同的数值表示缓冲已满,这时FullFlag 要置 1。 这样定义使用规则可以使这个缓冲成为一个 FIFO 环形缓冲,环形缓冲示意图中每一个小格表示一个接收帧结构。 在 下 面 接 收 帧 的 结 构 定 义 中 , 小 格 的 数 目 由 配 置 文 件 中 的USE_CAN_cycRCV_BUF_SIZE 决定。一旦接收到数据,立即往缓冲区中存放,等到空闲时再处理。缓冲区的长度根据实际情况而定,多了会造成资源浪费,太少又有丢失数据
149、的危险。 接收帧结构定义; typedef struct _stcRXBUF_ uCANRFS CANRcvFS; uCANRID RxCANID; uCANRDx RDA; uCANRDx RDB; *P_stcRxBUF,stcRxBUF; 根据缓冲区的使用,编写接收函数,接收程序流程图如 5-20 所示。 成都理工大学硕士学位论文 46 数据写入缓冲区开始缓冲区是否有空间写指针加1后是否超出范围释放接收寄存器写指针是否赶上读指针结束缓冲区满标志置1写指针清0YYYNNN0123456789WritePoint0123456789WritePoint图图 5 5- -20 20 接收程序流
150、程图 5.2.2.3 发送模块 发送程序的设计方法与接收程序刚好相反, 也就是说先向发送寄存器中写入要发送的数据,然后启动发送。 ARM CAN 中为了提高大量数据的发送效率,每个 CAN 控制器配有 3 个独立的发送缓冲寄存器, 发送时要根据缓冲区的实际情况有选择性的把数据写入 3 个发送缓冲之一。所以设计发送程序时必须要先判断哪个缓冲区是空闲的,再把数据写进去。在设计中,首先判断第 1 缓冲区,只有它在锁定或正在发送数据时才判断第 2 个、第 3 个。 由于接收到的数据结构与 CAN 发送结构不同, 所以接收到的数据要进行格式的转换才能写进 CAN 的发送数据缓冲,即使是 CAN 的接收结
151、构,与 CAN 发送结构也不完全相同,同样需要数据转换而不能直接赋值。 CAN 在启动发送前需指定具体的发送缓冲和发送命令字,发送程序流程图如5-21 所示。 第 5 章 RFID 读卡器软件设计 47 5.2.2.4 中断模块 ARM-CAN 的中断源比较多,如果每种中断源都分配一个向量中断可能造成向量中断入口浪费,况且在 CAN 的众多中断中,真正需要处理的中断相当少。通常的处理方法是把 ARM-CAN 的中断定义成非向量中断, 让所有中断都进入非中断向量入口,在中断程序中读取中断标志,再判断是哪种中断,然后根据具体情况加以处理。实际上,除了接收中断、数据溢出中断和总线错误中断需要处理之外
152、,其他 CAN 中断都可以不作处理。 在需要处理的中断中, 最严重的是总线错误中断,它很有可能会引发总线关闭。但是 CAN 总线极少出现这种情况,不是很严重的错误一般不会引起总线错误。其他中断都属于通知性中断,不处理它们也不会产生什么错误, 但是仍然要重视这些次要的中断, 因为它们从侧面反映总线上的情况。 Y Y 图图 5 5- -21 21 CAN 发送程序数据格式转换 返回 “发送失败” 数据写入相应发送 缓冲区并启动发送 数据写出第 1 缓冲区 返回 “成功发送” 数据写出第 2 缓冲区 数据写出第 3 缓冲区 N N 开始 第 2 缓冲区是否可用? 第 3 缓冲区是否可用? 第 1 缓
153、冲区是否可用? 结束 Y N 成都理工大学硕士学位论文 48 第第 6 章章 读卡器读卡器功能调试功能调试 系统设计最后完成了硬件、软件和标签等部分的设计,其中读卡器如图 6-1所示。 图图 6 6- -1 1 读卡器图 在图 6-1 中,读卡器有 2 路 CAN 通信接口,一路 RS-485 接口,一路 RS-232接口,电源接口等等,具有设计要求的全部功能模块,且软件功能全部实现。 系统设计完成以后,在读卡器煤矿系统中对 RFID 卡数据的读取与传输进行测试。测试器材有 RFID 读卡器(本设计) ,RFID 卡 5 张,CAN 转 RS232 器件 1个,电脑 1 台。测试软件为串口调试
154、助手 V2.0。测试步骤: 220V电源适配器+5VRFID读卡器天线射频电缆双绞钱CAN转RS-232串口线计算机标签图图 6 6- -2 2 测试连接图 第 6 章 读卡器功能调试 49 (1) 按照图 6-2 连接线路, CAN-H 与 CAN-H 相接, CAN-L 与 CAN-L 相接, CAN转 RS232 串口与电脑串口连接。 (2)打开串口调试助手 V2.0 软件,波特率选择 57600,选 COM1,数据位 8位,停止位为 1。 (3)RFID 卡装上电池,RFID 读卡器上电。观察数据。 图图 6 6- -3 3 测试结果图 通过上面是的测试方法,连续测试了 4 台读卡器对
155、 5 个标签的数据读取,且每台读卡器每秒对 5 个 RFID 卡进行一次数据读取,其测试结果如下表。 表表 6 6- -1 1 读卡器在煤矿中测试数据 测试读卡器 标签个数 测试时间(小时) 读卡次数 误读漏读次数 误读漏读率 1 5 120 432000 6 1.38*e-3% 2 5 120 432000 7 1.62*e-3% 3 5 120 432000 7 1.62*e-3% 4 5 120 432000 5 1.16*e-3% 从表6-1测试结果中可以看出, 对每台读卡器120个小时连续不间断的测试,读卡次数达 432000 次,只出现了 5-7 次的误读漏读,因此可以看出系统在环
156、境恶劣的煤矿中经过长时间运行,其功能稳定,而且误读、漏读概率很低。达到了设计目的。 成都理工大学硕士学位论文 50 总总 结结 本设计来源于成都理工大学矿山灾害预警与救助新技术体系研发基地项目,本项目是以研究有源 RFID 产品,开发出实用的“煤矿安全生产管理系统” 。利用超长距离 RFID 系统实现井下人员定位管理系统,解决了系统读卡距离、读卡速度、卡的电池使用寿命和定位卡尺寸的实际应用问题。项目的成功实施,极大地提高矿井人员管理的科学性和有效性,有效杜绝超员超时开采,提高煤矿安全管理能力。 本系统利用 RFID 技术、嵌入式技术和 CAN 通信技术等,通过设置在矿井监测分站的 RFID 阅
157、读器来对人员进行定位,系统的硬件设计主要有控制模块、显示模块、CAN 通信模块、无线射频模块、RS-232/RS-485 模块等组成,其中控制模块采用了 LPC2119 ARM7 芯片,射频模块采用的是 nRF24L01 芯片,CAN 收发芯片采用是电隔离的 CTM825。系统的软件设计也是按照模块化进行设计,模块化设计有利于进行移植,软件的设计包括控制模块软件设计、显示模块软件设计、 射频通信模块软件设计和 CAN 通信模块软件设计等, 本文软件设计部分主要研究了射频通信模块的软件设计和 CAN 通信模块软件设计。硬件与软件设计完成后,系统进行了测试,经测试系统运行稳定可靠,达到了设计的预期
158、目标。 本人通过自己对本专业领域的理论学习和导师的丰富经验的专业指导, 及自身在实践中积累的经验,努力研发,争取技术创新,完成系统设计,从而达到整个项目系统的预期目标,在与其它系统进行联调时功能稳定可靠,并通过了专家们的评审。 致 谢 51 致致 谢谢 研究生三年的学习生活转瞬即逝, 这期间, 我懂得了许多做人和做事的道理。可以说,研究生阶段将是我一生中最重要、最宝贵、最难忘的三年,这种感受源于所有关心和支持我的人。在论文完成之际,首先衷心感谢我的导师陈金鹰教授三年来对我的悉心培养和精心指导, 感谢他为我提供了宝贵的学习机会和良好的科研工作环境,才使我得以顺利完成学业。导师严谨的治学风范、敏捷
159、的思维、渊博的学识、对事业执著追求的精神深深地感染着我、鼓舞着我,成为我终身学习的榜样。三年来,导师给了我很多关怀和教导,无论是在论文发表,还是论文研究审阅,无不凝聚着他大量的汗水。 感谢陈金鹰教授三年来对我的指导和关心, 他严谨的教学作风、 开阔的思维、以及非凡的创新能力,让我受益菲浅。 感谢师门的师兄师姐、师弟师妹们和其他研究生同学们。 谨以此文献给我最挚爱的家人,感谢父母的养育之恩,他们给了我最无私的关怀和照顾,是他们的默默耕耘免除了我的后顾之忧,使我能全身心地投入到学习和工作中去,是他们的鼓励与支持才使我完成今天的学业,他们是我前进中的最大动力。在此向我的父母致以深深的谢意! 成都理工
160、大学硕士学位论文 52 参考文献参考文献 1叶里莎.RFID技术应用J.通信技术.2007(12):267-268. 2(德)Klaus Finkenzell著;吴晓峰 陈大才译.射频识别技术(第3版)M.北京:电子工业出版社,2006.10. 3刘春伟,胡文明.NewMsg-RF24L01开发指南R.杭州源中通信技术有限公司,2008.03.08. 4周立功. ARM嵌入式系统基础教程M.北京:航空航天大学出版社,2004. 5周立功.ARM嵌入式系统实验教程 (三) 扩展实验M.北京:航空航天大学出版社,2005.11. 6游战清,刘克胜等.无线射频识别技术(RFID)规划与实施M.北京:
161、电子工业出版社,2006. 7谭民等. RFID技术系统工程及应用指南M.北京:机械工业出版社,2007. 8周晓光等.射频识别(RFID)系统设计、仿真与应用M.北京:人民邮电出版社,2008. 9刘长军,黄卡玛,阎丽萍.射频通信原理电路设计M.北京:科学出版社,2005.09. 10曾一凡,李晖.扩频通信原理M.北京:机械工业出版社出版,2005.09. 11樊昌信等.通信原理(第4版)M.北京:国防工业出版社,1995.10. 12顾瑞龙,沈民谊等.微波技术与天线M.国防工业出版社,1980.06. 13Paul R. Gray, Paul J. Hurst, Stephen H. Le
162、wis, Robert G. Meyer 著,张晓林等译,模拟集成电路的分析与设计M.北京:高等教育出版社.2005.06. 14康华光.电子技术基础(模拟部分) M.北京:高等教育出版社,2006.01. 15Davis W Alan,Krishna Agarwal.Radio Frequency Circuit DesignM. John Wiley & Sons,Inc.2001. 16罗德,尼克,张玉兴译.无线应用射频微波电路设计M.北京:电子工业出版社.2004. 17Antennas:For All ApplicationsJ, Third John D.Kraus & Ronal
163、d J.Marhefka 2005. 18Gilbert Held. Data Communications Networking DeviceJ. John Wiley & Sons, 1992. 19Behzad Razavi. RF MicroelectronicsJ. Prentice Hall PTR. 1998. 20Jim Au Kong. Electromagnetic Wave TheoryJ. Higher Education Press. 2000. 21Paul H Young. Electronic Communication Techniques(4th editi
164、on) M. Prentice Hall PTR.1999. 22nRF24L01 Single Chip 2.4GHz Transceiver datasheet v2.0.NORDICR. July 2007. 23王 璐,秦汝祥.基于RFID的井下人员跟踪定位系统研究J.安全科学技术,2004(1):105-108. 24张水平,袁非亮. RFID技术在矿山井下人车智能安全管理系统中的应用研究J.南方金属,2006(2)45-48. 25陈卉. 利用RFID技术解决井下人员定位管理系统D:硕士学位论文.上海:上海交通大学,2008. 26GB 3836.12000爆炸性气体环境用电气设备
165、第1部分:通用要求S. 27GB 3836.42000爆炸性气体环境用电气设备第4部分:本质安全型“i” S. 28MT 20990 煤矿通信、检测、控制用电工电子产品通用技术要求S. 29MT 21090 煤矿通信、检测、控制用电工电子产品基本试验方法S. 30徐广伟.RFID在旅游景区自动售检票系统中的应用J .通信技术.2009.7. 31徐广伟.基于ARM7 RFID读卡器的设计及应用J .煤炭技术.2010.1. 攻读硕士期间主要成果 53 攻读硕士期间主要成果攻读硕士期间主要成果 一发表论文一发表论文 1 徐广伟.基于ARM7 RFID读卡器的设计及应用J . 煤炭技术.2010.
166、1. 2 徐广伟.RFID在旅游景区自动售检票系统中的应用J . 通信技术.2009.7. 3 徐广伟.认知无线电在农村应用前景讨论J . 电子元器件应用.2009.6. 4 李俊葶,陈金鹰,刘庆丰,徐广伟.RFID技术及它在矿井上的应用J.广东通信技术,2008 (2) :42-44. 二二科研项目科研项目 1 RFID 读卡器设计及在煤矿系统中应用,四川省教育厅自然科学科研项目重点实验室专项矿山灾害预警与救助新技术体系研发基地(项目编号 2006ZD040) ; 2基于 RFID 的盲道识别系统设计,四川省教育厅自然科学类重点项目基金(082A102) ; 3 RFID 在旅游景区自动售检票系统中的应用,导师科研项目; 4GPS 数据接收系统设计,导师科研项目; 5GSM 的数据通信设计,导师科研项目; 6 无线传输模块控制电路系统设计,导师科研项目; 7 USB 接口与控制电路设计,导师科研项目; 8 基于 RFID 小区车库自动化管理系统设计,导师科研项目。 RFID在煤矿系统中的应用RFID在煤矿系统中的应用作者:徐广伟学位授予单位:成都理工大学 本文链接:http:/