FCS字段為32bit的CRC,它由MAC頭和幀全部字段計算得到。
3、不同芯片的幀結構分析
以常見的Agere芯片組為例[8],用無線網卡在測試板下抓拍的由AgereGoldUnit發出的幀結構,見圖5.
幀的類型和子類型為“010000”,對照表1可以得出此幀為單純的數據幀。其去往DS和來自DS均為0,由對照表2可以得出其地址1為DA,地址2為SA,地址3為BSSID。這里DA為“FFFFFFFFFFFF”,即廣播幀;SA為芯片的MAC地址。在序列控制字段中,分段號為0,說明此MSDU沒有分段;而比較相鄰的2個幀,可以看出幀的序列號是以1遞增的,而2個幀之間的時間間隔約為20ms。
由于現在的信號源只能對一定格式的幀進行循環發送,無法使每幀的序列號遞增,所以只有在接收程序中屏蔽掉對幀序號進行驗證的功能。若幀間空閑時間過小,則芯片未能完成CRC校驗,從而導致誤幀率計算錯誤,所以還必須將幀間的間隔時間設置成20ms。最后,再將幀格式設置成數據幀,這樣便能在接收性能測試時,使信號源發出的幀能夠滿足Agere芯片的要求。
在Philips的BGW200芯片組中,用同樣的方法可以發現:幀的格式為數據幀,而且數據區的前10個字節是在61~7A間進行循環,數據區的其他字節均為09。對于這種幀結構要求,首先對幀的數據區進行編程,使其滿足芯片要求,然后將幀的類型設置成數據幀,并使信號源循環發送這26個幀,這樣便能滿足測試Philips芯片的接收性能時對幀格式的要求。
4、發送恒定幀數的實現
由于在接收指標的測試時,是以8%的誤幀率進行判決的,所以權衡了測試時間和測試精度后,決定讓信號源每次發送1000個幀。當DUT解調出的正確幀大于920時,則認為滿足接收指標。
4.1、產生1000個幀的方法
1)通過GPIB卡來控制儀器射頻的開關時間,從而實現1000個幀的發送;
2)通過儀器自帶的ListMode來發送1000個幀;
3)通過將波形文件生成波形序列,從而讓儀器在觸發下發送1000個幀。
在11Mbit/s下,每幀的發送時間約為1ms,所以若采用第1種方法,精度不是很高,不能嚴格發出1000個幀;第2種方法同樣是控制儀器的發送時間,惟一區別就是在儀器自帶的listmode中設置發送時間,使其精度大大提高,時間精度可以達到μs級。不足的是,采用這種方法時,若導入不同的波形文件,則必須對listmode下的時間進行校準,而且在信道切換和功率變化時,均要重新編輯list,大大增加了測試的工作量;第3種方法則是由儀器在觸發模式下精確控制發幀數目。采用這種方法時,儀器并沒有立刻對傳遞過來的I/Q波形文件進行操作,而是根據用戶所需的發幀數,先將波形文件轉換成1個波形序列,然后再對這個波形序列進行調制,從而嚴格地保證了發幀數。相比第2種方法,第3種方法免去了信道切換和功率變化時編輯list的工作,提高了測試效率,也是現在實驗室中普遍采用的測試方法。
4.2、第3種方法發送1000個幀的實現步驟
在AgilentE4438C上用第3種方法發送1000個幀的實現步驟如下:
1)在Signalstudio中生成Wave文件,通過GPIB卡下載到E4438C中;
2)對Signalstudio傳過來的Wave文件進行編輯,并生成Sequence文件;
3)選取第2步生成的Sequence為波形文件;
4)設置Trigger。完成設置后,每按一下[Triggle],便可以發送1000個幀了。
5、應用實例
實際應用中,在屏蔽室中測得Agere評估板在11Mbit/s下的接收指標,見表3。