:::: MENU ::::

Maple mini 보드에서 Wiz820io 사용하기

Leaflab사의 블로그를 보고 Maple mini보드에 Wiz820io를 연결해서 테스트를 진행했다. 브레드보드가 있으니 연결은 금방한다. 예제들이 UART3를 사용하기 때문에 아래 그림처럼 RS232 트랜시버가 달려있는 쪽보드를 사용해서 시리얼을 연결했다.


H/W 연결
Maple mini보드의 Fritzing라이브러리도 만들고… 회로 연결은 아래 그림과 같다. 사실 연결할 것은 SPI 시그널과 VCC, GND 밖에 없다. 
    Maple mini Fritzing 라이브러리:


cfile4.uf.1460D83F4EE5A5580D181E.fzpz
라이브러리
아래 첨부한 파일을 Leaflab IDE의 \libraries\wizEthernet에 압축을 풀어서 넣는다.
예제 파일이 telnetServer, webServer 2가지가 있는데, 제공되는 예제가 약간 문제가 있다.
telentServer의 경우 password를 칠때는 문제가 없지만 다른 경우에 매 문자마다 echo back를 해서 이것을 수정을 했고, webServer의 경우 브라우져에서 favicon을 요청시 처리를 위해 “HTTP/1.1 404 Not Found” 페이지를 돌려주기 위한 코드를 추가 했다. 
   wizEthernet 라이브러리: 


cfile29.uf.175DF13F4EE5A4850D2B13.zip



  수정된 예제 파일:


cfile3.uf.172F71414EE5A4430F27EA.pde


cfile27.uf.17335D414EE5A4542CA563.pde




혹시 컴파일후 보드에 다운로그가 문제가 있을 경우, 이전 포스트를 참고(LeafLabs의 Maple mini, Maple Ret 5 보드 사용기)


아두이노 보드에서 W5200 사용하기

아두이노의 공식 Ethernet 쉴드에는 WiznetW5100이 사용된다. 따라서 모든 Ethernet 라이브러리는 W5100을 이용하는 것으로 되어있는데 Wiznet의 신규칩인 W5200을 아두이노 보드에서 사용하기 위해서는 라이브러리를 일부 수정을 해야 한다. W5100과 비교해서 W5200의 장점은 대략 작은 패키지, 8 socket 지원(W5100의 경우 4 socket 지원), Power down mode, Wake on LAN 기능 지원 등이다. 
    W5100 to W5200 migration guide



Hardware 연결
간단한 테스트를 위해 Wiz820io를 사용을 해서 아래 그림처럼 테스트를 했다. 아래 그림은 Fritzing 이라는 툴로 Wiz820io 라이브러리를 만든 후 작성한 연결도이다. Fritzing관련해서는 이전 포스트 참고(Fritzing, Fritzing 라이브러리 만들기)
    Wiz820io의 Fritzing 라이브러리


cfile28.uf.182202414EE59CB821A744.fzpz


* PWDN, nINT, 스위치를 통한 reset 입력은 연결을 안 해도 되고, VCC, GND도 하나의 선만 연결해도 된다.




라이브러리 수정
변경을 최소화하고 기존의 라이브러리와의 호환성을 위해 변경된 드라이버는 W5100과 같은 파일명을 쓴다. 즉 W5100.cpp와 W5100.h 파일만 수정해서 아두이노 IDE가 설치된 폴더에 덮어쓰면 된다. 즉 “/libraries/Ethernet/utility” 아래에 있는 W5100.cpp 및 W5100.h 파일을 아래 첨부한 파일로 변경하면 된다. 파일에 수정된 부분은 W5200으로 검색을 하면 쉽게 찾을 수 있다.


cfile23.uf.160404394EE5D0692C5B5D.cpp


cfile3.uf.177E62394EE5D06A33D119.h




테스트
아두이노의 IDE에서 File > Examples >Ethernet > 에 있는 예제를 열어서 컴파일 후 아두이노보드에 다운로드를 하면 잘 동작한다. 
최근에 릴리즈한 Arduini 1.0 에서는 기존 Ethernet 라이브러리가 좀 더 확장이 되었다.  http://arduino.cc/en/Main/ReleaseNotes 참고

