EDN China > 技术文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于ARM平台的MAC协议IP核设计

来源:电子产品世界?? 2006年03月27日 ?? 收藏0

?????? 另外,由于要模拟信道上的载波监听过程,我们用到了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的初始化代码时要正确配置相应的存储区控制寄存器,并且完成代码的搬移和地址的重映射。

ARM的初始化代码

点击看原图


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

?????? 结语

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


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

操作系统? MAC? IP核?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