W5500 Datasheet Version 1.0.2 http://www.wiznet.co.kr Copyright 2013 WIZnet Co., Ltd. All rights reserved.
W5500 W5500 은위즈네트의 Hardware TCP/IP 기술을이용한임베디드용인터넷솔루션으로하나의칩에 TCP/IP 프로토콜처리부터 10/100 Ethernet PHY 와 MAC 을모두내장하고있다. W5500 내부에는 TCP, UDP, IPv4, ICMP, IGMP, ARP, PPPoE 등의통신프로토콜을처리할수있는 Full hardware logic 과버퍼용메모리가있고사용자는동시에 8 개의독립적인하드웨어 Socket 을사용할수있다. W5500 과외부 MCU 는 SPI Interface 방식을통해연결할수있다. W5500 의 SPI 는최대 80MHz 의 SPI main clock 을지원하고기존제품대비효율적인 SPI 프로토콜을제공함으로써고속의네트워크통신을구현할수있다. 또한, 시스템의소비전력을낮추기위해저전력설계와, WOL (Wake On LAN), Power Down mode 를제공한다. Features - Support Hardwired TCP/IP Protocols : TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - Support 8 independent sockets simultaneously - Support Power down mode - Support Wake on LAN over UDP - Support High Speed Serial Peripheral Interface(SPI MODE 0, 3) - Internal 32Kbytes Memory for TX/RX Buffers - 10BaseT/100BaseTX Ethernet PHY embedded - Support Auto Negotiation (Full and half duplex, 10 and 100-based ) - Not support IP Fragmentation - 3.3V operation with 5V I/O signal tolerance - LED outputs (Full/Half duplex, Link, Speed, Active) - 48 Pin LQFP Lead-Free Package (7x7mm, 0.5mm pitch) 2 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Target Applications W5500 은다음과같은 Embedded application 에적합하다. - Home Network Devices: Set-Top Boxes, PVRs, Digital Media Adapters - Serial-to-Ethernet: Access Controls, LED displays, Wireless AP relays, etc. - Parallel-to-Ethernet: POS / Mini Printers, Copiers - USB-to-Ethernet: Storage Devices, Network Printers - GPIO-to-Ethernet: Home Network Sensors - Security Systems: DVRs, Network Cameras, Kiosks - Factory and Building Automations - Medical Monitoring Equipment - Embedded Servers W5500 Datasheet Version1.0.2 (November 2013) 3 / 66
Block Diagram 4 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Table of Contents 1 Pin Assignment... 7 1.1 Pin Descriptions... 7 2 HOST Interface... 12 2.1 SPI Operation Mode... 13 2.2 SPI Frame... 14 2.2.1 Address Phase... 14 2.2.2 Control Phase... 15 2.2.3 Data Phase... 17 2.3 Variable Length Data Mode (VDM)... 17 2.3.1 Write Access in VDM... 18 2.3.2 Read Access in VDM... 21 2.4 Fixed Length Data Mode (FDM)... 24 2.4.1 Write Access in FDM... 25 2.4.2 Read Access in FDM... 26 3 Register and Memory Organization... 27 3.1 Common Register Block... 29 3.2 Socket Register Block... 30 3.3 Memory... 31 4 Register Descriptions... 32 4.1 Common Registers... 32 4.2 Socket Registers... 44 5 Electrical Specifications... 59 5.1 Absolute Maximum Ratings... 59 5.2 Absolute Maximum Ratings (Electrical Sensitivity)... 59 5.3 DC Characteristics... 60 5.4 POWER DISSIPATION... 61 5.5 AC Characteristics... 61 5.5.1 Reset Timing... 61 5.5.2 Wake up Time... 61 5.5.3 Crystal Characteristics... 61 5.5.4 SPI Timing... 62 5.5.5 Transformer Characteristics... 63 5.5.6 MDIX... 63 6 Package Descriptions... 64 Document History Information... 65 W5500 Datasheet Version1.0.2 (November 2013) 5 / 66
Table of Figures Figure 1. W5500 Pin Layout... 7 Figure 2. External reference resistor... 11 Figure 3. Crystal reference schematic... 11 Figure 4. Variable Length Data Mode (SCSn controlled by the host)... 12 Figure 5. Fixed Length Data Mode (SCSn is always connected by Ground)... 12 Figure 6. SPI Mode 0 & 3... 13 Figure 7. SPI Frame Format... 14 Figure 8. Write SPI Frame in VDM mode... 18 Figure 9. SIMR Register Write in VDM Mode... 19 Figure 10. 5 Byte Data Write at 1th Socket s TX Buffer Block 0x0040 in VDM mode.. 20 Figure 11. Read SPI Frame in VDM mode... 21 Figure 12. S7_SR Read in VDM Mode... 22 Figure 13. 5 Byte Data Read at Socket 3 RX Buffer Block 0x0100 in VDM mode... 23 Figure 14. 1 Byte Data Write SPI Frame in FDM mode... 25 Figure 15. 2 Bytes Data Write SPI Frame in FDM mode... 25 Figure 16. 4 Bytes Data Write SPI Frame in FDM mode... 25 Figure 17. 1 Byte Data Read SPI Frame in FDM mode... 26 Figure 18. 2 Bytes Data Read SPI Frame in FDM mode... 26 Figure 19. 4 Bytes Data Read SPI Frame in FDM mode... 26 Figure 20. Register & Memory Organization... 28 Figure 21. INTLEVEL Timing... 34 Figure 22. Reset Timing... 61 Figure 23. SPI Timing... 62 Figure 24. Transformer Type... 63 Figure 25. Package Dimensions... 64 6 / 66 W5500 Datasheet Version1.0.2 (November 2013)
1 Pin Assignment TXN 1 36 INTn TXP 2 35 MOSI AGND 3 34 MISO AVDD 4 33 SCLK RXN RXP DNC AVDD 5 6 7 8 W5500 32 31 30 29 SCSn XO XI/CLKIN GND AGND 9 28 VDD EXRES1 10 27 ACTLED AVDD 11 26 DUPLED NC 12 25 LINKLED NC AGND AVDD AGND AVDD VBG AGND TOCAP AVDD 1V2O RSVD SPDLED 13 14 15 16 17 18 19 20 21 22 23 24 48 47 46 45 44 43 42 41 40 39 38 37 AGND NC NC PMODE0 PMODE1 PMODE2 RSVD RSVD RSVD RSVD RSVD RSTn 48LQFP Figure 1. W5500 Pin Layout 1.1 Pin Descriptions Type I O I/O A PWR GND Input Output Input / Output Analog 3.3V power Ground Table 1. Pin Type Notation Description W5500 Datasheet Version1.0.2 (November 2013) 7 / 66
Table 2. W5500 Pin Description Pin No Symbol Internal Bias 1 Type Description 1 TXN - AO TXP/TXN Signal Pair 2 TXP - AO Data 전송시 PHY 신호 TXP/TXN differential signal pair 를통해전송한다. 3 AGND - GND Analog ground 4 AVDD - PWR Analog 3.3V power 5 RXN - AI RXP/RXN Signal Pair 6 RXP - AI Data 수신시 PHY 신호 RXP/RXN differential signal pair 를통해수신한다. 7 DNC - AI/O Do Not Connect Pin 8 AVDD - PWR Analog 3.3V power 9 AGND - GND Analog ground 10 EXRES1 - AI/O External Reference Resistor 외부 12.4KΩ, 1% 저항과연결한다. 연결방법은 External reference resistor (Figure. 2) 을참조한다. 11 AVDD - PWR Analog 3.3V power 12 - - NC 13 - - NC 14 AGND - GND Analog ground 15 AVDD - PWR Analog 3.3V power 16 AGND - GND Analog ground 17 AVDD - PWR Analog 3.3V power 18 VBG - AO Band Gap Output Voltage 정상적인경우, 25 에서 1.2V 출력전압을갖는다. Note: NC 처리한다. 19 AGND - GND Analog ground 20 TOCAP - AO External Reference Capacitor 외부 4.7uF capacitor 와연결한다. 내부신호의안정을위해 Capacitor 와연결하는회로의길이는최대한짧게한다. 21 AVDD - PWR Analog 3.3V power 22 1V2O - AO 1.2V Regulator output voltage 내부 Regulator 의출력전압이다. 외부 10nF capacitor 와연결한다. 1 Internal Bias after hardware reset 8 / 66 W5500 Datasheet Version1.0.2 (November 2013)
23 RSVD Pull-down I It must be tied to GND. 24 SPDLED - O Speed LED 현재연결된 link 의 speed 를나타낸다. Low: 100Mbps High: 10Mbps 25 LINKLED - O Link LED 현재 link 가성립되어있는지의여부를나타낸다. Low: Link is established High: Link is not established 26 DUPLED - O Duplex LED 현재연결된 link 의 duplex 상태를나타낸다. Low: Full-duplex mode High: Half-duplex mode 27 ACTLED - O Active LED 현재 TX 혹은 RX 동작이발생했을경우 carrier 신호를감지하여동작상태를나타낸다. Low: Carrier sense from the active PMD High: No carrier sense 28 VDD - PWR Digital 3.3V Power 29 GND - GND Digital Ground 30 XI/CLKIN - AI Crystal input / External Clock input External 25MHz Crystal Input. 이 pin 을 single-ended TTL oscillator (CLKIN) 로구동하는경우엔, XO 는 Floating 시킨다. External clock input 을위해서는 3.3V clock 이인가되어야한다. 상세한연결방법은 Crystal reference schematic (Figure. 3) 을참조. 31 XO - AO Crystal output External 25MHz Crystal Output XI/CLKIN 을통해외부 Clock 을인가하면이 pin 은 Floating 시킨다. 32 SCSn Pull-up I Chip Select for SPI bus SPI interface 에서 W5500 을선택하려고할경우 low 로설정한다. Low: selected High: deselected 33 SCLK - I SPI clock input SPI master 로부터입력받는 SPI clock 이다. 34 MISO - O SPI master input slave(w5500) output W5500 Datasheet Version1.0.2 (November 2013) 9 / 66
35 MOSI - I SPI master output slave(w5500) input 36 INTn - O Interrupt output Low: Interrupt asserted from W5500 High: No interrupt 37 RSTn Pull-up I Reset (Active low) 칩을 reset 하기위해서는최소 500us 이상 low 를유지한다. 38 RSVD Pull-down I NC 39 RSVD Pull-down I NC 40 RSVD Pull-down I NC 41 RSVD Pull-down I NC 42 RSVD Pull-down I NC 43 44 45 PMODE2 PMODE1 PMODE0 Pull-up Pull-up Pull-up I I I PHY Operation mode select pins PHY 의네트워크모드를설정하는핀으로자세한내용은아래의표를참조한다 PMODE [2:0] 2 1 0 Description 0 0 0 10BT Half-duplex, Auto-negotiation disabled 0 0 1 10BT Full-duplex, Auto-negotiation disabled 0 1 0 100BT Half-duplex, Auto-negotiation disabled 0 1 1 100BT Full-duplex, Auto-negotiation disabled 1 0 0 100BT Half-duplex, Auto-negotiation enabled 1 0 1 Not used 1 1 0 Not used 1 1 1 All capable, Auto-negotiation enabled. 46 - - - NC 47 - - - NC 48 AGND - GND Analog ground 10 / 66 W5500 Datasheet Version1.0.2 (November 2013)
EXRES1 핀과 12.4KΩ (1%) 저항을아래그림과같이연결한다. Figure 2. External reference resistor Crystal 회로는아래그림을참조한다. Figure 3. Crystal reference schematic W5500 Datasheet Version1.0.2 (November 2013) 11 / 66
2 HOST Interface W5500 은 External HOST Interface 를위해 4 개의 Signals(SCSn, SCLK, MOSI, MISO) 로구성된 SPI(Serial Peripheral Interface) Bus 를제공하며, 오직 SPI Slave 로만동작한다. W5500 의 SPI 는 Chapter 2.3 & Chapter 2.4 에서설명될 SPI Operation Mode (Variable Length Data / Fixed Length Data Mode) 에따라 Figure 4 와 Figure 5 와같이 2 가지방식으로연결될수있다. Figure 4 방식은 SPI Bus 를다른 SPI Device 들과공유할수있는반면, Figure 5 는 W5500 전용 SPI Bus 로사용되어다른 SPI Device 들과공유할수없다. SPI MASTER MCU (External Host) SCSn SCLK MOSI MISO SCSn SCLK MOSI MISO SPI SLAVE W5500 Figure 4. Variable Length Data Mode (SCSn controlled by the host) SPI MASTER MCU (External Host) SCSn SCLK MOSI MISO SCSn SCLK MOSI MISO SPI SLAVE W5500 Figure 5. Fixed Length Data Mode (SCSn is always connected by Ground) SPI 는 SCLK 의극성 (Polarity) 과위상 (Phase) 에따라 4 개의 Mode 0,1,2,3 을지원한다. SPI Mode 0 과 3 은 inactive(idle) 일때 SCLK 의극성이다르며 active 시동일하게동작한다. SPI Mode 0 과 Mode 3 은 Figure 6 과같이 Data signals(mosi & MISO) 는 SCLK 의 Rising edge 때수신 (Sampling) 되며, Falling edge 일때송신 (Toggling) 된다. W5500 은 SPI mode 0 과 3 만을지원한다. 또한 MOSI & MISO signal 은항상 Most Significant Bit(MSB) 부터 Lowest Significant Bit(LSB) 순서로, MOSI signal 을통해송신되거나 MISO Signal 을통해수신된다. 12 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sampling Toggling Toggling Sampling SCLK SCLK MISO/MOSI MISO/MOSI Mode 0 : SCLK idle level low Mode 3 : SCLK idle level high Figure 6. SPI Mode 0 & 3 2.1 SPI Operation Mode W5500 은 External Host 로부터송수신되는 SPI Frame (Chapter 2.2 SPI Frame 을참조 ) 에의해제어된다. W5500 의 SPI Frame 은 Address Phase, Control Phase, Data Phase 와같은 3 개의 Phase 로이루어진다. Address Phase 는 W5500 의 Register 나 TX/RX Memory 에대한 16bits Offset Address 를지정한다. Control Phase 는 Address Phase 에서지정된 Offset Address 가속한 Block 를지정하고, Read/Write Access Mode 및 SPI Operation Mode (Variable Length Data / Fixed Length Data Mode) 를지정한다. 또한 Data Phase 에서는 SPI Operation Mode 에따라임의길이 (N-bytes, 1 N) Data 나 1 byte, 2 bytes & 4 bytes Data 를지정한다. SPI Operation Mode 가 Variable Length Data Mode(VDM) 일경우 SPI Bus Signal SCSn 은반드시 External Host 에의해 SPI Frame 단위로제어되어야한다. Variable Length Data Mode 에서의 SCSn 의제어시작 (Assert (High-to-Low)) 은 SPI Frame 의시작 (Address Phase) 을 W5500 에게알리고, SCSn 의제어종료 (De-assert (Low-to- High) ) 는 SPI Frame 의종료 ( 임의크기 N bytes 의 Data Phase 종료 ) 를 W5500 에게알린다. W5500 Datasheet Version1.0.2 (November 2013) 13 / 66
2.2 SPI Frame W5500 SPI Frame 은 Figure 7 와같이 Address Phase 인 16bits Offset Address, 8bits Control Phase, N bytes 의 Data Phase 로구성된다. 8bits Control Phase 는 Offset Address 가속한 Block 을선택하는 Block Select bits (BSB[4:0]), Read/Write Access Mode bit (RWB), SPI Operation Mode(OM[1:0]) 으로재구성된다. Data Phase Address Phase Control Phase N >= 1 MSB first MSB first N+2 0 1 2 3 Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 16btis Offset Address Control Byte Data 1... Data N Block Select Bits R W OP Mode Figure 7. SPI Frame Format W5500 은 Sequential Data Read/Write 를지원하며, 2/4/N bytes 의 Sequential Data 처리를위해지정된 Offset Address 를시작 (Base) 으로 Data 를처리 ( 송수신 ) 한후자동으로 Offset Address (auto increment addressing) 를 1 씩증가시켜다음 Data 를처리한다. 2.2.1 Address Phase W5500 의 Registers, TX/RX Buffer Block 에대한 16bits Offset Address 를지정한다. 이때 16bit Offset Address 값은 MSB 부터 LSB 순으로순차적으로송신된다. 2/4/N Bytes 의 Data Phase 를갖는 SPI Frame 은 Offset Address 를시작 (Base) 으로매 1 Byte Data 마다자동으로 Offset Address 가 1 씩증가하는 Sequential Data Read/Write 를지원한다. 14 / 66 W5500 Datasheet Version1.0.2 (November 2013)
2.2.2 Control Phase Control Phase 는 Address Phase 에서지정된 Offset Address 가속한 Block 을지정하고, Read/Write Access Mode 그리고 SPI operation Mode 를지정한다. 7 6 5 4 3 2 1 0 BSB4 BSB3 BSB2 BSB1 BSB0 RWB OM1 OM0 Bit Symbol Description Block Select Bits W5500 에는 Common Register, 8 개의 Socket Register, 각각의 Socket 에할당되는 TX/RX Buffer 와같은 Block 들이존재한다. 다음표는 BSB[4:0] 값에따라선택되는 Block 을도식화한다. BSB [4:0] Meaning 00000 Common Register를선택한다. 00001 Socket 0 Register를선택한다. 00010 Socket 0 TX Buffer를선택한다. 00011 Socket 0 RX Buffer를선택한다 00100 Reserved 00101 Socket 1 Register를선택한다. 00110 Socket 1 TX Buffer를선택한다. 00111 Socket 1 RX Buffer를선택한다 7~3 BSB [4:0] 01000 Reserved 01001 Socket 2 Register 를선택한다. 01010 Socket 2 TX Buffer를선택한다. 01011 Socket 2 RX Buffer를선택한다 01100 Reserved 01101 Socket 3 Register를선택한다. 01110 Socket 3 TX Buffer를선택한다. 01111 Socket 3 RX Buffer를선택한다 10000 Reserved 10001 Socket 4 Register를선택한다. 10010 Socket 4 TX Buffer를선택한다. 10011 Socket 4 RX Buffer를선택한다 10100 Reserved 10101 Socket 5 Register를선택한다. 10110 Socket 5 TX Buffer를선택한다. 10111 Socket 5 RX Buffer를선택한다 W5500 Datasheet Version1.0.2 (November 2013) 15 / 66
11000 Reserved 11001 Socket 6 Register를선택한다. 11010 Socket 6 TX Buffer를선택한다. 11011 Socket 6 RX Buffer를선택한다 11100 Reserved 11101 Socket 7 Register를선택한다. 11110 Socket 7 TX Buffer를선택한다. 11111 Socket 7 RX Buffer를선택한다 BSB[4:0] 가 Reserved Bits 들일경우 W5500 의오동작을야기한다. Read/Write Access Mode Bit 2 RWB Read/Write Access Mode 를설정한다. 0 : Read 1 : Write SPI Operation Mode Bits SPI Operation Mode 를설정하는 Bits 이다. SPI Operation Mode 는 Variable Length Data Mode 와 Fixed Length Data Mode 두가지를지원한다. - Variable Length Data Mode (VDM) 1~0 OM [1:0] : SPI Frame 의 Data Phase 에서 N-Bytes 의 Data 를송수신하는하는 Mode 로, Data Length 는 SCSn 의제어로결정된다. External Host 는 SCSn Signal 을 Assert (High-to-Low) 시켜 SPI Frame 의 Address Phase 송신시작을 W5500 에게알리고, OM[1:0] = 00 인 Control Phase 를송신하고, N-Bytes 의 Data Phase 송수신을완료한후, SCSn Signal 을 De-assert (Low-to-High) 시켜 SPI Frame 송수신이완료되었음을 W5500 에알린다. VDM Mode 에서 SCSn 는반드시 External Host 에의해 SPI Frame 단위로제어되어야한다. (Figure 4 참조 ) - Fixed Length Data Mode (FDM) : VDM 에서는 External Host 의 SCSn Control 에의해 Data Length 가결정되는반면, Fixed Length Data Mode 는 00 값이아닌 OM[1:0] 값에의해 Data Length 가결정된다. 따라서, SCSn Signal 은항상 Low 상태를유지해야하며, Data Length 는반드시 1 Byte, 2 Bytes, 4Bytes 중 OM[1:0] 값설정에따라하나의 Length 를갖는다. 16 / 66 W5500 Datasheet Version1.0.2 (November 2013)
(Figure 5 참조 ) 다음표는 OM[1:0] 에따른 SPI Operation Mode 를보여준다. OM[1:0] Meaning 00 Variable Data Length Mode, N-Bytes Data Phase (1 N) 01 Fixed Data Length Mode, 1 Byte Data Length (N = 1) 10 Fixed Data Length Mode, 2 Byte Data Length (N = 2) 11 Fixed Data Length Mode, 4 Byte Data Length (N = 4) 2.2.3 Data Phase Control Phase 의 SPI Operation Mode Bits OM[1:0] 의설정에따라 Data Phase 는 N- Bytes 길이 (VDM mode) 혹은 1, 2, 4 Bytes(FDM mode) 길이의 Data 로설정된다. 이때송수신되는 1 byte Data 는반드시 MSB 부터 LSB 순으로 MOSI 나 MISO Signal 을통해 1 bit 씩순차적으로송수신된다. 2.3 Variable Length Data Mode (VDM) VDM mode 는 External Host 의 SCSn Control 의해 SPI Frame 의 Data Phase Length 가결정되는모드이다. 즉 Data Phase 의 Length 는 SCSn Control 에따라 1 Byte 부터 N Bytes 까지임의의길이를가질수있다. 또한 VDM mode 에서 Control Phase 의 OM[1:0] 는반드시 00 값으로설정되어야한다. W5500 Datasheet Version1.0.2 (November 2013) 17 / 66
2.3.1 Write Access in VDM SCSn SPI Frame Start SCSn shoud be remained low until SPI Frame Transmit done. SCLK MODE3 0 1 2 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 MODE0 16 bits Offset Address BSB[4:0] RWB OM[1:0] 8-bit Data 1 W 0 0 MOSI 15 14 13 3 2 1 0 4 3 2 1 0 7 6 5 4 3 2 1 0 MISO SCSn SCSn Should be remained low until SPI Frame Transmit done. SPI Frame End SCLK... 32 33 34 35 36 37 37 39 8N + 16 8N + 24 8-bit Data 2... 8-bit Data N MOSI 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 MISO Figure 8. Write SPI Frame in VDM mode Figure 8 는 External Host 가 W5500 를 Write Access 할경우 SPI Frame 를보여준다. VDM mode 에서, SPI Frame 의 Control Phase 내의 RWB 는 1 (Write), OM[1:0] 는 00 으로설정된다. 이때 External Host 는 SCSn signal 을 SPI Frame 송신시작전에 Assert (High-to- Low) 하고, SPI Frame 의모든 bits 를 MOSI Signal 을통해 Toggling SCLK(Falling-Edge) 에동기화하여 1 bit 씩 W5500 으로송신하고, SPI Frame 송신완료후에 SCSn Signal 을 Deassert(Low-to-High) 한다. SCSn 이 Low 이고 Data Phase 가계속송신될경우 Sequential Data Write 를지원한다. 18 / 66 W5500 Datasheet Version1.0.2 (November 2013)
1 Byte WRITE Access Example VDM mode 를사용하여 Common Register Block 의 Socket Interrupt Mask Register(SIMR) 에 Data 0xAA 를 Write 할경우다음과같은 SPI Frame 통해 Write 된다. Offset Address = 0x0018 BSB[4:0] = 00000 RWB = 1 OM[1:0] = 00 1 st Data = 0xAA External Host 는 SPI Frame 송신시작전에 SCSn 를 Assert (High-to-Low) 하고, SPI Frame 을 1 bit 씩 Toggling SCLK 에동기화하여송신한다. External Host 는 SPI Frame 송신완료후 SCSn 를 De-assert (Low-to-High) 한다. (Figure 9 참조 ) SCSn Figure 9. SIMR Register Write in VDM Mode W5500 Datasheet Version1.0.2 (November 2013) 19 / 66
N-Bytes WRITE Access Example VDM mode 를사용하여 1 번 Socket 의 TX Buffer Block 0x0040 Address 에 5 Bytes Data (0x11, 0x22, 0x33, 0x44, 0x55) 를 Write 할경우다음과같은 SPI Frame 을통해 5 bytes Data 를 Write 한다. Offset Address = 0x0040 BSB[4:0] = 00110 RWB = 1 OM[1:0] = 00 1 st Data = 0x11 2 nd Data = 0x22 3 rd Data = 0x33 4 th Data = 0x44 5 th Data = 0x55 Figure 10 과같은 N-Bytes Write Access 는 1 번 Socket 의 TX Buffer Block Address 0x0040 ~ 0x0044 에 5 bytes Data 0x11, 0x22, 0x33, 0x44, 0x55 가순차적으로 1 씩증가한 Address 에 Write 되며, SCSn 역시 SPI Frame 송신시작전에 Assert (High-to-Low) 되고, SPI Frame 송신완료후 De-assert (Low-to-High) 된다. SCSn SCSn Figure 10. 5 Byte Data Write at 1th Socket s TX Buffer Block 0x0040 in VDM mode 20 / 66 W5500 Datasheet Version1.0.2 (November 2013)
2.3.2 Read Access in VDM SCSn SPI Frame Start SCSn shoud be remained low until SPI Frame Transmit & Receive done. SCLK MODE3 0 1 2 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 MODE0 16bits Offset Address BSB[4:0] RWB OM[1:0] 8-bit Data 1 MOSI 15 14 13 3 2 1 0 4 3 2 1 0 R 0 0 MISO 7 6 5 4 3 2 1 0 SCSn SCSn Should be remained low until SPI Frame Transmit & Receive done. SPI Frame End SCLK 32 33 34 35 36 37 38 39... 8N + 16 8N + 24 8-bit Data 2... 8-bit Data N MOSI MISO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Figure 11. Read SPI Frame in VDM mode Figure 11 은 External Host 가 W5500 를 Read Access 할경우 SPI Frame 을보여준다. VDM mode 에서, SPI Frame 의 Control Phase 내의 RWB 는 0 (Read), OM[1:0] 는 00 으로설정된다. 이때 External Host 는 SPI Frame 송신시작전에 SCSn Signal 을 Assert (High-to- Low) 하고, MOSI Signal 을통해 Address & Control Phase 를 1 bit 씩 Toggling SCLK (Falling- Edge) 에동기화하여 W5500 으로송신하고, MISO signal 을통해 W5500 으로부터 Sampling SCLK (Rising-Edge) 동기화하여 Data Phase 의모든 Bits 를수신한다. External Host 는 Data Phase 수신완료후 SCSn Signal 을 De-assert (Low-to-High) 한다. SCSn 이 Low 이고 Data Phase 를계속수신할경우 Sequential Data Read 를지원한다. W5500 Datasheet Version1.0.2 (November 2013) 21 / 66
1 Byte READ Access Example VDM mode 를사용하여 7 번 Socket Register Block 의 Socket Status Register(S7_SR) 를 Read 할경우를예로설명한다. 다음과같은 SPI Frame 통해 Read 된다. 이때 S7_SR 은 SOCK_ESTABLISHED (0x17) 라가정한다. Offset Address = 0x0003 BSB[4:0] = 11101 RWB = 0 OM[1:0] = 00 1 st Data = 0x17 External Host 는 SPI Frame 송신시작전에 SCSn Signal 을 Assert (High-to-Low) 하고, SPI Frame 의 Address & Control Phase 를 MOSI Signal 을통하여 W5500 으로송신하고, MISO signal 을통하여 W5500 으로부터 Data Phase 를수신한다. External Host 는 Data phase 수신 완료후 SCSn signal 을 De-assert (Low-to-High) 한다. (Figure 12 참조 ) SCSn Figure 12. S7_SR Read in VDM Mode 22 / 66 W5500 Datasheet Version1.0.2 (November 2013)
N-Bytes Read Access Example VDM mode 를사용하여 3 번 Socket 의 RX Buffer Block 0x0100 Address 에저장되어있는 5 Bytes Data (0xAA, 0xBB, 0xCC, 0xDD, 0xEE) 를 Read 할경우다음과같은 SPI Frame 을통해 5 bytes Data 를 Read 한다. Offset Address = 0x0100 BSB[4:0] = 01111 RWB = 0 OM[1:0] = 00 1 st Data = 0xAA 2 nd Data = 0xBB 3 rd Data = 0xCC 4 th Data = 0xDD 5 th Data = 0xEE Figure 13 과같은 N-Bytes Read Access 는 3 번 Socket 의 RX Buffer BlockAddress 0x0100 ~ 0x0104 에저장되어있는 5 bytes Data 0xAA, 0xBB, 0xCC, 0xDD, 0xEE 가순차적으로 1 씩증가한 Address 에서 Read 되며, SCSn 역시 SPI Frame 에송신시작전에 Assert (High-to-Low) 되고, SPI Frame 의 Data Phase 수신완료후 De-assert (Low-to-High) 된다. SCSn SCSn Figure 13. 5 Byte Data Read at Socket 3 RX Buffer Block 0x0100 in VDM mode W5500 Datasheet Version1.0.2 (November 2013) 23 / 66
2.4 Fixed Length Data Mode (FDM) FDM mode 는 External Host 의 SCSn Control 이불가능할경우사용될수있는모드로, SCSn Signal 은반드시 Low-Tied (Always Connected GND) 되어야하여, 다른 SPI Device 와 SPI Bus 를공유할수없다. (Figure 5 참조 ) VDM mode 에서는 SCSn 의 Control 에따라 Data Phase Length 가결정되는반면, FDM 에서는 Control Phase 의 SPI Operation Mode Bits 인 OM[1:0] 의값 01 / 10 / 11 에따라각기 1, 2, 4 Bytes 로 Data Phase Length 를결정한다. FDM mode 는 SCSn Signal Control 과 OM[1:0] 설정을제외하고, VDM mode 에서사용되는 1Byte, 2 Bytes, 4 Bytes SPI Frame 과동일하므로자세한설명은생략한다. FDM mode 는불가피한상황이아니라면사용을권장하지않는다. 또한 Chapter 2.4.1 & Chapter 2.4.2 에서설명될 1/2/4 Bytes SPI Frame 만을사용해야한다. 그외다른 Data Length 를갖는 SPI Frame 사용은 W5500 의오동작을야기한다. 24 / 66 W5500 Datasheet Version1.0.2 (November 2013)
2.4.1 Write Access in FDM 1 Bytes WRITE Access Figure 14. 1 Byte Data Write SPI Frame in FDM mode 2 Bytes WRITE Access Figure 15. 2 Bytes Data Write SPI Frame in FDM mode 4 Bytes WRITE Access Figure 16. 4 Bytes Data Write SPI Frame in FDM mode W5500 Datasheet Version1.0.2 (November 2013) 25 / 66
2.4.2 Read Access in FDM 1 Byte READ Access Figure 17. 1 Byte Data Read SPI Frame in FDM mode 2 Bytes READ Access Figure 18. 2 Bytes Data Read SPI Frame in FDM mode 4 Bytes READ Access Figure 19. 4 Bytes Data Read SPI Frame in FDM mode 26 / 66 W5500 Datasheet Version1.0.2 (November 2013)
3 Register and Memory Organization W5500 은 1 개의 Common Register Block 과 8 개의 Socket Register Block 들, 각 Socket 에할당된 TX, RX Buffer Block 들을갖는다. 각 Block 들은 SPI Frame 의 BSB[4:0] (Block Select Bits) 를통해선택된다. Figure 20 은 BSB[4:0] 설정에따라선택되는 Block 들과, Common & Socket Register Block 과 Socket TX/RX Buffer Block 들의사용가능한 Offset Address Range( 범위 ) 를보여준다. 각 Socket 에할당된 8 개의 TX Buffer Block 은물리적으로 1 개의 16K Bytes TX Memory 에존재하고각 Block 별로초기값 2KBytes 씩할당된다. 8 개의 RX Buffer Block 역시물리적으로 1 개의 16K Bytes RX Memory 에존재하고각 Block 별로초기값 2KBytes 씩할당된다. 각 Socket 의 TX/RX Buffer Block 은할당된크기에상관없이독립적인 16 bits Offset Address Range (0x0000 ~ 0xFFFF) 내에서 Access 된다. 16 K Bytes TX/RX Memory 에대한구성및 Access 방법은 Chapter 3.3 를참조하라. W5500 Datasheet Version1.0.2 (November 2013) 27 / 66
Block Select Bits Blocks 16bit Offset Address Valid Range Physical 16KB RX Memory 11111 (0x1F) 11110 (0x1E) 11101 (0x1E) 11100 (0x1C) 11011 (0x1B) 11010 (0x1A) 11001 (0x19) 11000 (0x18) 10111 (0x17) 10110 (0x16) 10101 (0x15) 10100 (0x14) 10011 (0x13) Socket 7 RX Buffer Socket 7 TX Buffer Socket 7 Register Reserved Socket 6 RX Buffer Socket 6 TX Buffer Socket 6 Register Reserved Socket 5 RX Buffer Socket 5 TX Buffer Socket 5 Register Reserved Socket 4 RX Buffer... Socket 7 RX Buffer...... 0xFFFF 0xF800 0xF7FF 0xF000 0xEFFF 0x9E2C 0x1000 0x0FFF 0x0800 0x07FF 0x0000... 0x3FFF 0x3E2C 0x3800 0x3000 0x2800 0x2000 0x1800 0x1000 0x0FFF 0x0800 0x0000 Socket 7 RX Buffer (2KB) Socket 6 RX Buffer (2KB) Socket 5 RX Buffer (2KB) Socket 4 RX Buffer (2KB) Socket 3 RX Buffer (2KB) Socket 2 RX Buffer (2KB) Socket 1 RX Buffer (2KB) Socket 0 RX Buffer (2KB) 10010 (0x12) 10001 (0x11) 01000 (0x10) 01111 (0x0F) 01110 (0x0E) 01101 (0x0D) 01100 (0x0C) 01011 (0x0B) 01010 (0x0A) 01001 (0x09) 01000 (0x08) 00111 (0x07) 00110 (0x06) 00101 (0x05) 00100 (0x04) 00011 (0x03) 00010 (0x02) 00001 (0x01) 00000 (0x00) Socket 4 TX Buffer Socket 4 Register Reserved Socket 3 RX Buffer Socket 3 TX Buffer Socket 3 Register Reserved Socket 2 RX Buffer Socket 2 TX Buffer Socket 2 Register Reserved Socket 1 RX Buffer Socket 1 TX Buffer Socket 1 Register Reserved Socket 0 RX Buffer Socket 0 TX Buffer Socket 0 Register Common Register... Socket 1 TX Buffer...... Reserved Socket 0 Register Reserved Common Register 0xFFFF 0xF800 0xF7FF 0xF000 0xEFFF 0x413C 0x1000 0x0FFF 0x0800 0x07FF 0x0000 0xFFFF 0x0031 0x0030 0x0000 0xFFFF 0x003A 0x0039 0x0000... Physical 16KB TX Memory 0x3FFF 0x3800 0x3000 0x2800 0x2000 0x1800 0x1000 0x0FFF 0x093C 0x0800 0x0000 Socket 7 TX Buffer (2KB) Socket 6 TX Buffer (2KB) Socket 5 TX Buffer (2KB) Socket 4 TX Buffer (2KB) Socket 3 TX Buffer (2KB) Socket 2 TX Buffer (2KB) Socket 1 TX Buffer (2KB) Socket 0 TX Bufer (2KB) Figure 20. Register & Memory Organization 28 / 66 W5500 Datasheet Version1.0.2 (November 2013)
3.1 Common Register Block Common Register Block 은 IP Address, MAC Address 와같은 W5500 에전반적으로사용되는정보를설정하며, BSB[4:0] 값 00000 으로선택된다. Common Register Block 은 Table 3 에서정의되는 Offset Address 를갖는 Register 들로구성된다. 각 Register 들의세부기능은 Chapter 4.1 를참조하라. Table 3. Offset Address for Common Register Offset Register Offset Register Offset Register Mode Interrupt Low Level Timer 0x0021 (PHAR3) 0x0000 (MR) 0x0013 (INTLEVEL0) 0x0022 (PHAR4) Gateway Address 0x0014 (INTLEVEL1) 0x0023 (PHAR5) 0x0001 (GAR0) Interrupt PPP Session Identification 0x0002 (GAR1) 0x0015 (IR) 0x0024 (PSID0) 0x0003 (GAR2) Interrupt Mask 0x0025 (PSID1) 0x0004 (GAR3) 0x0016 (IMR) PPP Maximum Segment Size Subnet Mask Address Socket Interrupt 0x0026 (PMRU0) 0x0005 (SUBR0) 0x0017 (SIR) 0x0027 (PMRU1) 0x0006 (SUBR1) Socket Interrupt Mask Unreachable IP address 0x0007 (SUBR2) 0x0018 (SIMR) 0x0028 (UIPR0) 0x0008 (SUBR3) Retry Time 0x0029 (UIPR1) Source Hardware Address 0x0019 (RTR0) 0x002A (UIPR2) 0x0009 (SHAR0) 0x001A (RTR1) 0x002B (UIPR3) 0x000A (SHAR1) Retry Count Unreachable Port 0x000B (SHAR2) 0x001B (RCR) 0x002C (UPORTR0) 0x000C (SHAR3) PPP LCP Request Timer 0x002D (UPORTR1) 0x000D (SHAR4) 0x001C (PTIMER) PHY Configuration 0x000E (SHAR5) PPP LCP Magic number 0x002E (PHYCFGR) Source IP Address 0x001D (PMAGIC) 0x002F 0x000F (SIPR0) PPP Destination MAC Address ~ Reserved 0x0010 (SIPR1) 0x001E (PHAR0) 0x0038 0x0011 (SIPR2) 0x001F (PHAR1) Chip version 0x0012 (SIPR3) 0x0020 (PHAR2) 0x0039 (VERSIONR) 0x003A ~ 0xFFFF Reserved W5500 Datasheet Version1.0.2 (November 2013) 29 / 66
3.2 Socket Register Block W5500 은 8 개의통신 Socket (Channel) 을지원한다. 각 Socket 은 Socket n Register Block (0 n 7) 을통해제어된다. Socket n Register Block 의 n 값은 BSB[4:0] 에의해선택되며, Socket n Register Block 은 Table 4 에서정의되는 Offset Address 를갖는 Register 들로구성된다. 각 Register 의세부기능은 Chapter 4.2 를참조하라. Table 4. Offset Address in Socket n Register Block (0 n 7) Offset Register Offset Register Offset Register Socket n Mode Socket n Destination Port Socket n TX Write 0x0000 (Sn_MR) 0x0010 (Sn_DPORT0) 0x0024 Pointer Socket n Command (Sn_CR) 0x0011 (Sn_DPORT1) 0x0025 (Sn_TX_WR0) 0x0001 (Sn_TX_WR1) Socket n Socket n RX Received Socket n Interrupt Maximum Segment Size 0x0026 Size 0x0002 (Sn_IR) 0x0012 (Sn_MSSR0) 0x0027 (Sn_RX_RSR0) 0x0013 (Sn_MSSR1) (Sn_RX_RSR1) Socket n Status Socket n RX Read 0x0003 (Sn_SR) 0x0014 Reserved 0x0028 Pointer 0x0004 0x0005 Socket n Source Port (Sn_PORT0) (Sn_PORT1) 0x0015 Socket n IP TOS (Sn_TOS) 0x0029 (Sn_RX_RD0) (Sn_RX_RD1) Socket n RX Write Socket n IP TTL 0x002A Pointer Socket n Destination 0x0016 (Sn_TTL) 0x002B (Sn_RX_WR0) Hardware Address (Sn_RX_WR1) 0x0006 (Sn_DHAR0) 0x0017 Socket n Interrupt Mask 0x0007 (Sn_DHAR1) ~ Reserved 0x002C (Sn_IMR) 0x0008 (Sn_DHAR2) 0x001D Socket n Fragment 0x0009 (Sn_DHAR3) Socket n Receive Buffer Offset in IP header 0x000A (Sn_DHAR4) 0x001E Size 0x002D (Sn_FRAG0) 0x000B (Sn_DHAR5) (Sn_RXBUF_SIZE) 0x002E (Sn_FRAG1) Socket n 0x001F Transmit Buffer Size Keep alive timer (Sn_TXBUF_SIZE) 0x002F (Sn_KPALVTR) Socket n Socket n TX Free Size Destination IP Address 0x0020 (Sn_TX_FSR0) 0x0030 Reserved 0x000C (Sn_DIPR0) 0x0021 (Sn_TX_FSR1) ~ 0x000D (Sn_DIPR1) Socket n TX Read Pointer 0xFFFF 0x000E (Sn_DIPR2) 0x0022 (Sn_TX_RD0) 0x000F (Sn_DIPR3) 0x0023 (Sn_TX_RD1) 30 / 66 W5500 Datasheet Version1.0.2 (November 2013)
3.3 Memory W5500 은 Socket 의 TX Buffer 로사용되는 1 개의 16K Bytes TX Memory 와 Socket 의 RX Buffer 로사용되는 1 개의 16K Bytes RX Memory 가있다. 16KB TX Memory 는초기값 2K bytes 씩 8 개 (2K X 8 = 16KB) 의 Socket TX Buffer 로할당된다. 초기할당된 Socket n TX Buffer (0 n 7) 는 Socket n TX Buffer Size Register (Sn_TXBUF_SIZE) 를이용하여변경할수있다. 8 개의 Sn_TXBUF_SIZE 가설정되면 Socket 0 TX Buffer 부터우선적으로 16KB TX Memory 내에설정된 Buffer 크기만큼할당되고, 16KB TX Memory 에실제위치한 Socket n TX Buffer 의 Physical Address 도 ( 자동으로 ) 결정된다. 따라서, 8 개의 Sn_TXBUF_SIZE 총합이 16K Bytes 를초과하지않도록주의해야하며, 초과할경우 Data 송신오류가발생한다. 16KB RX Memory 도역시 16KB TX Memory 와동일한방식으로할당된다. 16KB RX Memory 는초기값 2K Bytes 씩 8 개 (2K X 8 = 16KB) 의 Socket RX Buffer 로할당된다. 초기할당된 Socket n RX Buffer (0 n 7) 는 Socket n RX Buffer Size Register (Sn_RXBUF_SIZE) 를이용하여변경할수있다. 8 개의 Sn_RXBUF_SIZE 가설정되면 Socket 0 RX Buffer 부터우선적으로 16KB RX Memory 내에설정된 Buffer 크기만큼할당되고, 16KB RX Memory 에실제위치한 Socket n RX Buffer 의 Physical Address 도 ( 자동으로 ) 결정된다. 따라서, 8 개의 Sn_RXBUF_SIZE 총합이 16K Bytes 를초과하지않도록주의해야하며, 초과할경우 Data 수신에오류가발생한다. 16KB TX /RX Memory 할당크기는 Chapter 4.2 의 Sn_TXBUF_SIZE & Sn_RXBUF_SIZE 를참고하라. 16KB TX Memory 에위치한 Socket n TX Buffer Block 는 Host 가 Ethernet 을통해전송할 Data 를저장하는 Buffer 이다. Socket n TX Buffer Block 의 16bits Offset Address 는 0x000 부터 0xFFFF 까지 64Kbytes 의 Address Space(Address 공간 ) 을가지며, Socket n TX Write Pointer Register (Sn_TX_WR), Socket n TX Read Pointer Register(Sn_TX_RD) 값을참고하여사용된다. 단, 이 16bits Offset Address 는 Figure 20 과같이자동으로할당된영역내부를가리키는 Address 로변환되어사용된다. Sn_TX_WR, Sn_TX_RD 에대한자세한설명은 Chapter 4.2 를참조하라. 16KB RX Memory 에위치한 Socket n RX Buffer Block 는 Ethernet 을통해수신된 Data 가저장되는 Buffer 이다. Socket n RX Buffer Block 의 16bits Offset Address 는 0x000 부터 0xFFFF 까지 64Kbytes Address Space(Address 공간 ) 을가지며, Socket n RX Read Pointer Register(Sn_RX_RD), Socket n RX Write Pointer Register(Sn_RX_WR) 값을참고하여사용된다. 단, 이 16bits Offset Address 는 Figure 20 과같이자동으로할당된영역내부를가리키는 Address 로변환되어사용된다. Sn_RX_WR, Sn_RX_RD 에대한자세한설명은 Chapter 4.2 를참조하라. W5500 Datasheet Version1.0.2 (November 2013) 31 / 66
4 Register Descriptions 4.1 Common Registers MR (Mode Register) [R/W] [0x0000] [0x00] 2 MR 은 S/W reset, ping block mode, PPPoE mode 에사용된다. 7 6 5 4 3 2 1 0 RST WOL PB PPPoE FARP Bit Symbol Description 7 RST S/W Reset 이 Bit 가 1 인경우내부 register 는초기화되고 reset 후에자동으로 clear 된다. 6 Reserved Reserved Wake on LAN 5 WOL 4 PB 이 bit 가 1 인경우 WOL 모드로설정이된다. WOL 모드에서는 Magic Packet over UDP 을수신하여 Magic Packet 의수신처리가정상적으로완료되면 Interrupt Pin (INTn) 이 0 이된다. 이때, UDP 수신처리를위해임의의 Source port number 를가지는 UDP 소켓의 OPEN 이반드시필요하다. ( 소켓 OPEN 에관한자세한내용은 Socket n Mode Register 를참조하라.) Notice: W5500는 WOL을위해 Magic Packet over UDP를지원한다. 즉,Magic Packet over UDP는 UDP Payload에 6 Bytes의 Synchronization Stream (0xFFFFFFFFFFFF), Target MAC Address의 16 번의반복으로구성되며, Password와같은옵션필드들은무시된다. W5500에서사용하는 Magic Packet over UDP는 source port Number의제한이없다. Ping Block Mode 0 : Disable Ping block 1 : Enable Ping block 이 bit 가 1 인경우 Ping request 에대한 response 를하지않는다. PPPoE Mode 0 : DisablePPPoE mode 3 PPPoE 1 : EnablePPPoE mode 사용자가 ADSL 을사용하고자한다면, 이 Bit 를 1 로설정하여 사용한다. 2 - Reserved 1 FARP Force ARP 2 Register Notation : [Read/Write] [Address] [Reset value] 32 / 66 W5500 Datasheet Version1.0.2 (November 2013)
0 : Disable Force ARP mode 1 : Enable Force ARP mode Datat 가전송될때마다가강제적으로 ARP 를실행하고자한다면, 이 Bit 를 1 로설정하여사용한다. 0 - Reserved GAR (Gateway IP Address Register) [R/W] [0x0001 0x0004] [0x00] GAR 은 default gateway address 를설정할때사용한다. Ex) In case of 192.168.0.1 0x0001 0x0002 0x0003 0x0004 192 (0xC0) 168 (0xA8) 0 (0x00) 1 (0x01) SUBR (Subnet Mask Register) [R/W] [0x0005 0x0008] [0x00] SUBR 은 subnet Mask address 를설정할때사용한다. Ex) In case of 255.255.255.0 0x0005 0x0006 0x0007 0x0008 255 (0xFF) 255 (0xFF) 255 (0xFF) 0 (0x00) SHAR (Source Hardware Address Register) [R/W] [0x0009 0x000E] [0x00] SHAR 은 Source Hardware address 를설정할때사용한다. Ex) In case of 00.08.DC.01.02.03 0x0009 0x000A 0x000B 0x000C 0x000D 0x000E 0x00 0x08 0xDC 0x01 0x02 0x03 SIPR (Source IP Address Register) [R/W] [0x000F 0x0012] [0x00] SIPR 은 Source IP address 를설정할때사용한다. Ex) In case of 192.168.0.2 0x000F 0x0010 0x0011 0x0012 192 (0xC0) 168 (0xA8) 0 (0x00) 2 (0x02) W5500 Datasheet Version1.0.2 (November 2013) 33 / 66
INTLEVEL (Interrupt Low Level Timer Register) [R/W] [0x0013 0x0014] [0x0000] INTLEVEL register 는 Interrupt Assert wait time(i AWT ) 을설정한다. 다음 Interrupt 가발생했을때설정한시간 (I AWT ) 만큼기다린다음칩내부의 INTn 신호를 Low 로 assert 한다. I AWT = (INTLEVEL + 1) PLL CLK 4 (when INTLEVEL > 0) PLL_CLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 SIR 0x0000 0x0001 0x0003 0x0002 S0_IR 0x00 0x04 0x00 b. S1_IR 0x00 0x01 INTn a. c. I AWT d. Figure 21. INTLEVEL Timing Socket 0 에서 Timeout Interrupt 가발생하면 S0_IR(3) = 1 이되고해당 SIR(0) 도 1 로 set 되며 INTn 신호는 Low 로된다. 연속해서 socket1 에서 Connect Interrupt 가발생하면 S1_IR(0) = 1 이되고해당 SIR(1) 도 1 로 set 된다. MCU 는 S0_IR 을 clear(s0_ir = 0x00) 하고해당 SIR(0) 또한 clear 한다. 칩내부의 INTn 신호는 High 로된다. 여기서 S0_IR 이 clear 되었지만, socket1 Interrupt 때문에 SIR 의값은 0x00 이아니다. 따라서칩내부의 INTn 신호는 Low 로되어야한다. 이때 INTLEVEL register 의값이 0x0004 라면칩내부의 INTn 신호는 I AWT (16 PLL_CLK) time 후에 Low 로된다. 34 / 66 W5500 Datasheet Version1.0.2 (November 2013)
IR (Interrupt Register) [R/W] [0x0015] [0x00] IR 은 Interrupt 상태값을가진다. 유지된다. 각비트의값은해당비트에 1 을쓰기전까지 7 6 5 4 3 2 1 0 CONFLICT UNREACH PPPoE MP Reserved Reserved Reserved Reserved Bit Symbol Description 7 CONFLICT IP Conflict ARP 요청에 Source IP address 와같은 IP address 응답이있는경우, 이 Bit 는 1 로설정된다. 6 UNREACH Destination unreachable W5500 이 ICMP (Destination port unreachable) Packet 을수신하는경우 1 로설정된다. 이때, UIPR 과 UPORTR 을 Read 하여 Destination IP address 와 Destination Port 를확인할수있다. 5 PPPoE PPPoE Connection Close PPPoE mode 에서이 Bit 가 1 인경우는 PPPoE 연결이종료되었음을나타낸다. 4 MP Magic Packet WOL mode 에서이 Bit 가 1 인경우 Magic Packet 를수신한것을나타낸다. 3~0 Reserved Reserved W5500 Datasheet Version1.0.2 (November 2013) 35 / 66
IMR(Interrupt Mask Register) [R/W][0x0016][0x00] 각 Interrupt Mask Bit 는 Interrupt register (IR) 의 Bit 와같다. Interrupt Mask Bit 가 1 로설정되어있는경우, IR 의해당 Bit 가 1 로설정되었을때 Interrupt 가발생한다. IMR 의비트가 0 으로설정되어있다면, IR 의해당 Bit 가 1 로설정되더라도 Interrupt 는발생하지않는다. 7 6 5 4 3 2 1 0 IM_IR7 IM_IR6 IM_IR5 IM_IR4 Reserved Reserved Reserved Reserved Bit Symbol Description 7 IM_IR7 IP Conflict Interrupt Mask 0: Disable IP Conflict Interrupt 1: Enable IP Conflict Interrupt 6 IM_IR6 Destination unreachable Interrupt Mask 0: Disable Destination unreachable Interrupt 1: Enable Destination unreachable Interrupt 5 IM_IR5 PPPoE Close Interrupt Mask 0: Disable PPPoE Close Interrupt 1: Enable PPPoE Close Interrupt 4 IM_IR4 Magic Packet Interrupt Mask 0: Disable Magic Packet Interrupt 1: Enable Magic Packet Interrupt 3~0 Reserved Reserved 36 / 66 W5500 Datasheet Version1.0.2 (November 2013)
SIR(Socket Interrupt Register) [R/W] [0x0017] [0x00] SIR 는 Socket Interrupt 의발생여부를알려준다. 즉, Socket Interrupt 가발생하는경우, SIR 의해당 Bit 가 1 로설정된다. 이값은 Sn_IR 값이 0x00 으로 clear 될때까지유지된다. 7 6 5 4 3 2 1 0 S7_INT S6_INT S5_INT S4_INT S3_INT S2_INT S1_INT S0_INT Bit Symbol Description 7 ~ 0 Sn_INT Socket n 에서 Interrupt 가발생한경우, 해당 Bit 는 1 로 설정된다. SIMR (Socket Interrupt Mask Register) [R/W] [0x0018] [0x00] 각 Socket Interrupt Mask Bit 는 Socket Interrupt Register (SIR) 의 Bit 와같다. Interrupt Mask Bit 가 1 로설정되어있다면, SIR 의해당 Bit 가 set 되었을때 Interrupt 가발생한다. SIMR 이 0 으로설정되어있다면, SIR 의해당 Bit 가 1 로설정되더라도 Interrupt 는발생하지않는다. 7 6 5 4 3 2 1 0 S7_IMR S6_IMR S5_IMR S4_IMR S3_IMR S2_IMR S1_IMR S0_IMR Bit Symbol Description 7 ~ 0 Sn_IMR Socket n(sn_int) Interrupt Mask 0: Disable Socket n Interrupt 1: Enable Socket n Interrupt W5500 Datasheet Version1.0.2 (November 2013) 37 / 66
RTR (Retry Time-value Register) [R/W] [0x0019 0x001A] [0x07D0] RTR 은 timeout 주기를설정한다. 이 register 에서 1 값이갖는의미는 100us 와같다. Default timeout 은 2000 (0x07D0) 즉, 200ms 이다. 이값은 CONNECT, DISCON, CLOSE, SEND, SEND_MAC, SEND_KEEP command 이후에상대방의응답이있는지판단하는시간으로사용되며, 그결과로재전송이나 Timeout 이발생하게된다. Ex) When timeout-period is set as 400ms, RTR = (400ms / 1ms) X 10 = 4000(0x0FA0) 0x0019 0x001A 0x0F 0xA0 RCR (Retry Count Register) [R/W] [0x001B] [0x08] RCR 은재전송횟수를설정한다. 재전송횟수가이값이상으로발생하는경우, Timeout Interrupt 가발생한다. Ex) RCR = 0x0007 0x001B 0x07 W5500 에서의 Timeout 은 RTR 과 RCR 로 Data 재전송의시간과횟수를설정할수 있다. W5500 의 Timeout 에대해좀더살펴보면, ARP retransmission timeout 과 TCP retransmission timeout 의 2 가지가있다. 먼저 ARP( RFC 826 참조, http://www.ietf.org/rfc.html) retransmission timeout 살펴보면, W5500 은 IP, UDP, TCP 를이용한통신시상대방의 IP address 로 MAC address 를알기위해자동으로 ARP-request 를전송한다. 이때상대방의 ARPresponse 수신을기다리는데, RTR 의설정대기시간동안 ARP-response 의수신이없으면, Timeout 이발생하고 ARP-request 를 Retransmission 한다. 이와같은작업은 RCR + 1 만큼반복하게된다. RCR + 1 개의 ARP-request retransmission 이일어나고, 그에대한 ARP-response 가 없다면, Final timeout 이발생하게되고, Sn_IR(TIMEOUT) = 1 된다. ARP-request 의 Final timeout(arp TO ) 값은다음과같다. ARP TO = (RTR 0.1ms) (RCR + 1) TCP packet retransmission timeout 을살펴보면, W5500 은 TCP packet (SYN, FIN, RST, Data packet) 을전송하고그에대한 Acknowledgment(ACK) 을 RTR 과 RCR 에의해설정된대기시간동안기다리게된다. 이때상대방으로부터 ACK 가없으면 38 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Timeout 이발생하고이전에보냈던 TCP packet 을 Retransmission 한다. 이와같은 작업은 RCR + 1 만큼반복하게된다. RCR + 1 개의 TCP packet retransmission 이일어나고, 그에대한 ACK 수신이없다면, Final timeout 이발생하게되고, Sn_IR(TIMEOUT) = 1 과동시에 Sn_SR 이 SOCK_CLOSED 로변경된다. TCP packet retransmission 의 Final timeout(tcp TO ) 값은다음과같다. M TCP TO = ( (RTR 2 N ) + ((RCR M) RTR MAX )) 0.1ms N=0 N : Retransmission count, 0 N M M : Minimum value when RTR x 2 (M+1) > 65535 and 0 M RCR RTRMAX : RTR x 2 M Ex) When RTR = 2000(0x07D0), RCR = 8(0x0008), ARP TO = 2000 X 0.1ms X 9 = 1800ms = 1.8s TCP TO = (0x07D0+0x0FA0+0x1F40+0x3E80+0x7D00+0xFA00+0xFA00+0xFA00+0xFA00) X 0.1ms = (2000 + 4000 + 8000 + 16000 + 32000 + ((8-4) X 64000)) X 0.1ms = 318000 X 0.1ms = 31.8s PTIMER (PPP Link Control Protocol Request Timer Register) [R/W] [0x001C] [0x0028] PTIMER 은 LCP echo request 를보내는지속시간을나타낸다. 1 의값은 25ms 를 의미한다. Ex) in case that PTIMER is 200, 200 * 25(ms) = 5000(ms) = 5 seconds PMAGIC (PPP Link Control Protocol Magic number Register) [R/W] [0x001D] [0x00] PMAGIC 은 LCP negotiation 도중에사용될 4byte Magic number 의값을설정한다. Ex) PMAGIC = 0x01 0x001D 0x01 LCP Magic number = 0x01010101 W5500 Datasheet Version1.0.2 (November 2013) 39 / 66
PHAR (Destination Hardware Address Register in PPPoE mode) [R/W] [0x001E-0x0023] [0x0000] W5500 의 PPPoE 과정에서획득한 PPPoE Server 의 Hardware address 를설정한다. Ex) In case that destination hardware address is 00:08:DC:12:34:56 0x001E 0x001F 0x0020 0x0021 0x0022 0x0023 0x00 0x08 0xDC 0x12 0x34 0x56 PSID (Session ID Register in PPPoE mode) [R/W] [0x0024-0x0025] [0x0000] W5500 의 PPPoE 과정에서획득한 PPPoE Server 의 Session ID 를설정한다. Ex) In case that Session ID is 0x1234 0x0024 0025 18 (0x12) 52 (0x34) PMRU (Maximum Receive Unit in PPPoE mode) [R/W] [0x0026-0x0027] [0xFFFF] W5500 의 PPPoE 과정에서 Maximum Receive unit 를설정한다. Ex) in case that maximum receive unit in PPPoE is 0x1234 0x0026 0027 18 (0x12) 52 (0x34) 40 / 66 W5500 Datasheet Version1.0.2 (November 2013)
UIPR (Unreachable IP Address Register) [R] [0x0028-0x002B] [0x00000000] UPORTR (Unreachable Port Register) [R] [0x002C-0x002D] [0x0000] Socket 이 Open 되어있지않은 Destination port number 로 UDP Data 전송을시도할경우 W5500 은 ICMP(Destination port unreachable) packet 를수신한다. 이경우 IR(UNREACH) = 1 이되고, 수신된 ICMP packet 의 Destinaton IP address 와 Unreachable port number 는각각 UIPR 와 UPORTR 을통해알수있다. Ex) In case of 192.168.0.11 0x0028 0x0029 0x002A 0x002B 192 (0xC0) 168 (0xA8) 0 (0x00) 11 (0x0E) Ex) In case of 0x1234 0x002C 002D 18 (0x12) 52(0x34) W5500 Datasheet Version1.0.2 (November 2013) 41 / 66
PHYCFGR (W5500 PHY Configuration Register) [R/W] [0x002E] [0b10111XXX] PHYCFGR 를이용하여 PHY Operation Mode 와 PHY Reset 을설정및 PHY 의 Duplex, Speed, Link 의상태를확인할수있다. Bit Symbol Description 7 RST Reset [R/W] 이 Bit 가 0 로설정되면 W5500 내부 PHY(Internal PHY) 의 Reset 을수행한다. 6 OPMD Configure PHY Operation Mode 1: Configure with OPMDC[2:0] in PHYCFGR 0: Configure with the H/W PINs(PMODE[2:0]) PHY Operation Mode 를 OPMDC[2:0] Bits 나 PMODE[2:0] PINs 을이용하여설정한다. System Reset 시, PHY 는 H/W PINs PMODE[2:0] 에의해 Operation Mode 가설정되나, 이 bit 와 OPMDC[2:0] bits 를이용하여재설정될수있다. OPMDC[2:0] 를이용하고자할경우반드시이 Bit 를 1 로설정한후 PHYCFGR 의 RST bit 를 0 으로설정하여 PHY 를 Reset 한다. Operation Mode Configuration Bit[R/W] PHY 의네트워크모드를설정하는 Bit 로자세한내용은아래의표를 참조한다 5 4 3 Description 0 0 0 10BT Half-duplex, Auto-negotiation disabled 5~3 OPMDC 0 0 1 10BT Full-duplex, Auto-negotiation disabled 0 1 0 100BT Half-duplex, Auto-negotiation disabled 0 1 1 100BT Full-duplex, Auto-negotiation disabled 1 0 0 100BT Half-duplex, Auto-negotiation enabled 1 0 1 Not used 1 1 0 Power Down mode 1 1 1 All capable, Auto-negotiation enabled 2 DPX Duplex Status [Read Only] 1: Full duplex 0: Half duplex 1 SPD Speed Status [Read Only] 1: 100Mpbs based 0: 10Mpbs based 0 LNK Link Status [Read Only] 1: Link up 0: Link down 42 / 66 W5500 Datasheet Version1.0.2 (November 2013)
VERSIONR (W5500 Chip Version Register) [R] [0x0039] [0x04] VERSIONR 은 W5500 chip version 을나타내는 register 이며, Value 로 0x04 를갖는다. W5500 Datasheet Version1.0.2 (November 2013) 43 / 66
4.2 Socket Registers Sn 3 _MR (Socket n Mode Register) [R/W] [0x0000] [0x00] Sn_MR 은 Socket n 의 option 이나 protocol type 등을설정한다. 7 6 5 4 3 2 1 0 MULTI/ MFEN BCASTB ND / MC /MMB UCASTB MIP6B P3 P2 P1 P0 Bit Symbol Description Multicasting in UDP mode 0 : disable Multicasting 1 : enable Multicasting 이 Bit 는 UDP(P[3:0]= 0010 ) 일경우에만유효하다. Multicasting 을사용하기위해 OPEN command 이전에 Socket n destination IP 와 port register 에각각 multicast group address 와 port number 를 write 한다. MULTI/ 7 MFEN 6 BCASTB ND/MC/ 5 MMB MAC Filter Enable in MACRAW mode 0 : disable MAC Filtering 1 : enable MAC Filtering 이 Bit 는 MACRAW(P[3:0]= 0100 ) 일경우에만유효하다. 1 로설정될경우, W5500 은 Broadcasting packet 이나자신에게전송되는 Packet 만을수신하게된다. 0 으로설정될경우, W5500 은 Ethernet 상의모든 Packet 을수신하게된다. Hybrid TCP/IP stack 을구현하고자하는경우, Host 의수신 Overhead 를감소시키기위해이 Bit 를 1 로설정할것을권장한다. Broadcast Blocking in MACRAW and UDP mode 0 : disable Broadcast Blocking 1 : enable Broadcast Blocking UDP Mode(P[3:0]= 0010 ) 경우에 Broadcast Packet 을 Blocking 하기위해이 Bit 는 1 로설정한다. 또한, MACRAW mode(p[3:0]= 0100 ) 일경우에도 Broadcast packet 을수신하지않기위해이 Bit 는 1 로설정한다. Use No Delayed ACK 0 : Disable No Delayed ACK option 1 : Enable No Delayed ACK option, 이기능은 TCP 의경우에만적용됨 (P[3:0]= 0001 ) 3 n is Socket number (0, 1, 2, 3, 4, 5, 6, 7). n is set SNUM[2:0] in Control Bits sets. 44 / 66 W5500 Datasheet Version1.0.2 (November 2013)
만약이 Bit 가 1 로 set 되어있다면 peer 로부터 DATA packet 을수신한 다음곧바로 ACK packet 이전송될것이다. 만약이 Bit 가 0 이라면 ACK packet 은내부 timeout 메커니즘에따라전송된다. Multicast 0 : using IGMP version 2 1 : using IGMP version 1 이 Bit 는 MULTI Bit 가 enable 상태이고 UDP 모드일때유효함 (P3-P0: 0010 ) 추가적으로 multicast 는 IGMP message 에 Join/Leave/Report 와같은 version number 를 Multicast group 으로보낸다. UCASTB 4 MIP6B 3 P3 2 P2 1 P1 0 P0 Multicast Blocking in MACRAW mode 0 : disable Multicast Blocking 1 : enable Multicast Blocking 이 Bit 는 1 일때 Multicast MAC 의 Packet 의수신을 Blocking 하며, MACRAW 모드일경우에만유효함 (P[3:0]= 0100 ) UNICAST Blocking in UDP mode 0 : disable Unicast Blocking 1 : enable Unicast Blocking UDP Mode(P[3:0]= 0010 ) 이면서 Multicating(Sn_MR[7]= 1 ) 기능을사용할경우에 Unicast Packet 을 Blocking 하기위해이 Bit 를 1 로설정한다. IPv6 packet Blocking in MACRAW mode 0 : disable IPv6 Blocking 1 : enable IPv6 Blocking 이 Bit 는 1 일때 IPv6 Packet 의수신을 Blocking 하며, MACRAW 모드일경우에만유효함 (P[3:0]= 0100 ) Protocol 해당 Socket 의 TCP, UDP 의 protocol 을설정한다. P3 P2 P1 P0 Meaning 0 0 0 0 Closed 0 0 0 1 TCP 0 0 1 0 UDP 0 1 0 0 MACRAW * S0_MR_MACRAW 는 Socket 0 에만쓸수있다. W5500 Datasheet Version1.0.2 (November 2013) 45 / 66
Sn_CR (Socket n Command Register) [R/W] [0x0001] [0x00] Sn_CR 은 OPEN, CLOSE, CONNECT, LISTEN, SEND, RECV 와같은 Socket n 의 Command 을설정하는데사용한다. W5500 이 Command 을인식하면 Sn_CR 을자동으로 clear 한다. Sn_CR 이 0x00 으로 clear 되었더라도, 해당 Command 은여전히처리중일수있다. Sn_CR 의 Command 처리가완료되었는지는 Sn_IR 이나 Sn_SR 을확인하면된다. Value Symbol Description Socket n 은초기화되고 Sn_MR P[3:0] 로선택한 protocol 에 따라 open 된다. Sn_MR 에따른 Sn_SR 은다음과같다. Sn_MR (P[3:0]) Sn_SR 0x01 OPEN Sn_MR_CLOSE ( 0000 ) - Sn_MR_TCP ( 0001 ) SOCK_INIT (0x13) Sn_MR_UDP ( 0010 ) S0_MR_MACRAW ( 0100 ) SOCK_UDP (0x22) SOCK_MACRAW (0x02) 0x02 0x04 LISTEN CONNECT. LISTEN 은 TCP mode (Sn_MR P[3:0]= Sn_MR_TCP) 에서만유효하다이모드에서, Socket n 은 TCP CLIENT 로부터 connection-request (SYN packet) 을기다리는 TCP server 로설정된다. 이경우 Sn_SR 의상태는 SOCK_INIT 에서 SOCK_LISTEN 으로바뀐다. Client 의 connection-request 가성공적으로 established 되면 Sn_SR 의상태는 SOCK_LISTEN 에서 SOCK_ESTABLISHED 로변하고 Sn_IR(0) 은 1 로된다. 반면에 connection failure (SYN/ACK packet 전송실패 ) 의경우 Sn_IR(3) 은 1 로 set 되고 Sn_SR 의상태는 SOCK_CLOSED 로변한다. CONNECT 는 TCP mode(sn_mr P[3:0]=Sn_MR_TCP) 에서만유효하고 Socket n 이 TCP CLIENT 로동작할경우사용된다. CONNECT 는 Sn_DIPR 와 Sn_DPORT 로설정된 TCP SERVER 에게 Connect-request(SYN packet) 를전송한다. Connect-request 가성공했을경우 (SYN/ACK packet 을수신했을경우 ), Sn_IR(0)= 1 로되고 Sn_SR 은 SOCK_ESTABLISHED 로변경된다. Connect-request 가실패했을경우는다음과같이 3 가지가있다. - ARP-process 를통해 Destination hardware address 를얻지못하여 ARP TO 가발생 (Sn_IR(3)= 1 ) 한경우 - SYN/ACK packet 를수신못하고 TCP TO 가발생 (Sn_IR(3)= 1 ) 한경우 - SYN/ACK packet 대신 RST packet 을수신했을경우. 46 / 66 W5500 Datasheet Version1.0.2 (November 2013)
0x08 DISCON 위와같은경우 Sn_SR 은 SOCK_CLOSED 상태로바뀐다. DISCON 은 TCP mode 일때만유효하다. W5500 은 TCP SERVER 와 TCP CLIENT 에상관없이, 접속중인상대방에게 Disconnect-request(FIN packet) 를전송하거나 (Active close), 상대방으로부터 Disconnect-request(FIN packet) 을수신했을때 (Passive close), W5500 은 FIN packet 을전송한다. (Disconnectprocess) Disconnect-request 가성공했다면 (FIN/ACK packet 을수신했을경우 ), Sn_SR 은 SOCK_CLOSED 로변경된다. 그러나 Disconnectrequest 가실패했다면, TCP TO 가발생 (Sn_IR(3)= 1 ) 하고 Sn_SR 은 SOCK_CLOSED 로변경된다. 0x10 0x20 0x21 0x22 0x40 CLOSE SEND SEND_MAC SEND_KEEP RECV cf> DISCON 대신 CLOSE 를사용할경우, Disconnect-process (disconnect-request 전송 ) 없이, 단지 Sn_SR 만 SOCK_CLOSED 로변경된다. 그리고통신중상대방으로부터 RST packet 을수신할경우, 무조건 Sn_SR 은 SOCK_CLOSED 로변경된다. Socket n 을 close 한다. 이때 Sn_SR 은 SOCK_CLOSED 로변경된다. SEND 는 Socket n TX Buffer Block 에저장되어있는 Data 를전송하려는크기만큼전송한다. 자세한사항은 Socket n TX Free Size Register (Sn_TX_FSR), Socket n TX Write Pointer Register (Sn_TX_WR), Socket n TX Read Pointer Register(Sn_TX_RD) 를참고하라. SEND_MAC 은 UDP mode 일때만유효하다. 기본동작은 SEND 와같다. SEND 는자동으로 ARP-process 를통해 Destination hardware address 를얻은후 Data 를전송하는반면, SEND_MAC 은 Host 가설정한 Sn_DHAR 을 Destination hardware address 로하여 Data 를전송한다. SEND_KEEP 은 TCP mode 일때만유효하다. Keep alive packet 을송신하여 connection 이유효한지확인한다. 만약상대방이더이상응답이없어서 connection 이유효하지않은경우 connection 을종료한다. Timeout Interrupt 가발생한다. RECV 는 RX read pointer register (Sn_RX_RD) 를이용해서 Socket n RX Buffer 에저장된수신 Data 의 Read 를완료한다. 자세한사항은 Socket n RX Received Size Register (Sn_RX_RSR,), Socket n RX Write Pointer Register(Sn_RX_WR,), 과 Socket n RX Read Pointer Register(Sn_RX_RD,) 를참고하라. W5500 Datasheet Version1.0.2 (November 2013) 47 / 66
Sn_IR (Socket n Interrupt Register) [R] [0x0002] [0x00] Sn_IR register 는 Socket n 의 Interrupt (establishment, termination, receiving Data, timeout) type 과같은정보를제공한다. Interrupt 가발생하고 Sn_IMR 의해당 Mask Bit 가 1 인경우 Sn_IR 의 Interrupt Bit 는 1 로된다. Sn_IR Bit 를 clear 하기위해서는, 해당 Bit 에다시 1 을 write 해야한다. 7 6 5 4 3 2 1 0 Reserved Reserved Reserved SEND_OK TIMEOUT RECV DISCON CON Bit Symbol Description 7~5 Reserved Reserved 4 SEND_OK 3 TIMEOUT 2 RECV 1 DISCON 0 CON Sn_IR(SENDOK) Interrupt SEND OK Interrupt, SEND command 이완료되면발생한다. Sn_IR(TIMEOUT) Interrupt TIMEOUT Interrupt, ARP TO 혹은 TCP TO 가발생한경우발생한다. Sn_IR(RECV) Interrupt Receive Interrupt, peer 로부터 Data packet 이수신된경우발생한다. Sn_IR(DISCON) Interrupt Disconnect Interrupt, peer 로부터 FIN packet 이나 FIN/ACK packet 을수신한경우발생한다. Sn_IR(CON) Interrupt Connect Interrupt, peer 와연결이성립되어 Socket status 가 established 로바뀔때 1 번발생한다. 48 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sn_SR (Socket n Status Register) [R] [0x0003] [0x00] Sn_SR 은 Socket n 의 Socket 상태를알려준다. Socket status 는 Sn_CR 의 Command 나, packet 송수신중에변경될수있다. Value Symbol Description 0x00 SOCK_CLOSED Socket n 의 resource 가 release 된상태. DISCON, CLOSE command 가수행되거나 ARP TO, TCP TO 가발생했을경우이전값에관계없이이상태로변한다. 0x13 SOCK_INIT Socket n 이 TCP mode 로 open 된상태. Sn_MR P[3:0]= Sn_MR_TCP 이고 OPEN command 을 사용했을때, Sn_SR 의상태는 SOCK_INIT 으로변한다. LISTEN 과 CONNECT command 을사용할수있다. 0x14 SOCK_LISTEN Socket n 이 TCP server mode 로동작하며, TCP CLIENT 로부터 connection-request(syn packet) 를기다리는상태. LISTEN command 를사용하면이상태로변한다. SOCK_LISTEN 상태에서 TCP CLIENT 의 Connect-request (SYN packet) 를성공적으로처리했을경우 Sn_SR 상태는 SOCK_ESTABLISHED 로변하고, 실패했을경우 TCP TO 가 발생 (Sn_IR(TIME OUT)= 1 ) 하고 SOCK_CLOSED 로변한다. 0x17 SOCK_ESTABLISHED TCP 연결이성립된상태. TCP SERVER 가 SOCK_LISTEN 상태에서 TCP CLIENT 의 SYN packet 처리를성공했을경우나 TCP CLIENT 의 CONNECT command 가성공했을경우, Sn_SR 은 SOCK_ESTABLISHED 로변한다. 이상태에서 SEND 와 RECV command 를수행하여 DATA packet 을송수신할수있다. 0x1C SOCK_CLOSE_WAIT Peer 로부터 disconnect-request(fin packet) 를수신한 상태. TCP connection 이완전히 disconnect 된것이아닌 half-close 상태이므로 DATA packet 송수신이가능하다. TCP connection 을완전히 disconnect 하기위해서는 DISCON command 을수행해야한다. 하지만단순히 Socket 을 close 할경우 CLOSE command 을수행한다. 0x22 SOCK_UDP Socket n 이 UDP mode 로 Open 된상태. Sn_MR P[3:0]=Sn_MR_UDP 인상태에서 OPEN command 이수행되었을때 Sn_SR 은 SOCK_UDP 상태로바뀐다. TCP mode Socket 과달리 connection-process 없이 DATA packet 을송수신할수있다. W5500 Datasheet Version1.0.2 (November 2013) 49 / 66
0x42 SOCK_MACRAW Socket 0 가 MACRAW mode 로 Open 된상태. S0_MR P[3:0]=S0_MR_MACRAW 이고 OPEN command 이수행될때이상태로바뀐다. UDP mode Socket 처럼 connection-process 없이직접 MAC packet (Ethernet frame) 을송수신할수있다. 아래의 Socket status 는 Sn_SR 의천이과정에서관찰되는 Temporary Status 들이다. Value Symbol Description 0x15 SOCK_SYNSENT TCP CLIENT 가 TCP SERVER 에게 Connect-request (SYN packet) 를전송한상태. CONNECT command 에 의해 Sn_SR 의 상태가 SOCK_INIT 에서 SOCK_ESTABLISEHD 로바뀔때나타난다. 이상태에서 TCP SERVER 로부터 Connect-accept (SYN/ACK packet) 를수신할경우, Sn_SR 의상태는자동으로 SOCK_ ESTABLISHED 상태로바뀐다. 하지만 TCP SERVER 로부터 TCP TO 가발생하기전까지 (Sn_IR(TIMEOUT)= 1 ) SYN/ACK packet 을수신하지못할경우에는 SOCK_CLOSED 상태로바뀐다. 0x16 SOCK_SYNRECV TCP SERVER 가 TCP CLIENT 로부터 connect-request (SYN packet) 를수신한상태. 이상태에서 W5500 이 connect-request 에대한응답으로 connect-accept (SYN/ACK packet) 을 TCP CLIENT 에게성공 적으로 전송했을 때 자동으로 SOCK_ESTABLISHED 로 바뀐다. 하지만전송에실패했을때 Timeout Interrupt 가발생하고 (Sn_IR(TIME OUT)= 1 ) SOCK_CLOSED 로바뀐다. 0x18 SOCK_FIN_WAIT Socket n 이 Closing 되는상태로서, Active close 나 Passive close 인경우의 Disconnect-process 에서나타나는상태. 0x1A SOCK_CLOSING Disconnect-process 과정이 성공적으로 완료되거나, 0X1B SOCK_TIME_WAIT Timeout Interrupt 가발생하면 (Sn_IR(TIMEOUT)= 1 ) SOCK_ CLOSED 상태로변한다. 0X1D SOCK_LAST_ACK Passive Closing 인경우 W5500 이전송한 FIN packet 의 FIN/ACK packet 을기다리는상태. Timeout Interrupt 가발생하면 (Sn_IR(TIMEOUT)= 1 ) SOCK_ CLOSED 상태로변한다 50 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sn_PORT (Socket n Source Port Register) [R/W] [0x0004-0x0005] [0x0000] Sn_PORT 는 Source Port Number 를설정한다. Socket n 을 TCP 나 UDP mode 로사용할때만유효하며, 그외 mode 는무시된다. OPEN command 이전에반드시설정해야한다. Ex) In case of Socket 0 Port = 5000(0x1388), configure as below, 0x0004 0x0005 0x13 0x88 Sn_DHAR (Socket n Destination Hardware Address Register) [R/W] [0x0006-0x000B] [0xFFFFFFFFFFFF] Sn_DHAR 은 Socket n 의 Destination hardware address 를설정한다. UDP 에서 SEND_MAC command 를사용할경우 Socket n 의 Destination hardware address 를설정한다. 또한 TCP, UDP mode 에서 Sn_DHAR 은 CONNECT 나 SEND command 에의한 ARP-process 를통해획득한 Destination hardware address 로설정된다. Host 는 CONNECT 나 SEND command 성공이후 Sn_DHAR 을통해 Destination hardware address 를알수있다. Ex) In case of Socket 0 Destination Hardware address = 08.DC.00.01.02.10, configuration is as below. 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x08 0xDC 0x00 0x01 0x02 0x0A W5500 Datasheet Version1.0.2 (November 2013) 51 / 66
Sn_DIPR (Socket n Destination IP Address Register) [R/W] [0x000C-0x000F] [0x00000000] Sn_DIPR 은 Socket n 의 Destination IP address 를설정한다. Sn_DIPR 은 TCP, UDP mode 에서만유효하고, MACRAW mode 에서는무시된다. TCP mode 에서, TCP CLIENT 로동작할경우접속하기위한 TCP SERVER 의 IP address 로설정하고, CONNECT command 이전에설정한다. TCP SERVER 로동작할경우 TCP CLIENT 와접속성공이후내부적으로 TCP CLIENT 의 IP address 로설정된다. UDP mode 에서는, Sn_DIPR 은 UDP 나 IP Data packet 전송에사용될 Destination IP address 로 SEND 나 SEND_MAC command 이전에설정한다. Ex) In case of Socket 0 Destination IP address = 192.168.0.11, configure as below. 0x000C 0x000D 0x000E 0x000F 192 (0xC0) 168 (0xA8) 0 (0x00) 11 (0x0B) Sn_DPORT (Socket n Destination Port Register) [R/W] [0x0010-0x0011] [0x00] Sn_DIPR 은 Socket n 의 Destination port number 를설정한다. Sn_DIPR 은 TCP, UDP mode 에서만유효하고, 그외의 mode 에서는무시된다. TCP mode 에서, TCP CLIENT 로동작할경우접속하기위한 TCP SERVER 의 Listen port number 로설정하고, CONNECT command 이전에설정한다. UDP mode 에서 Sn_DPORT 는 UDP Data packet 전송에사용될 Port number 로, SEND 나 SEND_MAC command 이전에설정한다. Ex) In case of Socket 0 Destination Port = 5000(0x1388), configure as below, 0x0010 0x0011 0x13 0x88 52 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sn_MSSR (Socket n Maximum Segment Size Register) [R/W] [0x0012-0x0013] [0x0000] Sn_MSSR 은 Socket n 의 MTU(Maximum Transfer Unit) 를설정하거나, 설정된 MTU 를알려준다. Host 가 Sn_MSSR 를설정하지않을경우는 Default MTU 로설정된다. TCP 나 UDP mode 만지원하며, PPPoE 를사용할경우 (MR(PPPoE)= 1 ) PPPoE 의 MTU 내에서 TCP 나 UDP mode 의 MTU 가결정된다. Mode Normal (MR(PPPoE)= 0 ) PPPoE (MR(PPPoE)= 1 ) Default MTU Range Default MTU Range TCP 1460 1 ~ 1460 1452 1 ~ 1452 UDP 1472 1 ~ 1472 1464 1 ~ 1464 MACRAW 1514 MACRAW 는내부적으로 MTU 를처리하지않고 Default MTU 가적용되므로, Host 는 Default MTU 보다큰 Data 를전송할때 Data 를 Default MTU 단위로직접 (Manually) 나누어전송해야한다. UDP mode 에서는 TCP mode 와같은 Connection-process 가없기때문에 Host 설정값그대로를사용한다. MTU 가서로다른상대방과통신할경우, W5500 은 ICMP(Fragment MTU) packet 을수신할수있다. 이경우 IR(FMTU)= 1 가되고 Host 는 FMTUR 과 UIPR 을통해 Fragment MTU 와 Destination IP address 를알수있다. IR(FMTU)= 1 일경우그상대방과는 UDP 통신이불가능하므로, 해당 Socket 을 close 하고알아낸 FMTU 를 Sn_MSSR 로설정한후 OPEN command 로 open 하여다시통신을시도한다. Ex) In case of Socket 0 MSS = 1460 (0x05B4), configure as below, 0x0012 0x0013 0x05 0xB4 Sn_TOS (Socket n IP Type of Service Register) [R/W] [0x0015] [0x00] Sn_TOS 는 IP layer 에서 IP header 의 TOS (Type of service) field 를설정한다. Sn_TOS 는 OPEN command 이전에설정해야한다. 자세한사항은 http://www.iana.org/assignments/ip-parameters 를참조바란다. Sn_TTL (Socket n TTL Register) [R/W] [0x0016] [0x80] Sn_TTL 은 IP layer 에서 IP header 의 TTL (Time to live) field 를설정한다. Sn_TTL 은 OPEN command 이전에설정해야한다. 자세한사항은 http://www.iana.org/assignments/ip-parameters 를참조바란다. W5500 Datasheet Version1.0.2 (November 2013) 53 / 66
Sn_RXBUF_SIZE (Socket n RX Buffer Size Register) [R/W] [0x001E] [0x02] Sn_RXBUF_SIZE 는 Socket n RX Buffer Block size 를설정한다. Socket n RX Buffer Block 은 0, 1, 2, 4, 8, 16 Kbytes 크기로설정할수있으며, 이외의값을사용할경우오동작을일으킨다. Reset 후에초기값으로 2Kbytes 의값을갖는다. Sn_RXBUF_SIZE 의총합은 16K bytes 를초과할수없으며 16K bytes 를초과한이후의 Socket 은정상적인 Data 수신이불가능하다. 8 개의 Sn_RXBUF_SIZE 가설정되면그설정크기만큼 Socket 0 부터우선적으로 16KB RX Memory 내에 RX Buffer Block 이자동할당된다. 할당된 Socket n RX Buffer Block 은여기서설정한크기와상관없이 0x0000 부터 0xFFFF 까지 64KbytesAddress 공간을갖는 16bits Offset Address 로접근된다. (Sn_RX_RD 와 Sn_RX_WR Register 참조 ) Value (dec) 0 1 2 4 8 16 Buffer size 0KB 1KB 2KB 4KB 8KB 16KB Ex) Socket 0 RX Buffer Size = 8KB 0x001E 0x08 Sn_TXBUF_SIZE (Socket n TX Buffer Size Register) [R/W] [0x001F] [0x02] Sn_TXBUF_SIZE 는 Socket n TX Buffer Block size 를설정한다. Socket n TX Buffer Block 은 0, 1, 2, 4, 8, 16K bytes 크기로설정할수있으며, 이외의값을사용할경우오동작을일으킨다. Reset 후에초기값으로 2Kbyte 의값을갖는다. Sn_TXBUF_SIZE 의총합은 16K bytes 를초과할수없으며, 16K Bytes 를초과한이후의 Socket 은정상적인 Data 전송이불가능하다. 8 개의 Sn_TXBUF_SIZE 가설정되면그설정크기만큼 Socket 0 부터순서대로 16KB TX Memory 내에 TX Buffer Block 이할당된다. 할당된 Socket n TX Buffer Block 은여기서설정한크기와상관없이 0x0000 부터 0xFFFF 까지 64Kbytes Address 공간을가지는 16bits Offset Address 로접근된다. (Sn_TX_WR 와 Sn_TX_RD Register 참조 ) Value (dec) 0 1 2 4 8 16 Buffer size 0KB 1KB 2KB 4KB 8KB 16KB Ex) Socket 0 TX Buffer Size = 4KB 0x001F 0x04 54 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sn_TX_FSR (Socket n TX Free Size Register) [R] [0x0020-0x0021] [0x0800] Sn_TX_FSR 은 Socket n TX Buffer Block 의 Free size 를알려주며, 초기값은 Sn_TXBUF_SIZE 와같다. HOST 는 Sn_TX_FSR 보다더큰 Data 를 Socket n TX buffer 에저장해서는안된다. 왜냐하면, 아직전송이완료되지않은 Data 를 overwrite 해버리기때문이다. 따라서, Data 전송전에반드시 Sn_TX_FSR 를확인하여이값보다작거나같도록 Data size 를정해 Socket n TX Buffer 에저장한후 Sn_CR 의 SEND 나 SEND_MAC command 를이용하여 Data 를전송한다. 만약전송할 Data 크기가 Sn_TX_FSR 보다클경우, Data 를최대 Sn_TX_FSR 크기만큼나누어서전송해야한다. Sn_MR 의 P[3:0] 가 TCP mode( 0001 ) 가아닌경우, Sn_TX_FSR 은 Socket n TX Write Pointer Register(Sn_TX_WR) 과 Socket n TX Read Pointer Register(Sn_TX_RD) 간의차이로자동계산된다. 그리고 TCP mode 인경우에는, Sn_TX_FSR 은 Socket n TX Write Pointer Register(Sn_TX_WR) 과 TCP 로연결된상대방이수신을완료한 Data 의 Pointer 차이로자동계산된다. Ex) In case of 2048(0x0800) in S0_TX_FSR, 0x0020 0x08 0x0021 0x00 Sn_TX_RD (Socket n TX Read Pointer Register) [R] [0x0022-0x0023] [0x0000] Sn_TX_RD 는 Sn_CR 의 OPEN command 에의해초기화된다. 단, Sn_MR 의 P[3:0] 가 TCP mode( 0001 ) 인경우, TCP 연결이설정되는단계에서초기값이재설정된다. 이값은 Sn_CR 의 SEND command 의해자동으로증가된다. Sn_CR 의 SEND command 는 Socket n TX Buffer 에 Sn_TX_RD 부터 Sn_TX_WR 까지저장된 Data 를전송하고 Sn_TX_RD 를 Sn_TX_WR 과같은값으로자동으로증가시켜준다. 만약, 자동증가한값이 16bit Offset Address 의최대값 0xFFFF 를초과 (0x10000 이상일경우 ) 하여 Carry bit(17 th bit) 가발생한경우그 Carry bit 는무시되고, 하위 16bits 값으로자동설정된다. Sn_TX_WR (Socket n TX Write Pointer Register) [R/W] [0x0024-0x0025] [0x0000] Sn_TX_WR 는 Sn_CR 의 OPEN command 에의해초기화된다. 단, Sn_MR 의 P[3:0] 가 TCP mode( 0001 ) 인경우, TCP 연결이설정되는단계에서초기값이재설정된다. 그리고, 이값은 Data 를전송하기위해다음의절차와같이읽거나갱신해주어야한다. 첫번째로, Host 는전송할 Data 를저장할시작 Address 인이값을읽는다. 두번째로, Host 는이값을시작 Address 로하여 Data 를 Socket n TX Buffer 에저장한다. 세번째로, 이전의 Sn_TX_WR 값에 Buffer 에저장한 Data 의 Byte Size 값을합하여 Sn_TX_WR 값을갱신한다. 만약, Sn_TX_WR 값이 16 Bits W5500 Datasheet Version1.0.2 (November 2013) 55 / 66
Offset Address 의최대값 0xFFFF 를초과 (0x10000 이상일경우 ) 하여 Carry bit(17 th bit) 가발생한경우그 Carry bit 는무시하고하위 16bits 값으로갱신해야한다. 마지막으로, Sn_CR 의 SEND/SEND_MAC command 를수행하여 Buffer 에저장된 Data 를전송한다. Sn_RX_RSR (Socket n Received Size Register) [R] [0x0026-0x0027] [0x0000] Sn_RX_RSR 은 Socket n RX Buffer Block 의 Received Data Size 를알려주며, Sn_RXBUF_SIZE 를초과할수없다. 그리고, 이값은 Socket n RX Write Pointer Register(Sn_RX_WR) 와 Socket n RX Read Pointer Register(Sn_RX_RD) 간의차이값으로계산된다. Ex) In case of 2048(0x0800) in S0_RX_RSR, 0x0026 0x08 0x0027 0x00 Sn_RX_RD (Socket n RX Read Data Pointer Register) [R/W] [0x0028-0x0029] [0x0000] Sn_RX_RD 는 Sn_CR 의 OPEN command 에의해초기화된다. 이값은수신한 Data 를읽어가기위해다음의절차와같이읽거나갱신되어야한다. 첫번째로, Host 는수신한 Data 의시작 Address 인이값을읽는다. 두번째로, Host 는이시작 Address 부터 Data 를읽는다. 세번째로, Host 는 Sn_RX_RD 값을읽은 Data 의 Byte Size 를더한값으로갱신해준다. 만약세번째과정에서계산된 Sn_RX_RD 값이 16 Bits Offset Address 의최대값 0xFFFF 를초과 (0x10000 이상일경우 ) 하여 Carry bit(17 th bit) 가발생한경우, 그 Carry bit 는무시하고하위 16bits 값으로갱신해야한다. 마지막으로, Host 는갱신된값을적용하기위해 Sn_CR 의 RECV command 를수행한다. Ex) In case of 2048(0x0800) in S0_RX_RD, 0x0028 0x08 0x0029 0x00 56 / 66 W5500 Datasheet Version1.0.2 (November 2013)
Sn_RX_WR (Socket n RX Write Pointer Register) [R] [0x002A-0x002B] [0x0000] Sn_RX_WR 는 Sn_CR 의 OPEN command 에의해초기화된다. 이값은 Data 수신에의해자동증가한다. 만약증가한값이 16bit Offset Address 의최대값 0xFFFF 를초과 (0x10000 이상일경우 ) 하여 Carry bit(17 th bit) 가발생한경우, 그 Carry bit 는무시되고하위 16bits 값으로자동설정된다. Ex) In case of 2048(0x0800) in S0_RX_WR, 0x002A 0x08 0x002B 0x00 Sn_IMR (Socket n Interrupt Mask Register) [R/W] [0x002C] [0xFF] Sn_IMR 은 Host 로알려줄 Socket n 의 Interrupt 를설정한다. Sn_IMR 의 Interrupt Mask Bit 들은 Sn_IR 의 Interrupt Bit 들과각각대응된다. 임의의 Socket Interrupt 가발생하고 Sn_IMR 의그 Bit 가 1 로설정되어있을경우 Sn_IR 의대응 Bit 가 1 로설정된다. Sn_IMR 과 Sn_IR 의임의 Bit 가모두 1 일때 IR(n) = 1 이된다. 이때 IMR(n) = 1 이라면 Host 에 Interrupt 가발생 ( /INT signal low assert) 한다 ) 7 6 5 4 3 2 1 0 Reserved Reserved Reserved SEND_OK TIMEOUT RECV DISCON CON Bit Symbol Description 7~5 Reserved Reserved 4 SENDOK Sn_IR(SENDOK) Interrupt Mask 3 TIMEOUT Sn_IR(TIMEOUT) Interrupt Mask 2 RECV Sn_IR(RECV) Interrupt Mask 1 DISCON Sn_IR(DISCON) Interrupt Mask 0 CON Sn_IR(CON) Interrupt Mask Sn_FRAG (Socket n Fragment Register) [R/W] [0x002D-0x002E] [0x4000] Sn_FRAG 는전송시 IP layer 에서 IP header 의 Fragment field 를설정한다. Ex) Sn_FRAG0 = 0x0000 (Don t Fragment) 0x002D 0x00 0x002E 0x00 W5500 Datasheet Version1.0.2 (November 2013) 57 / 66
Sn_KPALVTR (Socket n Keep Alive Time Register) [R/W] [0x002F] [0x00] 1 byte register 로 Socket n 의 KEEP ALIVE(KA) packet 의전송 Time 을설정한다. TCP mode 만유효하며, 그외 mode 는무시된다. 단위는 5 sec 이다. KA packet 은 Sn_SR 이 SOCK_ESTABLISHED 로전이되고한번이상의 Data packet 송신이나수신이후전송이가능하다. Sn_KPALVTR > 0 일경우, 설정된 Timeperiod 가지나게되면 W5500 은내부적으로 (automatically) KA packet 을전송하여 TCP connection 을 Check 한다 (Auto-Keep-Alive-process). Sn_KPALVTR = 0 일경우는 Auto-Keep-Alive-process 는동작하지않으며, Host 의 SEND_KEEP command 에의해 KA packet 이전송할수있다 (Manual-Keep-Alive-process). Manual-Keep-Alive-process 는 Sn_KPALVTR > 0 일경우무시된다. Ex) Sn_KPALVTR = 10 (Keep Alive packet will be transmitted every 50 seconds.) 0x002F 0x0A 58 / 66 W5500 Datasheet Version1.0.2 (November 2013)
5 Electrical Specifications 5.1 Absolute Maximum Ratings Symbol Parameter Rating Unit V DD DC Supply voltage -0.5 to 4.6 V V IN DC input voltage -0.5 to 6 V V OUT DC output voltage -0.5 to 4.6 V I IN DC input current 5 ma T OP Operating temperature -40 to +85 C T STG Storage temperature -65 to +150 C *COMMENT: Stressing the device beyond the Absolute Maximum Ratings may cause permanent damage. 5.2 Absolute Maximum Ratings (Electrical Sensitivity) Electrostatic discharge (ESD) Symbol Parameter Test Condition Class Maximum value(1) Unit VESD(HBM) Electrostatic discharge TA = +25 C conforming 2 2000 V voltage (human body model) to MIL-STD 883F Method 3015.7 VESD(MM) Electrostatic discharge TA = +25 C conforming B 200 V voltage (man machine model) to JEDEC EIA/JESD22 A115-A VESD(CDM) Electrostatic discharge voltage (charge device model) TA = +25 C conforming to JEDEC JESD22 C101- C III 500 V Static latchup Symbol Parameter Test Condition Class Maximum value(1) Unit LU Static latch-up class TA = +25 C conforming to JESD78A I ±200 ma W5500 Datasheet Version1.0.2 (November 2013) 59 / 66
5.3 DC Characteristics (Test Condition: Ta = 40 to 85 C) Symbol Parameter Test Condition Min Typ Max Unit V DD Supply voltage Apply VDD, AVDD 2.97 3.3 3.63 V V IH V IL High level input voltage 2.0 5.5 V Low level input - 0.3 0.8 V voltage V T Threshold point All inputs except XI 1.30 1.41 1.53 V V T+ V T- T J I L Schmitt trig Low to High Threshold point All inputs except XI 1.53 1.64 1.73 V Schmitt trig High to All inputs except XI 0.95 1.02 1.09 V Low Threshold point Junction 0 25 125 C temperature Input Leakage 1 A Current R PU Pull-up Resistor SCSn, RSTn, PMODE[2:0] 62 77 112 Kohm R PD Pull-down Resistor RSVD(Pin 23, Pin 38 ~ Pin 48 85 174 Kohm 42) V OL V OH I OL I OH I DD1 I DD2 Low level output voltage High level output voltage Low level output Current High level output Current Supply Current (Normal operation mode) Supply Current (Power Down mode) IOL = 8mA, All outputs except XO 0.4 V IOH = 8mA, 2.4 V All outputs except XO VOL = 0.4V, All outputs 8.6 13.9 18.9 ma except XO VOH = 2.4V, All outputs 12.5 26.9 47.1 ma except XO VDD=3.3V, AVDD=3.3V, Ta 132 ma = 25 C PHY Power Down mode, 13 ma VDD=3.3V, AVDD=3.3V, Ta = 25 C 60 / 66 W5500 Datasheet Version1.0.2 (November 2013)
5.4 POWER DISSIPATION (Test Condition: VDD=3.3V, AVDD=3.3V, Ta = 25 C) Condition Min Typ Max Unit 100M Link - 128 ma 10M Link - 75 ma Un-Link (Auto-negotiation mode) - 65 ma 100M Transmitting - 132 ma 10M Transmitting - 79 ma Power Down mode - 13 ma 5.5 AC Characteristics 5.5.1 Reset Timing T RC RSTn PLOCK (Internal) T PL Figure 22. Reset Timing Symbol Description Min Max T RC Reset Cycle Time 500 us - T PL RSTn to internal PLOCK (PLL Lock) - 1 ms 5.5.2 Wake up Time Voltage Regulator Wake up Time: 10us 5.5.3 Crystal Characteristics Parameter Range Frequency Frequency Tolerance (at 25 ) Shunt Capacitance Drive Level Load Capacitance Aging (at 25 ) 25 MHz ±30 ppm 7pF Max 59.12uW/MHz 18pF ±3ppm / year Max W5500 Datasheet Version1.0.2 (November 2013) 61 / 66
5.5.4 SPI Timing T CS SCSn V IH V IL T CSS T CSH SCLK V IH V IL T WH T WL T DS T DH MOSI V IH V IL T OV T OH T CHZ MISO V OH V OL HI-Z HI-Z Figure 23. SPI Timing Symbol Description Min Max Units F SCK SCK Clock Frequency 80/33.3 4 MHz T WH SCK High Time 6 ns T WL SCK Low Time 6 ns T CS SCSn High Time 30 ns T CSS SCSn Setup Time 5 - ns T CSH SCSn Hold Time 5 ns T DS Data In Setup Time 3 ns T DH Data In Hold Time 3 ns T OV Output Valid Time 5 ns T OH Output Hold Time 0 ns T CHZ SCSn High to Output Hi-Z 2.1 5 ns 4 Theoretical Guaranteed Speed Even though theoretical design speed is 80MHz, the signal in the high speed may be distorted because of the circuit crosstalk and the length of the signal line. The minimum guaranteed speed of the SCLK is 33.3 MHz which was tested and measured with the stable waveform. Please refer to the SPI Application Note which shows the WIZnet test environment and results. 5 2.1ns is when pn loaded with 30pF. The time is shorter with lower capacitance. 62 / 66 W5500 Datasheet Version1.0.2 (November 2013)
5.5.5 Transformer Characteristics Parameter Transmit End Receive End Turn Ratio 1:1 1:1 Inductance 350 uh 350 uh Figure 24. Transformer Type 5.5.6 MDIX W5500 은 Auto-MDIX 를지원하지않는다. 따라서, Router 또는 Network Switch( 허브 ) 와연결하는경우 straight-through cable 를사용하고, PC, Workstation, 혹은또다른 W5500 을직접연결하는경우에는반드시 Crossover cable 를사용한다. 단, Auto-MDIX 를지원하고있는장치 ( 현재대부분의기기가이기능을지원한다 ) 와연결하는경우에는어떤 cable 을사용하여도무방하다. W5500 Datasheet Version1.0.2 (November 2013) 63 / 66