• 沒有找到結果。

5. MAC 模組模組之開發設計與實作

5.3. MAC 模組之功能測試

5.3.1 RTS/CTS 機制之測試

RTS / CTS 機制的測試環境示意圖如圖 5-11 所示。使用兩組媒體存取控制模組,假設 其名稱分別為工作站A 與工作站 B。以兩台 Windows 電腦主機分別與兩組模組相連接,使 用 Windows 作業系統下的應用程式-超級終端機當作媒體存取控制模組的顯示終端機。另 外,使用一台Linux 電腦主機與工作站 A 相連接,此台 Linux 主機的功用在於發送測試 IP 封包給工作站A。工作站 A 擷取到 IP 封包後,開始進行 RTS / CTS 機制,將 IP 封包傳送 給工作站B。另外,使用訊號產生器產生時脈給兩塊 MAC 模組,作為模組間資料傳輸的同 步使用,實際測試環境場景圖如圖5-12 所示。

圖5-11 測試環境示意圖

圖5-12 實際測試環境場景圖

(順時鐘依序為工作站 A 之顯示終端機、Linux 主機、工作站 B 之顯示終端機、訊號產生器、

工作站B、工作站 A)

當兩組媒體存取控制模組啟動完成後,在Linux 主機底下,下達 ping 指令發送 ping 封 包,我們將此封包當測試用的IP 封包。圖 5-13 與圖 5-14 分別為工作站 A 和工作站 B 的顯 示終端機的顯示結果。工作站A 攔截到測試 IP 封包,並將封包封裝成 data 訊框,如圖 5-13 的標記A 處所示。工作站 A 開始 RTS / CTS 機制,工作站 A 傳送 RTS 訊框,以告知工作 站B 有資料要傳送,接著等待 CTS 訊框的回傳,如圖 5-13 的標記 B 處所示。工作站 B 接 收到RTS 訊框後,回傳 CTS 訊框,表示允許傳送資料,如圖 5-14 標記 A 處所示。工作站 A 接收到 CTS 訊框後,如圖 5-13 標記 C 處所示,便開始傳送 data 訊框,接著等待 ACK 訊 框的回傳,如圖5-13 標記 D 處所示。工作站 B 接收到 data 訊框後,回傳 ACK 訊框,告知 確認完成資料傳送,如圖 5-14 標記 B 處所示。工作站 B 所接收到的 data 訊框內容,如圖 5-14 標記 C 處所示。工作站 A 接收到 ACK 訊框的回傳,如圖 5-13 標記 E 處所示,確認資 料傳送已完成,便結束傳送程序,如圖5-13 標記 F 處所示。另一方面,工作站 B 將接收到 的data 訊框,重新封裝成 IP 封包後,經由網路線傳遞至上層,如圖 5-14 標記 D 處所示。

圖5-13 傳送端工作站 A 之終端機顯示

圖5-14 接收端工作站 B 之終端機顯示 5.3.2 CSMA/CA 機制之測試

測試環境與RTS/CTS 機制的測試環境相同,測試環境示意圖如圖 5-11 所示,實際測試 環境場景圖如圖5-12 所示。由於 CSMA/CA 機制需要由基頻模組所傳送的控制訊號 Carrier Sense 當判斷傳輸媒介是否為空閒的依據,在自我測試時,我們在兩組媒體存取控制模組上 裝上按鈕,當按鈕按下時,媒體存取控制模組的Carrier Sense 腳位將與 0V 連接,以此方式 模擬Carrier Sense 腳位的變化。

當媒體存取控制模組要傳送資料前,會先偵測傳輸媒介是否為空閒,當傳輸媒介為空 閒時方可傳送資料,以避免碰撞,確保資料能可靠地傳遞。若傳輸媒介為忙碌,則媒體存 取控制模組進入退後程序,結束退後程序後須再次偵測傳輸媒介是否為空閒,確定傳輸媒 介為空閒後,才可以進行資料的傳遞。如圖5-15 標記 A 處所示,當工作站 A 需要傳送資

料給工作站 B,但發現傳輸媒介為忙碌時,便進入退後程序,等到傳輸媒介為空閒時,工

