版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、v1.0可編輯可修改目錄1引言.31.1編寫目的 .31.2定義 .31.3參考資料 .32W5300控制器的實(shí)現(xiàn)流程 .42.1實(shí)現(xiàn)流程圖 .42.2流程簡要說明 .43流程控制 .53.1W5300 RESET.53.2W5300初始化 .53.2.1數(shù)據(jù)位寬設(shè)置 .53.2.2主機(jī)接口模式和時序設(shè)置 .53.2.3host 主機(jī)中斷設(shè)置 .83.2.4基本網(wǎng)絡(luò)信息設(shè)置 .103.2.5重新發(fā)送參數(shù)設(shè)置 .113.2.6SOCKETn的內(nèi)部 TX/RX 存儲器空間分配設(shè)置 .113.3數(shù)據(jù)通信 .133.3.1SOCKET初始化 .143.3.2SOCKET建鏈 .173.3.3SOCKE
2、T數(shù)據(jù)通信 .213.3.4SOCKET關(guān)閉 .234邏輯實(shí)現(xiàn)方案 .244.1邏輯架構(gòu) .244.2接口控制模塊 .254.2.1讀時序?qū)崿F(xiàn) .254.2.2寫時序?qū)崿F(xiàn) .264.2.3實(shí)現(xiàn)狀態(tài)機(jī) .274.2.4接口定義 .284.3主控制模塊 .284.3.1實(shí)現(xiàn)狀態(tài)機(jī) .284.3.2接口定義 .304.4初始化配置模塊 .304.4.1實(shí)現(xiàn)狀態(tài)機(jī) .304.4.2接口定義 .304.5SOCKET驅(qū)動模塊 .304.5.1實(shí)現(xiàn)狀態(tài)機(jī) .314.5.2接口定義 .325性能指標(biāo) .325.1支持 SOCKET數(shù)以及協(xié)議 .325.2網(wǎng)絡(luò)延時 .325.3傳輸帶寬 .331 1 /37v
3、1.0可編輯可修改6使用指南336.1接口說明336.2配置參數(shù)說明366.3關(guān)鍵時序376.4狀態(tài)寄存器372 2 /37v1.0可編輯可修改1 引言1.1編寫目的1.2定義1.3參考資料 W5300中文用戶數(shù)據(jù)手冊3 3 /37v1.0可編輯可修改2 W5300控制器的實(shí)現(xiàn)流程本 W5300控制器在 16 位數(shù)據(jù)的直接模式地址方式的基礎(chǔ)上實(shí)現(xiàn)。2.1實(shí)現(xiàn)流程圖start (power up )W5300 reset( active low , hold 2us )wait for at least 10msW5300 initialization( host interface 、netw
4、ork info&memory for socketn)Data communication2.2流程簡要說明1. W5300 reset : W5300 工作之前,需要對其進(jìn)行復(fù)位,復(fù)位低電平有效,并且至少保持2us( W5300不支持上電復(fù)位,必須通過 /reset 接口對其進(jìn)行復(fù)位) 。2.Wait for at least 10ms: W5300復(fù)位后,需要等待至少10ms使得 W500內(nèi)部鎖相環(huán)穩(wěn)定后,才能進(jìn)行W5300初始化操作。3. W5300 initialization :初始化 W5300就是將相應(yīng)的參數(shù)按照寫時序要求寫入寄存器。初始化分為 3 個步驟:1) 主機(jī)接口配置:
5、設(shè)置主機(jī)接口模式和時序,設(shè)置數(shù)據(jù)位寬,設(shè)置主機(jī)中斷。2)設(shè)置網(wǎng)絡(luò)信息:設(shè)置數(shù)據(jù)通信的基本信息(SHAR、GAS、 SBUS和 SIPR);設(shè)置重新發(fā)送的時間間隔和重發(fā)次數(shù)。3)內(nèi)部 TX/RX 存儲器分配: 定義內(nèi)部TX/RX 存儲器大小及SOCKTEn的 TX/RX 存儲器大4 4 /37v1.0可編輯可修改小。4. Data communicate :對使用的 COCKETn初始化,進(jìn)行發(fā)送、接收數(shù)據(jù)及相關(guān)配置。3 流程控制3.1W5300 RESET通過 W5300芯片的 /RESET接口對芯片進(jìn)行復(fù)位,低電平有效。RESET信號低電平至少持續(xù)2us ,為了使鎖相環(huán)邏輯穩(wěn)定,復(fù)位信號恢復(fù)
6、高電平后至少等待 10ms,見圖。W5300不支持上電復(fù)位。因此必須由外部系統(tǒng)給出復(fù)位信號。在復(fù)位信號有效的2us 期間,需要對 BIT16EN接口進(jìn)行配置。 BIT16EN為16/8位數(shù)據(jù)位選擇,它確定W5300的數(shù)據(jù)位的寬度:高電平選擇16 位數(shù)據(jù)位,低電平選擇8 位數(shù)據(jù)位。在復(fù)位期間,它被鎖存在模式寄存器(MR)的第 15 位,復(fù)位后它的改變不會產(chǎn)生影響。即數(shù)據(jù)位的寬度在復(fù)位后不會發(fā)生改變。圖 W5300 復(fù)位初始化3.2W5300初始化3.2.1數(shù)據(jù)位寬設(shè)置數(shù)據(jù)位寬的設(shè)置可參見節(jié),根據(jù)實(shí)際使用, BIT16EN接口信號可以始終配置為1。3.2.2主機(jī)接口模式和時序設(shè)置主機(jī)的接口模式和時
7、序設(shè)置即為對W5300的模式( MR)寄存器進(jìn)行配置:MR寄存器地址:0x0005 5 /37v1.0可編輯可修改MR基礎(chǔ)器配置值:0xB800下表為 MR寄存器的配置說明:表 MR寄存器位符號說明MR15DBW數(shù)據(jù)總線寬度0 : 8 位數(shù)據(jù)總線寬度1 : 16 位數(shù)據(jù)總線寬度在 W5300復(fù)位期間,這個值由 BIT16EN 引腳的電平確定。復(fù)位后,這個值不改變 。MR14MPFMAC層終止數(shù)據(jù)報(bào)文0 :正常報(bào)文1 :終止報(bào)文當(dāng)從路由器或交換機(jī)收到終止報(bào)文時,該位置1 。當(dāng)設(shè)置為 1 時,將停止數(shù)據(jù)傳輸,直到該位為0MR13WDF2寫數(shù)據(jù)訪問時間MR12WDF1當(dāng)寫數(shù)據(jù)操作時, /CS 為低電
8、平后,W5300在 WDFPLL_CLK 時間后取寫MR11WDF0入的數(shù)據(jù),如果主機(jī)寫操作在WDFPLL_CLK 完成( /CS 恢復(fù)為高電平),寫入的數(shù)據(jù)在 /CS為高電平時取走M(jìn)R10RDH讀數(shù)據(jù)保持時間0 :沒有數(shù)據(jù)保持時間1 :數(shù)據(jù)保持時間為 2PLL_CLK在主機(jī)進(jìn)行讀操作時, 當(dāng)主機(jī)的讀操作完成 ( /CS 恢復(fù)高電平) 后,W5300在 2PLL_CLK 時間之內(nèi)保持讀取的數(shù)據(jù)。在這種情況下,注意數(shù)據(jù)總線上的數(shù)據(jù)沖突MR9-保留MR8FSFIFO 交換6 6 /37v1.0可編輯可修改0 :禁止交換1 :允許交換它用于高字節(jié)和低字節(jié)的交換。W5300的字節(jié)一般采用大端模式。如果
9、主機(jī)系統(tǒng)采用小端模式,那么將該位置 1 ,將 Sn_TX_FIFOR和Sn_RX_FIFOR的字節(jié)順序交換,使用效果與小端模式相同MR7RST軟件復(fù)位該位置 1 ,對 W5300軟件復(fù)位。復(fù)位結(jié)束后自動清 0 MR6-保留MR5MT存儲器測試0:禁止內(nèi)部 RX/TX 存儲器測試1:允許內(nèi)部存儲器測試一般來講, W5300內(nèi)部 TX 存儲器支持主機(jī)通過Sn_TX_FIFOR寄存器的寫操作,而內(nèi)部RX存儲器只支持主機(jī)通過Sn_RX_FIFOR寄存器的讀操作。如果該位置 1,內(nèi)部RX/TX 存儲器同時支出通過Sn_TX_FIFOR 和Sn_RX_FIFOR的讀寫操作,從而校驗(yàn)內(nèi)部TX/RX 存儲器。
10、測試W5300內(nèi)部 TX/RX 完成后,需要對系統(tǒng)重新復(fù)位或關(guān)閉端口。MR4PBPing 功能阻止模式0:允許 Ping1:禁止 Ping自動 Ping 應(yīng)答支持最多 119個字節(jié)。Ping 功能阻止模式還需要考慮Sn_MR和 Sn_PROTOR的設(shè)置。MR3PPPoEPPPoE模式0:禁止 PPPoE模式1:啟動 PPPoE模式MR2DBS數(shù)據(jù)總線交換0:禁止交換1:允許交換7 7 /37v1.0可編輯可修改DBS位只交換Sn_TX_FIFOR/Sn_RX_FIFOR的高字節(jié)和低字節(jié)。 然而該位交換所有寄存器的高字節(jié)和低字節(jié),包括 Sn_TX_FIFOR/ Sn_RX_FIFOR寄存器。該位
11、只有DBW為1時有效。MR1-保留MR0IND間接總線模式0 :直接總線模式1 :間接總線模式它設(shè)置 W5300與主機(jī)的接口模式3.2.3host 主機(jī)中斷設(shè)置主機(jī)中斷設(shè)置即為對中斷屏蔽寄存器進(jìn)行配置,它配置 W5300的中斷并報(bào)告給主機(jī)。 IMR的每一個中斷屏蔽位對應(yīng)IR 的每一個中斷位。當(dāng) IR 的任何一個位為 1且相應(yīng)的IMR 位也為 1時,將向主機(jī)產(chǎn)生中斷(/INT輸出低電平) 。如果相應(yīng)的IMR位為 0,將不產(chǎn)生中斷( /INT保持高電平),即使 IR 位為 1。IMR寄存器地址:0x004IMR基礎(chǔ)器配置值:0x80FF下表為 IR 寄存器的位說明,可以根據(jù)IR 寄存器對IMR寄存
12、器進(jìn)行配置:表 IR 寄存器位符號說明IR15IPCFIP 沖突當(dāng) IP 地址產(chǎn)生沖突時,該位置1時(當(dāng)接收到ARP請求數(shù)據(jù)包的IP地址與 W5300本機(jī) IP 地址相同)。當(dāng)它置 1時,網(wǎng)絡(luò)中的另外一個設(shè)備使用了相同的IP 地址,將造成通信錯誤。 因此需要盡快采取措施解決這個問題。IR14DPUR目標(biāo)端口無法到達(dá)當(dāng)收到 ICMP (目的端口無法到達(dá))數(shù)據(jù)包時,該位置1 。8 8 /37v1.0可編輯可修改該中斷用于 UDP協(xié)議傳輸。IR13PPPTPPPoE中止在 PPPoE模式,當(dāng)與服務(wù)器連接關(guān)閉時,該位置 1。IR12FMTU分片最大傳輸單元( MTU)當(dāng)收到 ICMP (分片最大傳輸單
13、元)數(shù)據(jù)包時,該位置 1 。在基于 UDP協(xié)議傳輸時,需要考慮。 TCP協(xié)議下可以不需要考慮。IR11:8-保留IR7S7_INTSOCKET7中斷當(dāng) SOCKET7產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S7_IR1。當(dāng)S7_IR1 被主機(jī)清 0后,該位自動清 0。IR6S6_INTSOCKET6中斷當(dāng) SOCKET6產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S6_IR1。當(dāng)S6_IR1 被主機(jī)清 0后,該位自動清 0。IR5S5_INTSOCKET5中斷當(dāng) SOCKET5產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S5_IR1。當(dāng)S5_IR1 被主機(jī)清 0后,該位自動清 0。IR4S4_INTS
14、OCKET4中斷當(dāng) SOCKET4產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S4_IR1。當(dāng)S4_IR1 被主機(jī)清 0后,該位自動清 0。IR3S3_INTSOCKET3中斷當(dāng) SOCKET3產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S3_IR1。當(dāng)S3_IR1 被主機(jī)清 0后,該位自動清 0。IR2S2_INTSOCKET2中斷當(dāng) SOCKET2產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S2_IR1。當(dāng)S2_IR1 被主機(jī)清 0后,該位自動清 0。IR1S1_INTSOCKET1中斷9 9 /37v1.0可編輯可修改當(dāng) SOCKET1產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S1_IR1。當(dāng)S1_I
15、R1 被主機(jī)清 0后,該位自動清 0。IR0S0_INTSOCKET0中斷當(dāng) SOCKET0產(chǎn)生中斷時,該位置 1。該中斷信息對應(yīng)于S0_IR1。當(dāng)S0_IR1 被主機(jī)清 0后,該位自動清 0。3.2.4基本網(wǎng)絡(luò)信息設(shè)置基本網(wǎng)絡(luò)信息設(shè)置,即為對W5300的本機(jī)硬件地址(MAC)寄存器( SHAR)、網(wǎng)關(guān) IP 地址寄存器( GAR)、子網(wǎng)掩碼寄存器(SUBR)和本機(jī)IP 地址寄存器( SIPR)進(jìn)行配置。1) 本機(jī)硬件地址( MAC)寄存器( SHAR)配置:SHAR0寄存器地址: 0x008SHAR0寄存器配置值: MAC47:32SHAR2寄存器地址: 0x00ASHAR2寄存器配置值:
16、MAC31:16SHAR4寄存器地址: 0x00CSHAR4寄存器配置值: MAC15:02) 網(wǎng)關(guān) IP 地址寄存器( GAR)配置:GAR0寄存器地址:0x010GAR0寄存器配置值:GAR31:16GAR1寄存器地址:0x012GAR1寄存器配置值:GAR15:03) 子網(wǎng)掩碼寄存器( SUBR)配置:SUBR0寄存器地址: 0x014SUBR0寄存器配置值: SUBR 31:16SUBR1寄存器地址: 0x016SUBR1寄存器配置值: SUBR 15:04) 本機(jī) IP 地址寄存器( SIPR)10 10 /37v1.0可編輯可修改SIPR0 寄存器地址:0x014SIPR0 寄存器
17、配置值:SUBR 31:16SIPR1 寄存器地址:0x016SIPR1 寄存器配置值:SUBR 15:03.2.5重新發(fā)送參數(shù)設(shè)置重新發(fā)送參數(shù)設(shè)置,即為對W5300的重復(fù)發(fā)送超時寄存器(RTR)和重復(fù)發(fā)送計(jì)數(shù)寄存器( RCR)進(jìn)行配置。1) 重復(fù)發(fā)送超時寄存器( RTR)用于配置重復(fù)發(fā)送超時周期的值。RTR 的標(biāo)準(zhǔn)單位是100us , RTR初始化設(shè)置為2000( 0x7D0 ),超時的時間周期為200ms。RTR寄存器地址: 0x01CRTR寄存器配置值:0x07D0( 200ms)2)重復(fù)發(fā)送計(jì)數(shù)寄存器(RCR)用于配置重復(fù)發(fā)送的次數(shù)。當(dāng)重復(fù)發(fā)送的次數(shù)達(dá)到RCR+1時,將產(chǎn)生超時中斷(S
18、n_IR 的 TIMEOUT位置 1) 。RCR寄存器地址: 0x01ERCR寄存器配置值:0x3 ( 3 次)APP和 TCP的超時計(jì)算可參見W5300的數(shù)據(jù)手冊。3.2.6SOCKETn的內(nèi)部 TX/RX 存儲器空間分配設(shè)置W5300內(nèi)部包含16 個 8K 字節(jié)的存儲單元。這些存儲單元依次映射在128K 字節(jié)的存儲器空間。 128K 存儲器分為發(fā)送存儲器(TX)和接收存儲器(RX)。內(nèi)部 TX 和 RX存儲器以8K字節(jié)為單元分布在128K 字節(jié)空間。內(nèi)部TX/RX 存儲器可以在064K 字節(jié)空間以1K 字節(jié)為單元從新分配給每個SOCKET。1)定義內(nèi)部TX/RX 存儲器大小可以在存儲器單元
19、類型寄存器(MYTPER)中配置,每個 8K 字節(jié)的存儲單元對應(yīng) MTYPER的一個位。當(dāng)該位為 1時, 它用于 TX 存儲器,當(dāng)該位為 0時,它用于 RX存儲器。 MTYPER的低位都配置為 TX 存儲器。其余沒11 11 /37v1.0可編輯可修改有配置為TX存儲器的都應(yīng)該設(shè)置為0。MYTPER寄存器地址:0x030MYTPER寄存器配置值:0x00FF(平均分配)2) 每個 SOCKET的內(nèi)部 TX 存儲器的大小由 TX 存儲器大小配置寄存器( TMSR)配置。每個 SOCKET在復(fù)位后自動分配 8K 字節(jié)的 TX 存儲空間。TMS01R寄存器地址: 0x020TMS01R寄存器配置值:
20、 高 8 位為 SOCKET0的配置值,低 8 位為 SOCKET1的配置值( 0x190E)TMS23R寄存器地址: 0x022TMS23R寄存器配置值: 高 8 位為 SOCKET0的配置值,低 8 位為 SOCKET1的配置值( 0x1900)TMS45R寄存器地址:0x024TMS45R寄存器配置值:高 8 位為 SOCKET0的配置值,低8 位為 SOCKET1的配置值( 0x0000)TMS67R寄存器地址:0x026TMS67R寄存器配置值:高 8 位為 SOCKET0的配置值,低8 位為 SOCKET1的配置值( 0x0000)3) 每個 SOCKET的內(nèi)部 RX存儲器的大小由
21、 RX存儲器大小配置寄存器( RMSR)配置。每個 SOCKET在復(fù)位后自動分配 8K 字節(jié)的 RX存儲空間。RMS01R寄存器地址: 0x028RMS01R寄存器配置值: 高 8 位為 SOCKET0的配置值,低 8 位為 SOCKET1的配置值( 0x190E)RMS23R寄存器地址:0x02ARMS23R寄存器配置值:高 8 位為 SOCKET0的配置值,低8 位為 SOCKET1的配置值( 0x1900)RMS45R寄存器地址:0x02CRMS45R寄存器配置值:高 8 位為 SOCKET0的配置值,低8 位為 SOCKET1的配12 12 /37v1.0可編輯可修改置值( 0x000
22、0)RMS67R寄存器地址:0x02ERMS67R寄存器配置值:高 8 位為 SOCKET0的配置值,低8 位為 SOCKET1的配置值( 0x0000)3.3數(shù)據(jù)通信完成初始化設(shè)置以后,W5300可以以 TCP 、UDP、 IPRAW 或 MACRAW的方式打開SOCKET發(fā)送或接收數(shù)據(jù)。根據(jù)實(shí)際使用,在此只描述基于TCP協(xié)議的 W5300工作方法。在 TCP 模式,首先要根據(jù)IP地址和端口號與對端建立SOCKET連接。通過連接的SOCKET發(fā)送和接收數(shù)據(jù)。建立 SOCKET的連接有“ TCP 服務(wù)器”和“ TCP 客戶端”之分。區(qū)分它們的方法是誰首先發(fā)送連接請求(SYS 數(shù)據(jù)包)?!?TC
23、P 服務(wù)器”等待對端的連接請求,當(dāng)收到連接請求時建立 SOCKET連接(被動打開) ?!癟CP 客戶端”主動發(fā)出連接請求,與對端建立連接(主動打開)。下圖為 W5300在 TCP模式下數(shù)據(jù)通信的工作流程:W5300 initializationData communicate (TCP)Socketn openSocketn openNListenEstabished?ConnectYReceived Data?YNSend Data?YNReceived Fin?YReceiving ProcessSending ProcessDisconnectingProcessNDisconnect?
24、YClosed?NNNTimeout?Timeout?YYYClose13 13 /37v1.0可編輯可修改圖 TCP 模式下數(shù)據(jù)通信工作流程3.3.1SOCKET初始化為了實(shí)現(xiàn) TCP 通信,需要對SOCKET進(jìn)行初始化設(shè)置并打開SOCKET。為了打開SOCKET,選擇其中的一個SOCKET(被選擇的SOCKET稱之為 SOCKETn), 通過 SOCKETn模式寄存器(Sn_MR) 和 SOCKETn源端口號寄存器(Sn_PORTR)分別設(shè)置通信協(xié)議和本機(jī)端口號(在TCP服務(wù)器模式, 稱之為偵聽端口號) ,然后執(zhí)行OPEN命令。 執(zhí)行完 OPEN 命令后, 如果 Sn_SSR改變?yōu)?SOC
25、K_INIT,則 SOCKET的初始化設(shè)置完成。3.3.1.1SOCKETn模式寄存器設(shè)置SOCKETn模式寄存器 (Sn_MR)用于配置SOCKET的協(xié)議類型及相關(guān)一些選項(xiàng)。Sn_MR寄存器地址:0x200 (0x240 、 0x280 )Sn_MR寄存器配置值:0x0121 (隊(duì)列對齊、允許無延時響應(yīng)、TCP模式)下表為 SOCKETn模式寄存器 (Sn_MR)的配置位說明:表 Sn_MR寄存器位符號說明Sn_MR15:9-保留Sn_MR8ALIGN隊(duì)列對齊0:不使用對齊1:使用對齊只有在 TCP 模式下有效,在TCP 通信過程中,當(dāng)每次收到的數(shù)據(jù)包的字節(jié)數(shù)為偶數(shù)且該位置為1時,接收數(shù)據(jù)可
26、直接刪去附在接收數(shù)據(jù)包中的 PACKET-INFO(數(shù)據(jù)的字節(jié)數(shù)) ,使讀取數(shù)據(jù)的操作大大增強(qiáng)。Sn_MR7MULTI多播0:禁止多播1:允許多播只有在 UDP模式下有效14 14 /37v1.0可編輯可修改Sn_MR6MFMAC地址過濾0:禁止 MAC地址過濾1:允許 MAC地址過濾只有在 MACRAW模式下有效Sn_MR5ND使用無延時的ACK0:禁止延時ACK選項(xiàng)1:允許延時ACK選項(xiàng)只有在 TCP 模式下有效, 當(dāng)該位置 1, 收到對端的數(shù)據(jù)包后立即發(fā)送ACK數(shù)據(jù)包響應(yīng)。建議將該位置1,以提高TCP 通信的性能。Sn_MR4-保留Sn_MR3:0P3:0協(xié)議類型。它用于配置每個SOCK
27、ET的通信協(xié)議( TCP、UDP、IPRAW,MACRAW等)或PPPoE SOCKET與 PPPoE服務(wù)器之間的操作。4b0000 : SOCKET Closed ;4b0001 : TCP ;4bxxx0 : 其它3.3.1.2SOCKETn中斷屏蔽寄存器設(shè)置SOCKETn中斷屏蔽寄存器(Sn_IMR)配置 SOCKETn向主機(jī)產(chǎn)生的中斷,Sn_IMR 的中斷屏蔽位與SOCKETn中斷寄存器( Sn_IR)是對應(yīng)的。參考主機(jī)中斷設(shè)置。Sn_IMR寄存器地址: 0x204 ( 0x244、 0x284)Sn_IMR寄存器配置值:0x001B(send_OK、 timeout 、 discon
28、 、 con)下表為 Sn_IR 寄存器的位說明,可以根據(jù)Sn_IR 寄存器對Sn_IMR寄存器進(jìn)行配置:表 IR 寄存器位符號說明Sn_IR7PRECVPPP接收中斷15 15 /37v1.0可編輯可修改接收到不支持的可選數(shù)據(jù)(Option Data)時,該位置位。Sn_IR6PFAILPPP失敗中斷PAP認(rèn)證失敗時該位置位Sn_IR5PNEXTPPP下一過程中斷在 PPPoE連接過程中,該過程改變時置位Sn_IR4SENDOK發(fā)送完成中斷SEND命令完成后置位Sn_IR 3TIMEOUT超時中斷在 ARP和 TCP 過程中超時置位Sn_IR 2RECV接收數(shù)據(jù)中斷端口從對端接收到數(shù)據(jù)時置位
29、Sn_IR 1DISCON斷開連接中斷接收到從對端來的FIN 或 FIN/ACK 數(shù)據(jù)包時置位Sn_IR0CON連接中斷與對端成功建立連接時置位3.3.1.3SOCKETn目的 IP地址寄存器在 TCP 客戶端模式下,運(yùn)行 CONNECT命令之前,必須將 SOCKETn目的 IP 地址寄存器( Sn_DIPR)設(shè)置為 TCP 服務(wù)器的 IP 地址。而在 TCP 服務(wù)器模式,當(dāng)成功建立連接以后,它被 W5300自動配置為 TCP 客戶端的 IP 地址。Sn_DIPR 0 寄存器地址: 0x214 ( 0x254、 0x294)Sn_DIPR 0 寄存器配置值:DIPR 31:16Sn_DIPR
30、1 寄存器地址: 0x216 ( 0x256、 0x296)Sn_DIPR 1 寄存器配置值:DIPR 15:03.3.1.4端口號寄存器設(shè)置端口號寄存器設(shè)置包括對SOCKETn源端口號寄存器 ( Sn_PORTR)和 SOCKETn目的端口號16 16 /37v1.0可編輯可修改寄存器( Sn_DPORTR)的配置。1)SOCKETn源端口號寄存器(Sn_PORTR)用于配置源端口的端口號,必須在OPEN命令之前設(shè)置。Sn_PORTR寄存器地址:0x20A( 0x24A、 0x28A)Sn_PORTR寄存器配置值:2) SOCKETn目的端口號寄存器 ( Sn_DPORTR)用于設(shè)置 SOC
31、KETn的目的端口號。 在 TCP客戶端模式下運(yùn)行CONNECT命令之前,需要將它設(shè)置為處于TCP 服務(wù)器模式下的偵聽端口的端口號。而在TCP 服務(wù)器模式,當(dāng)成功建立連接以后,它被W5300自動配置為TCP 客戶端的端口號。Sn_DPORTR寄存器地址: 0x212 ( 0x252、 0x252)Sn_DPORTR寄存器配置值:3.3.2SOCKET建鏈基于 TCP模式的 SOCKET建鏈,建鏈過程中需要配置及查詢SOCKETn命令寄存器(Sn_CR)、SOCKETn中斷寄存器( Sn_IR)和 SOCKETn狀態(tài)寄存器( Sn_SSR)。SOCKETn命令寄存器地址:0x202( 0x242
32、 、 0x282)SOCKETn中斷寄存器地址:0x206( 0x246 、 0x286)SOCKETn狀態(tài)寄存器地址:0x208( 0x248 、 0x288)下表為 SOCKETn命令寄存器說明:表 SOCKETn命令寄存器值命令說明0x01打開端口它根據(jù) Sn_MR(P3P0)所定義的協(xié)議類型初始化端口并打開端口OPEN0x02偵聽只有在 TCP 模式下有效 (Sn_MR(P3:P0)=Sn_MR_TCP) 它將 SOCKETn設(shè)置LISTEN為 TCP 服務(wù)器模式。它將改變 Sn_SSR 寄存器的 SOCK_INIT 為 SOCK_LISTEN,以等待其它 TCP客戶端的連接請求( S
33、YN數(shù)據(jù)包) 當(dāng) Sn_SSR 為 SOCK_LISTEN且成功處17 17 /37v1.0可編輯可修改理了其它 TCP 客戶端的連接請求時,Sn_IR(0) 將置 1 ,而 Sn_SSR 變?yōu)?SOCK_ESTABLISHED。如果沒有處理連接請求 (SYN/ACK 傳輸失敗 ) ,TCP產(chǎn)生超時( Sn_IR(3)=1 )且 Sn_SSR 變?yōu)?SOCK_CLOSED0x04連接它將端口設(shè)置為 TCP 客戶端模式CONNECT它發(fā)送連接請求到由Sn_DIPR和 Sn_DPORTR指定的 TCP 服務(wù)器。當(dāng)連接請求被成功處理( 收到 SYN/ACK數(shù)據(jù)包 ) ,Sn_IR(0) 置1,且Sn_SSR的狀態(tài)變?yōu)?SOCK_ESTABLISHED。如果連接失敗,可能有三種情況1 ARP 產(chǎn)生超時,因?yàn)槟繕?biāo)硬件地址無法獲得2 沒有收到 SYN/ACK數(shù)據(jù)包而產(chǎn)生超時 (Sn_IR(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Metoprolol-Standard-生命科學(xué)試劑-MCE
- Methyl-elaidate-Standard-生命科學(xué)試劑-MCE
- 浙教版2021-2022學(xué)年度七年級數(shù)學(xué)上冊模擬測試卷 (748)【含簡略答案】
- Metalaxyl-M-Standard-生命科學(xué)試劑-MCE
- MD001-生命科學(xué)試劑-MCE
- 不同就餐人數(shù)廚具配置方案
- 醫(yī)院作風(fēng)整治實(shí)施方案 醫(yī)院行業(yè)作風(fēng)建設(shè)實(shí)施方案
- 集裝箱儲能系統(tǒng)方案
- 鋼屋架課程設(shè)計(jì)有檁條
- 美術(shù)課程設(shè)計(jì)色彩感知
- 托管班標(biāo)準(zhǔn)化流程
- astm_b鹽霧試驗(yàn)標(biāo)準(zhǔn)中文
- 高中世界地理區(qū)域地理填圖
- (完整版)沉井和頂管監(jiān)理細(xì)則
- 高低壓配電室運(yùn)行巡查表
- 竹蓀種植項(xiàng)目可行性研究報(bào)告寫作范文
- 農(nóng)村家庭貧困證明書范文
- starter安裝教程
- 兒科過敏性紫癜護(hù)理查房記錄
- 2022年2022年北京市各區(qū)中考英語一模試卷分類匯編完形填空專題
- 電子儲存環(huán)物理PPT課件
評論
0/150
提交評論