一種uwb mac層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法
【專(zhuān)利摘要】本發(fā)明提供一種UWB?MAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法。該方法實(shí)現(xiàn)采用對(duì)稱(chēng)上行和下行數(shù)據(jù)通路緩存管理,通過(guò)鏈表的方式管理數(shù)據(jù)緩存,數(shù)據(jù)相關(guān)信息和數(shù)據(jù)本身都存儲(chǔ)在緩存中,幾乎不需要額外的控制信息,即可完成數(shù)據(jù)的發(fā)送和接收操作。同時(shí),數(shù)據(jù)可以在緩存中連續(xù)存儲(chǔ),能夠有效利用存儲(chǔ)空間,降低芯片成本。
【專(zhuān)利說(shuō)明】 —種UWB MAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及ECMA368協(xié)議規(guī)范定義的MAC層電路數(shù)據(jù)緩存控制器的設(shè)計(jì)方法。
【背景技術(shù)】
[0002]超寬帶傳輸技術(shù)是一項(xiàng)具有較強(qiáng)生命力的寬帶無(wú)線(xiàn)傳輸技術(shù),相比于其他寬帶技術(shù),超寬帶具有較低的發(fā)送功耗和極高的接收靈敏度,能夠很好的滿(mǎn)足家庭等對(duì)帶寬有較高需求的局域無(wú)線(xiàn)應(yīng)用場(chǎng)合。同時(shí),由于較低的發(fā)射功耗分布在一個(gè)很寬的頻帶上,該無(wú)線(xiàn)設(shè)備對(duì)無(wú)線(xiàn)信道存在較小的影響,便于與其他無(wú)線(xiàn)技術(shù)共存而不相互干擾。
[0003]高的數(shù)據(jù)吞吐率和信息傳輸效率是超寬帶通信技術(shù)的基本特點(diǎn),這通常意味著芯片內(nèi)部集成較大的緩存以及較高的數(shù)據(jù)流量壓力。如何實(shí)現(xiàn)緩存管理和數(shù)據(jù)流控制不僅決定著芯片的實(shí)際數(shù)據(jù)吞吐率,而且對(duì)芯片面積和功耗也都存在著較大的影響。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提出了一種UWB MAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法,該設(shè)計(jì)方法中,上行和下行數(shù)據(jù)緩存管理方式完全相同,且相互獨(dú)立,支持全雙工通信。
[0005]本方法通過(guò)鏈表的方式管理數(shù)據(jù)包緩存,數(shù)據(jù)包連續(xù)存儲(chǔ)在緩存中,芯片主機(jī)端接口將芯片主機(jī)需要發(fā)送的數(shù)據(jù)包發(fā)至發(fā)送緩存,同時(shí)從接收緩存讀取數(shù)據(jù),上傳至主機(jī)端;UWBMAC層電路控制端從發(fā)送緩存讀取數(shù)據(jù)包發(fā)送至基帶,同時(shí)從基帶獲取數(shù)據(jù)包存儲(chǔ)至接收緩存,完成數(shù)據(jù)包的發(fā)送和接收操作。
[0006]數(shù)據(jù)包相關(guān)信息和數(shù)據(jù)包本身存儲(chǔ)在緩存中,不需要額外的控制信息,數(shù)據(jù)流的控制可以完全由硬件實(shí)現(xiàn),數(shù)據(jù)寫(xiě)入端通過(guò)讀寫(xiě)指針判斷是否有足夠空間可以寫(xiě)入新的數(shù)據(jù)幀,數(shù)據(jù)讀出端通過(guò)讀寫(xiě)指針判斷是否存在有效數(shù)據(jù)包需要讀出。
[0007]可變長(zhǎng)度的數(shù)據(jù)包可以在緩存中連續(xù)存儲(chǔ),從而有效利用存儲(chǔ)空間,滿(mǎn)足MAC數(shù)據(jù)吞吐率的同時(shí),降低了芯片成本和功耗。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0008]圖1為MAC層數(shù)據(jù)緩存控制示意圖。其中DEVICE CTRL為芯片主機(jī)端接口,將主機(jī)需要發(fā)送的數(shù)據(jù)包下發(fā)至UWB發(fā)送緩存,同時(shí)從UWB接收緩存獲取數(shù)據(jù),上傳至主機(jī)端;MAC CTRL完成UWB MAC層電路控制功能,從發(fā)送緩存讀取數(shù)據(jù)作為其payload發(fā)送至基帶,同時(shí)從基帶獲取數(shù)據(jù)并將payload部分存儲(chǔ)至接收緩存。以上兩個(gè)控制單元將根據(jù)定義好的幀格式完成數(shù)據(jù)包的發(fā)送和接收操作。
[0009]圖2為數(shù)據(jù)包在緩存中的存儲(chǔ)結(jié)構(gòu)。緩存中每一幀包含兩部分內(nèi)容,數(shù)據(jù)包描述符和數(shù)據(jù)包,兩者相鄰存放。其中數(shù)據(jù)包本身為MAC需要發(fā)送或接收的數(shù)據(jù)payload,數(shù)據(jù)包描述符包括數(shù)據(jù)包的各種可能的控制信息,比如數(shù)據(jù)包長(zhǎng)度,類(lèi)型,幀格式說(shuō)明,發(fā)送策略,是否需要加解密等控制信息?!揪唧w實(shí)施方式】
[0010]以下結(jié)合附圖,具體說(shuō)明本發(fā)明。
[0011]本發(fā)明中上行和下行數(shù)據(jù)緩存控制完全一致,以下行(即MAC發(fā)送)數(shù)據(jù)流程為例,說(shuō)明數(shù)據(jù)緩存控制方法:
[0012]設(shè)計(jì)發(fā)送緩存空間為2n個(gè)字大小,寫(xiě)指針tx_Wr_ptr與讀指針tx_rd_ptr位寬為n,初始化時(shí),寫(xiě)指針tX_Wr_ptr與讀指針tX_rd_ptr相同(設(shè)指針為字地址),此時(shí)發(fā)送緩存為空;
[0013]DEVICE CTRL 的操作:
[0014]DEVICE CTRL等待主機(jī)端存在需要發(fā)送的數(shù)據(jù)包時(shí),通過(guò)檢查寫(xiě)指針與讀指針的關(guān)系,判斷剩余的 緩存空間是否大于下一個(gè)數(shù)據(jù)幀的長(zhǎng)度(包括數(shù)據(jù)包描述符和數(shù)據(jù)包),當(dāng)讀指針與寫(xiě)指針相等時(shí)緩存為空,假設(shè)緩存大小一定大于數(shù)據(jù)幀大小,則判斷剩余的緩存空間是否大于下一個(gè)數(shù)據(jù)幀的長(zhǎng)度的條件為:
[0015](tx_wr_ptr = = tx_rd_ptr)||((tx_rd_ptr_tx_wr_ptr) % txbuf_size > frm_length)如果上述條件成立,則向發(fā)送緩存中寫(xiě)入數(shù)據(jù)包描述符和數(shù)據(jù)包,數(shù)據(jù)幀寫(xiě)入完成后,更新寫(xiě)指針為:
[0016](tx_wr_ptr+frm_length) % txbuf_size
[0017]如果判斷剩余的緩存空間小于或等于下一個(gè)數(shù)據(jù)幀長(zhǎng)度,則一直等待直到大于為止。
[0018]其中%為取模操作,frm_length為數(shù)據(jù)幀(包括數(shù)據(jù)包描述符和數(shù)據(jù)包)長(zhǎng)度,以字為單位,tXbuf_siZe為發(fā)送緩存的字大小。更新寫(xiě)指針之后返回繼續(xù)等待主機(jī)發(fā)送新的數(shù)據(jù)包。
[0019]MAC CTRL 的操作:
[0020]MAC CTRL等待直到寫(xiě)指針與讀指針不相等,則從讀指針指向的地址讀取數(shù)據(jù)包描述符和數(shù)據(jù)包,通過(guò)數(shù)據(jù)包描述符Descriptor獲取幀長(zhǎng)信息frm_length,讀取frm_length長(zhǎng)度的數(shù)據(jù)幀,并將數(shù)據(jù)發(fā)送至基帶。發(fā)送完成后,更新讀指針為:
[0021](tx_rd_ptr+frm_length) % txbuf_size
[0022]更新讀指針后返回繼續(xù)等待。
[0023]以上公開(kāi)的僅為本發(fā)明的一個(gè)具體實(shí)施例,但本發(fā)明的保護(hù)范圍并不局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種UWB MAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法,其特征在于,通過(guò)鏈表的方式管理數(shù)據(jù)包緩存,數(shù)據(jù)包連續(xù)存儲(chǔ)在緩存中,芯片主機(jī)端接口將芯片主機(jī)需要發(fā)送的數(shù)據(jù)包發(fā)至發(fā)送緩存,同時(shí)從接收緩存讀取數(shù)據(jù),上傳至主機(jī)端;UWB MAC層電路控制端從發(fā)送緩存讀取數(shù)據(jù)包發(fā)送至基帶,同時(shí)從基帶獲取數(shù)據(jù)包存儲(chǔ)至接收緩存,完成數(shù)據(jù)包的發(fā)送和接收操作。
2.如權(quán)利I要求所述的一種UWBMAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法,其特征在于,發(fā)送數(shù)據(jù)緩存和接收數(shù)據(jù)緩存管理方式完全相同,且相互獨(dú)立,可以同時(shí)進(jìn)行訪(fǎng)問(wèn)。
3.如權(quán)利I要求所述的一種UWBMAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法,其特征在于,數(shù)據(jù)包的發(fā)送和接收操作過(guò)程中,通過(guò)讀寫(xiě)指針判斷是否有足夠緩存空間可以寫(xiě)入新的數(shù)據(jù)包,通過(guò)讀寫(xiě)指針判斷是否存在數(shù)據(jù)包需要讀出。
4.如權(quán)利I要求所述的一種UWBMAC層數(shù)據(jù)緩存控制器的設(shè)計(jì)方法,其特征在于,可變長(zhǎng)度的數(shù)據(jù)包在緩存中連續(xù)存儲(chǔ),利用存儲(chǔ)空間,降低芯片成本。
【文檔編號(hào)】H04L1/00GK103684670SQ201210351420
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2012年9月18日 優(yōu)先權(quán)日:2012年9月18日
【發(fā)明者】周卓, 龔永鑫, 廖峰 申請(qǐng)人:北京中電華大電子設(shè)計(jì)有限責(zé)任公司