* Support for DHCP and DNS has been added to the Ethernet library, thanks to integration by Adrian McEwen. Most classes in the Ethernet library have been renamed to add a “Ethernet” prefix and avoid conflicts with other networking libraries. In particular, “Client” is now “EthernetClient”, “Server” is “EthernetServer”, and “UDP” is “EthernetUDP”. A new IPAddress class makes it easier to manipulate those values.


* The UDP API has been changed to be more similar to other libraries. Outgoing packets are now constructed using calls to the standard write(), print(), and println() functions – bracketed by beginPacket() and  endPacket(). The parsePacket() function checks for and parses an incoming packet, which can then be read using available(), read(), and peek(). The remoteIP() and remotePort() functions provide information about the packet’s origin. (Again, thanks to Adrian McEwen for the implementation.)


[책]곡선이 이긴다


속도전, 효율, 성과주의, 인생최적화로 상징되는 키워드 ‘직선’에서 벗어나 ‘곡선’을 통해 새로운 행복 패러다임을 제시한다. 저자는 ‘무조건 느리게’가 아닌 인생을 사는 나만의 속도 회복하기, 나만의 길을 걷기, 실패해도 유연하게 다시 일어서기, 내일 행복할 것이 아니라 ‘지금’ 행복하기가 바로 곡선적 삶의 자세라고 말하며 삶의 가치를 재정비할 것을 제안한다. ‘직선들의 대한민국에서 곡선으로 사는 법’을 시작으로, 삶은 And의 향연이라는 것, 1%가 되기 위해 99%를 낭비하지 말 것, 인생은 주관식이라는 것, 남의 시선에서 벗어나고 속도의 경쟁에서 벗어나 밀도의 경쟁을 하는 것 등의 내용을 총 5개 파트로 나누어 들려주고 있다

결국 인생에는 정답이 없다. 세상의 프레임에 자신을 가두지 말고, 자기 자신이 누구인지를 확실히 알고 자신만의 길을 가라.


삶은 End 게임이 아닌 And의 향연이다.
어리석은 사람은 서두르고, 영리한 사람은 기다리지만, 현명한 사람은 정원으로 간다. – 타고르
병: 잠시 멈춰서 휴식을 취하라는 몸의 명령
대나무는 고속으로 성장하다 마디를 맺는다. 그 마디는 멈춤이면서 동시에 쉼이다.
중요한 일은 시간을 다투는 일이고, 소중한 일은 하지 않으면 안 되는 의미 있는 일
서양인은 입으로 웃고, 동양인은 눈으로 웃는다. 🙂  ^^
아름다움: 상처와 아픔 / 보듬어 안음 / 내면에 감춰진 충실함 / 무언가를 아는 것. (앓음다움 / 안다 / 알밤답다 / 알다)


1%가 되기 위해 인생의 99%를 낭비하지 마라: 프레임
천재란 불씨와 같은 존재이다. 아무리 좋은 불씨도 장작을 만나야 유용한 불을 피울 수 있다.
Espresso:  자신은 전혀 내세우지 않으면서 다른 커피를 더욱 빛나게 만들어 준다.
하인리히 법칙: 1-29-300의 법칙
앙스트블뤼테: 죽기전의 전나무가 유난히 화려한 꽃을 피우는 현상. 불안+개화
스트라디바리우스: 가문비 나무, 황태, 명검. 시련이 있어야 성숙해진다.


인생은 객관식이 아니라 주관식이다.
자신의 인생을 심리학에게 묻지 마라. 정답은 많다.
최고(the best) 보다는 유일함(only one)
색다른 답을 찾으려면 새로운 질문을 해야 한다. 인터러뱅(interrobang) ?+!


