CN102065568A - 基于数据描述符的mac软硬件交互方法及其硬件实现装置 - Google Patents
基于数据描述符的mac软硬件交互方法及其硬件实现装置 Download PDFInfo
- Publication number
- CN102065568A CN102065568A CN200910237775XA CN200910237775A CN102065568A CN 102065568 A CN102065568 A CN 102065568A CN 200910237775X A CN200910237775X A CN 200910237775XA CN 200910237775 A CN200910237775 A CN 200910237775A CN 102065568 A CN102065568 A CN 102065568A
- Authority
- CN
- China
- Prior art keywords
- descriptor
- descbuff
- data
- hardware
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000003993 interaction Effects 0.000 title abstract 2
- 230000005540 biological transmission Effects 0.000 claims abstract description 67
- 238000013461 design Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 8
- 230000005055 memory storage Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000005056 compaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于数据描述符的MAC软硬件交互方法及其硬件实现装置。方法包括:软件部分将本次发送或待接收的帧数据信息及其控制信息按照规定格式组成发送或接收数据描述符,并发送给硬件部分完成对本次帧数据发送或接收的控制操作;在硬件架构设计中开放***控制/状态寄存器堆与发送/接收状态寄存器堆以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;发送/接收描述符缓存控制器完成对描述符的解析并对协议控制单元的数据收发操作进行控制。利用本发明可实现MAC控制器中软件部分对硬件部分的实时控制及状态监控,避免了单一使用中断控制而造成的响应缓慢、操作复杂等弊端,具有灵活高效的特点。
Description
技术领域
本发明涉及无线局域网(Wireless Local Area Network,WLAN)网络通信领域中媒体访问层(Medium Access Control,MAC)的设计及实现技术领域,尤其涉及一种采用软硬件协同工作,并利用数据描述符机制进行软硬件任务指令控制与数据传输的MAC软硬件交互方法及其硬件实现装置。
背景技术
无线局域网(Wireless Local Area Network,WLAN)正以惊人的速度日益普及并深入到日常生活和工作的各个领域。作为实现数据无线传输的关键功能模块——媒体访问控制(Medium Access Control,MAC)协议——也涌现出大量的种类繁多的实现方式。
与有线传输相比,IEEE 802.11MAC协议有如下一些特点:(1)包含一些时序约束性任务,其中包括接收数据后要在短帧间距后(SIFS)作出响应(ACK)、CRC的校验、产生需要与帧的收发同步等;(2)时间精度较高,例如MAC控制器中需要以1μs的精度维持本站点的时间同步功能计数器(TSF)。采用纯软件实现的MAC控制器无法维持高精度的站点时间同步功能或带来较大功耗,同时软件实现的整体性能较弱无法完成强时序约束性任务。因此,将MAC协议中对时序要求和时间精度要求较高的部分功能模块采用硬件实现,其余非时序约束性任务仍由软件实现,采用软硬件协同工作的方式既实现了较高的***性能又保持了很好的灵活性。
文献[1][2]对采用软硬件协同工作的MAC控制器实现方式进行了分析和整体性能对比,文献[3][4]分别给出了两种较为成熟的MAC控制器实现方案。其中,文献[3]提出了一种采用片外共享存储地址空间,主机与MAC硬件控制器采用中断方式使用外部存储空间的指令和数据的方式,此种方式的弱点在于中断方式响应缓慢、效率较低,且其操作也比较复杂,帧的收发控制均需等待较长的时间;文献[4]是一个完整的片上***芯片(SoC),其MAC控制器硬件部分作为整个***的功能模块挂载于***总线上,软硬件通讯方式通过片内高速总线直接进行,虽然具有较高的效率,然而对于常规软硬件协同开发和嵌入式***开发不具有普适性。
针对软硬件交互存在的实现方法和效率问题,本文提出了一种基于数据描述符的MAC软硬件交互方法和硬件实现装置。本发明的主要贡献是软件部分采用规范化的数据描述符数据格式,完成对帧发送和接收过程的控制,硬件部分以开放的发送/接收寄存器堆的形式完成对发送、接收过程状态信息的反馈,传递至上层软件控制部分。具有简单灵活和操作高效的特点,适用于符合IEEE 802.11协议软硬件协同工作的MAC控制器。
发明内容
(一)要解决的技术问题
本发明主要目的在于提供一种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,该方法使得软件部分能够灵活高效地完成对硬件逻辑的数据收发控制操作并可以实时监控硬件单元的收发状态信息,以便及时响应进一步的数据操作。解决了单一使用中断控制而造成的响应缓慢、操作复杂等弊端。
(二)技术方案
为达到上述目的,本发明提供了一种基于数据描述符的MAC软硬件交互方法,该方法包括:
软件部分将本次发送或待接收的帧数据信息及其控制信息组成发送或接收数据描述符(Tx/Rx Descriptor),并发送给硬件部分完成对本次帧数据发送或接收的控制操作;
在硬件架构设计中开放***控制/状态寄存器堆(Sys_Ctrl/Sys_StaRegister Banks)与发送/接收状态寄存器堆(Tx/Rx Status Register Banks),以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;
发送/接收描述符缓存控制器(Tx/Rx_DescBuff)完成对描述符的解析,并对协议控制单元(PCU)的数据收发操作进行控制。
上述方案中,所述数据描述符包括发送描述符(Tx Descriptor)和接收描述符(Rx Descriptor),其中发送描述符至少包含有一个ID字段、一个Buff_Len字段、一个Buff_Ptr字段、一个Frame_Len字段、一个FrameType字段、一个Link_Ptr字段和若干发送控制字段;接收描述符至少包含一个ID字段、一个Buff_Len字段、一个Buff_Ptr字段和一个Link_Ptr字段。
上述方案中,所述数据描述符以链表的形式储存于外部地址空间,其ID字段表示该描述符的唯一标识,Buf_Ptr和Buf_Len给出了待发送或接收数据的外部地址和长度,Link_Ptr字段为链接到下一个数据描述符的外部地址空间。描述符的其余数据域为与帧发送相关的控制信息。
上述方案中,所述帧数据发送(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。
上述方案中,步骤1中所述MAC软件部分将描述符写入硬件Tx_DescBuff的过程,具体包括:
步骤11、***软件部分根据待发送帧的具体要求,生成发送描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤12、软件部分查询Central Controller中包含的N个Tx_DescBuff的状态位,获取某一空闲Tx_DescBuff的使用权;
步骤13、软件部分向该空闲Tx_DescBuff的Tx_DP寄存器写入desc_addr,并将其Tx_En位置“1”,允许其开始进行帧数据发送。
上述方案中,步骤3中所述Tx_DescBuff处理数据描述符的过程,具体包括:
步骤31、Tx_DescBuff向Central Controller申请Tx_DMA的使用权;
步骤32、Central Controller通过轮询得到某一空闲的Tx_DMA,并将其分配给Tx_DescBuff使用;
步骤33、Tx_DescBuff将待发送数据的信息Buff_Ptr和Buff_Len信息传递给Tx_DMA,后者发起数据传输申请,将外部存储空间的数据读入硬件内部。
上述方案中,步骤5和6中所述Tx_DescBuff完成帧数据发送后的处理过程,具体包括:
步骤51、Tx_DescBuff在得到PCU发送帧数据返回的结果后,检查当前描述符中More字段是否置位,若为1,表示当前帧包含多个分段,则该Tx_DescBuff根据当前描述符的Link_Ptr字段发起数据传输,将下一个数据描述符读入到当前Tx_DP寄存器中,重复步骤2的工作;
步骤52、若当前描述符More字段为0,表示当前帧不包含下一分段,则该Tx_DescBuff将已完成发送的相关状态信息写入对应的Tx_StatusRegister,以供软件部分读取;
步骤53、Tx_DescBuff在完成Tx_Status_Register更新的同时,将检查当前描述符Link_Ptr字段是否非空。若非空,则Tx_DescBuff向CentralController申请空闲的Tx_DescBuff,若为空,则说明当前描述符链表结束,***下一次操作重复步骤1;
步骤54、Central Controller在接到Tx_DescBuff的申请后,根据各Tx_DescBuff的状态信息,获取某一空闲的Tx_DescBuff的使用权后分配给当前申请的Tx_DescBuff;
步骤55、当前Tx_DescBuff获得下一可用的Tx_DescBuff后,将当前描述符的Link_Ptr数据域写入到下一Tx_DescBuff的Tx_DP寄存器,并将其Tx_En置位,开始下一帧数据段的传输。
上述方案中,所述帧数据接收(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。
上述方案中,步骤10中所述MAC软件部分将描述符写入硬件Rx_DescBuff的过程,具体包括:
步骤101、***软件部分根据待接收帧的具体要求,生成接收描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤102、软件部分查询Central Controller中包含的M个Rx_DescBuff的状态位,获取某一空闲Rx_DescBuff的使用权;
步骤103、软件部分向该空闲Rx_DescBuff的Rx_DP寄存器写入desc_addr。
上述方案中,步骤30中所述Rx_DescBuff处理接收描述符的过程,具体包括:
步骤301、Rx_DMA将接收到的帧数据读入Rx_DMA缓存中,向Central Controller发起申请,请求准备就绪的接收描述符;
步骤302、Central Controller根据各Rx_DescBuff的状态位,获取某一已读入接收描述符的Rx_DescBuff的使用权,将发起申请的Rx_DMA与该Rx_DescBuff进行关联;
步骤303、该Rx_DescBuff将当前接收描述符的Buff_Ptr和Buff_Len字段传递给与其关联的Rx_DMA,指示其完成接收帧数据向外部存储器的传输。
上述方案中,步骤50中所述Rx_DescBuff完成接收描述符的处理过程,具体包括:
步骤501、Rx_DescBuff在向Rx_DMA传递数据参数后,检查当前接收描述符的Link_Ptr是否非空,若非空,则向Central Controller申请下一个可用的Rx_DescBuff;
步骤502、Central Controller根据各Rx_DescBuff的状态位,获取某一空闲的Rx_DescBuff的使用权,将其分配给发起申请的Rx_DescBuff;
步骤503、当前Rx_DescBuff将当前接收描述符的Link_Ptr写入申请得到的Rx_DescBuff,之后重复步骤52;
步骤504、若当前描述符的Link_Ptr为空,则表示当前描述符列表处理完毕;当***再一次发起描述符写入操作时,重复步骤51的操作。
为达到上述目的,本发明还提供了一种基于数据描述符的MAC软硬件交互的硬件实现装置,包含P个发送DMA(Tx_DMA)、1个接收DMA(Rx_DMA)、N个发送描述符缓存控制器(Tx_DescBuff)及其对应的N个发送状态寄存器(Tx_Status Register Banks)、M个接收描述符缓存控制器(Rx_DescBuff)及其对应的M个接收状态寄存器(Rx_Status RegisterBanks)、1个***控制寄存器(Sys_Ctrl Register)、1个***状态寄存器(Sys_Sta Register)以及一个中央控制器(Central Controller),其中,P可根据发送数据流量进行配置,N可根据发送数据流量进行配置,M可根据接收数据流量进行配置。
上述方案中,所述发送描述符缓存控制器(Tx_DescBuff)包含一个Tx_DP地址寄存器和一个Tx_En发送使能寄存器。
上述方案中,所述接收描述符缓存控制器(Rx_DescBuff)包含一个Rx_DP地址寄存器。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,具有结构简单、数据精简、易于硬件解析实现的特点。
2、本发明提供的这种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,提供了可根据数据发送接收带宽要求进行调整的设计参数(N、M、P),具有较高的灵活性和可配置性。
3、本发明提供的这种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,具有操作灵活便捷、响应迅速的特点,解决了采用传统中断交互方式造成的操作复杂、响应缓慢的问题。
4、本发明提供的这种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,可广泛地应用于IEEE 802.11x协议规定的MAC控制器***设计。
附图说明
图1基于数据描述符的MAC控制器软硬件交互方法的工作流程图(以发送帧数据过程为例);
图1中各数字标号表示如下操作:
(1)软件部分将外部存储器中的数据描述符首地址写入硬件部分Tx_DescBuff的Tx_DP寄存器,并将Tx_En置位;Tx_DescBuff根据Tx_DP的首地址值读入数据描述符;
(2)Tx_DescBuff将描述符中指示带传输数据的Buff_Ptr和Buff_Len字段传递给Tx_DMA,以供进行数据传输;
(3)Tx_DMA从外部存储器中读入帧数据并传递给硬件部分的后续发送单元;
(4)发送完成后,Tx_DescBuff更新对应的状态寄存器,软件部分从硬件部分的发送寄存器中获取发送信息。
图2发送和接收数据描述符的数据格式。
图3基于描述符方式的MAC控制器软硬件交互的硬件实现装置。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提出了一种基于数据描述符的MAC软硬件交互方法及其硬件实现装置,提出根据MAC控制器软硬件实现划分方案,软件部分将本次发送或待接收的帧数据信息及其控制信息按照规定格式组成发送或接收数据描述符(Tx/Rx Descriptor),并发送给硬件部分完成对本次帧数据发送或接收的控制操作;在硬件架构设计中开放***控制/状态寄存器堆(Sys_Ctrl/Sys_Sta Register Banks)与发送/接收状态寄存器堆(Tx/Rx StatusRegister Banks)以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;发送/接收描述符缓存控制器(Tx/Rx_DescBuff)完成对描述符的解析并对协议控制单元(PCU)的数据收发操作进行控制。
请参阅图2,该图描述了发送和接收数据描述符的数据结构。数据描述符以链表的形式储存于外部地址空间,其ID字段表示该描述符的唯一标识,Buf_Ptr和Buf_Len给出了待发送或接收数据的外部地址和长度,Link_Ptr字段为链接到下一个数据描述符的外部地址空间。描述符的其余数据域为与帧发送相关的控制信息。
图3给出了基于数据描述符方式实现软硬件协同工作的MAC硬件实现装置。该装置包括1个***控制寄存器(Sys_Ctrl Register)、1个***状态寄存器(Sys_Sta Register)、N个发送描述符缓存控制器(Tx_DescBuff)及其对应的N个发送状态寄存器堆(Tx_Status Register Banks)(N可根据发送数据流量进行配置)、M个接收描述符缓存寄存器(Rx_DescBuff)及其对应的M个接收状态寄存器堆(Rx_Status Register Banks)(M可根据接收数据流量进行配置)、P个发送DMA(Tx_DMA)(P可根据发送数据流量进行配置)、1个接收DMA(Rx_DMA)以及1个中央控制器(CentralController)。
该方法进行软硬件协同工作的过程包括帧数据发送过程和帧数据接收过程。
请参阅图1,帧数据发送(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。
上述帧发送方案中,步骤1中所述MAC软件部分将描述符写入硬件Tx_DescBuff的过程,具体包括:
步骤11、***软件部分根据待发送帧的具体要求,生成发送描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤12、软件部分查询Central Controller中包含的N个Tx_DescBuff的状态位,获取某一空闲Tx_DescBuff的使用权;
步骤13、软件部分向该空闲Tx_DescBuff的Tx_DP寄存器写入desc_addr,并将其Tx_En位置“1”,允许其开始进行帧数据发送。
上述帧发送方案中,步骤3中所述Tx_DescBuff处理数据描述符的过程,具体包括:
步骤31、Tx_DescBuff向Central Controller申请Tx_DMA的使用权;
步骤32、Central Controller通过轮询得到某一空闲的Tx_DMA,并将其分配给Tx_DescBuff使用;
步骤33、Tx_DescBuff将待发送数据的信息Buff_Ptr和Buff_Len信息传递给Tx_DMA,后者发起数据传输申请,将外部存储空间的数据读入硬件内部。
上述帧发送方案中,步骤5、6中所述Tx_DescBuff完成帧数据发送后的处理过程,具体包括:
步骤51、Tx_DescBuff在得到PCU发送帧数据返回的结果后,检查当前描述符中More字段是否置位,若为1,表示当前帧包含多个分段,则该Tx_DescBuff根据当前描述符的Link_Ptr字段发起数据传输,将下一个数据描述符读入到当前Tx_DP寄存器中,重复步骤2的工作;
步骤52、若当前描述符More字段为0,表示当前帧不包含下一分段,则该Tx_DescBuff将已完成发送的相关状态信息写入对应的Tx_StatusRegister,以供软件部分读取;
步骤53、Tx_DescBuff在完成Tx_Status Register更新的同时,将检查当前描述符Link_Ptr字段是否非空。若非空,则Tx_DescBuff向CentralController申请空闲的Tx_DescBuff,若为空,则说明当前描述符链表结束,***下一次操作重复步骤1;
步骤54、Central Controller在接到Tx_DescBuff的申请后,根据各Tx_DescBuff的状态信息,获取某一空闲的Tx_DescBuff的使用权后分配给当前申请的Tx_DescBuff;
步骤55、当前Tx_DescBuff获得下一可用的Tx_DescBuff后,将当前描述符的Link_Ptr数据域写入到下一Tx_DescBuff的Tx_DP寄存器,并将其Tx_En置位,开始下一帧数据段的传输。
帧数据接收(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中写入下一个接收描述符的外部地址,即重复步骤1。
上述帧接收方案中,步骤10中所述MAC软件部分将描述符写入硬件Rx_DescBuff的过程,具体包括:
步骤101、***软件部分根据待接收帧的具体要求,生成接收描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤102、软件部分查询Central Controller中包含的M个Rx_DescBuff的状态位,获取某一空闲Rx_DescBuff的使用权;
步骤103、软件部分向该空闲Rx_DescBuff的Rx_DP寄存器写入desc_addr。
上述帧接收方案中,步骤30中所述Rx_DescBuff处理接收描述符的过程,具体包括:
步骤301、Rx_DMA将接收到的帧数据读入Rx_DMA缓存中,向Central Controller发起申请,请求准备就绪的接收描述符;
步骤302、Central Controller根据各Rx_DescBuff的状态位,获取某一已读入接收描述符的Rx_DescBuff的使用权,将发起申请的Rx_DMA与该Rx_DescBuff进行关联;
步骤303、该Rx_DescBuff将当前接收描述符的Buff_Ptr和Buff_Len字段传递给与其关联的Rx_DMA,指示其完成接收帧数据向外部存储器的传输。
上述帧接收方案中,步骤50中所述Rx_DescBuff完成接收描述符的处理过程,具体包括:
步骤501、Rx_DescBuff在向Rx_DMA传递数据参数后,检查当前接收描述符的Link_Ptr是否非空,若非空,则向Central Controller申请下一个可用的Rx_DescBuff;
步骤502、Central Controller根据各Rx_DescBuff的状态位,获取某一空闲的Rx_DescBuff的使用权,将其分配给发起申请的Rx_DescBuff;
步骤503、当前Rx_DescBuff将当前接收描述符的Link_Ptr写入申请得到的Rx_DescBuff,之后重复步骤52;
步骤504、若当前描述符的Link_Ptr为空,则表示当前描述符列表处理完毕。当***再一次发起描述符写入操作时,重复步骤51的操作。
以下结合具体符合IEEE 802.11x软硬件协同工作的MAC控制器进行帧数据发送和接收过程的具体实例,以基于嵌入式开发平台的MAC控制器实现为例,软件平台采用ARM926微处理器,该平台采用24位地址总线,16位数据总线的方式,进行数据传输。
则在该平台下数据描述符中每个字的长度为16bit,Buff_Ptr和相关地址指针为24bit,需要两个字长的存储空间。同时该硬件平台MAC控制器硬件设备共包含1个***控制寄存器(Sys_Ctrl Register)、1个***状态寄存器(Sys_Sta Register)、16个发送描述符缓存控制器(Tx_DescBuff)及其对应的16个发送状态寄存器堆(Tx_Status Register Banks)、16个接收描述符缓存寄存器(Rx_DescBuff)及其对应的16个接收状态寄存器堆(Rx_Status Register Banks)、10个发送DMA(Tx_DMA)、1个接收DMA(Rx_DMA)以及1个中央控制器(Central Controller)。
本实例过程共发送一个具有两个分段的数据帧和接收一个数据帧分段。该方法进行软硬件协同工作的过程包括帧数据发送过程和帧数据接收过程。
请参阅图1,帧数据发送(Tx)过程包括以下步骤:
步骤1,MAC控制器软件部分将描述符在外部存储器中的24bit首地址写入硬件中某一发送描述符缓存控制器(Tx_DescBuff)的描述符地址寄存器(Tx_DP),并同时向该发送描述符缓存控制器的发送使能寄存器(Tx_En)置“1”;
该步骤进一步包括:
(1)***软件部分根据待发送帧的具体要求,生成发送描述符并将其存储于以desc_addr为首地址的外部存储空间中;
(2)软件部分查询Central Controller中包含的16个Tx_DescBuff的状态位,获取某一空闲Tx_DescBuff的使用权,例如Tx_DescBuff#1;
(3)软件部分向Tx_DescBuff#1的Tx_DP寄存器写入24bit长的desc_addr,并将其Tx_En位置“1”,允许其开始进行帧数据发送。
步骤2,Tx_DescBuff#1按照Tx_DP中的描述符地址读入该描述符;
步骤3,Tx_DescBuff#1正常处理该描述符,并将数据传输任务分配给一个Tx_DMA,后者根据描述符中的Buff_Ptr以及Buff_Len读取指定的发送数据;
该步骤进一步包括:
(1)Tx_DescBuff#1向Central Controller申请Tx_DMA的使用权;
(2)Central Controller通过轮询得到某一空闲的Tx_DMA,并将其分配给Tx_DescBuff使用,例如Tx_DMA#5;
(3)Tx_DescBuff#1将待发送数据的信息Buff_Ptr和Buff_Len信息传递给Tx_DMA#5,后者发起数据传输申请,将外部存储空间的数据读入硬件内部。
步骤4,Tx_DescBuff#1控制器根据该描述符的控制信息完成对协议控制单元(PCU)数据传输操作的控制;
步骤5,Tx_DescBuff#1检测当前描述符中More数据域为1,则根据当前描述符中Link_Ptr的值读入下一个发送描述符,之后重复步骤2至步骤4;当Tx_DescBuff#1检测到当前描述符中More数据域为0,则表示当前数据帧发送完毕;Tx_DescBuff#1将PCU传递的发送过程状态信息写入对应的Tx_Status Register#1,以便软件部分读取;
该步骤进一步包括:
(1)Tx_DescBuff#1将当前Link_Ptr的值写入Tx_DP寄存器;
(2)Tx_DescBuff#1根据Tx_DP的地址值读入在外部存储空间中的发送描述符,即步骤2;
(3)Tx_DescBuff#1向Central Controller申请Tx_DMA的使用权;
(4)Central Controller通过轮询得到某一空闲的Tx_DMA,并将其分配给Tx_DescBuff使用,例如Tx_DMA#3;
(5)Tx_DescBuff#1将待发送数据的信息Buff_Ptr和Buff_Len信息传递给Tx_DMA#3,后者发起数据传输申请,将外部存储空间的数据读入硬件内部;
(6)Tx_DescBuff#1控制器根据该描述符的控制信息完成对协议控制单元(PCU)数据传输操作的控制,即步骤4;
(7)Tx_DescBuff#1检测到当前描述符中More数据域为0,则表示当前数据帧发送完毕;Tx_DescBuff#1将PCU传递的发送过程状态信息写入对应的Tx_Status Register#1,以便软件部分读取。
步骤6,当处理完该描述符后,Tx_DescBuff#1检查当前描述符的Link_Ptr数据域为空,则说明当前链表指针已经处理完毕。Tx_DescBuff复位等待下一次处理过程。
帧数据接收(Rx)过程包括以下步骤:
步骤1,MAC控制器的软件部分将描述符在外部存储空间的24位地址写入硬件中某一个接收描述符缓存控制器(Rx_DescBuff)的描述符地址寄存器(Rx_DP);
该步骤进一步包括:
(1)***软件部分根据待接收帧的具体要求,生成接收描述符并将其存储于以desc_addr为首地址的外部存储空间中;
(2)软件部分查询Central Controller中包含的16个Rx_DescBuff的状态位,获取某一空闲Rx_DescBuff的使用权,例如Rx_DescBuff#10;
(3)软件部分向Rx_DescBuff#10的Rx_DP寄存器写入desc_addr。
步骤2,Rx_DescBuff#10按照Rx_DP中的描述符地址读入该描述符;
步骤3,Rx_DescBuff#10等待Rx_DMA的描述符申请,当后者发起描述符使用申请时,Rx_DescBuff将当前描述符的Buff_Ptr和Buff_Len传递给Rx_DMA,并完成接收数据的传输;
该步骤进一步包括:
(1)Rx_DMA(例如Rx_DMA#2)将接收到的帧数据读入Rx_DMA#2缓存中,向Central Controller发起申请,请求准备就绪的接收描述符;
(2)Central Controller根据各Rx_DescBuff的状态位,获取已读入接收描述符的Rx_DescBuff#10的使用权,将发起申请的Rx_DMA#2与Rx_DescBuff#10进行关联;
(3)Rx_DescBuff#10将当前接收描述符的Buff_Ptr和Buff_Len字段传递给与其关联的Rx_DMA#2,指示其完成接收帧数据向外部存储器的传输。
步骤4,当Rx_DMA#2将接收到的数据完全传输到指定的Buffer后,通知Rx_DescBuff#10更新接收寄存器(Rx_Status Register#10)并更新描述符完成信号;
步骤5,当处理当前接收描述符后,Rx_DescBuff#10检查当前描述符Link_Ptr为空,则表示此描述符链表处理完毕。Rx_DescBuff#10复位等待下一次数据接收。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
参考文献
[1]Nirav Salot,Implementation of IEEE 802.11Medium AccessController.IIT BomBay,India,2004,.
[2]Mikael Rudberg,Physical Layer Interface for IEEE 802.11MAC,Institution of Systemteknik,Sweden,2002.
[3]AMD AM79C930 PCnet Mobile Single Chip Wireless LAN MediaAccess Controller,AMD Incorporation,1998.
[4]Marvell 88W8686 Integrated MAC/Baseband/RF Low Power SoC,Marvell Incorporation,2007.
Claims (14)
1.一种基于数据描述符的MAC软硬件交互方法,其特征在于,该方法包括:
软件部分将本次发送或待接收的帧数据信息及其控制信息组成发送或接收数据描述符(Tx/Rx Descriptor),并发送给硬件部分完成对本次帧数据发送或接收的控制操作;
在硬件架构设计中开放***控制/状态寄存器堆(Sys_Ctrl/Sys_StaRegister Banks)与发送/接收状态寄存器堆(Tx/Rx Status Register Banks),以分别实现软、硬件之间的常规收发控制以及本次数据传输的控制及状态反馈;
发送/接收描述符缓存控制器(Tx/Rx_DescBuff)完成对描述符的解析,并对协议控制单元(PCU)的数据收发操作进行控制。
2.根据权利要求1所述的基于数据描述符的MAC软硬件交互方法,其特征在于,所述数据描述符包括发送描述符(Tx Descriptor)和接收描述符(Rx Descriptor),其中发送描述符至少包含有一个ID字段、一个Buff_Len字段、一个Buff_Ptr字段、一个Frame_Len字段、一个Frame Type字段、一个Link_Ptr字段和若干发送控制字段;接收描述符至少包含一个ID字段、一个Buff_Len字段、一个Buff_Ptr字段和一个Link_Ptr字段。
3.根据权利要求2所述的基于数据描述符的MAC软硬件交互方法,其特征在于,所述数据描述符以链表的形式储存于外部地址空间,其ID字段表示该描述符的唯一标识,Buf_Ptr和Buf_Len给出了待发送或接收数据的外部地址和长度,Link_Ptr字段为链接到下一个数据描述符的外部地址空间。描述符的其余数据域为与帧发送相关的控制信息。
4.根据权利要求1所述的基于数据描述符的MAC软硬件交互方法,其特征在于,所述帧数据发送(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。
5.根据权利要求4所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤1中所述MAC软件部分将描述符写入硬件Tx_DescBuff的过程,具体包括:
步骤11、***软件部分根据待发送帧的具体要求,生成发送描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤12、软件部分查询Central Controller中包含的N个Tx_DescBuff的状态位,获取某一空闲Tx_DescBuff的使用权;
步骤13、软件部分向该空闲Tx_DescBuff的Tx_DP寄存器写入desc_addr,并将其Tx_En位置“1”,允许其开始进行帧数据发送。
6.根据权利要求4所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤3中所述Tx_DescBuff处理数据描述符的过程,具体包括:
步骤31、Tx_DescBuff向Central Controller申请Tx_DMA的使用权;
步骤32、Central Controller通过轮询得到某一空闲的Tx_DMA,并将其分配给Tx_DescBuff使用;
步骤33、Tx_DescBuff将待发送数据的信息Buff_Ptr和Buff_Len信息传递给Tx_DMA,后者发起数据传输申请,将外部存储空间的数据读入硬件内部。
7.根据权利要求4所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤5和6中所述Tx_DescBuff完成帧数据发送后的处理过程,具体包括:
步骤51、Tx_DescBuff在得到PCU发送帧数据返回的结果后,检查当前描述符中More字段是否置位,若为1,表示当前帧包含多个分段,则该Tx_DescBuff根据当前描述符的Link_Ptr字段发起数据传输,将下一个数据描述符读入到当前Tx_DP寄存器中,重复步骤2的工作;
步骤52、若当前描述符More字段为0,表示当前帧不包含下一分段,则该Tx_DescBuff将已完成发送的相关状态信息写入对应的Tx_StatusRegister,以供软件部分读取;
步骤53、Tx_DescBuff在完成Tx_Status Register更新的同时,将检查当前描述符Link_Ptr字段是否非空。若非空,则Tx_DescBuff向CentralController申请空闲的Tx_DescBuff,若为空,则说明当前描述符链表结束,***下一次操作重复步骤1;
步骤54、Central Controller在接到Tx_DescBuff的申请后,根据各Tx_DescBuff的状态信息,获取某一空闲的Tx_DescBuff的使用权后分配给当前申请的Tx_DescBuff;
步骤55、当前Tx_DescBuff获得下一可用的Tx_DescBuff后,将当前描述符的Link_Ptr数据域写入到下一Tx_DescBuff的Tx_DP寄存器,并将其Tx_En置位,开始下一帧数据段的传输。
8.根据权利要求1所述的基于数据描述符的MAC软硬件交互方法,其特征在于,所述帧数据接收(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。
9.根据权利要求8所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤10中所述MAC软件部分将描述符写入硬件Rx_DescBuff的过程,具体包括:
步骤101、***软件部分根据待接收帧的具体要求,生成接收描述符并将其存储于以desc_addr为首地址的外部存储空间中;
步骤102、软件部分查询Central Controller中包含的M个Rx_DescBuff的状态位,获取某一空闲Rx_DescBuff的使用权;
步骤103、软件部分向该空闲Rx_DescBuff的Rx_DP寄存器写入desc_addr。
10.根据权利要求8所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤30中所述Rx_DescBuff处理接收描述符的过程,具体包括:
步骤301、Rx_DMA将接收到的帧数据读入Rx_DMA缓存中,向Central Controller发起申请,请求准备就绪的接收描述符;
步骤302、Central Controller根据各Rx_DescBuff的状态位,获取某一已读入接收描述符的Rx_DescBuff的使用权,将发起申请的Rx_DMA与该Rx_DescBuff进行关联;
步骤303、该Rx_DescBuff将当前接收描述符的Buff_Ptr和Buff_Len字段传递给与其关联的Rx_DMA,指示其完成接收帧数据向外部存储器的传输。
11.根据权利要求8所述的基于数据描述符的MAC软硬件交互方法,其特征在于,步骤50中所述Rx_DescBuff完成接收描述符的处理过程,具体包括:
步骤501、Rx_DescBuff在向Rx_DMA传递数据参数后,检查当前接收描述符的Link_Ptr是否非空,若非空,则向Central Controller申请下一个可用的Rx_DescBuff;
步骤502、Central Controller根据各Rx_DescBuff的状态位,获取某一空闲的Rx_DescBuff的使用权,将其分配给发起申请的Rx_DescBuff;
步骤503、当前Rx_DescBuff将当前接收描述符的Link_Ptr写入申请得到的Rx_DescBuff,之后重复步骤52;
步骤504、若当前描述符的Link_Ptr为空,则表示当前描述符列表处理完毕;当***再一次发起描述符写入操作时,重复步骤51的操作。
12.一种基于数据描述符的MAC软硬件交互的硬件实现装置,其特征在于,包含P个发送DMA(Tx_DMA)、1个接收DMA(Rx_DMA)、N个发送描述符缓存控制器(Tx_DescBuff)及其对应的N个发送状态寄存器(Tx_Status Register Banks)、M个接收描述符缓存控制器(Rx_DescBuff)及其对应的M个接收状态寄存器(Rx_Status RegisterBanks)、1个***控制寄存器(Sys_Ctrl Register)、1个***状态寄存器(Sys_Sta Register)以及一个中央控制器(Central Controller),其中,P可根据发送数据流量进行配置,N可根据发送数据流量进行配置,M可根据接收数据流量进行配置。
13.根据权利要求12所述的基于数据描述符的MAC软硬件交互的硬件实现装置,其特征在于,所述发送描述符缓存控制器(Tx_DescBuff)包含一个Tx_DP地址寄存器和一个Tx_En发送使能寄存器。
14.根据权利要求12所述的基于数据描述符的MAC软硬件交互的硬件实现装置,其特征在于,所述接收描述符缓存控制器(Rx_DescBuff)包含一个Rx_DP地址寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910237775 CN102065568B (zh) | 2009-11-17 | 2009-11-17 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910237775 CN102065568B (zh) | 2009-11-17 | 2009-11-17 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102065568A true CN102065568A (zh) | 2011-05-18 |
CN102065568B CN102065568B (zh) | 2013-07-03 |
Family
ID=44000593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910237775 Expired - Fee Related CN102065568B (zh) | 2009-11-17 | 2009-11-17 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102065568B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446898A (zh) * | 2014-09-23 | 2016-03-30 | Arm有限公司 | 描述符环管理 |
CN106789734A (zh) * | 2016-12-21 | 2017-05-31 | 中国电子科技集团公司第三十二研究所 | 在交换控制电路中巨帧的控制***及方法 |
CN110083311A (zh) * | 2019-04-26 | 2019-08-02 | 深圳忆联信息***有限公司 | 一种基于ssd描述符下发软硬件交互的方法及其*** |
CN110602166A (zh) * | 2019-08-08 | 2019-12-20 | 百富计算机技术(深圳)有限公司 | 解决数据重复发送问题的方法、终端设备和存储介质 |
CN110995507A (zh) * | 2019-12-19 | 2020-04-10 | 山东方寸微电子科技有限公司 | 一种网络加速控制器及方法 |
CN111338999A (zh) * | 2020-02-20 | 2020-06-26 | 南京芯驰半导体科技有限公司 | 直接存储器存取dma***及数据传输方法 |
CN112187669A (zh) * | 2020-09-11 | 2021-01-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据交互方法、装置、设备及可读存储介质 |
CN112835823A (zh) * | 2021-01-25 | 2021-05-25 | 无锡众星微***技术有限公司 | 存储控制器应答发送方法 |
CN112988633A (zh) * | 2021-04-13 | 2021-06-18 | 中国科学院微电子研究所 | 一种电子设备及数据传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2898752A1 (fr) * | 2006-03-20 | 2007-09-21 | Thomson Licensing Sas | Procede et dispositif d'asssemblage de paquets de donnees |
CN100498748C (zh) * | 2007-11-16 | 2009-06-10 | 威盛电子股份有限公司 | 计算机***及直接内存访问传输方法 |
CN101304342B (zh) * | 2008-06-27 | 2010-11-24 | 电子科技大学 | 一种增强型以太网接口装置 |
-
2009
- 2009-11-17 CN CN 200910237775 patent/CN102065568B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446898A (zh) * | 2014-09-23 | 2016-03-30 | Arm有限公司 | 描述符环管理 |
CN105446898B (zh) * | 2014-09-23 | 2021-03-19 | Arm 有限公司 | 用于数据处理的装置及方法 |
CN106789734B (zh) * | 2016-12-21 | 2020-03-13 | 中国电子科技集团公司第三十二研究所 | 在交换控制电路中巨帧的控制***及方法 |
CN106789734A (zh) * | 2016-12-21 | 2017-05-31 | 中国电子科技集团公司第三十二研究所 | 在交换控制电路中巨帧的控制***及方法 |
CN110083311A (zh) * | 2019-04-26 | 2019-08-02 | 深圳忆联信息***有限公司 | 一种基于ssd描述符下发软硬件交互的方法及其*** |
CN110083311B (zh) * | 2019-04-26 | 2022-03-29 | 深圳忆联信息***有限公司 | 一种基于ssd描述符下发软硬件交互的方法及其*** |
CN110602166A (zh) * | 2019-08-08 | 2019-12-20 | 百富计算机技术(深圳)有限公司 | 解决数据重复发送问题的方法、终端设备和存储介质 |
CN110602166B (zh) * | 2019-08-08 | 2022-03-08 | 百富计算机技术(深圳)有限公司 | 解决数据重复发送问题的方法、终端设备和存储介质 |
CN110995507A (zh) * | 2019-12-19 | 2020-04-10 | 山东方寸微电子科技有限公司 | 一种网络加速控制器及方法 |
CN111338999A (zh) * | 2020-02-20 | 2020-06-26 | 南京芯驰半导体科技有限公司 | 直接存储器存取dma***及数据传输方法 |
CN111338999B (zh) * | 2020-02-20 | 2021-05-28 | 南京芯驰半导体科技有限公司 | 直接存储器存取dma***及数据传输方法 |
CN112187669B (zh) * | 2020-09-11 | 2022-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据交互方法、装置、设备及可读存储介质 |
CN112187669A (zh) * | 2020-09-11 | 2021-01-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据交互方法、装置、设备及可读存储介质 |
CN112835823A (zh) * | 2021-01-25 | 2021-05-25 | 无锡众星微***技术有限公司 | 存储控制器应答发送方法 |
CN112835823B (zh) * | 2021-01-25 | 2022-03-01 | 无锡众星微***技术有限公司 | 存储控制器应答发送方法 |
CN112988633A (zh) * | 2021-04-13 | 2021-06-18 | 中国科学院微电子研究所 | 一种电子设备及数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102065568B (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102065568B (zh) | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
CN109471824B (zh) | 基于axi总线的数据传输***及方法 | |
US7581015B2 (en) | Communication device having transmitting and receiving units supports RDMA communication | |
US5933654A (en) | Dynamic buffer fracturing by a DMA controller | |
US20090089459A1 (en) | Schedule and data caching for wireless tranmission | |
CN101320361B (zh) | 一种多cpu通讯方法及*** | |
TW453069B (en) | Packet accessing method with parallel multiplexing feature | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及*** | |
CN101150485A (zh) | 一种零拷贝缓冲区队列网络数据发送的管理方法 | |
CN102985889A (zh) | 用于使用多个控制器进行通信的方法、***和设备 | |
JP2002204253A (ja) | 非同期転送モードにおけるホスト・プロセッサおよびディジタル信号プロセッサ間転送用インターフェース・ユニット、およびこれを用いたデータ処理システム | |
CN101150487A (zh) | 一种零拷贝网络报文发送方法 | |
CN100407185C (zh) | 主机设备、设备单元、通信***和数据发送/接收方法 | |
CN101937406A (zh) | 一种VxWorks操作***中实现驱动1394设备的方法和*** | |
CN101150486A (zh) | 一种零拷贝缓冲区队列网络数据接收的管理方法 | |
JP4368795B2 (ja) | プロセッサ間で通信を行うための改良プロセッサ間通信システム | |
CN108768981A (zh) | 一种实现Powerlink工业实时以太网通讯的IP核 | |
CN101303685B (zh) | 可提升通用序列总线储存设备的读写数据速率的方法 | |
US20080059668A1 (en) | Multiple communication channels on mmc or sd cmd line | |
US7603488B1 (en) | Systems and methods for efficient memory management | |
CN102662910A (zh) | 基于嵌入式***的网络交互体系及网络交互方法 | |
CN102292714B (zh) | 装置组件之间的内存资源共享的通讯协定 | |
CN101452430A (zh) | 多处理器之间的通信方法与包括多处理器的通信装置 | |
CN101656658A (zh) | 一种提高队列管理中出队效率的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130703 Termination date: 20211117 |
|
CF01 | Termination of patent right due to non-payment of annual fee |