黃大晴
(南京先鋒碩通無線技術有限公司,江蘇 南京 211100)
超寬帶(Ultra-Wideband,UWB)技術由于具有低功耗、高速率等特點,是無線個域網(Wireless Personal Area Network,WPAN)領域理想的物理層技術。2005年底,由英特爾inter、惠普HP、諾基亞Nokia、三星samsung等國際公司組成的非營利民間組織wimedia聯盟的ECMA-368和ECMA-369標準方案[1],由歐洲國際計算機制造商協會推出。ECMA-368標準詳細描述了基于多帶正交頻分利用調制的物理層(PHY)和分布式架構的媒體訪問控制層(MAC)。ECMA-369則定義了與ECMA-368相配的接口規范,使得物理層(PHY)和分布式架構的媒體訪問控制層(MAC)能夠獨立實施并互連。
ECMA-369標準規定了ECMA-368中規定的PHY與MAC之間的接口。MAC層端接口主要包括MACPHY Interface中MAC層輸出至PHY的接口及與MAC層其他模塊的接口,由數據接口、控制接口、CCA接口及管理接口4個模塊組成[2-3],如圖1所示。

圖1 MAC層模塊與PHY的接口
(1)數據接口:實現MAC層和PHY層間的數據交互,包括數據發送和數據接收兩部分。系統處于發送狀態時,系統按順序依次將PLCP頭、MAC頭、MAC_PAYLAOD和FCS寫入數據發送模塊的發送FIFO。PHY每次使能DATA_EN,數據接口將從發送FIFO中取一個數據發送給PHY。系統處于接收狀態時,對于每幀,數據接收模塊按順序將接收到的數據發給MAC層的PLCP頭處理模塊、MAC頭處理模塊、MPI接收頭錯誤模塊、FCS加解密模塊、管理控制器模塊和MPI接收幀錯誤模塊。
(2)控制接口:控制接口控制PHY復位、系統的數據收發、指示幀接收或發送及開關PCLK。MAC可通過拉低PHY_RESETn來reset PHY;系統要發送數據時,拉高TX_EN,系統進入發送狀態;系統要接收數據時,拉高R X_EN,系統進入接收狀態;系統進入發送或接收狀態后,PHY會在對應的時刻拉高PHY_ACTIVE,指示PHY處于幀發送或接收狀態;系統處于STANDBY狀態時,可通過STOPC信號來開關PCLK信號。
(3)CCA接口:指示CCA狀態。MAC通過管理接口設置CONTROL寄存器的CCRE域為1,發起CCA測量;在CCAValidTime后,CCA_STATUS將被驅動。只要PHY不是處于TRANSMIT、STANDBY或SLEEP狀態且CCRE一直為1,CCA將一直進行。
(4)管理接口:讀取或者修改PHY層中寄存器。讀操作時,管理接口先發送需要讀的寄存器的地址給PHY,PHY讀到有效地址后將此地址的寄存器值發給MAC;寫操作時,管理接口按先后順序發送地址和數據給PHY。
2.1.1 數據發送
PMMODE在READY狀態及TX_REG_SET、RX_BUSY和BM_TX_BUSY都為低的條件下,將TX_EN置高,拉高數據使能信號(圖2中,用T_DATA_EN代表 TX_PH_DATA_EN、TX_HD_DATA_EN、TX_PL_DATA_EN),往數據線上寫數據,將數據寫入發送FIFO。寫入的順序:PLCP頭生成模塊先往發送FIFO寫入總共8 Byte的PLCP頭數據;MAC頭生成模塊寫入10 Byte的MAC頭數據;由FCS加解密模塊寫入MAC_PAYLOAD及4 Byte的FCS數據。發送FIFO中數據后,TX_FIFO_EMPTY拉高,表示FIFO中數據發完,MAC拉低TX_EN。系統可以通過拉低TX_EN中斷發送操作。TX_EN拉低后,MAC停止將數據發送給PHY。發送中斷產生后,可能TX FIFO中還有未發送的數據,可通過TX_FIFO_RST來清空發送FIFO中未發送的數據。圖2為數據發送時序圖。
2.1.2 數據接收
PMMODE在READY狀態、RX_REG_SET為低和TX_BUSY為低的條件下,將RX_EN置高,系統進入接收數據狀態。接收到數據后,前面5 Byte數據拉高RX_PH_DATA_EN,通過數據線R_DATA[15:0]給PLCP頭處理模塊;緊接著后面10 Byte數據拉高RX_HD_DATA_EN,通過數據線R_DATA[15:0]給MAC頭處理模塊;然后1 Byte給MPI接收頭錯誤模塊;后面是將MAC_PAYLOAD及FCS拉高RX_PL_DATA_EN,通過數據線R_DATA[15:0]給FCS加解密模塊;接著拉高RX_MAN_DATA_EN通過數據線R_DATA[15:0]將接收質量信息給管理控制器模塊;最后將RXERROR[4:0]給MPI接收幀錯誤模塊。系統可以通過拉低RX_EN產生接收中斷。拉低RX_EN后,PHY需在33個時鐘周期內將接收參數傳送給MAC和拉低PHY_ACTIVE。如果接收頭校驗和錯誤,則按照接收零長度幀的時序來操作。這種情況下,如果系統沒有拉低RX_EN,系統將繼續接收下一幀數據。圖3為數據接收時序圖。