作站A 開始進行資料的傳遞,如圖 5-15 標記 B 處所示。工作站 B 的接收動作如圖 5-16 所 示。

圖5-15 傳送端工作站 A 之終端機顯示

圖5-16 接收端工作站 B 之終端機顯示

若當媒體存取控制模組要傳送資料,其附近傳輸媒介為空閒,即Carrier Sense 腳位不 為”0”,但是其需要送達的目的地端附近傳輸媒介為忙碌,則傳送端在等待一段時間後,發 現沒有CTS 訊框回傳,將會進入退後程序,然後重新發送一次 RTS 訊框。如圖 5-17 標記 A 處所示,工作站 A 發送 RTS 訊框後,在等待一段時間後,並沒有 CTS 訊框回傳,便宣 告CTS Procedure 失敗,計數器 SSRC 值增加,並且進入退後程序。如圖 5-18 標記 A 處所 示,工作站B 接收到 RTS 訊框,但是其附近傳輸媒介為忙碌,即 Carrier Sense 腳位為”0”,

便不會回傳CTS 訊框。工作站 A 持續重新傳送 RTS 訊框,若工作站 B 附近傳輸媒介為空 閒,即Carrier Sense 腳位不為”0”,則工作站 B 回傳 CTS 訊框,兩工作站間的傳輸程序繼 續進行,如圖5-17 標記 B 處以及圖 5-18 標記 B 處所示。

圖5-17 傳送端工作站 A 之終端機顯示

圖5-18 接收端工作站 B 之終端機顯示

當媒體存取控制模組要傳送資料,其附近傳輸媒介為空閒,即 Carrier Sense 腳位不 為”0”,便開始傳輸程序,發送 RTS 訊框,但是如果其需要送達的目的地端附近傳輸媒介一 直為忙碌,即 Carrier Sense 腳位持續為”0”,目的地端的媒體存取控制模組不能回傳 CTS 訊框,傳送端的媒體存取控制模組在重新傳送到達一定次數後,仍然沒有CTS 訊框回應,

將直接結束整個傳輸程序。如圖5-19 及圖 5-20 所示,工作站 A 持續傳送 RTS 訊框,但是 由於工作站B 的傳輸媒介仍然是忙碌,所以沒有回傳 CTS 訊框,工作站 A 在達到重新傳 送次數的限制值後,結束傳輸程序。

圖5-19 傳送端工作站 A 之終端機顯示

圖5-20 接收端工作站 B 之終端機顯示

5.4. MAC 模組之介面測試

媒體存取控制模組主要分為兩個介面,與上層 Ad-Hoc 隨意網路繞徑模組之介面,以 及與下層基頻模組之介面。

5.4.1 與 Ad-Hoc 隨意網路繞徑模組之介面測試

為了驗證 Ad-Hoc 隨意網路繞徑模組與媒體存取控制模組之間的 IP 封包收發是否相 符,Ad-Hoc 隨意網路繞徑模組先發送 IP 封包給媒體存取控制模組,觀察兩模組顯示出的 封包內容。接著,由媒體存取控制模組回傳IP 封包至 Ad-Hoc 隨意網路繞徑模組,觀察顯 示出的封包內容。測試環境示意圖如圖5-21 所示。實際測試環境場景圖如圖 5-22 所示。

圖5-21 介面測試環境示意圖

圖5-22 實際測試環境場景圖

(由所至右為 Ad-Hoc 隨意網路繞徑模組、媒體存取控制模組、媒體存取控制模組之顯示終 端機)

Ad-Hoc 隨意網路繞徑模組先發送 IP 封包給媒體存取控制模組,圖 5-23 為 Ad-Hoc 隨 意網路繞徑模組顯示器所顯示其發送的 IP 封包內容,Ad-Hoc 隨意網路繞徑模組發送一個 大 小 為 128 Bytes 的 UDP Broadcast 封 包 , 其 內 容 為 ASCII 編 碼 的”abcdefghijklmnopqrstuvwxyz12345000…”。圖 5-24 為媒體存取控制模組的終端顯示,顯 示其所接收的封包內容,與Ad-Hoc 隨意網路繞徑模組發送的封包內容一致。

圖5-23 由 Ad hoc 隨意網路繞徑模組所發送之 UDP broadcast packet 內容

