單片網絡接口芯片W5100的原理與應用

隨着計算機網絡技術的發展,作為全球最大計算機網絡—— I n t e r ac t已成為當今信息社會重要的基礎信息設施.在工業測控、智能儀器、智能家庭等領域,大量應用嵌入式設備接人 I n t e r n e t的需求使得嵌入式 I n t e r ac t 技術日益成為研究的熱點.嵌入式設備接人 I n t e r n e t的關鍵是如何在硬件資源有限的嵌入式設備中實現 T C P / I P協議簇.實現複雜的 T C P/ I P協議會佔用其大量重要資源,這必然會影響嵌入式設備的性能,增加系統設計的複雜性和成本. Wl Z n e t公司推出的系列硬件協議棧芯片—— W5 1 0 0網絡接口芯片 ——為嵌入式設備接入 I n t e r n e t 提供了一種很好的解決方案.這種網絡接口芯片可以使嵌入式設備在佔用極低系統資源的條件下快速完成網絡通訊.WI Z n e t公司是一家專註於全硬接線 T C P / I P核心技術的無晶圓廠半導體公司.目前, WI Z n e t公司推出的系列硬件協議棧芯片有 W3 I O O A— L F , W3 1 5 0 A, W3 1 5 0 A +,W5 1 0 0,W5 3 0 0.其中, W5 1 0 0是 W3 1 5 0 A的升級版本,它在 W3 1 5 0 A的基礎上增加了一個以太網 P H Y,利用邏輯硬件實現,使系統設計更加簡單、緊湊.W5 1 0 0是一款多功能的單片網絡接口芯片,主要應用於高集成、高穩定、高性能和低成本的嵌入式系統中.本文主要介紹W5 1 0 0芯片的內部結構、工作原理、應用設計,並列舉了一個實用實例.

1           W5 1 O 0芯片介紹

由於 W3 1 5 0 A使用時需要在外面接一個以太網物理層接口器件( R T L 8 2 0 1 C P ),增加了使用時的硬件難度¨引,因此 Wl Z n e t 公司最新推出了 W5 1 0 0,它是在 W3 1 5 0 A+的基礎上,集成了以太網物理層 R T L 8 2 0 1 C P核,將 T C P / I P協議棧、以太網的 M A C和 P H Y的 3種功能集於一體.W5 1 0 0不僅保留了原來與 MC U接口的並行總線接口,還增加了 S P I串行總線接口. W5 1 0 0將 1 0/ 1 0 0 Mb p s以太網MA C和 P H Y集成到自動 M D I X,具有 1 6   k B數據緩衝區,線路傳輸率可達2 5   Mb p s .此外,它最大的特點是除了支持 T C P, A R P , I C M P等硬件協議棧外,還支持 P P P O E協議,不需要經過電腦就能直接接人 A D S L,以實現數據通信。W5 1 0 0可以用於要求高通信速率的地方,如機頂盒、數字錄像機、以太網絡、遠程控制器等. W5 1 0 0“ 3合 1”的功能可以滿足各種單片機在沒有操作系統的支持下接人 I n t e r ac t,而且操作簡單、可靠,價格低廉,已被廣泛應用於各種安全監測、音視頻傳輸、遠程信息傳輸等領域.

1 .1 芯片管腳分布與功能

W5 1 0 0引腳分布如圖 1所示.

W5 1 0 0有 8 0個管腳,採用 L Q F P封裝方式,按照功能可以將其分為以下 6類.

1 .1.1   MC U接口類管腳

與微處理器接口類管腳有3 3個,包括4種.

( 1 ) 地址總線引腳( 1 5個)   A D D R[ 1 4~ 0]分別對應 3 8— 4 2和4 5— 5 4管腳,這些引腳用來選擇寄存器或存儲器.在 W5 1 0 0與 M C U間採用總線方式通信時,要利用這些地址總線.

( 2 ) 數據總線引腳( 8個) D A T A[ 7~0 ]分別對應管腳 l 9~ 2 6,這些引腳用來向W5 1 0 0內部讀寫數據.

( 3 ) 控制總線引腳 ( 5個)  / R E S E T為 5 9腳,作為對 W5 1 0 0芯片進行初始化的引腳,低電平有效;/ C S為5 5腳,作為對 W5 1 0 0芯片進行片選的引腳,低電平有效;/ I N T為5 6腳,是中斷輸出引腳,當W5 1 0 0內部有中斷髮生時,該引腳輸出低電平;/ WR,/ R D為5 7和5 8引腳,是讀寫控制信號,在向W5 1 0 0內部讀寫數據時由MC U發出控制信號.

( 4 ) S P I 接口引腳( 5個)   S E N為 3 O腳, S P I 接口使能引腳,使該引腳為低電平,則 S P I 模式禁止,否則有效;S C L K為2 9腳, S P I 時鐘輸入;/ S C S為2 8腳, S P I從模式選擇,低電平有效; MO S I 為2 7腳, S P I主出從人數據線引腳; MI S O為 2 6腳,主人從出數據線引腳。