거창고등학교 “직업선택의 10계명”
1. 월급이 적은 쪽을 택하라.
2. 내가 원하는 곳이 아니라 나를 필요로 하는 곳을 택하라.
3. 승진의 기회가 거의 없는 쪽을 택하라.
4. 모든 것이 갖추어진 곳을 피하고, 처음부터 시작해야 하는 황무지를 택하라.
5. 앞을 다투어 모여드는 곳은 절대 가지 마라. 아무도 가지 않는 곳으로 가라.
6. 장래성이 전혀 없다고 생각되는 곳으로 가라.
7. 사회적 존경 같은 것을 바라 볼 수 없는 곳으로 가라.
8. 한 가운데가 아니라 가장자리로 가라.
9. 부모나 아내나 약혼자가 결사 반대를 하는 곳이면 틀림없다.
10. 왕관이 아니라 단두대가 기다리고 있는 곳으로 가라.

기계적인 행동강령이라기 보다는 상상을 하고 성찰을 유도하기 위한 촉매제.


Research = re + search
실패에 익숙해져라 그러나 오답노트를 만들어라.
나는 성공에 사로잡힌 사람이 아니라, 내 안의 빛에 사로잡힌 사람 – 링컨
발바닥 가운데가 오목한 이유: 지구를 떠받치기 위한 신의 배려
남의 시선에서 벗어나 나를 본 적 있는가?
근본적인 문제들에 대한 고민
나는 무엇이 되고 싶은가? / 나는 무엇을 하면 즐거운가? / 내가 잘할 수 있는 것은? / 나는 누구인가?
레드퀸 효과: 주변환경자체가 변하기 때문에 제자리에 머물려고 해도 상당한 노력을 해야 한다.
나의 인생을 바꿀 촉매제: 아인슈타인의 나침반, 바다의 3%의 소금 => 작은 실천, 작은 변화
인생의 마라톤에서 자기만의 페이스를 따라라.


속도의 경쟁에서 벗어나 밀도의 경쟁을 하라
속도는 남과의 경쟁이지만 밀도는 자신과의 경쟁이다.
2종류의 사람: 자리에 목숨 거는 직의 사람(소유충동)/ 일에 목숨 거는 업의 사람(창조 충동)
마스터플랜 대신 롤링 플랜: 초기 계획 수립과 동시에 실행을 하고, 실행을 하면서 계획을 수정하는 역동성
핵심가치: PITCH, 열정(passion), 혁신(innovation), 신뢰(trust), 도전(challenge), 행복(happiness)
성공은 삶에 대한 99%의 자세 및 태도, 꿈을 이루기 위한 1%의 스킬로 구성
상상력과 창의력은 어느 정도 레퍼런스가 쌓이지 않으면 절대로 향상되지 않는다 – 고전과 시집
뺄셈의 법칙: ERRC 방법, Eliminate, Reduce, Raise, Create
방황하는 것은 길이 없어서가 아니라 너무 많기 때문이다. 삶이 절망적인 것은 희망이 없어서가 아니라 헛된 욕망과 야망이 넘쳐나기 때문이다.


 


[책] 시골의사 박경철의 자기혁명


자기개발서를 읽는 이유는 뻔한 내용임에도 일상에 메너리즘에 빠져있는 나에게 약간의 자극이 되는 것 같다. 
이 책에 자주 나오는 말중에 하나는 “좋은 습관을 만드려는 노력보다 나쁜 습관을 버려라”
하지만 문제는 버리고 난 이후가 더 중요하다. 버리고 난 부분에 무엇을 채울 것인가?
사실 이게 더 중요하다. 버리고 난 후에 좋은 것으로 채우지 못하면 매번 같은 것을 반복하는 자신을 바라보게 된다. -_-;;

책속의 괜찮은 말들…
자기 자신을 알기위해 노력하라 인간은 노력하는 한 방황한다.
(Es irrt der Mensch, solange er strebt)

낯선 것과의 조우를 통해 이성이 시작된다.”” – 하이데거

행복 = 가진 것/욕망. 모순: 가진 것을 늘리려면 가지려는 욕망이 그 보다 더 크게 자라야 한다. 방법은 욕망의 대상을 전환하는 데 있다. 더 가지려고 노력하되 그 대상이 개인이 아닌 사회를 향하게 함으로써 욕망을 선량하게 관리하는 것이다.


최선을 다했다는 말을 함부로 쓰지 마라.
최선이란 자기의 노력이 스스로를 감동시킬 수 있을 때 비로소 쓸 수 있는 말이다. – 조정래


