:::: MENU ::::
Posts tagged with: Propeller

W5500 드라이버 포팅: Parallax Propeller칩

Parrallax는 미국의 펩리스 반도체 회사이다. 이 회사의 칩은 Propeller인데 이 칩은 특이하게도 내부에 8개의 프로세어 코아가 있어서 병렬처리가 가능하다. 이 8개의 코아를 COG라고 부르는데, 아래 블럭다이아그램 처럼 내부에 각각 프로세서, RAM, 레지스터, 카운터 등이 있고 이 COG가 외부에 나와 있는 I/O를 공유한다. 그리고 각각의 COG를 제어하는 HUB가 있어서 각각의 COG각 언제 I/O를 access할지를 결정한다.

parallax_propeller

Propeller칩을 프로그래밍하게 위해서는 어셈블러, SPIN이라는 언어로 프로그래밍이 가능하며, 최근에는 C 컴파일러가 지원이어서 C로도 프로그래밍이 가능하지만 코드사이즈나 성능이슈로 대부분의 코드는 어셈블러나 SPIN으로 만들어져 있다.

데이터 시트 및 메뉴얼은 다음 링크에서 다운로드…

[wpdm_file id=7]  [wpdm_file id=8]

W5500칩의 드라이버를 포팅하기 위해 사용한 보드는 Propeller Activity Board인데, 이 보드에 있는 브레드보드에 WIZ550io를 꼽고 와이어링을 통해 Propeller칩과 연결을 했다. 연결되는 방식은 SPI 신호, 리셋 신호 및 전원 신호만 결하면 되므로 간단하다.

Propeller_WIZ550io

포팅한 코드는 Mike G라는 사람이 W5200으로 만든 코드를 포팅을 했는데, 이 코드는 SPI 인터페이스가 어셈블러로 되어있어서 이것을 일단 SPIN 랭귀지로 수정했다. W5500에서는 SPI 포맷 및 메모리 맵이 바뀌어서 W5500을 read, write하는 함수들 역시 수정을 했다.  수정된 코드가 제대로 동작하는지 확인을 하기위해 TCPMultiSocketServer 프로그램(간단한 웹서버 프로그램) 코드와 같이 컴파일을 해서 돌리니 잘 동작한다.

관련된 모든 코드는 github에 오픈: https://github.com/jbkim/Parallax_W5500


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  에서 다운로드하면 된다.

Spinneret Web Server Docs (.pdf)

cfile8.uf.134EAE4F4DAD6D0026BE33.pdf


Spinneret Schematic (.pdf)

cfile8.uf.1647D44F4DAD6D183786D9.pdf


WIZnet W5100 SPI Driver (OBEX) http://obex.parallax.com/objects/614/ 에서 다운로드


Prop Plug : FTDI의 USB to Serial 칩이 내장된 모듈 보드


전원을 J6의 2,3번에 5V를 입력하면 보드가 동작을 하고, 설치된 컴파일러에서 바이너리를 J2에 연결된 Prop plug를 통해 다운로드하면 된다.


동작하는 시리얼 터미널 프로그램.