1 .1.2 以太網物理層管腳

共有 8個管腳,包括以下4種.

( 1 ) 輸入差分信號線對引腳( 2個)   R X I P為 5腳,是信號線對的正極管腳; R X I N為6腳,是信號線對的負極管腳.

( 2 ) 輸出差分信號線對引腳( 2個)   R X O為 8腳,是信號線對的正極管腳; R XO N為 9腳,是信號線對的負極管腳.

( 3 ) 運行控制模式引腳( 3個)   O P MO D E [ 2—0 ]為 6 5— 6 3引腳,向3個引腳輸人不同的信號,以太網物理層將工作在不同的模式下.如: 0 0 0為自動握手, 0 0 1為 1 0 0 B A S E — T X   F D S/ HD X自動握手等,其餘模式參見參考文獻[ 1 ].

( 4 ) 其他( 1個)   R S E T — B G為 1腳,該引腳需要對地外接一個 1 2 . 3   k Q、誤差 1%的電阻.

1.1.3 時鐘信號管腳

X T L P為7 6腳, X T L N為 7 5腳,用來外接 2 5MHz的晶振.

1.1.4 工作狀態 L E D燈信號管腳

工作狀態 L E D燈信號管腳共 6個. W5 1 0 0芯片的6 6, 6 7 , 7 O~7 3引腳分別輸出連接、連接速度、雙工模式、 I P地址衝突、接收,以及發送狀態信號,分別連接一個 L E D燈顯示,低電平有效.

1.1.5 電源管腳

W5 1 0 0芯片有 3 .3 V和 1.8 V兩種工作電壓,其中1.8V由芯片內部產生, 3.3V電源由外部電路提供.

1.1.6 其他管腳

( 1 ) 模式選擇引腳 ( 4個) T E S T— M O D E[ 3~0 ]為 3 4~3 7共 4個引腳, W5 1 0 0模式選擇,0 0 0 0為通用模式,其他作內部測試.

 

圖1  W5 1 0 0管腳分布

( 2 ) N C引腳( 7個)主要有 3 , 6 0~6 2, 7 8~8 O共 7個引腳供廠家測試之用。

1.2  W5 1 0 0內部結構

W5 1 0 0的內部結構如圖2所示.其芯片主要由4部分組成,即:硬件 T C P/ I P內核;微控器MC U接口單元;發送/接收數據緩衝區;以太網物理層單元.

W5 1 0 0內含公共寄存器、端口寄存器、發送和接收數據緩存器,佔用 3 2   k B的存儲器地址空間.其中, O x O 0 0 0~O x 0 0 2 F單元為公共寄存器,O x 0 4 0 0一O x 0 7 F F單元為端口寄存器, O x 4 0 0 0一O x 5 F F F單元為發送存儲器, O x 6 0 0 0一O x 7 F F F單元為接收存儲器,其餘為保留區域.

1.2.1 公共寄存器

公共寄存器主要包括模式寄存器 ( M R)、網關地址寄存器 ( G WR) 、子網掩碼寄存器( S U B R)、本機硬件地址寄存器( S H A R) 、本機 I P地址寄存器 ( S I P R)、中斷寄存器 ( I R) 、中斷屏蔽寄存器( I MR)、重試時間寄存器( R T R ) 、重試次數寄存器( R C R)、接收數據緩衝區大小寄存器( R MS R) ,以及發送數據緩衝區大小寄存器( T MS R)等.

 

圖2  W5 1 0 0內部結構

 

( 1 ) 本機配置寄存器包括 S I P R, S U B R, S H A R, G WR等 4個寄存器,主要用於存放本機的I P地址、子網掩碼、硬件地址,以及網關 I P.WS 1 0 0在進行通信前,要事先對這些寄存器進行配置.

( 2 ) 中斷相關寄存器包括 I R和 I MR寄存器. I R的 D。~D  中,除 D 外的 7位分別為W5 1 0 0的7個中斷源標誌位.

D 0-D 3為 W5 1 0 0的 4個端口的中斷標誌位, S o c k e t發生中斷時,產生置位.第 5位顯示P P P O E連接是否結束,如果結束,該位置為 1;第6位為目標未可連接的顯示位;第7位為 I P產生衝突時的顯示位. 5, 6 , 7位都可通過對該位寫“ 1”實現自動清零.任何中斷位都可以被 I MR中的位屏蔽.

( 3 ) 數據緩衝區設置寄存器包括 R M S R和T MS R寄存器,主要設置接收/發送數據緩衝區的大小.接收/發送數據緩衝區各共有 8 k ,通過對R MS R和T MS R的設置,可以靈活分配4個通道的緩衝區大小.

1.2.2 端口寄存器