圖5-24 由 MAC 模組所收取之 128 bytes UDP broadcast packet 內容

接著由媒體存取控制模組回傳IP 封包至 Ad-Hoc 隨意網路繞徑模組,圖 5-25 為回傳的 UDP Broadcast 封 包 , 其 大 小 為 128Bytes , 其 內 容 為 ASCII 編 碼 的”abcdefghijklmnopqrstuvwxyz12345…”。圖 5-26 為 Ad-Hoc 隨意網路繞徑模組顯示器所顯 示其接收的IP 封包內容,與媒體存取控制模組所回傳的封包內容一致。

圖5-25 由 MAC 模組所回傳之 128 bytes UDP broadcast packet 內容

圖5-26 由 Ad hoc 模組所接收之 UDP broadcast packet 內容 5.4.2 與基頻模組之介面測試

為了驗證媒體存取控制模組與基頻模組間的訊框收發正常,先由媒體存取控制模組發 送一組512 Bytes 大小的測試訊框,基頻模組接收訊框後,將訊框輸出至邏輯分析儀,並將 所接收的訊框內容列表,與媒體存取控制模組所發送的訊框比對是否相同。接著,基頻模 組將邏輯分析儀所產生之大小為512Bytes 的測試訊框發送至媒體存取控制模組,媒體存取 控制模組將所接收的訊框內容顯示於顯示終端機上,與基頻模組所產生之測試訊框比對。

測試環境示意圖如圖5-27 所示。實際測試環境場景圖如圖 5-28 所示。

媒體存取控制模組 之顯示終端機

基頻模組 媒體存取控制模組

RS232

杜邦線

邏輯分析儀 圖5-27 介面測試環境示意圖

圖5-28 實際介面測試環境場景圖

(由左而右依次為邏輯分析儀、基頻模組、媒體存取控制模組、媒體存取控制模組之終 端顯示器)

如圖5-29 所示,媒體存取控制模組產生一筆 512 Bytes 的測試訊框,將測試訊框傳送 至基頻模組。基頻模組接收到測試訊框後,從設計好的測試腳位輸出至邏輯分析儀,由圖 5-30 可知基頻模組所接收到的測試訊框長度與媒體存取控制模組所傳送的訊框長度相同,

圖5-31 顯示媒體存取控制模組送出之 Enable 腳位信號與 Data 腳位信號有對齊,且 Data 腳 位信號也正常送出。再由邏輯分析儀將訊號列表後與 MAC 模組終端機顯示之測試訊框內 容比較,由多次實驗結果可知,MAC 模組傳送之測試訊框與基頻模組所收取之訊框內容完 全相同。

圖5-29 媒體存取控制模組的終端顯示

圖5-30 邏輯分析儀擷取基頻模組接收之媒體存取控制模組測試訊框

圖5-31 邏輯分析儀擷取基頻模組接收之媒體存取控制模組測試訊框

為了驗證基頻模組傳送之測試訊框可以被媒體存取控制模組接收,基頻模組取得由邏 輯分析儀所產生之測試訊框,將訊框內容從設計好的測試腳位輸出至數位示波器,並傳送 給媒體存取控制模組。媒體存取控制模組接收到測試訊框後,將該訊框之內容列印於媒體 存取控制模組之終端機上。邏輯分析儀產生”FF0101…”的 512 Bytes 測試訊框,如圖 5-32,

輸出至基頻模組。基頻模組再將測試訊框傳送至媒體存取控制模組並由 GPIO 輸出至邏輯 分析儀,圖 5-33 為邏輯分析儀擷取基頻模組傳送給媒體存取控制模組之信號。由圖 5-33 可知,基頻模組送出之Enable 信號與 Data 信號有對齊,且 Data 信號也正常送出。圖 5-34 為媒體存取控制模組終端機顯示媒體存取控制模組接收到的測試訊框內容,經多次實驗結 果,基頻模組傳送之測試訊框與媒體存取控制模組所收取之訊框內容完全相同。

圖5-32 邏輯分析儀產生之測試訊框內容

圖5-33 邏輯分析儀擷取到基頻模組傳送給媒體存取控制模組之信號