圖2 數據發送時序圖

圖3 數據接收時序圖
2.2.1 控制接口與數據接口
PAYLOAD_LEN[11:0]是RX控制器模塊中的計數器,指示MAC PAYLOAD中還有多少字節數據未接收。
2.2.2 控制接口與MAC層管理控制器的接口
(1)發送控制:系統拉高TX_EN進入發送狀態。TX_EN被拉高后,MPI控制接口拉高TX_BUSY和BM_TX_BUSY,在TxHoldTime個時鐘周期內拉高TX_REG_HOLD。TX_EN拉低后Tx2RxDwellTime個時鐘周期后,TX_BUSY拉低,系統可以進入接收狀態;3個時鐘后拉低BM_TX_BUSY,如果系統處于突發發送模式,系統可以發送下一幀數據。
(2)接收控制:系統拉高RX_EN進入接收狀態。RX_EN被拉高后,MPI控制接口拉高RX_BUSY,在RxHoldTime個時鐘周期內拉高RX_REG_HOLD。RX_EN下降沿后Rx2TxDwellTime個時鐘周期后,MAC拉低RX_BUSY。在RECEIVE狀態下,在PHY_ACTIVE下降沿之前RxSetupTime個時鐘周期內,MPI控制接口將RX_REG_INV拉高。下降沿后,在RxHoldTime個時鐘周期內拉高RX_REG_HOLD。圖4為RX寄存器控制狀態信圖。數據接收完成后,PHY會拉低PHY_ACTIVE。PHY_ACTIVE拉低后RxEOFDelay個PCLK時鐘周期后,RX_END拉高一個PCLK時鐘,表示接收完成,MAC拉低RX_EN。

圖4 RX寄存器控制狀態信號
2.2.3 管理接口與管理控制器的接口
(1)寫PHY寄存器操作。管理接口檢測到WR為高、RD為低,系統鎖存數據線MAN_TDATA[7:0]和地址線MAN_ADD[7:0]的數據,系統進入管理接口發送狀態。如果需要操作的是發送控制寄存器(TXCHAN或TXCTL),必須在TX_REG_HOLD為低的情況下操作。在操作發送寄存器后的TxSetupTime個PCLK時鐘內,TX_REG_SET為高電平。如果需要操作的是接收控制寄存器(RXCHAN或RXCTL),必須在RX_REG_HOLD和RX_REG_INV為低的情況下操作。在操作接收寄存器后的RxSetupTime個PCLK時鐘內,RX_REG_SET為高電平。
(2)讀PHY寄存器操作。管理接口檢測到WR為低、RD為高,系統鎖存地址線MAN_ADD[7:0]的數據,系統進入管理接口接收狀態。管理接口讀入寄存器數據后,將信號RDATA_RDY拉高,且將數據放到數據信號MAN_TDATA[7:0]。特殊情況,當PHY在SLEEP狀態下時,可同時將TX_EN和RX_EN拉高,這時PHY將進入STANDBY狀態。
在TX_EN為高電平的情況下,檢測到DATA_EN為高,則在一個時鐘周期后TX控制器將發送FIFO中的數據置到數據線DATA[15:0]。數據發送完后(發送FIFO數據空),MAC將TX_EN置低。TX_EN下降沿后2個時鐘周期,釋放數據線的控制權。圖5為MAC數據發送時序圖。

圖5 MAC 數據發送時序圖
在RX_EN為高的情況下,檢測到DATA_EN為高電平,則RX控制器鎖存數據線DATA[15:0]上的數據。圖6為MAC數據接收時序圖。

圖6 MAC數據接收時序圖
針對ECMA-369標準中規定的PHY與MAC之間的接口,對MAC-PHY Interface中MAC層輸出至PHY的接口以及與MAC層其他模塊的接口進行設計,利用數據接收時序圖和數據接收時序圖分析MPI與MAC接口的數據傳輸。ECMA-369標準中MAC設計實現了設備管理和控制,滿足了電子設備之間的通信需求。