12월 172011
 

지난 열흘 좀 넘게, 각종 마이크로 컨트롤러와 개발 환경에 대한 조사를 하면서, 선행 개발을 좀 하느라, 거의 하루에 몇시간 못자고… ㅠ.ㅠ 커피로 버텨가면서 … 커흑…. ㅠ.ㅠ

그렇지만, 마이크로 콘트롤러도 그렇고 임베디드 개발도 그렇고 거의 처음이나 다름 없는 상황이라 공부할 것도 많고, 내공에 의한 감(感)도 없어서, 몇번 실패를 하고는 드디어 오늘 NX10 바디를 속이는데 성공했습니다. 

그동안 아두이노(Arduino) 개발 보드로 쭉 공부를 했었는데, 이게… 영 16MHz라는 프로세서 파워가 좀 미심적다고 느꼈습니다.
Netduino와 Maple r5 사이에서 고민을 좀 했습니다. ChibiOS를 두 보드에 모두 설치해서 SPI Slave모드를 구현을 하려고 했는데, 모두 계획한대로 되지 않아 좀 고생을 했습니다. 그러다 결국 오늘 Maple에서 성공을 했습니다.

초기 8bit 마이크로 콘트롤러를 사용하다가, 막상 32bit 콘트롤러를 쓰려니, 이건 뭐… 괴물이 따로 없네요… 성능도 성능이지만, 구조 자체가 8bit와는 비교할 수 없을 정도로 복잡해서…. ㄷㄷㄷㄷ

오늘 실험 성공한 내용은 마이크로 컨트롤러에 NX 30mm 팬케익 렌즈의 부팅시 바디와 주고 받는 데이터를 구현하는 것으로, 이것이 성공함으로써, NX10은 마치 NX렌즈가 장착된 것처럼 동작을 하게 되는 것입니다.

 

위의 사진은 이렇게 해서 NX10이 인식 성공한 가짜 NX 렌즈입니다. 마치 실제 NX렌즈가 장착되있는 것처럼 AF 선택 화면에 SAF, CAF, MF 전환 옵션도 볼 수 있습니다.

아래는 NX10이 가짜 NX렌즈에 속아넘어가는 동영상입니다.

보시면 아시겠지만, 전원을 켜면, 가짜 렌즈와 통신을 마치고, AF 렌즈로 인식해서 AF 측거점을 보이기도 하고, AF옵션 전환 화면도 보입니다.

이로써, 커다란 관문 하나를 지났습니다. 이제부턴 NX 바디와 어댑터와 통신하는 문제는 해결이 된 것입니다.

지금 껏 구현한 환경도 소형의 RTOS (Real Time Operating System)를 얹고, 그 위에서 멀티 쓰레딩 환경으로 구현해 본 것입니다.

이로 인해, 하나의 프로세서로 NX 바디와 통신하면서, 동시에 모터 콘트롤도 수행하고, 또한 몇가지 감시기능도 추가해서 구현해나갈 생각입니다.

 

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)