Top Banner
WIZwiki-W7500 보드 활용 Web Server 구현 2015년 6월 17일 위즈네트 아카데미 wiznetacademy.com 강사 전혁진 : 블로그 강사 김은경 : 블로그
54

WIZwiki-W7500 보드활용 Web Server 구현 · 2015. 6. 3. · prevent rogue software from disabling the watchdog timer functionality. •PWM 8ea ... •ISP •W7500 ISP Tool •SWD

Feb 14, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • WIZwiki-W7500 보드 활용 Web Server 구현

    2015년 6월 17일

    위즈네트 아카데미

    wiznetacademy.com

    강사 전혁진 : 블로그

    강사 김은경 : 블로그

    http://wiznetacademy.com/http://hjjeon0608.wordpress.com/https://socatelier.wordpress.com/

  • 목차

    • W7500 소개

    • WIZwiki-W7500 Board 소개

    • 개발 환경 구축

    • Peripheral 이론 & 실습 – UART, RNG, I2C, SSP, TOE

    • Web Server

    2

  • W7500 소개

  • • IoT 최적화 MCU

    • Unattackable Hardwire TCP/IP Chip

    • Start-up을 꿈꾸십니까? - VAR products

    • ARM mbed Enabled MCU

    Museum Link

    4

    http://wiznetmuseum.com/http://wiznetmuseum.com/

  • W7500 Feature• 32-bit ARM Cortex-M0

    • Flash : 128KB / SRAM : 16KB (up to 48KB)

    • Hardwired TCP/IP Core (Supports MII Interface)

    • Internal 8MHz Oscillator

    • External crystal Oscillator (8~24MHz)

    • 48MHz maximum frequency

    • PLL for internal clock source

    • ADC - 12bit, 8ch, 1Mbps

    • DMA - UART, SPI, Software

    • GPIO 53ea I/O

    • 4 Timer/ 8 PWM

    • 3 UART, 2 SPI, 2 I2C

    • 32bit RNG

    • Serial Wire Debug(SWD)

    • Package : 64TQFP (7x7 mm)

    W7500 System diagram

    5

  • W7500 Clock• Two clock sources can be used to drive the system clock.

    • One internal PLL.

    • Many generated clocks for independent operating with system clock.

    6

  • W7500 Alternate Function• Each functional pad has 2 ~ 4 functions.

    • Pins can be selected by each registers individually.

    7

  • W7500 Pad controller• Each functional pad has 2 ~ 4 functions.

    • Pins can be selected by each registers individually.

    P - PADYA - Analog Input (connect to ADC input)Y - Digital InputA - Digital Output

    IE - Input buffer enableCS - CMOS/Schmitt trigger input buffer selectDS - Driving strength select (125MHz / 50MHz)

    PU - Pull up enablePD - Pull-down enable

    8

  • W7500 Interface peripherals• UART 3ea

    • 2ea RTS/CTS flow control (UART0, UART1)

    • 1ea simple (UART2)

    • SSP 2ea• MOTOROLA SPI

    • TI synchronous serial interface

    • National MICROWAVE

    • Up to 20MHz

    • I2C 2ea • Master/Slave

    • Standard mode (100KHz)

    • Fast mode (400KHz)

    • Sensor interface

    • GPIO 53ea• 4ea GPIO group

    (PORT A, PORT B, PORT C, PORT D)

    • 53 programmable input/output pins

    • ADC • 12bit configuration resolution

    • Conversion time : Max 1MHz (@20MHz ADCCLK)

    • 8 channel for external analog inputs

    • 1 channel for internal LDO(1.5v) voltage.

    9

  • W7500 Peripherals• Dual timer 2ea

    • One dual timers has 2 Free-Running Counters(FRCs)

    • A 32-bit or a 16-bit down counter

    • Repetition modes:

    • one-shot and wrapping mode

    • Prescaler that can divide down the clock rate by 1, 16, or 256

    • WDT (Watch Dog Timer)• 32-bit down counter.

    • Internally resets chip if not periodically reloaded.

    • The watchdog timer has lock register for to prevent rogue software from disabling the watchdog timer functionality.

    • PWM 8ea• 8 PWM output waveforms• Eight independent 32-bit Timer/Counter • 6bits Prescaler that can divide down the

    clock rate by 1~64• Runs as the PWM or standard timer• Counter operation• Each of PWM can have different or same

    clock source

    • RNG (Random number generator)• 32bit pseudo random number generator• Polynomial / Seed of pseudo random number

    generator (polynomial) can be modified.• Support power on reset random value• Random value can be obtained by control

    start/stop by software.

    10

  • WIZwiki-W7500 Board 소개

  • WIZwiki-W7500 Feature• WIZnet W7500

    • 32-bit ARM Cortex-M0

    • 128KB Flash /16KB(up to 48KB) SRAM

    • Hardwired TCP/IP Core

    • Ethernet PHY• IC+ IP101GA

    • CMSIS-DAP support• NXP LPC11U35FHI33/501

    • USB Drag & Drop Programming

    • Support IDE : KEIL / GCC

    • Arduino pin compatible (Arduino Shield 사용 가능)

    • mbed enable (on progress with )

    • ISP, SD Card, RGB LED, SWD Connector

    12

    http://www.mbed.org/http://www.mbed.org/

  • CMSIS-DAP ?

    • CMSIS-DAP support• NXP LPC11U35FHI33/501

    • USB Drag & Drop Programming

    • USB를 이용해 Firmware를 download,debugging을 할 수 있다.

    • CMSIS-DAP을 사용하려면?• MDK-ARM V4.54 이상이어야 함

    • Debug Unit은 CMSIS-DAP을 지원하는Firmware가 있어야 함

    13

  • WIZwiki-W7500 Connector Information

    14

  • Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    WIZwiki-W7500 Pinout

    15

  • 목차

    • W7500 소개

    • WIZwiki-W7500 Board 소개

    • 개발 환경 구축

    • Peripheral 이론 & 실습 – UART, RNG, I2C, SSP, TOE

    • Web Server

    16

  • 개발 환경 구축

  • 개발 환경 구축

    • KEIL uVision MDK - Lite version 5.14.0.0• 다운로드 링크 or 강의자료/W7500강의/설치프로그램/mdk514.exe• 설치 방법 Wiki page

    • MDK Version 5 – Legacy Support• 다운로드 링크 or 강의자료/W7500강의/설치프로그램/MDKCM514.EXE• 설치 방법 Wiki page

    • Serial Driver of WIZwiki-W7500• 다운로드 링크 or 강의자료/W7500강의/설치프로그램/mbedWinSerial_16466.exe• 설치 방법 Wiki page

    18

    https://www.keil.com/download/product/http://wizwiki.net/wiki/doku.php?id=products:w7500:documents:appnote:install_uvisionhttp://www2.keil.com/mdk5/legacy/http://wizwiki.net/wiki/doku.php?id=products:w7500:documents:appnote:install_uvisionhttps://developer.mbed.org/handbook/Windows-serial-configurationhttps:/developer.mbed.org/handbook/Windows-serial-configurationhttp://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:serial_driver_wizwiki-w7500

  • 개발 환경 구축

    • W7500 Library and Peripheral Example Downloads• 강의자료/W7500강의/강의용 W7500 Library.zip

    • 참고 사항• New Project 생성 방법

    • 생성 방법 Wiki page

    • Peripheral Example 사용 방법• 사용 방법 Wiki page

    19

    http://wizwiki.net/wiki/doku.php?id=products:w7500:documents:appnote:howtokeilhttp://wizwiki.net/wiki/doku.php?id=products:w7500:documents:appnote:keil_exam

  • Library 폴더 구조 설명

    • W7500x_Library_Examples• ioLibrary

    • Libraries

    • Projects

    • Utilities

    • Utilities• W7500_flash_algo_mdk

    20

  • Library 폴더 구조 설명

    • Libraries• CMSIS

    • Device• WIZnet

    • W7500• Include• Source

    • ARM• G++• GCC• IAR

    • Include• RTOS

    • W7500x_stdPeriph_Driver• inc• src

    21

  • Library 폴더 구조 설명

    • Projects• Peripheral_Examples

    • ADC - Illumination_RGBLED• DMA - MemoryToMemory• DualTimer - TimerRun• EXTI – LED_Toggle, Sleep• Flash – IAP_Example• GPIO – Blink_LED• I2C – I2C_EEPROM, I2C_Init, I2C_Temperture• PWM – CaptureMode, CounterMode, DeadZoneGeneration

    PWMOutput, TimerMode• RNG – Random_number_generation• Shield – ADC, EXTI, GPIO, PWM, I2C, RNG• SSP – Loopback, SD_Card_LED• SysTick - Delay• UART - Interrupt, Poling, Printf

    Uart_HardwareFlowControl• WDT - WDTReset• WZTOE - DHCPClient, DNSClient, httpClient,

    httpServer, LoopbackTest

    22

  • 개발 환경 구축

    • 프로젝트 Open!!

    • Workspace/project/Projects/Peripheral_Examples/GPIO/Blink_LED/MDK/W7500x_GPIO_Blink_LED.uvprojx

    23

  • 개발 환경 구축

    • 그림과 같이 컴파일이 완료되고 .bin 파일이 생성 되면 개발 환경 구축 완료

    24

  • Firmware Download 방법

    • Drag & drop• CMSIS-DAP

    • ISP• W7500 ISP Tool

    • SWD• CMSIS-DAP

    • Ulink2

    25

  • Firmware download 방법(1)Link : Drag and drop (CMSIS-DAP)

    26

    http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmwarehttp://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmware:keil_cmsis_dap

  • Firmware download 방법(2)Link : Using the ISP

    W7500 ISP Tool Download

    27

    http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmwarehttp://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmwarehttp://wizwiki.net/wiki/lib/exe/fetch.php?media=products:wizwiki_w7500:w7500_isp_20150519_.zip

  • Firmware download 방법(3,4)

    • SWD를 이용

    CMSIS-DAPUSB SWD

    Device

    Cortex-M0

    CPU

    Cortex-M4

    CPU

    Cortex-A7

    CPU

    Ulink2

    Jumper

    J3,J4,J5

    Connector

    J2

    or

    firmware download

    28

  • Firmware download 방법(3)Link : SWD를 이용한 CMSIS-DAP Debugger

    29

    http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:debugging_w7500http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmware:keil_cmsis_dap

  • Firmware download 방법(4)Link : SWD 를 이용한 ULINK2

    30

    http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_firmwarehttp://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start_getting_started:write_swd_debugger

  • Peripheral 이론 및 실습

    31

  • Peripheral

    •직렬 통신(Serial Communication)•UART – printf 출력• I2C – OLED write• SSP – SD card r/w

    •RNG – 1~19의 값 출력

    •네트워크 통신(Network Communication)•TOE – Web server

    32

  • UART(Universal Asynchronous Receive Transmit)

    • 비동기식

    • 4-line(simplest use just 2 line,TXD and RXD)• TXD, RXD, CTS, RTS

    http://eslectures.blog.me/80137862792

    33

  • Peripheral 실습 – UART

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    34

  • Peripheral 실습결과 – UART

    • Printf를 UART0으로 사용• Printf 출력안됨

    #define USING_UART1 in retarget.c#define USING_UART0 in retarget.c

    USB cable은 UART1을 사용한다.

    • Printf를 UART1으로 사용• printf 출력 가능

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    35

  • I2C(Inter-Integrated Circuit)

    • 동기식

    • 2-line

    • SCL, SDA

    • 4 condition

    • START,STOP,RESTART,DATA(and ACK)

    온도센서

    36

  • PH Sensor

    Link

    RTC

    Link

    Pressure

    Link

    Ultrasonic

    Link

    Temperature

    Color

    I2C 통신

    I2C 사용 센서

    37

  • Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_R

    XD2

    U_TXD

    2GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    Peripheral 실습 – I2C

    38

  • RNG(Random Number Generator)

    • 기욱팀장이 작성예정• 32bit RNG

    • Polynomial can be modified

    • Default polynomial: F(x) = x31 + x30 + x29 + x9 + x

    pseudo-random number처음에 주어지는 초깃값을 이용하여 이미 결정되어 있는 메커니즘(의사 난수 생성기)에 의해 생성되는 수. 난수는 생성방법이 결정되어 있지 않으며, 다음에 생성될 값을 전혀 예측할 수 없으나 의사 난수 생성기에 의해 생성되는 수는 초깃값을 알면 계산될 수도 있으므로 진짜 난수와 구별하여 의사난수라 부른다. [네이버 지식백과]

    39

    http://terms.naver.com/entry.nhn?docId=859382&ref=yhttp://terms.naver.com/entry.nhn?docId=824293&ref=y

  • Peripheral 실습 – RNG

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    40

  • Peripheral 실습결과 – RNG

    • Button을 눌렀을때• RNG값 계속 변경

    Button 누른상태

    Button 누른 후 뗀 상태

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    SW

    Uart1

    41

  • SSP(Synchronous Serial Port)

    nSS • 동기식

    • 3-line or $4-line

    • SCLK, nSS, MOSI ,MISO

    • MOSI와 MISO를 한 라인으로 사용하기도함

    42

  • Peripheral 실습 – SSP(SD Card)

    Normal Function

    5VGND

    D15D14ARefGNDD13D12D11D10D9D8

    D7D6D5D4D3D2D1D0

    NCIOREFRSTn3.3V5VGNDGNDNC

    A0A1A2A3A4A5

    PC_15PC_14PC_13PC_12PC_11PC_10

    PA_09PA_10

    PA_06PA_07PA_08PA_05PC_04PC_07

    PC_06PA_00PA_01PA_02PC_00PC_01PA_13PA_14

    PWM2/CAP2PWM3/CAP3

    SSEL0SCLK0MISO0MOSI0

    AIN5AIN4AIN3AIN2AIN1AIN0

    SCL0SDA0

    SCLK0MISO0MOSI0SSEL0SCL1

    U_CTS1U_RTS1U_TXD0U_RXD0

    U_TXD1U_RXD1

    SDA1U_CTS1U_RTS1SCL1

    PWM4/CAP4U_RXD2

    U_TXD2PWM6/CAP6PWM7/CAP7CLKOUT

    PWM0/CAP0PWM1/CAP1

    MISO1MOSI1

    U_TXD2U_RXD2AIN3AIN2AIN1AIN0

    PWM6/CAP6PWM7/CAP7

    PWM3/CAP3PWM4/CAP4PWM5/CAP5PWM2/CAP2

    PC_03PC_02PA_15PA_04PA_03RSTnBOOTPA_12PA_11

    3.3VGNDPB_00PB_01PB_02PB_03PC_08PC_09PC_05

    LEDRLEDGLEDB

    SSEL1SCLK1MISO1MOSI1

    SD_SELSD_CLKSD_MISOSD_MOSI

    PWM0/CAP0PWM1/CAP1

    SDA1

    U_CTS0U_RTS0U_TXD0U_RXD0SCL0SDA0

    PWM5/CAP5

    AIN7AIN6

    U_RXD1U_TXD1

    SWDIOSWCLK

    U_RTS0U_CTS0

    PWM3/CAP3PWM2/CAP2

    SCLK1SSEL1

    PWM1/CAP1PWM0/CAP0

    DAP-RXDDAP-TXD

    3.3V

    U_RXD2

    U_TXD2

    GND

    Normal Function3rd Function4th Function2nd Function

    3rd Function 4th Function2nd Function

    2nd Function2nd Function

    43

  • TOE(TCP/IP Offload Engine)

  • Protocol Layer

    45

  • SW TCP/IP vs Hardware TCP/IP

    46

  • How to use?

    Read / Write

    Common Register

    Status Register

    Network Config Register

    Socket Register x 8

    TX & RX Buffer

    Buffer Config. Register

    Buffer Status RegisterSocket Command Register

    Socket Status Register

    Socket Config. Register

    Bus interface

    RX

    TX

    Sn_CR

    Sn_SR, Sn_IR

    Sn_MR, Sn_DIPR, Sn_DPORT

    SIR, PHYCFGR

    SIPR, SHAR, GAR, SUBR

    Sn_RXBUF_SIZE,Sn_TXBUF_SIZE

    Sn_TX_RD,Sn_TX_WR

    47

  • Socket?? Channel??

    • SOCKET 이란

    - 통신에 필요한 각종 Resources

    ex) IP , PORT , etc…

    • Channel 이란

    - 실제 Data 통신을 하는 통로

    ex) My Socket(IP | PORT) Peer Socket(IP | PORT)

    48

  • ioLibrary를 이용한 Socket API Flow chart

    49

  • WZTOE Socket Memory map

    50

  • TOE 응용

    http://wiznetmuseum.com/

    51

    http://wiznetmuseum.com/http://wiznetmuseum.com/

  • Web ServerWIZwiki-W7500 보드활용 HTTP Server 구현하기

  • 오늘 실습 해볼 내용은?

    53

  • Q&A 감사합니다.

    54