W5500 Ethernet 라이브러리를 mbed에 포팅후 W5100,W5200, W5500까지 지원을 하는 라이브러리를 만들어 mbed.org에 업로드했다. 사용법은 간단하다. 라이브러리를 import하고 사용하는 Wiznet칩 또는 모듈에 따라서 wiznet.h에 있는 #define문에서 사용할 칩만 나두고 나머지는 주석 처리하면 된다.
WIZnet 디자인 컨테스트 설문 조사
2014 WIZnet Connect the Magic 디자인 챌린지를 하면서 진행한 설문조사결과.
Arduino 코드에서 WIZnet칩 구별하기
WIZnet 칩
WIZnet 칩중에서 SPI가 지원되는 칩은 W5100, W5200 그리고 W5500이 있다. 이중 W5100은 아두이노에 적용이 되어 Ethernet Shield 및 Arduino Ethernet 보드에 사용이 되고 있다. 물론 W5200으로 만든 Ethernet Shield도 있고 W5500으로 만든 Ethernet Shield도 있다. 그리고 최근에는 아두이노 팀에서 W5500으로 Ethernet Shield를 만들고 있다. 이렇게 3가지 칩으로 적용된 보드가 있는데, 그럼 코드에서 이 칩들을 구별할 수 있는 방법이 있는가?
Arduino 코드에서 WIZnet칩 구별하기
W5100, W5200, W5500의 칩들의 기본 기능은 같지만 H/W적으로는 패키지도 다르고 핀도 다르고, 내부 메모리 맵도 다르다. 모두 SPI 를 사용하지만 칩을 제어하기 위한 SPI format도 다르다. 그리고 W5100은 소켓이 4개이고 나머지 칩들은 모두 8개의 소켓을 지원한다.
코드에서 이들 칩을 구별을 하려면 이 칩들의 내부 레지스터를 읽어서 각 칩들에만 유효한 값을 확인해서 비교를 해야한다. 다행히 W5200과 W5500은 칩의 버젼을 구분하는 레지스터가 있다. 따라서 이들 2칩을 구분하면 3개중 2개를 구분이 되니 W5100은 구분이 가능하다. 즉 W5200이 경우 version 레지스터(0x001F)를 읽으면 0x03이 읽히고, W5500의 경우 0x0039 번지를 읽으면 0x04가 읽힌다.
W5100 | W5200 | W5500 | |
---|---|---|---|
0x001F | 0x00 | 0x03 | 0x00 |
0x0039 | 0x00 | 0x00 | 0x04 |
아두이노 코드
아래 코드는 아두이노 Ethernet 코드를 수정하여 만든 코드이고, Webserver.ino에서 테스트를 했다.
Open Hardware Summit 2012
지난 9월 27일 Open Hardware Summit이 올해에도 뉴욕에서 열렸다. 올해로 3년째 인데 매년 추석전에 열리는 듯하다. -_-;;
올해는 EyeBeam이라는 Art & Technology 센터에서 열렸다.
Arduino의 Ethernet Shield의 W5100 메이커인 Wiznet는 올해로 3년째 이 서밋에 스폰서로 지원을 하고 있다.
오전 8시 30분 부터 등록을 하고 나눠주는 뱃지를 받았다. 뱃지는 Evil Mad Scientist Lab에서 제작을 했는데 레고 블럭으로 만들어졌다.
아래 링크에 이 뱃지에 대한 블로그 기사가 있다. LEGO Digital Designer로 만들었다는… http://www.evilmadscientist.com/2012/ohs2012badge/
사회자가 각 스폰서의 이름들을 부르며, 감사의 인사와 함께 서밋이 시작이 되었다.
키노트의 발표자는 Wired의 편집장인 Chris Anderson이 “Microeconomics for Makers: Business Models for the New Industrial Revolution” 라는 주제로 발표를 했다.
cfile29.uf.157AAF43507B9DCD13324B.pdf
아직 다 올라오지는 않았지만 서밋 홈페이지 “http://summit.oshwa.org/schedule/” 에서 다른 발표자들의 PT파일들을 받을 수 있다.
참가자 중 가장 나이가 어린 참가자인 Syvua와 Joey의 발표도 인기가 있었다. 아래 동영상 참고…
Open Hardware 분야에서 다들 비즈니스를 하는 사람들이라서 다들 비즈니스 모델과 라이센스, copy cat, clone들과의 경쟁등에 관심이 많은 것 같았다. 개인적으로는 이 시장에서는 칩벤더만이 유일하게 손해를 보지 않을 것 같고, 벤더들의 칩을 가지고 Open hardware 제품을 업체의 경우 니치 마켓을 겨냥한 high tech제품 또는 예술적인 부분이 들어간 제품으로 승부를 해야할 것 같다.
올해 Open Hardware Association도 만들어졌다. http://www.oshwa.org/membership/ 에서 등록이 가능하다.
서밋이 열리는 공간과 반대편에는 데모를 하는 공간이 있었는데, 마치 Maker Fair와 같은 분위기였고 SeeedStudio나 SpartFun과 같은 업체들도 참가를 했다.
아래 사진은 등록자에게 주는 가방에 들어있던 스폰서들의 작은 선물.. ^^
Spinneret Web Server 보드 사용기
Spinneret의 뜻은 (동물) (거미·누에 등의) 방적 돌기 ((실이 나오는 구멍))… 보드에 뒷면에 거미와 거미줄 그림이 있다….
이 보드는 Parallax(www.parallax.com)사의 Propeller칩과 Wiznet(www.wiznet.co.kr)의 W5100이 내장된 웹서버 보드이다.
웹서버 어플리케이션을 위해 mSD카드도 장착이 되어 있다.
Open Source Hardware 플랫폼을 지향하기 때문에 모든 자료들은 웹상에 오픈이 되어 있다.
하지만 Propellar칩은 코아가 8개가 들어간 병렬칩으로 좀 생소하기 때문에 익숙해 지기까지는 좀 시간이 걸릴 것 같다.
각 코아는 Cog라고 불린다. 아래 그림 참고..
일단 필요한 것은 개발툴 및 메뉴얼을 http://www.parallax.com/tabid/832/Default.aspx 에서 다운받아서 설치를 하는데, 컴파일러 Propeller/Spin Tool Software v1.2.7 (R2) 를 다운 받아서 설치를 하면 serial terminal 및 메뉴얼까지 설치가 된다.
Spinneret Web Server 보드 관련 자료는
http://www.parallax.com/Store/Microcontrollers/PropellerDevelopmentBoards/tabid/514/ProductID/710/List/0/Default.aspx?SortField=ProductName,ProductName 에서 다운로드하면 된다.
cfile8.uf.134EAE4F4DAD6D0026BE33.pdf
Spinneret Schematic (.pdf)
cfile8.uf.1647D44F4DAD6D183786D9.pdf
WIZnet W5100 SPI Driver (OBEX) http://obex.parallax.com/objects/614/ 에서 다운로드
동작하는 시리얼 터미널 프로그램.
W7100 TCP loopback
위즈네트의 W7100을 이용한 loopback소스입니다.
cfile10.uf.1564FB4D4D50CCD605E1B3.zip
W7100이 8051기반인데 많이 사용하는 Keil 컴파일러 대신에 SDCC 를 사용했습니다.
사용된 소스는 iMCU design contest에 출품한 Clayton Gumbrel([email protected])의 Remote Finger소스를 수정했습니다.
수정 내용은 소스를 간단하게 하기 위해 UART를 인터럽트를 사용하지 않는 루틴으로 바꾸고, application code는 제거를 하고 TCP loopback 코드를 포팅햇습니다.
아래 사진은 SDCC로 컴파일을 하고 나서 WizISP로 W7100EVB에 코드를 다운로드한 후 ping을 한 것을 캡쳐한 그림입니다.
Circuit Cellar의 project editor인 David Tweed가 쓴 iMCU W7100 article 첨부 합니다.
cfile30.uf.1775AE594D50C35C269DDB.pdf