Medithings VesiScan BASIC
nRF52840 기반 초음파(Piezo) + IMU 방광 모니터링 패치 펌웨어
Author
Charles KWON - charleskwon@medithings.co.kr
Overview
VesiScan BASIC은 피에조 초음파 트랜스듀서와 IMU 센서를 이용하여 방광 상태를 측정하고, BLE를 통해 모바일 클라이언트로 데이터를 전송하는 웨어러블 패치 디바이스 펌웨어입니다.
Hardware
| 구분 |
칩/센서 |
사양 |
인터페이스 |
| MCU |
nRF52840 |
ARM Cortex-M4, SoftDevice S140 |
- |
| Piezo TX |
MD1822K6-G + TC7920K6-G |
MOSFET Driver, +/-20V |
GPIO (Timer+PPI) |
| Piezo MUX |
8ch MUX (MUXA/MUXB) |
채널 선택 (CH0~CH7) |
GPIO |
| Echo AFE |
ADA2200 |
Lock-in Amplifier |
SPI |
| Echo ADC |
ADC121S051 |
12-bit, Echo 신호 샘플링 |
SPI |
| DAC |
MCP4725 |
12-bit, 바이어스 전압 |
I2C (SW) |
| DigiPot |
AD5272 |
가변저항, AGC 제어 |
I2C (SW) |
| IMU |
ICM42670P |
6축 가속도/자이로 |
I2C (HW) |
BLE Commands (Piezo)
| Command |
Response |
설명 |
mpa? |
- |
Piezo 시스템 활성화 (전원 ON + 드라이버 초기화) |
mpc? [cycles] [freq] [ch] |
- |
Piezo 버스트 (주파수/채널 선택) |
mdc? [cycles] [delay] [samples] |
rdb: rdd: rde: |
Piezo 버스트 + Echo 캡처 (12-bit packed) |
mec? [freq] [delay] [samples] [cycles] [avg] [ch] |
rer: |
Piezo 버스트 + Echo 캡처 (16-bit raw) |
maa? [mode] |
raa: |
8채널 전체 캡처 (비동기, mode 0=raw) |
Piezo 주파수 옵션
| freq |
주파수 |
| 0 (기본) |
2.1 MHz |
| 1 |
1.8 MHz |
| 2 |
2.0 MHz |
| 3 |
1.7 MHz |
| 4 |
2.2 MHz |
| 5 |
1.9 MHz |
8채널 MUX 매핑
| Channel |
MUX |
SEL1 |
SEL0 |
EN_MUXA |
EN_MUXB |
| CH0 |
A0 |
0 |
0 |
1 |
0 |
| CH1 |
A2 |
0 |
1 |
1 |
0 |
| CH2 |
A1 |
1 |
0 |
1 |
0 |
| CH3 |
A3 |
1 |
1 |
1 |
0 |
| CH4 |
B0 |
1 |
1 |
0 |
1 |
| CH5 |
B1 |
0 |
1 |
0 |
1 |
| CH6 |
B2 |
1 |
0 |
0 |
1 |
| CH7 |
B3 |
0 |
0 |
0 |
1 |
Echo 수신 체인
BLE Commands (IMU)
| Command |
Response |
설명 |
msp? |
rsp: |
IMU 6축 데이터 (single shot, 레지스터 직접 읽기) |
IMU 사양
| 항목 |
설정 |
| 센서 |
ICM42670P (6축: 3축 가속도 + 3축 자이로) |
| 인터페이스 |
I2C (HW) |
| 모드 |
Low-Noise Mode |
| 해상도 |
16-bit |
BLE Commands (측정)
| Command |
Response |
설명 |
scj? |
rcj: |
PD-ADC M48 MODE 2 (Pressure + M48 + Battery + Temp + IMU) |
sdj? |
rdj: |
PD-ADC M48 MODE 3 |
sej? |
rej: |
PD-ADC M48 MODE 4 (M48 + Battery + IMU) |
ssj? |
rsj: |
PD-ADC M48 MODE 0 (M48 + Battery/IMU combined) |
cmd? [v1] [v2] [v3] |
rmd: |
ADC count / delay / 파라미터 설정 |
Build
- IDE: Keil uVision5 (ARM5)
- SDK: nRF5 SDK + SoftDevice S140
Project Structure
License
Proprietary - Medithings Co., Ltd.