以太網(wǎng)控制芯片W5100的存儲裝置設計
1.2 串口的設計
在實(shí)際應用中,很可能出現數據已經(jīng)存入但是RJ45口損壞而沒(méi)有辦法讀數的情況。為了防止因RJ45口的損壞而導致整個(gè)裝置不可用,可加入串口模塊直接利用串口進(jìn)行讀數。
2 系統工作原理
2.1 工作狀態(tài)圖
工作狀態(tài)圖如圖3所示。本文引用地址:http://dyxdggzs.com/article/173139.htm
2.2 網(wǎng)絡(luò )協(xié)議的選擇
W5100本身集成了高度成熟的TCP/IP協(xié)議棧、以太網(wǎng)MAC層、PHY層等,支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE等協(xié)議。
TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說(shuō),在正式收發(fā)數據前,必須和對方建立可靠的連接。一個(gè)TCP連接必須要經(jīng)過(guò)3次“對話(huà)”才能建立起來(lái)。
UDP是一個(gè)無(wú)連接協(xié)議,傳輸數據之前源端和終端不建立連接,當它想傳送時(shí)就簡(jiǎn)單地去抓取來(lái)自應用程序的數據,并盡可能快地把它扔到網(wǎng)絡(luò )上。雖然UDP是無(wú)連接的協(xié)議,它不保證數據包一定能夠到達目的主機,但是在本應用中存儲器跟主機通常位于同一內部局域網(wǎng)內,網(wǎng)絡(luò )環(huán)境良好,數據丟失的可能性很小。另外,UDP容易實(shí)現,占用資源少,傳輸速度高,可以滿(mǎn)足整個(gè)裝置的應用需要。
3 軟件設計
3.1 主程序設計
軟件實(shí)現的主程序流程如圖4所示。
3.2 寄存器的設置
通過(guò)設置W5100內部的控制寄存器,完全可以像在局域網(wǎng)中配置IP地址一樣簡(jiǎn)單地配置設計的系統。
常用寄存器主要包括:模式寄存器(MR)、網(wǎng)關(guān)地址寄存器(GWR)、子網(wǎng)掩碼寄存器(SUBR)、物理地址寄存器(SHAR)、源IP地址寄存器(SI-PR)、中斷寄存器(IR)、中斷屏蔽寄存器(IMR)、重試時(shí)間寄存器(RTR)、重試次數寄存器(RCR)、接收數據緩沖區大小寄存器(RMSR)、發(fā)送數據緩沖區大小寄存器(TMSR)等。套接字寄存器平均分為4部分,對4個(gè)獨立的網(wǎng)絡(luò )通道單獨設置;發(fā)送和接收數據緩沖區用來(lái)存放臨時(shí)數據。通過(guò)對這些寄存器的設置可以選擇工作模式及協(xié)議棧,設置裝置自己的網(wǎng)關(guān)、IP、子網(wǎng)掩碼、物理地址,還可以對端口進(jìn)行打開(kāi)和關(guān)閉。
用戶(hù)自己定義MAC地址時(shí)必須注意,MAC地址的第一個(gè)字節必須為偶數。第一個(gè)字節為奇數的MAC地址為多播地址,如果把MAC地址的第一個(gè)字節定義為奇數,可能會(huì )引起網(wǎng)絡(luò )通信錯誤。
3.3 讀寫(xiě)程序設計
讀時(shí)序如圖5所示,寫(xiě)時(shí)序如圖6所示。
評論