新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CC2430的城市车辆限行系统研究

基于CC2430的城市车辆限行系统研究

作者:时间:2011-05-18来源:网络收藏


3 软件设计
软件设计分为进行无线收发部分和单片机控制以太网进行数据传输部分。软件设计的难点在于射频芯片数据的收发,下面主要介绍射频数据收发控制以及以太网数据传送控制,对这两方面的操作处理做简要分析。
3.1 射频数据传输协议
电子标签和采集单元之间的数据传输遵循ZigBee无线网络传输协议。ZigBee协议是在IEEE 802.15.4标准基础上建立的,工作于免授权的2.4 GHz频段,其规定了有关组网、安全和应用软件方面的技术标准。由一组子层构成,每层为其上层提供一组特定的服务:数据实体提供数据传输服务,管理实体提供全部其他服务。每个服务实体通过一个服务接入点(SAP)为上层提供服务接口,并且每个SAP提供一系列的基本服务指令来完成相应的功能,ZigBee协议栈的体系结构模型如图6所示,IEEE 802.15.4标准定义了物理层(PHY)和介质接入控制子层(MAC);ZigBee联盟定义了网络层和应用层(APL)框架的设计。其中应用层框架主要包括3部分:应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制定的应用对象。

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


h.JPG
通过对halUARTCfg_t赋值,可以设置波特率、字符数、数据位、停止位、奇偶校验位等。其中callBackFunc是自定义设置串口回调函数,即一旦出口有数据传送,OSAL会自动转到自定义的回调函数,执行自定义的操作。
3.2.2 数据接收
当有数据通过无线发送到应用层时,应用层会发送一个AF_INCOMING_MSG_CMD消息事件。
i.JPG
这里表示收到AF_INCOMING_MSG_CMD消息事件,然后调用收到消息事件的信息处理函数GenericApp_MessageMSGCB(MSGpkt),开始接收数据并通过调用串口HalUARTWrite(uint8 port,uint8*buf,uintl6 len)写函数发送、接收到的数据。
3.2.3 数据发送
当串口回调函数中有数据输入时,应用层会发送一个GENERICAPP_SEND_MSG_EVT消息事件。
j.JPG
调用GenericApp_SendTheMessage()数据发送函数,具体到TI/Chipcon公司所提供的ZigBee 2006协议栈中即为AF_DataRequest()函数,具体形式如下:
k.JPG
3.3 以太网数据传送控制
程序采用Franklin C51语言编制,可读性强,移植性好,开发简易。
3.3. 1 初始化RTL8019AS
通过C51的P3.4链接RTL8019AS的RESDRV来进行复位操作。RSTDRV高电平有效,只要给引脚施加一个1μs以上的高电平即可。
初始化页0、页1相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是NE2000兼容的,不用设置。
(1)CR=0x21,选择页0的寄存器;
(2)TPSR=0x45,发送页的起始页地址,初始化为指向第一个发送缓冲区的页即0x40;
(3)PSTART=0x4c,PSTOP=0x80,构造缓冲环:0x4C~0x80;
(4)BNBY=0x4c,设置指针;
(5)RCR=0xcc,设置接收配置寄存器,使用按收缓冲区,仅接收自己地址的数据包(以及广播地址数据包)和多点播送地址包,小于64 B的包丢弃,校验错的数据包不接收;
(6)TCR=0xe0,设置发送配置寄存器,启用CRC自动生成和自动校验,工作在正常模式;
(7)DCR=0xe8,设置数据配置寄存器,使用FIFO缓存,普通模式,8位数据DMA;
(8)IMR=0x00,设置中断屏蔽寄存器,屏蔽所有中断;
(9)CR=0x61,选择页1的寄存器;
(10)CURR=0x4d,CURR是RTL8019AS写内存的指针,指向当前正在写的页的下一页,初始化时指向0x4c+1=0x4d;
(11)设置多址寄存器MAR0~MAR5,均设置为0x00;
(12)设置网卡地址寄存器PAR0~PAR5;
(13)CR=0x22,选择页1的寄存器,进入正常工作状态。
3.3.2 发送帧
将待发送的数据按帧格式封装,通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令,完成帧的发送。需要设置以太网目的地址、以太网源地址、协议类型,再按所设置的协议类型来设置数据段。之后启动远程DMA,数据写入RTL8019AS的RAM,再启动本地DMA,将数据发到网上。
RTL8019AS无法将整个数据包通过DMA通道一次存入FIFO,则在构造一个新的数据包之前必须先等待前一数据包发送完成。为提高发送效率,设计将12页的发送缓存区分为两个6页的发送缓存区,一个用于数据包发送,另一个用于构造新的数据包,交替使用。
通过调试,利用PC机接收一个构造的ARP请求包,接收效果比较满意。

4 结论
利用无线收发功能,结合单片机与以太网实现远程通信,设计了一套应用于识别的交通限行,该利用低功耗、低成本、高性能等优点实现识别。利用性能优越、价格低廉的RTL8019AS以太网控制器,实现路边采集单元与远程计算机的信息交互。该主要完成识别,及车辆信息发送工作。经测试,可准确识别车辆,完成出行天数统计的要求。交管部门可利用车辆车型信息进行车辆出行天数的统计,作为收取拥堵费的依据,从而实现车辆限行。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