만약 어리석은 사람이 자신이 어리석음을 깨닫는다면 그가 곧 슬기로운 사람이다.
그러나 어리석은 사람이 스스로 슬기롭다고 생각한다면 그것이야말로 진짜 어리석은 것이다. – 법구경


시간이 없다는 말은 위선이다. 시간은 늘 충분하다. 단지 우리가 무엇인가를 포기하지 않기 때문에 새로운 것에 도전할 시간이 없다는 것이다.


상황에 이끌려 선택을 하지마라.
주어진 상황에서 선택할 수 있는 것은 최악/차악뿐이다.
하지만 내가 만든 상황에서 던지는 주사위에는 최선/차선의 선택이 있다.


Sympathy(동정심), Empathy (공감력): 타인의 자존감에 대한 인정, 내가 아닌 그의 관점에서 이해하고 같은 눈높이에서 상대의 마음이 되어 진심을 보이는 것, 선한 영향력


[책] 오프라인 비즈니스 혁명


저자 정지훈은 미래 칼럼니스트로 활약중이며 ‘하이컨셉’이라는 닉네임으로 잘 알려진 파워블로거이기도 하다. 그는 다가올 미래에 대해 ‘그동안의 10년이 IT가 만든 디지털 혁명이었다면, 앞으로의 10년은 전통산업과 IT가 만나 비용 절감과 시공간 단축이 실현되는 제2의 산업혁명이 될 것’이라고 말했다.  

무엇이 제조와 유통의 혁신을 일으키는가
가내수공업의 시대가 부활한다
새롭게 탄생하는 유통산업과 광고, 마케팅의 미래
미래의 웹 환경과 미래기업 경영의 원칙
등의 4가지 큰제목을 가지고 다가올 미래에 대해 이야기하고 있다.

제조부문에서 기업이 아닌 개인의 등장(프로슈밍, DIY)하여 자신의 창작물을 온라인에서 쉽게 공유하는 시대.온라인에서는 개인의 경험과 실시간성, 판매가 아닌라 관계의 중요성이 부각.
이를 촉진시키는 것이 3D 프린터 및 3D 모델링툴 및 Open Hardware.
하지만 결국 중요한 것은 어떻게 제조 단가를 낮추고, 이를 생산하는 기계가격이 얼마나 떨어질 수 있느냐에 달려있다.
혁신의 원동력은 쉽고(easy), 싼(cheap) !!
* Open Hardware의 경우 Adafruit, DIY Drones, Makerbot, Arduino, Beagle board, Bugs labs, Chumby, Liquidware, Maker SHED, 2010년 상반기까지 13개 정도의 회사가 100만불 이상의 매출, 2015년에는 현재 규모의 20배 이상 성장을 예상

최근 Forbes에 “Open Source Electronics DIY Kits with Adafruit“라는 제목으로 실린 Limor Fried의 기사도 읽어볼 만 하다.
Hobby business에서 커뮤니티의 중요성을 역설하고 있다.


Providing good information has been our “advertising”. I publish all the source code, schematics, board layout files and everything anyone needs to build or remake my products. While this sounds counter intuitive because I’m basically giving away our IP, it’s created a large community of customers who value great design and great documentation.

The tipping point for Adafruit isn’t really about us, it’s what has transformed the hobbyist and professional electronics market – now, customers expect to have fully documented, open-source, supported hardware. This is what I provide and customers seek this out. This year we hit our 100,000th order. Since we give away all our designs we need to provide more value than just the physical parts – we have great service, support, documentation and help available for any customer. Word gets around, people know if we have something it’s because it’s the best and a great price.



Ethernet 시스템 Layout guide

임베디드 시스템에서 Ethernet은 물리적으로 Ethernet Controller + Magnetic + RJ45로 이루어 진다.
Ethernet Controller는 다시 Etherent MAC + PHY로 구성이 되는데, Ethernet MAC의 경우 최근 MCU에 들어가 있는 경우가 많고 MAC/PHY칩으로 존재하기도 한다.
Magnetic의 경우 코일이 감겨진 transformer를 얘기하는데 RJ45잭 안에 이 Magnetic이 들어가 있는 경우 흔히 MagJack이라고 불리운다. 사실 MagJack은 BelFuse사의 trade mark이다. PoE를 지원하는 MagJack의 경우 이전 포스트를 참고.
임베디드 시스템에서 Ethernet의 하드웨어를 구현시 PCB 레이아웃을 할때는 PHY의 뒷단 부터는 신호의 무결성을 위해 
신경을 써야 한다. 대부분 PHY칩 업체의 가이드를 따르면 되며, 모든 벤더들의 가이드 역시 대동소이하다.

