Image
Image

斧王FUWANG

+ 关注

粉丝 0     |     主题 39     |     回帖 277

基于ARM+FPGA的可重构MAC协议的设计与实现
2021-4-30 15:19
  • ST MCU
  • 23
  • 1400
  ......  
  3.1 信道竞争过程 基于CSMA/CA的MAC协议中各个节点也不知道自身周围的节点情况,因此节点竞争信道时随时 ...  
  3 仿真验证 基于CSMA/CA的MAC协议的实现关键在于各个节点对各种情况的处理,因此对一个节点协议功能的仿 ...  
  (10)若节点接收到的是数据帧。即Rx_type为1,FPGA将接收到的数据帧上传ARM;同时将IFS_time更新为SIFS,Bac ...  
  (9)将FPGA解析出来的目的节点号与本节点的比较,判断是否是发送给本节点的。如果不是发送给本节点的,那么 ...  
  (8)校验接收到的MAC帧是否正确,若不正确,则将IFS_time设置为EIFS,NAV_flag设置为false,NAV_time设置为0 ...  
  (7)保存当前退避进程中的Backoff_time和刚刚结束的帧间间隔的大小IFS_time,接收MAC帧并解析其中相关的数据 ...  
  (6)在等待ACK到来的同时判断是否超时单次允许发送的时间,若超过了,则重传次数递加;然后判断是否超过重传 ...  
  (5)发送数据帧前首先判断是否超过最大允许发送的时间,若超过了就丢弃该数据帧,将IFS_time设置为EIFS,Bac ...  
  (4)判断发送类型,设计中发送类型Tx_tpye的初始值为1。若Tx_tpye为0,则为节点发送ACK,根据接收到的数据帧 ...  
  (3)退避进程。退避时间的大小主要是由ARM提供,当节点经历了一个时隙时间,退避时隙数减1,但当节点没有完 ...  
  (2)执行帧间间隔进程,递减IFS_time大小,直到为0就进入(3)。IFS_time的初始值为DIFS。 ...  
  (1)若MAC_flag为false时,表明信道空闲,此时进入(2);若MAC_flag为true,则说明现在信道已被占用,此时不 ...  
  NAV_time是没有在通信的节点预留信道的时间。这三个时间也关系着整个协议所处的状态。图2给出了具体的实现 ...  
  2 协议设计 MAC层的工作状态主要是由物理载波侦听和虚拟载波侦听共同决定的(即:MAC_flag=CS_flag or NAV_ ...  
  1.3 功能划分 本设计充分利用ARM灵活便捷的优势,用来实现随机退避算法和协议参数的管理,如重传次数,帧 ...  
  接收节点收到正确且是发送给本节点的数据帧将会立刻回复源节点ACK。如果节点没有收到正确的数据帧,则将使 ...  
  有数据要发送的节点会首先监听媒介,若为忙则继续等待,若空闲的时间超过或者等于DIFS或者EIFS则会进入退避 ...  
  1.2 组网设计 本文设计的MAC协议除了满足基本的的物理载波侦听和虚拟载波侦听相结合检测信道忙闲的机制外 ...  
  1 协议功能描述 1.1 报文结构 本设计实现的是基于CSMA/CA的MAC协议的基本访问模式,节点之间的通信只有 ...  
2
3
近期访客