论文部分内容阅读
随着移动通信与计算机网络的快速发展,逐渐形成了以两技术为基础的交叉领域,即自组网。自组网一般理解为具有无线通信功能的终端设备之间组成的临时网络,这里的终端设备不分主次,地位平等,既可以作为主机收发数据,也可以作为路由器进行分组转发。自组网由于具备移动的特点,使得网络节点的拓扑状态、位置及个数等因素经常变化,所以提供一种新的路由协议以适应这种动态的网络拓扑显得尤为重要,也是当前研究移动自组网的核心问题。网络的终端节点采用可灵活移动的嵌入式设备,设备驱动程序在嵌入式系统当中占有重要的地位,目前,各式各样的嵌入式设备层出不穷,不同的嵌入式设备都有为各自量身打造的驱动程序,本文以S3C6410为开发平台,对嵌入式交叉编译环境及驱动开发进行详细的研究与设计。主要内容包括在嵌入式ARM-Linux环境下设计驱动程序,驱动射频芯片nRF24L01收发数据,通过设计移动自组网协议来实现无线数据通信。本文主要解决以下两个方面的问题:(1)驱动程序设计实现以ARM11为核心的nRF24L01设备驱动(本设计使用的处理器为三星公司的S3C6410X)。设计nRF24L01驱动程序,以Linux作为操作系统,以Mini6410开发板作为硬件平台,主要包括U-boot移植,Linux内核移植,根文件系统制作等步骤。在Linux操作系统下编程,分为用户层和驱动层。用户层即为应用程序,负责数据的存储和发送;驱动程序通过操作nRF24L01的连接引脚进行通信。应用程序与驱动程序通过库和内核相连解决数据的传递和共享。通过设计此驱动,用户可以通过调用指令函数操作nRF24L01执行发送,接收或转发数据等命令。(2)设计移动自组网协议移动自组网络由于具有拓扑易变、消息在无线信道上易于发生碰撞、无线通信带宽有限等特点,使得路由问题较传统网络更难解决,所以提供一种高效的路由协议以适应这种动态的网络拓扑显得尤为重要,也是当前研究移动自组网的核心问题。本设计以广播的形式进行组网研究,目前存在一些现有的自组网广播机制,文章在比较各种机制的优缺点之后,选择了一种适用于本次设计环境的广播机制,并结合本设计硬件特点对该机制进行了一些改进,设计了一种稳定高效的广播协议。