新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于射频识别技术的车辆路口

基于射频识别技术的车辆路口

作者:时间:2012-07-11来源:网络收藏

0. 引言

本文引用地址:http://www.eepw.com.cn/article/196679.htm

日常生活中经常可以看见某些特殊用途的车辆,这些车辆通过交叉路口时,往往是通过交警临时操作交通信号控制机改变信号灯的颜色或是通过相关人员直接上路指挥等方式以获得在交叉路口的优先通行权。这样的做法实时性和安全性都不是很好。射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,在无须人工干预的前提下工作,并可识别高速运动物体且操作快捷方便,同时可工作于各种恶劣环境。本系统可以针对特种车辆发出的申请,对其进行有效地识别,通过位于路口的交通信号控制机或远程监控中心的控制,决定其是否获得路口的优先通行权。监控中心也可以根据车辆反馈的信息获得特定路口及其周边一定范围内的道路交通通行状况,从而为道路交通的区域协调控制和决策提供有力依据。

1. 系统设计要求及总体设计

11.jpg

图1 系统示意图

本系统的硬件平台主体主要包括射频识别(RFID)电子标签模块和射频识别读卡器模块两部分。电子标签模块安装于车辆上,一般位于方便驾驶员操作的适当位置。考虑到性价比和开发周期的因素,电子标签部分的微控制器采用美国ATMEL公司的基于51核的单片机AT89C51[1]。RFID标签按供电方式可以分为有源和无源两种,有源是指标签内有电池提供电源,其作用距离较远,但寿命有限、体积较大、成本高,且不适合在恶劣环境下工作;无源标签内无电池,利用波束供电技术将接收到的射频能量转化为直流电源为卡内电路供电,其作用距离相对有源卡短,但寿命长且对工作环境要求不高[2]。考虑到标签的工作环境为车内,且为了提高信号质量和作用距离,本系统的电子标签模块采用有源标签。电子标签模块由车载电源供电。读卡器模块位于路口,采用韩国SAMSUNG公司的基于ARM7TDMI-S核的32位微处理器S3C44B0X,将识别的信息通过RS-485总线传给位于路口的交通信号控制机,或是通过网口将信息直接传给监控中心的上位计算机,再由交通信号控制机或监控中心决定是否改变信号灯的状态。每一个十字路口安装四台读卡器,均位于道路右侧,为了防止出现读卡器误读,将四台读卡器放置于彼此距离较远的安全位置上。

2. 硬件设计

22.jpg

图2 电子标签结构框图

电子标签采用nrf2401+AT89C51架构。nrf2401是NORDIC semiconductor的RFID芯片,采用全球开放的2.4GHz频段,有125个频道,可满足多频及跳频需要,具有较高的数据吞吐量,速率可达1Mbps,外围元件较少,只需一个晶振和一个电阻即可设计射频电路,发射功率和工作频率等所有工作参数可全部通过软件设置,电源电压范围为1.9V~3.6V,功耗很低,电流消耗很小,-5dBm输出功率时典型峰值电流为10.5mA,芯片内部设置有专门的稳压电路,因此,使用任何电源(包括DC/DC开关电源)均有良好的通信效果,每个芯片均可以通过软件设置最多40bit地址,而且只有收到本机地址时才会输出数据,内置CRC纠检错硬件电路和协议。AT89C51是一种低功耗高性能的8位单片机,片内带有一个4K字节的Flash可编擦除只读存储器,它采用了CMOS工蚁和高密度非易失性存储器技术,其中央处理器由ALU,专用寄存器组,定时控制部件等组成,具有较强的调用、跳转、判断、丰富的数据传输功能,以及提供存放中间结果、常用参数寄存器等功能。电子标签安装于车辆上,操作面板由5个按键组成,分别是开关,复位,左转请求,右转请求和直行请求。其中请求键采用中断方式,用于在车辆接近路口需要优先通过时向读卡器发送优先通行请求。标签中还存储有关于该车辆的信息数据,如车种,车牌,型号和用途等。

33.jpg

图3 读卡器系统框图

读卡器系统仍然采用nrf2401作为接收节点。读卡器部分主要实现信息识别和通信功能。采用SAMSUNG公司的基于ARM7TDMI-S核的高性能32位微处理器S3C44B0X[3]。它的工作电压仅为2.5V,大大降低了芯片的功耗,可以外扩SDRAM,FLASH,内置的LCD控制器最大可以支持256色STN的LCD[4],71个通用I/O,包括8个外部中断源。本系统中扩展了10Mbps以太网接口芯片Realtek公司的RTL8019,该芯片具有16位数据线接口和20位的地址线接口,可以在发送的物理帧上自动添加帧头,帧起始定界符和校验和。读卡器将接收到的信息通过RS-485总线传输到现场的交通信号控制机上,直接改变交通灯状态,如果路口中有相同或更高的申请级别,则将请求信息通过网口送到监控中心仲裁,然后由监控中心直接向信号机发送指令[5]。

3. 软件设计

为了实现TCP/IP通信,同时使系统尽可能地轻量和简洁,本系统通过在uC/OS-II操作系统上移植LwIP协议栈加以实现。lwIP是瑞士计算机科学院的一个开源的TCP/IP协议栈实现,它是一套专门为嵌入式系统设计的源码开放的轻型协议栈。LwIP在保持TCP/IP协议基本要求的前提下,通过层与层之间共享内存,避免了许多繁琐的复制处理,这样做大幅度地节省了代码和数据存储空间,因此非常适合嵌入式应用。与其他轻型协议栈不同的是,LwIP不仅支持一般的网络协议,比如UDP协议、DHCP协议、PPP协议等,而且还支持多网络接口、IPv6和标准API。

3.1 LwIP在uC/OS-II上的移植

针对uC/OS-II[6]和ARM的ADS编译器,LwIP的移植只需要编写arch文件夹下的3个文件——cc.h、sys_arch.h和sys_arch.c。其中cc.h中有与CPU和编译器有关的定义,包括数据结构和大小端存储方式等。为了增强移植性,LwIP专门把和操作系统有关的数据结构和函数放在一起组成操作系统封装层,为诸如定时、进程同步和消息传递等操作系统服务提供统一的接口,移植时需针对不同的操作系统来实现特定的操作系统封装层,这些是由sys_arch.h和sys_arch.c实现的。其中sys_arch.h主要定义与操作系统相关的数据结构——信号量、邮箱和进程号,这些在uC/OS-II中都有对应的实体,LwIP中的邮箱对应于uC/OS-II中的消息队列。sys_arch.c中要实现和操作系统有关函数的定义,包括系统的初始化以及信号和邮箱的操作——创建、删除、投递和等待,这些功能需要用uC/OS-II中相应的函数进行重新封装。另外,TCP/IP协议栈中需要许多定时器的功能,在LwIP中是用sys_timeout结构体队列和相应的函数实现的。每个sys_timeout结构体包括本线程的timeout时间长度,以及超时后的回调处理函数sys_arch.c中sys_arch_timeouts()函数的功能就是返回当前进程所对应的sys_timeout结构体队列的头指针。本系统用的方法是在系统初始化的时候根据最大的LwIP进程数创建一个sys_timeout结构体指针的数组,以后每创建一个LwIP进程其优先级都从一个连续的已知区间进行分配,sys_arch_timeouts()函数通过调用OSTaskQuery()函数获得进程的优先级进而获得对应的sys_timeout结构体队列的头指针。


上一页 1 2 下一页

关键词: 射频识别技术

评论


技术专区

关闭