<목차>

1. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(1)

2. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(2)

3. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(3)

4. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(4)

5. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(5)

6. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(6)

7. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(7)

8. W5500 ioLibrary_BSD를 MCU 8051로 포팅하기(8)

 

3. Test Board 만들기

 

먼저 SiLab사의 C8051F380-TB board와 WIZnet사의 WIZ550io 모듈을 준비하고, Breadboard나 만능키트, 점퍼선등을 준비해 둔다.

 

C8051F380-DK board는 다행히 모든 IO PIN들이 PIN Header (J2, J3,J4,J5,J6) 5개로 모두 나와있으며 또한 96PIN PCN connector(J13)에도 나와 있다. 다행이 PCN connector를 보유하고 있어 Breadboard와 연결하여 사용할 예정이다. 이 Connector가 없을 시는 J3~J6 PIN Header와 Jumper선을 사용하여 연결해도 무방하다.

 

http://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F38x-DK.pdf 

 

 

 

C8051F380의 IO 핀들은 기본적으로 GPIO 핀으로 사용되며, CrossBar 를 통해 SPI나 UART 기타 Peri등의 IO 핀으로 Switching 될 수 있다. Crossbar 설정에 따라 PIN의 위치가 변경되므로 Test 보드를 만들기 전에 SPI IO 핀들이 어떤 포트로 연결되는지 숙지하여야 한다. 다행히 Simplicity Studio의 Configuration Wizard2라는 Tool을 지원한다.

 

Configuration Wizard2를 실행하여 C8051F380을 선택한다.

 

 

[OK] 버튼을 누르면 Menu에 Peripherals가 추가 되고 하위메뉴 Port I/O를 선택하면 다음처럼 Port I/O 핀을 설정할 수 있다.

 

 

Pin Skip Check Box를 이용해 SPI IO 핀들을 원하는 포트 핀으로 이동할 수 있는 장점이 있다.

여기서는 Serial Debugging Message 출력을 위해 UART0 을 P0_4(TXD), P0_5(RXD)로 선택하고, SPI IO는 Port Skip 없이 기본설정으로 P0_0(SCLK), P0_1(MISO), P0_2(MOSI), P0_3(NSS)로 설정한다.

Configuration Wizard2 가장 큰 매력은 설정된 핀에 따른 Register 설정 코드를 자동으로 생성해준다는 것이다. 이것은 UART & SPI 드라이버를 구현할 때 많은 도움이 된다. 이부분은 계속 언급될 것이므로 이정도만 알고 패스~~~!!!

 

 

WIZ550io는 WIZnet사의 W5500 칩을 기반을 하는 Network Module이다. WIZ550io는 SPI 인터페이스만을 지원하고, Open source hardaware platform인 Arduino, GR-Kurumi, LaunchPad에 장착될 수 있는 Shield I/F board도 함께 지원한다. 또한 Arduino Sketch Library 로 포팅되어 있어 손쉽게 개발할 수 있다.(http://wizwiki.net/wiki/doku.php?id=ioshield)

 

WIZ550io의 상세 스펙은 http://wizwiki.net/wiki/doku.php?id=products:wiz550io:allpages 를 참조한다.

 

 

 

자 그럼 이제부터 본격적인 Test Board를 만들어 보자.

보드 제작에 앞서 간단한 회로도를 만들어 보자. 물론 회로도 없이 간단히 만들수도 있지만, 시간이 지나면 어떻게 만들었는지 기억이 나지 않는 경우가 대부분이기 때문에 나중을 위해서라도 간단하게나마 회로도를 작성하는 습관을 가져야 한다.

 

 

 

WIZ550io의 RSTn과 INTn 핀들은 각각 C8051F380의 P1_0과 P0_6 핀들로 연결한다. 이때 WIZ550io RDY 핀은 사용하지않는다.

 

<주의> RDY핀은 WIZ550io 자체 MCU가 W5500의 Network configuration을 완료했을때  High로 된다. RDY PIN은 보다 안정적인 WIZ550io 제어를 위한 Option PIN이다. 개발코저하는 Target B/D의 GPIO 핀이 부족할 경우 GPIO 핀에 연결하지않고 대신 200ms 정도 Delay를 준 후 WIZ550io를 Access해도 무방하다.

 

핀 연결을 다시 한번 정리하면.... 

 

 Signal Name

C8051F380 PIN 위치

 WIZ550io PIN 위

SPI : SCLK

P0_0 (J13:C12, J2:1) 

J1:5

 SPI : MISO

P0_1 (J13:B12, J2:2)

J1:4 

SPI : MOSI

P0_2  (J13:A12, J2:3)

J1:3

 SPI : SCS

P0_3 (J13:C11, J2:4)

J1:6 

 Interrupt

P0_6 (J13:C10, J2:7)

J2:5 

 RESET

P1_0(J13:C21, J3:1)

J2:3 

 3.3 VDD

J13:A1  

J1:7, J1:8, J2:1 

 GND

J13:B1

 

 

자 이제 회로도가 완성되었으니, 점퍼선을 이용하여 실수 없이 납땜하여 잘 연결해 보도록 하자.

보드를 만들고 전원을 인가하기 전에 반드시 단선이 없는지 회로도대로 연결되었는지, VDD와 GND는 쇼트되지 않았는지 확인하자.

 

 

 

드디어 테스트 보드 완성.  짜잔 !!! (물론 이보드 제작는 Dokkodai님이 도와주셨슴돠!!!)

긴장된 맘으로 WIZ550io를 연결한 후 Power를 인가한다.  별 문제없으면 통과...휴==3

 

 

 

자 이제 MCU 8051에 ioLibrary_BSD 를 포팅할 모든 준비가 끝났다.

다음 연재에 계속 ~~~

 

 

< PREV                                                                                                          NEXT >

블로그 이미지

MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

,