Micrel사의 디자인 가이드

cfile4.uf.206119494EDEFD94288766.pdf


Davicom사의 디자인 가이드
cfile9.uf.15635D494EDEFD94263063.pdf
IC Plus사의 디자인 가이드


cfile3.uf.186107494EDEFD9528439C.pdf
Reaktek 사의 디자인 가이드


cfile24.uf.127843494EDEFD95061C16.pdf


IEEE 1588 PTP (Precision Time Protocol)

장비 내 각각의 부분별로 별도의 정확한 클럭이 존재하지만 ns에서 μs 사이에 발생하는 회로의 변화나 작은 차이도 금방 누적된다. 또한 네트워크 장비에서의 버퍼링등으로 인한 딜레이 및 연결로 인해 레이턴시 지연, 즉 ‘지터(Jitter)’ 또한 발생한다. 하지만 PTP를 추가함으로써 이러한 타이밍에 대한 보상을 함으로써 문제를 해결할 수 있다. 네트워크 구성과 장비에 따라 수십ns~수μs 내로 클럭을 동기화 할 수 있다.

이러한 기능이 필요한 한가지 예는 스마트 그리드 시스템이다. 즉 peak-hour 빌링 같은 기능을 위해 정확한 시간정보가 필요하다. PTP의 장점은
-. 이미 네트워크 기능이 들어가 있는 장비에 PTP 프로토콜을 탑재함으로써 적은 비용으로 이런 기능의 구현이 가능하고,
-. Multicast(UDP)를 이용해서 작은 bandwidth 만 요구된다.

PTP는 IEEE 1588 에 Precision Clock Synchronization for Networked Measurement and Control Systems 로 정의가 되어 있다. 이 표준은 디바이스가 네트워크상에서 가장 정밀하고 정확한 클럭을 활용할 수 있는 프로토콜을 제공한다.
2 가지 버젼, PTP v1 IEEE 1588-2002, PTP v2 IEEE 1588-2008 이 있는데 하위 호환성은 없다.
MAC/PHY칩의 경우 H/W 적으로 IEEE 1588 time stamp 기능이 있는 칩이 있는데, 이런 칩의 경우 수 usec 내의 정확도를 보장하며, S/W만으로 구현할 경우 수 msec정도의 정확도가 가능하다. 
참고로 PHY에서 IEEE 1555을 지원하는 것도 있다. NI사의 DP83640 


cfile8.uf.133D703D4EDC981C0DC0A6.pdf




PTP Network




Master1이 문제가 있으면 Master2가 Grandmster가 된다. IED (Intelligent Electronice Device)

클럭 동기화를 위해 PTP는 time source인 마스터와 receiver인 슬레이브사이의 path delay를 정확히 측정을 해야하는데 아래 다이아그램에 있는 것 처럼 메시지를 보내고 메시지를 수신함을써 이것을 측정한다.



1. Master가 Sync를 보내고 Slave는 이것을 수신한 시간을 기록. 82초
2. Master가 Follow up 패킷을 보낼때 데이터에 보낸 time stamp(100)을 넣어서 보냄. 
   Slave는 100-82를 해서 옵셋을 보정함. 보정을 하니 Master가 103초일때 Slave는 101초이다. 즉 2초가 차이가 난다.
3. 이제 path delay만 보정하면 되는데, master to slave delay는 0 이다.<= 계산 방식은 위와 동일
   Slave to master delay는 4이다. 따라서 이것을 2로 나누면 +2초. 따라서 이 path delay 2초를 보정을 하면 master와 
   slave간에 동기가 맞아진다.

구체적인 구현이나 테스트를 위해 보면 좋은 자료
IEEE 1588 precision time protocol demonstration for STM32F107 connectivity line microcontroller


