基于RFID的手持式交通违章处罚终端系统设计
作者:仲伟峰,白兵 哈尔滨理工大学
来源:21IC电子网
日期:2011-05-26 17:22:09
摘要:基于RFID的手持式交通违章处罚终端系统采用ARM9作为微控制器,RFID读写器接收电子标签的信息,以图形界面的形式,通过GPRS技术与监控中心进行数据的传输,对违章司机进行惩处。在此主要从硬件和软件方面,介绍了系统所用RFID技术及其实现的过程和方法。实验表明,设计的系统能准确地读取标签,能很好地取代交警手写罚单的繁杂过程,很大程度地改善和方便了交通违章的处理,具有广泛的应用前景。
引言
以往,对交通违章者的处罚是通过交警手工开罚单完成的,违章者再持罚单到指定收款处交罚款。这种方式有几个缺点:一是,开罚单时要记录违章者的驾照号、姓名、违章地点、类型、罚款金额等诸多内容,需要花费大量的时间,影响交警的正常值勤;二是,由于人为笔误经常造成违章者与收款人员的纠纷;三是,值勤交警无法准确掌握违章者的背景、违章记录等,更有不法者持假照蒙混过关,躲避处罚;四是,无法对交警执法的正确性进行考核;五是,有些“人情款”难以处罚。
基于ARM9的915 MHz超高频射频技术(Radio Frequeney Identification,RFID)的手持式交通违章处罚终端系统是在现有交通管理中引入RFID技术,当交警发现可疑车辆时,用手势动作让车辆停下来,在射频卡读写器的有效作用范围内,交警采用手持式终端机对该车辆进行检查,省去了交警手工开罚单的繁琐过程,保证速度准确性和高效性,从而带来了便利。
1 系统设计
在处理违章事故时,只需车辆上的电子标签在射频卡读写器的有效作用范围内,则司机的自然状况及违章记录等信息均输入到终端机上,并可通过GPRS通信从监控中心调出并查看其违章记录。若交警判断司机违章了,就在手持式终端机上选择一下违章种类代码,并通过GPRS通信将相关信息发送到监控中心,监控中心以短信的方式通知违章司机其违章情况。交罚款时,司机到指定地点,工作人员根据数据库中记录的信息对司机进行罚款。实现了交通违章处罚管理的科学化、公开化,更重要的是此系统通过在驾照上记录司机的违章档案,大大加强了对司机的监督力度,可减少违章次数。
本设计需要建立的是基于RFID的手持式交通违章处罚终端系统,该系统由服务器端和客户端组成。服务器端即监控中心,主要是通过GPRS与手持式终端进行数据传输。在客户端,RFID读写器通过无线传输读取安装在车辆上的电子标签来搜集车辆信息,并进行相应的处理,之后通过GPRS将信息发送到服务器端,在服务器端对接收到的这些信息进行处理并存储到数据库,同时发短信通知司机其违章情况并催促交罚款。系统的总体结构框图如图1所示。
2 硬件设计
手持式交通违章处罚终端的硬件结构图如图2所示,可以将其分为ARM核心及外围部分和RFID部分。
2.1 ARM核心及外围部分
该部分包括ARM微控制器、存储器(SRAM、FLASH和SDRAM)、输入输出设备(LCD、触摸屏TOUCH)和接口设备(RS 232、USB、网卡DM9000和JTAG)。ARM微控制器采用了ARM920T内核,是由ARM公司设计的16/32ARM920T RISC处理器,它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。存储器包括SRAM,FLASH和SDRAM可以支持Linux系统的运行,其中SDRAM是Hynix公司的HY57V651620,容量为64 MB;常用的FLASH类型有NOR FLASH和NAND FLASH2种,这里用到的FALSH主要是NAND FLASH,它是三星公司生产的容量为64 MB,常用于手持设备等消费电子产品。LCD是东华TFT液晶屏(WXCAT35),配置为常用的16BPP模式。DM9000是DAVICOM公司推出的一种高度集成、功能强大、少引脚、性价比高的单片快速以太网控制芯片,非常适用于嵌入式系统设计,具有一个通用的微处理器接口,内部集成了16 KB SRAM(其中13 KB用作接收缓冲区,3 KB作为发送缓冲区),对内部存储器访问支持8位和16位数据接口以适用于不同的微处理器。
2.2 RFID部分
2.2.1 RFID技术
射频技术是20世纪90年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。
2.2.2 RFID系统及其工作原理
最基本的RFID系统由3部分组成:读写器(Reader)、电子标签(Tag)、天线(Antenna)。读写器是读取(有时还可以写入)标签信息的设备,可设计为手持式或固定式(本系统为手持式)。电子标签由耦合元件及芯片组成,每个标签具有惟一的电子编码,附着在物体上标识目标对象。天线在标签和读写器间传递信号。
读写器通过天线向外发送出一定频率的射频信号,当电子标签进入到读写器产生的磁场有效作用范围内时产生感应电流从而获得能量,向读写器发送出自身编码等信息,读写器读取信息并解码后,将信息传至计算机系统进行相关处理,从而达到自动识别物体的目的。RFID工作原理图如图3所示。
2.2.3 RFID射频收发单元
该部分包括射频芯片和天线,芯片使用CC1100,该芯片能对频率为915 MHz的超高频标签进行读写,符合EPC CLASS-1/Gen-2标准。内部的发射器部分不需要增加有源电路就能够直接驱动近距离操作的天线,读写距离可达到10 m左右,可以满足手持式交通违章处罚终端的要求。射频收发单元CC1100的电路图如图4所示,其中CC1100的信号线SCLK(时钟输入)、SI(数据输入)、SO(数据输出)、CSn(芯片选择)分别与S3C2440的SPI接口的SPICLK、SPIMOSI、SPIMOSO、nSS相连接。
3 软件设计
本系统采用U-boot软件开发系统的Bootloader,操作系统采用2.6内核的Linux。
3.1 嵌入式系统的引导代码Bootloader
BootLoader就是在操作系统内核运行前执行的一段小程序。通过这段小程序,可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。
Bootloader启动大多数分为2个阶段。第一阶段使用汇编来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码。这个阶段的任务有:硬件设备初始化;为加载Bootloader的第二阶段代码准备RAM空间;复制Bootloader的第二阶段代码到RAM空间中;设置好栈;跳转到第二阶段代码的C入口点。第二阶段通常使用C语言来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性。这个阶段的任务有:初始化本阶段要使用到的硬件设备;检测系统内存映射;将内核映像和根文件系统映像从Flash上读到RAM空间中;为内核设置启动参数;调用内核。
在编写完Bootloader后,利用JTAG下载电缆烧写到Nand Flash中即可。
基本的操作过程如下,从网上下载U boot 1.1.6,cd u-boot-1.1.6,进入到该目录后,修改其顶层Makefile,添加开发板类型:
其余的相关修改及添加可参考天嵌U-boot-1.1.6dm9000中的相关文件。
3.2 配置及编译内核
配置内核的方式有:make eonfig;make menuconfig;make xconfig;make gconfig;make oldeonfig;makedefeonfig等配置时可供选择的配置项来自于各个子目录的Keonfig文件,如make menueonfig之后保存的结果将写入.config文件,.config文件中定义变量,结合各子目录的Makefile,可决定某一模块是否编译到内核中。由于CC1100要与SPI接口通信,内核应该支持SPI的操作。首先cd linux2.6.25 .8,进到该目录下后,命令1.查看是否有.config文件,若无则 cp arch/arm/configs/s3c2410default_config.config,之后make menuconfigSPI驱动的设置,SPI的驱动在drivers/spi/spi.c中:
其中,*代表直接编译进内核;M代表以模块的方式编译进内核。
编译内核前先修改相应的Makefile及相关的文件,以适合对应的硬件平台。之后make可在arch/arm/boot目录下生成内核镜像,如:zlmage,Image。最后用USB烧写到Flash的相应位置即可。
3.3 应用程序
用户应用程序是基于Qt的图形界面,当交警确认要求对车辆进行检查或者罚款时,系统中断进入工作模式,通过防冲突算法获得车辆的信息,并将信息显示到LCD上,如果确认要对司机进行处罚,选择好违章代码后,将相应的信息通过GPRS发送到控制中心,否则进入到系统的休眠模式,继续等待中断发生,其流程图如图5所示。
4 结语
本文简要介绍了所设计的手持式交通违章处罚终端系统,重点介绍了系统的软硬件设计及相应的关键技术。射频技术在交通中的作用日益重要,本系统以射频技术为重点,以交通违规管理为背景,结合GPRS技术可以实现手持式交通违章处罚终端系统。能快速、准确、实时地对标签进行读取和信息处理,为交通违规处罚带来了很大的便利。
以往,对交通违章者的处罚是通过交警手工开罚单完成的,违章者再持罚单到指定收款处交罚款。这种方式有几个缺点:一是,开罚单时要记录违章者的驾照号、姓名、违章地点、类型、罚款金额等诸多内容,需要花费大量的时间,影响交警的正常值勤;二是,由于人为笔误经常造成违章者与收款人员的纠纷;三是,值勤交警无法准确掌握违章者的背景、违章记录等,更有不法者持假照蒙混过关,躲避处罚;四是,无法对交警执法的正确性进行考核;五是,有些“人情款”难以处罚。
基于ARM9的915 MHz超高频射频技术(Radio Frequeney Identification,RFID)的手持式交通违章处罚终端系统是在现有交通管理中引入RFID技术,当交警发现可疑车辆时,用手势动作让车辆停下来,在射频卡读写器的有效作用范围内,交警采用手持式终端机对该车辆进行检查,省去了交警手工开罚单的繁琐过程,保证速度准确性和高效性,从而带来了便利。
1 系统设计
在处理违章事故时,只需车辆上的电子标签在射频卡读写器的有效作用范围内,则司机的自然状况及违章记录等信息均输入到终端机上,并可通过GPRS通信从监控中心调出并查看其违章记录。若交警判断司机违章了,就在手持式终端机上选择一下违章种类代码,并通过GPRS通信将相关信息发送到监控中心,监控中心以短信的方式通知违章司机其违章情况。交罚款时,司机到指定地点,工作人员根据数据库中记录的信息对司机进行罚款。实现了交通违章处罚管理的科学化、公开化,更重要的是此系统通过在驾照上记录司机的违章档案,大大加强了对司机的监督力度,可减少违章次数。
本设计需要建立的是基于RFID的手持式交通违章处罚终端系统,该系统由服务器端和客户端组成。服务器端即监控中心,主要是通过GPRS与手持式终端进行数据传输。在客户端,RFID读写器通过无线传输读取安装在车辆上的电子标签来搜集车辆信息,并进行相应的处理,之后通过GPRS将信息发送到服务器端,在服务器端对接收到的这些信息进行处理并存储到数据库,同时发短信通知司机其违章情况并催促交罚款。系统的总体结构框图如图1所示。
2 硬件设计
手持式交通违章处罚终端的硬件结构图如图2所示,可以将其分为ARM核心及外围部分和RFID部分。
2.1 ARM核心及外围部分
该部分包括ARM微控制器、存储器(SRAM、FLASH和SDRAM)、输入输出设备(LCD、触摸屏TOUCH)和接口设备(RS 232、USB、网卡DM9000和JTAG)。ARM微控制器采用了ARM920T内核,是由ARM公司设计的16/32ARM920T RISC处理器,它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。存储器包括SRAM,FLASH和SDRAM可以支持Linux系统的运行,其中SDRAM是Hynix公司的HY57V651620,容量为64 MB;常用的FLASH类型有NOR FLASH和NAND FLASH2种,这里用到的FALSH主要是NAND FLASH,它是三星公司生产的容量为64 MB,常用于手持设备等消费电子产品。LCD是东华TFT液晶屏(WXCAT35),配置为常用的16BPP模式。DM9000是DAVICOM公司推出的一种高度集成、功能强大、少引脚、性价比高的单片快速以太网控制芯片,非常适用于嵌入式系统设计,具有一个通用的微处理器接口,内部集成了16 KB SRAM(其中13 KB用作接收缓冲区,3 KB作为发送缓冲区),对内部存储器访问支持8位和16位数据接口以适用于不同的微处理器。
2.2 RFID部分
2.2.1 RFID技术
射频技术是20世纪90年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。
2.2.2 RFID系统及其工作原理
最基本的RFID系统由3部分组成:读写器(Reader)、电子标签(Tag)、天线(Antenna)。读写器是读取(有时还可以写入)标签信息的设备,可设计为手持式或固定式(本系统为手持式)。电子标签由耦合元件及芯片组成,每个标签具有惟一的电子编码,附着在物体上标识目标对象。天线在标签和读写器间传递信号。
读写器通过天线向外发送出一定频率的射频信号,当电子标签进入到读写器产生的磁场有效作用范围内时产生感应电流从而获得能量,向读写器发送出自身编码等信息,读写器读取信息并解码后,将信息传至计算机系统进行相关处理,从而达到自动识别物体的目的。RFID工作原理图如图3所示。
2.2.3 RFID射频收发单元
该部分包括射频芯片和天线,芯片使用CC1100,该芯片能对频率为915 MHz的超高频标签进行读写,符合EPC CLASS-1/Gen-2标准。内部的发射器部分不需要增加有源电路就能够直接驱动近距离操作的天线,读写距离可达到10 m左右,可以满足手持式交通违章处罚终端的要求。射频收发单元CC1100的电路图如图4所示,其中CC1100的信号线SCLK(时钟输入)、SI(数据输入)、SO(数据输出)、CSn(芯片选择)分别与S3C2440的SPI接口的SPICLK、SPIMOSI、SPIMOSO、nSS相连接。
3 软件设计
本系统采用U-boot软件开发系统的Bootloader,操作系统采用2.6内核的Linux。
3.1 嵌入式系统的引导代码Bootloader
BootLoader就是在操作系统内核运行前执行的一段小程序。通过这段小程序,可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。
Bootloader启动大多数分为2个阶段。第一阶段使用汇编来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码。这个阶段的任务有:硬件设备初始化;为加载Bootloader的第二阶段代码准备RAM空间;复制Bootloader的第二阶段代码到RAM空间中;设置好栈;跳转到第二阶段代码的C入口点。第二阶段通常使用C语言来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性。这个阶段的任务有:初始化本阶段要使用到的硬件设备;检测系统内存映射;将内核映像和根文件系统映像从Flash上读到RAM空间中;为内核设置启动参数;调用内核。
在编写完Bootloader后,利用JTAG下载电缆烧写到Nand Flash中即可。
基本的操作过程如下,从网上下载U boot 1.1.6,cd u-boot-1.1.6,进入到该目录后,修改其顶层Makefile,添加开发板类型:
其余的相关修改及添加可参考天嵌U-boot-1.1.6dm9000中的相关文件。
3.2 配置及编译内核
配置内核的方式有:make eonfig;make menuconfig;make xconfig;make gconfig;make oldeonfig;makedefeonfig等配置时可供选择的配置项来自于各个子目录的Keonfig文件,如make menueonfig之后保存的结果将写入.config文件,.config文件中定义变量,结合各子目录的Makefile,可决定某一模块是否编译到内核中。由于CC1100要与SPI接口通信,内核应该支持SPI的操作。首先cd linux2.6.25 .8,进到该目录下后,命令1.查看是否有.config文件,若无则 cp arch/arm/configs/s3c2410default_config.config,之后make menuconfigSPI驱动的设置,SPI的驱动在drivers/spi/spi.c中:
其中,*代表直接编译进内核;M代表以模块的方式编译进内核。
编译内核前先修改相应的Makefile及相关的文件,以适合对应的硬件平台。之后make可在arch/arm/boot目录下生成内核镜像,如:zlmage,Image。最后用USB烧写到Flash的相应位置即可。
3.3 应用程序
用户应用程序是基于Qt的图形界面,当交警确认要求对车辆进行检查或者罚款时,系统中断进入工作模式,通过防冲突算法获得车辆的信息,并将信息显示到LCD上,如果确认要对司机进行处罚,选择好违章代码后,将相应的信息通过GPRS发送到控制中心,否则进入到系统的休眠模式,继续等待中断发生,其流程图如图5所示。
4 结语
本文简要介绍了所设计的手持式交通违章处罚终端系统,重点介绍了系统的软硬件设计及相应的关键技术。射频技术在交通中的作用日益重要,本系统以射频技术为重点,以交通违规管理为背景,结合GPRS技术可以实现手持式交通违章处罚终端系统。能快速、准确、实时地对标签进行读取和信息处理,为交通违规处罚带来了很大的便利。