微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于射频识别技术的车辆路口通行系统设计

基于射频识别技术的车辆路口通行系统设计

时间:07-12 来源:互联网 点击:

院的一个开源的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结构体队列的头指针。

3.2 RTL8019驱动程序的编写

RTL8019驱动程序做的工作主要是8019的初始化、发送和接收以太网数据包。初始化函数rtl8019_init()是在添加以太网络接口时由netif_add()函数调用,调用过程中首先初始化此接口对应的全局网络接口结构体,然后设置8019的各功能寄存器。初始化完8019之后调用arp_init()函数启动ARP功能,然后用sys_timeout()函数启动ARP缓冲列表生命周期的定时器。数据包的发送首先从ARP缓冲队列中查找目的MAC地址,然后构造以太网数据帧的头部,最后调用底层的发送函数low_level_output()将数据帧发送出去。如果找不到对应的IP/MAC项,发送ARP请求数据帧。数据包的接收由中断[7]处理函数rtl8019_ISR()调用,它的执行过程是先调用最底层的接收函数low_level_input()从8019中接收数据帧,如果接收的是IP数据包,则更新ARP缓冲队列并把数据包传给网络接口结构指定的函数进行处理。如果接收的是ARP数据包,则调用etharp_arp_input()函数处理。最底层的接收发送函数采用的都是8019的远程DMA工作方式以提高性能[8]。

3.3 软件框图

图4 读卡器系统软件框图

信号机的响应级由监控中心的上位机设定,信号机可以在事先获得授权的情况下自主改变灯色,如果事先未获授权,或是同时收到多个不同标签的请求,则信息必须送到监控中心处理,由监控中心的上位机判定优先级后发指令控制信号机的动作。监控中心还可以随时获得特定车辆的位置以及所在区域的路况等信息,通过合理改变区域内信号机的绿信比,达到区域协调控制的目的。

4. 实验结果

监控中心的上位机软件由Mircosoft Visual C++.NET 2003开发。

该系统应用于某市政务区的繁华大道与锦绣大道的交口。由于事先设定由监控中心控制,所以当标签发送通行请求时,读卡器将向监控中心发送请求,监控中心的上位机弹出图5所示的对话框,该对话框显示了车辆所在的路口,车号,车型,车种,请求通行的类型以及请求时间等相关信息,由监控中心决定是否处理其请求,监控中心操作人员可以点击“忽略”以不响应该车辆本次的申请。

图6 上位机软件控制界面

在图5对话框中点击“同意受控”后,将会出现图6所示的设置窗口,左上角的为科学城区域内的主要道路列表,左下角显示了与道路相应的各交口信号机的当前状态,未联机的信号机不显示。右上角为当前发送申请的车辆所在的繁华大道与锦绣大道交口的示意图,通过右下角的列表设定当前路口信号机的执行方案。当前的执行方案如列表中所示,该路口信号机

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top