您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>无线通信>

以太网数据传送控制 - 基于CC2430的城市车辆限行系统

2011年05月28日 10:17 现代电子技术 作者:汤牛明 张凯 用户评论(0
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 结论

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

非常好我支持^.^

(3) 100%

不好我反对

(0) 0%

( 发表人:叶子 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!