cfile29.uf.197FC53C4EDCA3E63148A9.pdf



참고
NI자료 Introduction to Distributed Clock Synchronization and the IEEE 1588 Precision Time Protocol
시스코 자료 Cisco CGS 2520 Switch Software Configuration Guide for IOS Release 12.2(58)EY


13 Rules For Realizing Your Creative Vision

Startup 기업 또는 개인의 프로젝트를 위해 읽어볼 가치가 있다.


The idea of creating prototypes as soon as you can, and failing as fast as possible so you can evolve your way to something great. It isn’t to say that you have to make these failures public. But the failures have to be made and not just thought about. Get it done.

기사원문: http://www.fastcodesign.com/1665527/infographic-of-the-day-13-rules-for-realizing-your-creative-vision?partner=homepage_newsletter


LeafLabs의 Maple mini, Maple Ret 5 보드 사용기

Arduino가 AVR을 기반으로 하여 오픈하드웨어 플랫폼을 주도하고 있는데, Leaflabs은 STM32시리즈를 기반으로 하는 오픈하드웨어 플랫폼을 만들고 있다. Leaflabs의 보드들의 이름은 Maple이다.
Leaflabs사의 홈페이지에서 주문을 하니 한 일주일만에 배송이 되었다. Arduino가 요즘에는 브랜딩 작업을 하고 있고, 포장 및 디자인까지 신경을 쓰는 반면 역시 후발 주자답게 포장이 좀 허접하다. 대신 사탕을 같이 넣어서 주네..ㅋㅋ



아두이노와 같은 모습의 IDE를 사용하는데, 일단 처음 부터 막힌다. IDE 다운로드


몇시간의 삽질끝과 bootloader 소스까지 받아서 bootloader 가 어떻게 동작을 하는지 알아낸 후에야 이해가 된다.
Windows 환경의 경우 드라이버를 수동으로 설치를 해야 하는데 2 종류의 드라이버를 설치를 해야한다.
 -. Maple R3 COM port 드라이버
 -. LibUSB-Win32 Devices 드라이버
만약 위 2번째 드라이버가 설치가 안되어 있으면, 다운로드시

Couldn’t find the DFU device: [1EAF:0003]


라는 메시지가 뜬다.

설치를 하는 방법이 좀 까다로운데, 리셋을 누르면 LED가 6번 빨리 깜박인다.
이 다음에 BUT 버튼을 누른후 장지관리자에서 설치가 되지 않은 드라이버를 수동으로 설치를 한다.
즉 Perpetual bootloader mode에서 설치를 해야 한다.
설치 파일은 IDE를 인스톨한 폴더 아래 drivers\mapleDrv 아래 dfu, serial 폴더에 각각 있다.

LeafLabs에 있는 Andrew가 알려준 유튜브에 있는 동영상



http://leaflabs.com/docs/maple-ide-install.html#id4 에 있는 설치 정보.


First, install DFU drivers (for uploading code to your Maple) using the following steps.



  1. Plug your Maple into the USB port.

  2. Hit the reset button on your Maple (it’s the small button at the bottom left, labeled RESET). Notice that it blinks quickly 6 times, then blinks slowly a few more times.

  3. Hit reset again, and this time push and hold the other button during the 6 fast blinks (the button is on the top right; it is labeled BUT). You can release it once the slow blinks start.

  4. Your Maple is now in perpetual bootloader mode. This should give you a chance to install the DFU drivers.

  5. Windows should now prompt you for some drivers. In the top level directory of the Maple IDE, point Windows to drivers/mapleDrv/dfu/.

Next, install serial drivers (for communicating with your Maple using serial over USB).



  1. Reset your Maple and allow it to exit the bootloader (wait for the slow blinking to stop). The Maple will next start running whatever program was uploaded to it last. (New Maples will start running the test program we upload to them before shipping them to you).

  2. Once Maple is running some user code, Windows should prompt you for more drivers. Point windows to driver/mapleDrv/serial.

일단 각각의 드라이버가 설치가 잘 되면 그 다음은 Arduino에서 작업을 하듯 할 수 있다.


 


Pages:1...36373839404142...56