一种uwb mac层数据缓存控制器的设计方法
【专利摘要】本发明提供一种UWB?MAC层数据缓存控制器的设计方法。该方法实现采用对称上行和下行数据通路缓存管理,通过链表的方式管理数据缓存,数据相关信息和数据本身都存储在缓存中,几乎不需要额外的控制信息,即可完成数据的发送和接收操作。同时,数据可以在缓存中连续存储,能够有效利用存储空间,降低芯片成本。
【专利说明】 —种UWB MAC层数据缓存控制器的设计方法
【技术领域】
[0001]本发明涉及ECMA368协议规范定义的MAC层电路数据缓存控制器的设计方法。
【背景技术】
[0002]超宽带传输技术是一项具有较强生命力的宽带无线传输技术,相比于其他宽带技术,超宽带具有较低的发送功耗和极高的接收灵敏度,能够很好的满足家庭等对带宽有较高需求的局域无线应用场合。同时,由于较低的发射功耗分布在一个很宽的频带上,该无线设备对无线信道存在较小的影响,便于与其他无线技术共存而不相互干扰。
[0003]高的数据吞吐率和信息传输效率是超宽带通信技术的基本特点,这通常意味着芯片内部集成较大的缓存以及较高的数据流量压力。如何实现缓存管理和数据流控制不仅决定着芯片的实际数据吞吐率,而且对芯片面积和功耗也都存在着较大的影响。
【发明内容】
[0004]本发明提出了一种UWB MAC层数据缓存控制器的设计方法,该设计方法中,上行和下行数据缓存管理方式完全相同,且相互独立,支持全双工通信。
[0005]本方法通过链表的方式管理数据包缓存,数据包连续存储在缓存中,芯片主机端接口将芯片主机需要发送的数据包发至发送缓存,同时从接收缓存读取数据,上传至主机端;UWBMAC层电路控制端从发送缓存读取数据包发送至基带,同时从基带获取数据包存储至接收缓存,完成数据包的发送和接收操作。
[0006]数据包相关信息和数据包本身存储在缓存中,不需要额外的控制信息,数据流的控制可以完全由硬件实现,数据写入端通过读写指针判断是否有足够空间可以写入新的数据帧,数据读出端通过读写指针判断是否存在有效数据包需要读出。
[0007]可变长度的数据包可以在缓存中连续存储,从而有效利用存储空间,满足MAC数据吞吐率的同时,降低了芯片成本和功耗。
【专利附图】
【附图说明】
[0008]图1为MAC层数据缓存控制示意图。其中DEVICE CTRL为芯片主机端接口,将主机需要发送的数据包下发至UWB发送缓存,同时从UWB接收缓存获取数据,上传至主机端;MAC CTRL完成UWB MAC层电路控制功能,从发送缓存读取数据作为其payload发送至基带,同时从基带获取数据并将payload部分存储至接收缓存。以上两个控制单元将根据定义好的帧格式完成数据包的发送和接收操作。
[0009]图2为数据包在缓存中的存储结构。缓存中每一帧包含两部分内容,数据包描述符和数据包,两者相邻存放。其中数据包本身为MAC需要发送或接收的数据payload,数据包描述符包括数据包的各种可能的控制信息,比如数据包长度,类型,帧格式说明,发送策略,是否需要加解密等控制信息。【具体实施方式】
[0010]以下结合附图,具体说明本发明。
[0011]本发明中上行和下行数据缓存控制完全一致,以下行(即MAC发送)数据流程为例,说明数据缓存控制方法:
[0012]设计发送缓存空间为2n个字大小,写指针tx_Wr_ptr与读指针tx_rd_ptr位宽为n,初始化时,写指针tX_Wr_ptr与读指针tX_rd_ptr相同(设指针为字地址),此时发送缓存为空;
[0013]DEVICE CTRL 的操作:
[0014]DEVICE CTRL等待主机端存在需要发送的数据包时,通过检查写指针与读指针的关系,判断剩余的 缓存空间是否大于下一个数据帧的长度(包括数据包描述符和数据包),当读指针与写指针相等时缓存为空,假设缓存大小一定大于数据帧大小,则判断剩余的缓存空间是否大于下一个数据帧的长度的条件为:
[0015](tx_wr_ptr = = tx_rd_ptr)||((tx_rd_ptr_tx_wr_ptr) % txbuf_size > frm_length)如果上述条件成立,则向发送缓存中写入数据包描述符和数据包,数据帧写入完成后,更新写指针为:
[0016](tx_wr_ptr+frm_length) % txbuf_size
[0017]如果判断剩余的缓存空间小于或等于下一个数据帧长度,则一直等待直到大于为止。
[0018]其中%为取模操作,frm_length为数据帧(包括数据包描述符和数据包)长度,以字为单位,tXbuf_siZe为发送缓存的字大小。更新写指针之后返回继续等待主机发送新的数据包。
[0019]MAC CTRL 的操作:
[0020]MAC CTRL等待直到写指针与读指针不相等,则从读指针指向的地址读取数据包描述符和数据包,通过数据包描述符Descriptor获取帧长信息frm_length,读取frm_length长度的数据帧,并将数据发送至基带。发送完成后,更新读指针为:
[0021](tx_rd_ptr+frm_length) % txbuf_size
[0022]更新读指针后返回继续等待。
[0023]以上公开的仅为本发明的一个具体实施例,但本发明的保护范围并不局限于此,任何本领域的技术人员能思之的变化都应落在本发明的保护范围内。
【权利要求】
1.一种UWB MAC层数据缓存控制器的设计方法,其特征在于,通过链表的方式管理数据包缓存,数据包连续存储在缓存中,芯片主机端接口将芯片主机需要发送的数据包发至发送缓存,同时从接收缓存读取数据,上传至主机端;UWB MAC层电路控制端从发送缓存读取数据包发送至基带,同时从基带获取数据包存储至接收缓存,完成数据包的发送和接收操作。
2.如权利I要求所述的一种UWBMAC层数据缓存控制器的设计方法,其特征在于,发送数据缓存和接收数据缓存管理方式完全相同,且相互独立,可以同时进行访问。
3.如权利I要求所述的一种UWBMAC层数据缓存控制器的设计方法,其特征在于,数据包的发送和接收操作过程中,通过读写指针判断是否有足够缓存空间可以写入新的数据包,通过读写指针判断是否存在数据包需要读出。
4.如权利I要求所述的一种UWBMAC层数据缓存控制器的设计方法,其特征在于,可变长度的数据包在缓存中连续存储,利用存储空间,降低芯片成本。
【文档编号】H04L1/00GK103684670SQ201210351420
【公开日】2014年3月26日 申请日期:2012年9月18日 优先权日:2012年9月18日
【发明者】周卓, 龚永鑫, 廖峰 申请人:北京中电华大电子设计有限责任公司