浅谈AT91RM9200在以太网接口模块应用
收到一个数据包后,自动将接收的数据包放到CURR页。如果一页放不下,则CURR加1;如果CURR=接收结束页,则CURR自动变成接收开始页,继续写入接收的数据。
(2)用户读取接收数据包。RTL8019AS通过Local DMA把接收的数据写入接收缓冲区,并自动改变CURR和识别缓冲区的界限,这些都不需要用户干预。
当一个无错的数据接收完毕,则触发中断处理函数。然后读取数据包到分配的内存,可以从接收字节计数器中得知读取数据。这里要处理一种情况:如果接收的数据包存储不是连续的,在这种情况下要分2次才能读取1个完整的数据包,判断是否存储不连续的条件是:
bnry>Head[1]Head[1]!=RECEIVE_START_PAGE
其中:bnry是这个包的起始页;Head[1]是下一个包的起始页。
接收数据包函数与发送数据包函数相似,只需要修改相应寄存器配置即可。然后将接收的数据写入网络接口层的输入队列,如果写入失败则释放内存。写入后上层协议将提取这个数据包。最后网卡通过中断控制器向ARM响应中断,中断完毕清除中断标志。
5 结 语
ARM微处理器正以其极好的性价比和极低的功耗,与其他体系结构的微处理器进行激烈的竞争,其应用将进一步深入到各行各业。可以预测,在将来的一段时期内,ARM微处理器将成为32位微处理器市场的统治者。了解、学习、掌握和应用ARM微处理器技术很有必要,也非常重要。在ARM系统采用高性能的以太网控制器,系统通信和调试快速、可靠,具有很高的实时性。该设计构造一个基于以太网的嵌入式系统的应用,该接口模块的主要任务是完成与外界的信息交互,以达到网络监控的目的。在实际应用中,它运行稳定,能够十分方便地实现网络互连。
模块 应用 接口 以太网 AT91RM9200 浅谈 相关文章:
- 什么是module 以及如何写一个module(转)(04-23)
- 在Linux 2.6内核下编译可以加载的内核模块(04-23)
- 用DSP56F805 PWM模块输出高频正弦波(05-25)
- DSP与PC机的无线交换调制模块设计(09-17)
- 基于TMS320F28334的伺服系统模块设计(02-25)
- Linux安全模块(LSM)简介(06-12)