保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于ARM平台的MAC协议IP核设计


,这样就能保证一个节点发送时其它节点都能收到。另外,由于要模拟信道上的载波监听过程,我们用到了ARM上的外部中断用做载波监听位(CS),然后用一个I/O发送指示(TR)。这样,信道模拟器上要维持任何一个节点的CS位,都与其它节点的TR有一定的逻辑关系,例如,当一个节点发送时,将其TR置为0(0表示信道变忙,ARM引脚初始电平为高电平1),则这个0应该立即能反映到其它节点的CS位上从而产生中断,其它节点都会知道信道变忙而开始从信道接收数据。同时,当节点发送完毕后将TR置为1,其它节点就会产生中断并且检测到CS位为1从而知道信道变闲,接收结束。

实际的信道模拟支持两个基本服务区(BSS)组成的分布式系统(DS),每个BBS内支持1个AP和2个普通节点。这内部的逻辑关系用可编程逻辑器件实现。

5 移植过程中的注意事项

PHY软件模块模拟PLCP子层,负责完成要求的载波监听和数据收发时的定时控制。这些功能都是采用中断方式实现的,因此要求代码执行速率要快。这里使用汇编语言开发来提供代码的执行效率。

为了获得较高的代码执行速率和快速的中断响应,要求所有协议代码和中断服务程序都在SDRAM中执行。这就涉及到在设计ARM的初始化代码时要正确配置相应的存储区控制寄存器,并且完成代码的搬移和地址的重映射。

图3

    ARM的初始化代码包括:

*定义入口点(entry point)。

*定义异常向量表,用来处理各种CPU异常,其中包括中断。

*配置SDRAM和Flash的地址范围、时序等参数,以使这些存储器能正常工作。

*代码搬移。程序代码一般应从Flash调入SDRAM中运行,以提高系统的运行速度。同时,系统及用户堆栈、运行数据也都放在SDRAM中。

*对SDRAM进行地址重映射,从初始时地址空间的高端搬移到0x0开始的位置。

*初始化堆栈。

*初始化存储区。

*根据需要改变处理器工作模式。

*开中断。

*到C程序代码入口点开始执行。

另外,移植过程中还要考虑的一个问题是内存分配的问题。嵌入式系统中对内存的分配,一般来说要求快速可靠并且有效,实际上就是在采用静态分配内存还是动态分配存的问题。如果系统要求对实时性要求高并且不能容忍分配失败,这时就需要采用静态分配内存。采用静态分配一个不可避免的问题就是系统失去了灵活性,必须在设计阶段就预先估计所需要的内存并对其作出分配,并且要考虑到所有可能的情况。我们在移植过程中,考虑到实时生和可靠性是我们的主要目标,并且我们的ARM平台具有较大的存储区,因而采用了静态分配的方式。

结语

目前,嵌入式协议开发已经非常普通,本文只是根据作者的实际经验,介绍了嵌入式802.11MAC协议开发的基本过程。目前开发的协议已经在ARM平台上成功运行,并且性能良好。现在所使用的ARM平台是没有操作系统支持的,所移植的协议硬件依赖性太大,下一步我们将在有操作系统的ARM平台上进行协议移植,通过全长操作系统提供的API接口来提供协议的可移植性。另外,继续优化代码,提高代码效率,提高实时性与可靠性,以更适合于嵌入式应用环境也将是我们下一步的目标。

《基于ARM平台的MAC协议IP核设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/156434.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。