W7100A單片機的MACRAW模式及簡單的ARP應用
在第一章簡單介紹下MACRAW模式,第二章介紹MACRAW SOCKET,第三章則是ARP(地址解析協議)。希望對大家有所幫助。
1. 簡介
MACRAW是一個低于IP層的以太網MAC通信,它能夠靈活使用目的主機的上層協議。圖1顯示了通過協議棧的數據封裝形式。W7100A是全硬件的TCP/IP協議棧芯片,它不僅包括OSI的4層,還包括4層之外的應用層。因此,W7100A能夠簡單且穩定地應用于嵌入式互聯網中。如果在鏈路層需要進行數據處理,可以使用MACRAW模式下的軟件TCP/IP協議來完成。
MACRAW模式支持鏈路層的地址解析協議(ARP)。在W7100A中,ARP請求和回復都已經通過硬件邏輯進行了處理。盡管如此,它仍然可以在MACRAW模式下打開SOCKET0 (第0個 socket)(MACRAW模式下只能使用SOCKET0)。利用該SOCKET0,用戶便能夠處理軟件TCP/IP協議棧指定的協議,例如ARP等。本文主要介紹W7100A單片機的MACRAW模式以及簡單的ARP應用。
<圖1>通過協議棧的數據封裝形式
2. MACRAW SOCKET
MACRAW模式下的通信只支持SOCKET0,但是此時SOCKET1~7也能同時工作于硬件TCP/IP協議棧下。SOCKET0作為NIC(網絡接口控制器)使用,這樣便可實現軟件TCP/IP協議棧。這就是W7100A單片機的混合TCP/IP協議棧:支持硬件TCP/IP和軟件TCP/IP協議棧。對于普通的數據傳輸,軟件TCP/IP能夠通過MACRAW模式進行處理。MACRAW模式下的SOCKET0能夠處理除了SOCKET1~7需要使用的協議之外的其它所有協議。由于MACRAW是處理純以太網數據包的通信方法,這就要求工程師具備軟件TCP/IP協議棧的知識背景。
圖2顯示了MACRAW的數據格式。MACRAW數據由兩個字節的PACKET-INF0以及數據包組成。PACKET-INFO包含數據包的字節大小,而數據包又包括6字節的目的MAC地址、6字節的源MAC地址、2字節的類型(Type)以及46~1500字節的有效載荷(payload)。其中有效載荷(payload)具有和ARP或者IP相似的互聯網協議。
具體的詳細信息,請參考:
http://www.iana.org/assignments/ethernet-numbers.
<圖2>MACRAW的數據格式
評論