端口寄存器主要用於網絡連接後控制各個通路的數據收發. W5 1 0 0支持 4條通路,與其對應的有完全等價的4套接字寄存器,即Sn  =S0, S1 , S2, S3 .通道均有一套獨立的寄存器設置.

( 1 ) 端口命令寄存器( Sn _ C R )  主要用於控制相應端口的初始化、關斷,以及建立連接和終止、數據傳輸、命令接收.對該位寫入相應的數值,即可實現不同的控制.

( 2 ) 端口中斷寄存器( Sn_I R)  主要用於通報通路連接情況, Sn_ I R的 D0-D4 分別對應連接、斷開、接收、超時、發送成功等操作狀態.

( 3 ) 端口狀態寄存器( Sn_S R)  用於顯示相應端口的各種狀況.例如,設 Sn_S R初始狀態為SOCK— C L O S E D,當命令寄存器被置為 L I S T E N時,而 S o c k e t ( n ) 被置為 T C P服務器模式且正常建立連接.此時, Sn_ S R= S O C K— L I S T E N;當命令寄存器被置為 O P E N,模式為 U D P時,則 Sn_S R=S o c k— UDP.

 

2           W5 1 0 0應用實例

2.1    單片機與 W5 1 0 0接口設計

本文以A T 8 9 S 5 1單片機為微控制器,簡要介紹 W5 1 0 0芯片的應用設計.採用總線接口方式,以提高數據的傳輸速率,且方便接口.總線接口方式需要單片機提供較多的 I/ O 線,但連接方法簡單,只需要 W5 1 0 0芯片的地址總線、數據總線和控制總線與單片機 A T 8 9 S 5 1的相應總線對應連接即可.

圖3是 W5 1 0 0芯片的外圍連接電路.圖4是A T 8 9 S 5 1單片機控制電路.地址總線為 A15  ~0, 其中A14 ~A0   連接 W5 1 0 0芯片地址總線 A14~ A 0 , A15連接 W5 1 0 0芯片的/ C S腳.因此, W5 1 0 0芯片的地址是 0 0 0 0 H~ 7 F F F H.單片機可以通過其總線結構方便地訪問 W5 1 0 0芯片內部的所有寄存器.由於W5 1 0 0芯片內部集成了以太網物理層單元,因此可以省去 W3 1 0 0 A芯片應用電路中如 R T L 8 2 0等的以太網物理層芯片,以簡化電路,節約成本,提高電路的可靠性。

2.2    W5 1 0 0通信程序設計

要利用 W5 1 0 0模塊實現數據在因特網中的傳輸,需要編寫單片機控制程序. A T 8 9 $ 5   1單片機程序可以採用彙編語言或者 C語言. C語言的主要處理程序如下.

( 1 ) 初始化 i n i t W5 1 0 0 A 0//初始化 W5 1 0 0 ,設置各個接受/發送數據緩衝區的大小;s e t g a t e w a y ( i p )//設置網關; s e t M A C A d d r ( i p ) //設置物理地址; s e t s u b ma s t ( i p ) //設置子網掩碼; s e t l P ( i p )//設置 l P地址; s e t R C R( t i m e )//設置超時時間; i n i t — s o c k( i, I p o r t , f l a g, 0 , Sn_MR_T C P )//初始化各個套接字.

( 2 ) 連接 s o c k e t ( i, S   一MR _ T C P, l o c a l – -p o r t +l n c+ +, 0)//設置 T C P方式, C l i e n t端口;c o n n e c t ( i, i p , p o r t)//連接設定了 I P和端口的服務器.

( 3 ) 數據發送和傳輸 r e c v ( i, r x — b u f, l e n ) //S o c k e t ( i )接收l e n長度的數據,存放於 I X— b u f 中;s e n d ( i, t x — b u f, l e n ) // S o c k e t ( i )通過 t x — b u f發送l e n長度的數據.

 

圖 3  W5 1 0 0芯片外圍電路

 

圖4單片機控制電路

 

3   結 語

W5 1 0 0芯片的推出,大大簡化了硬件電路設計,使單片機系統在沒有操作系統支持下,真正使單芯片接人 I n t e r ac t成為現實. W5 l O 0在以往的網絡接口芯片基礎上,將 T C P/ I P協議棧、以太網MA C和 P H Y集成在一塊芯片上,大大簡化了硬件設計難度.而且通過內部嵌入硬件協議棧,省去了傳統繁瑣的以太網協議編寫和調試步驟,加快了系統開發速度,因此該芯片應用前景良好.

 

文/王計元 (上海電力學院計算機與信息工程學院

 

更多有關W5100的博文請看這裡:

http://blog.iwiznet.cn/?page_id=329

全硬件TCP/IP嵌入式以太網控制器——W5100E01-AVR http://blog.iwiznet.cn/?p=432

開源硬件-開源思潮到了? http://blog.iwiznet.cn/?p=316

WIZnet員工Richard培訓筆記: WIZnet核心技術和產品對比 http://blog.iwiznet.cn/?p=29