Nano MAC 초기화 - mac_init()

NanoQplus 2008.08.15 22:31 Posted by 몽백작

Nano Q Plus에서는 IEEE 802.15.4 LRPAN 표준을 따르지만, ZigBee Layer가 포함되어 있지 않다. 대신 Nano MAC이라는 간단한 MAC 프로토콜을 사용한다. Nano MAC을 사용하기 위해서는 초기화가 필요하다.

#define mac_init(channel, panaddr, myaddr) nos_mac_init(channel, panaddr, myaddr)

* Parameters
- channel : RF 주파수 채널
- panaddr : PAN(Personal Area Network) 주소
- myaddr : 모트 주소

* return : 없음

※ Kmote와 USB인터페이스 보드를 사용하는 경우, 일부 특별한 경우, 초기화 직후부터 UART 통신이 불가능해진다. mac_init() 매크로는 nmac_init() 이라는 함수로 대체되는데, 이 함수 내에서 CC2420 초기화 및 RF ON을 통해 RF 통신을 가능하도록 한다. 특히, CC2420을 수신 모드로 바꾸고 송수신 큐들을 flush 하는 과정이 끝나면 UART가 불가능해지는데, 정확한 이유를 모르겠다. 지금까지 발견한 바로는 FT232를 사용하는 모트의 USB 인터페이스 보드를 사용하면 안되지만, MAX232같은 RS-232 칩을 사용할 경우, UART가 동작한다는 점이다. 아무래도 인터페이스 보드가 좀 이상한 것 같은데, CC2420과 FT232간 연관 관계가 있는 것도 아니고, Nano Q Plus 문제도 아닌듯 싶다. 뭔지 모를 하드웨어 문제인듯...
신고

'NanoQplus' 카테고리의 다른 글

Nano Qplus 2.3.6 Release  (0) 2009.01.19
Nano MAC 3가지 수신 방법  (0) 2008.08.16
Nano MAC 초기화 - mac_init()  (0) 2008.08.15
Nano Q Plus 2.3.3 설치  (0) 2008.08.13
아날로그-디지털 변환 - ADC12  (0) 2008.07.29
자원 동시 접근 제어 - Semaphore  (0) 2008.07.28


단기간내 만족할만한 수준의 Win32 어플리케이션을 만들기 위한 C++ Builder의 가장 큰 약점(?)이 바로 시리얼통신 기능이 아닌가 합니다. 정말 왜 기본 포함이 되지 않는 것인지 이해가 안가는 부분!!ㅋ

볼랜드포럼에서 퍼왔습니다.
신고



Kmote를 졸업작품으로 쓰려면 mote뿐만 아니라 기타 부가적인 장치들(UART, LED, Photocoupler, DC모터 등등)을 사용해야 하기 때문에 전원은 넉넉하게 12V 어댑터를 사용했습니다.

12V를 3.3V 정전압회로와 5V 정전압회로를 써서 regulating 시키고, 3.3V는 Kmote의 DVCC에 공급하고, 5V는 UART칩인 MAX232CPE에 공급하였습니다.

모트에는 Nano Q Plus를 이용하여, LED를 깜빡거림과 동시에 UART로 어떤 LED가 켜져있는지 전송하는 프로그램을 다운로드했습니다.

여기까지 오기까지도 회로도 그리랴 PCB 만들으랴 정신이 하나도 없었는데, 앞으로 할일 역시 태산이죠ㅋㅋ
신고

어떤 임베디드 개발이든지 표준출력장치(디스플레이)가 제대로 있는 경우가 드문 임베디드 장치에서는 UART로 PC와 연결하여 하이퍼터미널 같은 터미널 프로그램으로 디버깅을 해야 한다.

Telos Rev.B 기반의 Kmote-B도 2개의 UART 포트를 지원하며 첫번째 포트(UART0TX, UART0RX)의 경우, 일반 UART통신 뿐만 아니라 MSP430의 BSL(Bootstrap Loader)을 통해 바이너리 이미지를 다운로드 받을때에도 사용한다.



위의 동영상은 최초로 UART통신이 성공했을때의 모습이다.
Nano Q Plus에서도 UART 관련 API를 지원하여 손쉽게 프로그래밍할 수 있었다.
신고



 

티스토리 툴바