ZL70101 Medical Implant RF Transceiver는 Implantable Medical Devices(IMDs)와 외부 Base Station 사이에서 고속의 통신을 제공하는 저전력 디바이스이다.
이 디바이스는 402-405MHz Medical Implant Communication Service(MICS) 대역과 433-434MHz Industrial-Scientific-Medical(ISM) 대역에서 동작되도록 설계되었다.
ZL70101 칩을 이용하여 만든 보드는 Zarlink 사에서 제공하고 있는데, ADP, BSM, IM 보드로 나뉜다.
ADP 보드는 다양한 mezzanine 보드를 부착할 수 있는 base 보드라고 보면 된다.
BSM과 IM 보드는 ADP 보드에 부착하는 mezzanine 보드인데, 둘 간의 통신은 400MHz의 통신 대역을 사용하고, BSM이 IM보드를 깨우는 작업은 2.45GHz 대역을 이용한다.
(IM 보드의 경우 인체에 implant하는 경우가 많으므로 최대한 전력을 아껴야 되기 때문에 평상시엔 sleep 상태로 있다가 BSM이 보내는 wakeup 신호로 인해서 활동을 재개한다)
이에 대한 전체적인 그림은 아래와 같다.
각 보드는 MSP430F1611 마이크로 컨트롤러를 프로세서로 사용하며, 개발은 Code Composer Essentials Professional v3, 디버거 장비는 TI 사의 MSP-FET430UIF를 이용하였다.
아래 그림은 현재 분석 중인 소스코드의 전체적인 구조에 대해서 트리 형태로 구성한 것이다.
소스코드는 ADP 보드를 위한 AppDevPlat 디렉토리, Mezzaine 보드를 위한 ZL7010XAdk 디렉토리로 나뉜다.
AppDevPlat 디렉토리 내에는 ADP 보드의 초기화, 통신, 배터리 관리, USB 인터페이스 등에 관한 코드가 작성된 소스코드가 있으며,
ZL7010XAdk 디렉토리 내에는 Mezzanine 보드의 초기화, 통신, LED, MICS 컨트롤 등에 관한 코드가 작성되어 있다.
기본적인 데이터 흐름은 보통 PC에서 USB를 통하여 ADP 보드에 데이터를 전송하면 ADP 보드는 Mezzanine 보드로 SPI를 통해 데이터를 전송한다.
로컬 Mezzanine보드에서 원격 Mezzanine 보드 통신은 보통 400MHz 대역을 이용하는 트랜시버에 데이터를 전송하여 데이터를 보내게 되는데 Mezzanine 보드 내부 SPI(local SPI)를 이용하여 Mezzanine 보드에서 수신한 데이터를 트랜시버로 넘겨주게 된다.
(보통 MAC에 정의된 TXRXBUFF 레지스터에 값을 쓰면 MAC에서 트랜시버로 RX인지 TX인지에 따라서 데이터를 해당 레지스터로부터 받거나 전송하게 된다)
원격 Mezzanine 보드에서 데이터를 수신하면 위에서 얘기한 데이터 흐름의 역방향으로 PC까지 데이터를 전달하게 된다.
현재 소스코드 분석이 거의 끝나가는 시점이라서 다음주 학회를 갔다온 뒤부터는 디버깅 툴을 이용하여 코드를 좀 고쳐보거나 간단한 응용프로그램을 만들어서 레지스터 값의 변화 등에 대한 측정을 진행할 생각이다.
그나저나 CCE에 대한 자세한 설명서 없나... 기존에 있는 Workspace가 있어서 그걸로 컴파일 좀 할려고 했더니 코드 링크가 다 깨져서 컴파일이 안되네 ㅠ_ㅠ
다음은 참고할 만한 사이트들
ZL70101 PRODUCT PROFILE
http://www.zarlink.com/zarlink/hs/82_ZL70101.htm
MSP430x1xx Family User's Guide
http://focus.ti.com/lit/ug/slau049f/slau049f.pdf
MSP430 USB Debugging Interface(MSP-FET430UIF)
http://focus.ti.com/docs/toolsw/folders/print/msp-fet430uif.html


이올린에 북마크하기
이올린에 추천하기



