发明名称 基于数据描述符的MAC软硬件交互方法及其硬件实现装置
摘要 本发明公开了一种基于数据描述符的MAC软硬件交互方法及其硬件实现装置。方法包括:软件部分将本次发送或待接收的帧数据信息及其控制信息按照规定格式组成发送或接收数据描述符,并发送给硬件部分完成对本次帧数据发送或接收的控制操作;在硬件架构设计中开放系统控制/状态寄存器堆与发送/接收状态寄存器堆以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;发送/接收描述符缓存控制器完成对描述符的解析并对协议控制单元的数据收发操作进行控制。利用本发明可实现MAC控制器中软件部分对硬件部分的实时控制及状态监控,避免了单一使用中断控制而造成的响应缓慢、操作复杂等弊端,具有灵活高效的特点。
申请公布号 CN102065568B 申请公布日期 2013.07.03
申请号 CN200910237775.X 申请日期 2009.11.17
申请人 中国科学院微电子研究所 发明人 王海欣;吴斌;周玉梅
分类号 H04L12/24(2006.01)I;H04W80/00(2009.01)I 主分类号 H04L12/24(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 周国城
主权项 一种基于数据描述符的MAC软硬件交互方法,其特征在于,该方法包括:软件部分将本次发送或待接收的帧数据信息及其控制信息组成发送或接收数据描述符Tx/Rx Descriptor,并发送给硬件部分完成对本次帧数据发送或接收的控制操作;在硬件架构设计中开放系统控制/状态寄存器堆Sys_Ctrl/Sys_StaRegister Banks与发送/接收状态寄存器堆Tx/Rx Status Register Banks,以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;发送/接收描述符缓存控制器Tx/Rx_DescBuff完成对描述符的解析,并对协议控制单元PCU的数据收发操作进行控制;其中,所述帧数据发送Tx过程主要包括如下步骤:步骤1、MAC控制器软件部分将描述符在外部存储器中的地址写入硬件中某一发送描述符缓存控制器Tx_DescBuff的描述符地址寄存器Tx_DP,并同时向该发送描述符缓存控制器的发送使能寄存器Tx_En置“1”;步骤2、该Tx_DescBuff按照Tx_DP中的描述符地址读入该描述符;步骤3、Tx_DescBuff正常处理该描述符,并将数据传输任务分配给一个Tx_DMA,后者根据描述符中的Buff_Ptr以及Buff_Len读取指定的发送数据;步骤4、Tx_DescBuff控制器根据该描述符的控制信息完成对协议控制单元PCU数据传输操作的控制;步骤5、Tx_DescBuff检测当前描述符中More数据域是否为空,若为1,则根据当前描述符中Link_Ptr的值读入下一个发送描述符,之后重复步骤2;若More数据域为空,则说明一帧数据已经完全处理完,则该Tx_DescBuff更新对应的发送状态寄存器Tx_Status_Register,将当前描述符对应数据帧的发送状态写入该状态寄存器以便软件部分读取;步骤6,当处理完该描述符后,如果当前的Tx_DescBuff所处理的当前描述符的Link_Ptr数据域非空,则将当前描述符的Link_Ptr中的地址传 递给下一个Tx_DescBuff的Tx_DP寄存器,之后下一个Tx_DescBuff重复步骤2;步骤7,如果当前Tx_DescBuff所处理的描述符的Link_Ptr数据域为空,则说明当前链表指针已经处理完毕;系统下一次进行操作会重复步骤1;所述帧数据接收Rx过程主要包括如下步骤:步骤10,MAC控制器的软件部分将描述符在外部存储空间的地址写入硬件中某一个接收描述符缓存控制器Rx_DescBuff的描述符地址寄存器Rx_DP;步骤20,该Rx_DescBuff按照Rx_DP中的描述符地址读入该描述符;步骤30,Rx_DescBuff等待Rx_DMA的描述符申请,当后者发起描述符使用申请时,Rx_DescBuff将当前描述符的Buff_Ptr和Buff_Len传递给Rx_DMA,并完成接收数据的传输;步骤40,当Rx_DMA将接收到的数据完全传输到指定的Buffer后,通知Rx_DescBuff更新接收寄存器Rx_Status Register并更新描述符完成信号;步骤50,当处理当前接收描述符后,若当前描述符的Link_Ptr不为空则等待空闲的Rx_DescBuff并向其Rx_DP中写入描述符的外部地址,若为空表示此描述符链表处理完毕;当再次写入描述符时,系统查询接收描述符缓存控制器的状态寄存器,向空闲的Rx_DescBuff的Rx_DP中写入下一个接收描述符的外部地址,即重复步骤10。
地址 100029 北京市朝阳区北土城西路3号