지난 글(이젠 오픈소스 하드웨어가 대세)에서 마이크로칩에서 Arduino 호환 보드인 chipKIT를 릴리즈 했다고 했는데, 유트브에 동영상이 올라왔네요.
Well Known Ports
Well Known Port: 0~1023
Registered Port: 1024~49151
Dynamic and/or Private Port : 49152~65535
IANA(Internet Assigned Numbers Authority)에서 관리하는데, 전체 할당된 port number를 확인하려면 다음 링크를 확인
http://www.iana.org/assignments/port-numbers
그리고 Registered Port에 등록을 하려면 아래 주소에서 신청을 하면 되는데, IANA에서 심사후 등록여부를 결정합니다. http://www.iana.org/cgi-bin/usr-port-number.pl
이젠 오픈소스 하드웨어가 대세
지난 5월 10~11일 구글 I/O 2011 행사에서 구글이 아두이노를 AOA(Android Open Accessory)로 지정한 것은 큰 뉴스거리중의 하나였다. 당연히 이를 통해 아두이노팀이 가장 큰 이득을 보게 될 것이고, 칩 업체로는 아두이노 보드에 MCU로 사용되는 AVR 덕분에 Atmel이 가장 큰 덕을 보게 될 것이다.
이제는 칩 벤더들도 이 오픈소스 하드웨어를 간과하지 않고 있다.
일례로 NXP의 경우 mbed, TI의 경우 Beagleboard를 지원하고 있다.
하지만 최근 마이크로칩이 아두이노 보드와 호환되는 즉 클론 보드를 공개했다.
이름은 chipKIT.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2095¶m=en553910
어찌 보면 대형 칩 업체로서 자존심이 상할 법도 한데, 철저하게 아두이노의 사용자들을 자신들의 것으로 끌어오기 위한 전략이 엿보인다.
즉 Hardware, Software, 개발툴을 호환이 되게 만들고, PIC32 라는 32bit를 내세워서 8bit의 아두이노와 경쟁을 하고 있다.
마이크로칩에는 이미 8bit, 16bit 칩이 있음에도 불구하고 32bit 칩을 사용한 것은 전략적인 결정이며, 이름도 Uno32, Max32로 붙여서 아두이노 Uno보드와 Mega2560 보드를 연상하게 하며, 가격도 각각 $3, $15 싸게 내놓았다.
즉 한마디로 성능도 좋고, 가격도 싸다는 것..
얼마나 빨리 아두이노의 사용자들을 마이크로칩이 끌어올지 궁금하네요.
참고로 판매는 마이크로칩과 Digilent라는 회사에서 하고 있습니다.
http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,892&Cat=18
인포그래픽 : Sitting is Killing You
TI 오픈 소스 무선랜 솔루션
TI introduces OpenLink™, open source wireless connectivity solutions for low power applications
TI가 모바일용, 배터리 최적화된 WiFi 솔루션을 OpenLink라는 오픈 소스 리눅스 커뮤니티를 통해 발표했습니다.
칩셋
해당되는 칩셋을 찾아보니, Wi-Fi, Bluetooth, FM 콤보칩으로 TI에서는 WiLink 6.0 Solution 이라고 부릅니다.
WL1271(802.11 b/g/n) , WL1273 (802.11 a/b/g/n) 2가지 종류의 칩이 있군요.
하드웨에 플랫폼
그리고 지원하는 Hardware 플랫폼은 BeagleBord와 PandaBoard입니다. => http://www.openlink.org/platforms
기타 What is OpenLink.org? OpenLink.org provides a single access point to resources for open connectivity development, such as: What resources provide more information about OpenLink wireless connectivity drivers, OpenLink.org and unique ways to engage?
OpenLink에 대한 내용은 다음을 참고..
MAC address 할당 받기
근거리통신망에서 MAC 주소는 데이터 링크 계층의 MAC 계층에 의해 사용되는 주소로서 네트웍 카드의 48 비트 하드웨어 주소를 말하며, 이더넷 주소, 또는 토큰링 주소와 동일하다.
네트웍 카드 제조사에 의해 부여된 하드웨어 주소는 UAA (universally administered address)로서 모든 네트웍 카드가 유일한 값을 가진다. 그러나 UAA는 관리 목적상 변경이 가능한 데, 이러한 MAC 주소를 LAA (locally administered address)라 한다.
모든 네트워크 장비가 고유의 값을 가져야 하며 일반적으로 제품 생산시에 제조 업체에서 할당된다.
MAC 주소를 할당을 받기 위해서는 IEEE에 신청을 해서 할당을 받는데, 관련 URL은 다음과 같다. https://standards.ieee.org/regauth-bin/application?rt=OUI
FAQ는 다음을 참고. http://standards.ieee.org/regauth/faqs.html#q1
MCU 오동작 방지 : 위치독 사용법
외부의 노이즈나 어떤 원인에 의해 MCU의 오동작을 방지하기 위한 기법에 대한 Application Note입니다.
가장 기본적으로 WatchDog Timer(WDT)를 사용하는 방법이 있는데, 중요한 것은 이것을 잘 써야 합니다.
-. WDT는 프로그램이 시작하면서 바로 Enable해야 하며,
-. Refresh 시켜주는 루틴이 인터럽트 서비스 루틴에 들어 있으면 안됩니다.
보다 신뢰성있는 동작을 위한 다른 S/W적인 기법들이 많이 있는데 한번 확인해 보시기 바랍니다.
Flash 내장 MCU에서 Flahs가 깨지는 현상 방지
최근의 MCU들은 대부분은 Flash를 내장을 하고 있으며 ISP(In System Programming), IAP(In Application Programming) 기능을 제공을 하고 있다. 간혹 불안한 전원 때문에 내부 Flash가 지워지는 경우가 있는데, 이럴 경우 대책은 다음과 같다.
해결책
간단히 얘기하면 내장된 POR(Power On Reset) 기능을 enable하거나, 외부에 POR칩을 달아주면 되는데, 원리는 MCU가 일정 전압 이하로 내려갈 경우에 리셋을 걸어주어 오동작을 방지하는 것이다.
POR의 선정
외부에 POR 칩을 달때 임계전압(Threshold Voltae: Vt) 를 선정을 해야 하는데, 이 임계 전압은 MCU의 동작 가능한 최저 전압 Vmin보다 크고 입력 최저 전압 (Supply Voltage의 최소치)보다 작게 잡으면 된다.
즉 AT89C51RC2를 예로 들면
-. Vcc : 2.7V ~ 5.5V
-. 레귤레이터 출력이 3.235V ~3.365V 라고 가정을 하면,
POR의 Vt는 2.7V 보다 크고, 3.235V 보다 작은 값을 갖는 부품을 선정하면 된다.
자세한 내용은 첨부한 내용 참고.
External Brown-out Protection for C51 Microcontrollers with Active High Reset Input
cfile25.uf.206D42484DB11BB30485D8.pdf
관련된 특허도 있군요….
OSHW Logo 선정
대략 9000명이 투표를 해서 OSHW Logo가 선정이 되었네요.
투표중 몇개의 IP가 자동으로 많은 투표를 했고 이걸 무효 처리했다는 에피소드도 있었답니다.
http://www.openhardwaresummit.org/2011/04/08/eagle-files-for-the-open-hardware-logo/
Jason Kruse라는 분이 스티커로도 제작을 해서 배송비만 내면 무료로 보내준다고도 합니다.
http://www.openhardwaresummit.org/2011/04/13/open-hardware-decals/
미국은 $1, 해외는 $2 이네요. Paypal로 구매했는데 살짝 기대되네요. ^^
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/ 에서 다운로드
동작하는 시리얼 터미널 프로그램.