FDA 인증된 심장 측정을 위해 PPG/ECG 콤보 웨어러블 생체 센서 모듈을 사용해 보세요.

작성자: Stephen Evanczuk

DigiKey 북미 편집자 제공

소비자는 스마트 워치, 헬스 밴드, 기타 배터리 구동식 모바일 장치로부터 더욱 정확한 피트니스 및 심장 건강 데이터를 확보할 수 있기를 기대하고 있습니다. 이러한 기대를 충족하기 위해 개발자는 복잡하고 비용이 많이 드는 다중 부품 솔루션과 씨름해야 했습니다. 이러한 노력으로 결국 높은 정확도를 제공하겠지만 전력 소비량 증대, 더 넓은 실장 면적, 개발 시간 지연 등의 문제가 발생할 수 있습니다. 더 단순하고 명쾌한 솔루션이 필요합니다.

이 기사에서는 Maxim Integrated의 고집적 모듈을 바탕으로 한 명쾌한 솔루션을 향한 경로를 안내합니다. 우선 정확한 심장 기능 모니터링에 관한 어려움을 설명한 후, 개발자가 이 모듈을 활용해 활동 중에는 FDA 인증이 가능한 심박계 모니터링을 수행하고 휴식 중에는 심전도(ECG) 측정을 수행하는 방법을 소개할 예정입니다.

심장 기능 측정

의료 서비스 제공자는 침투 절차 없이 정기적으로 ECG(EKG라고도 함)를 활용해 심장 건강에 대한 가장 상세한 데이터를 제공합니다. ECG 장비는 심장 주기 중 심장 근육의 탈분극과 재분극을 통해 생성되는 파형을 캡처합니다(그림 1). 이 공정을 위해서는 신체의 전략적 위치에 전극 10개를 배치해야 합니다. 이러한 전극은 심장 조직의 부피 전반에서 생성된 파형의 서로 다른 축과 일치하도록 고안된 12개 쌍 또는 리드로 연결됩니다.

광용적맥파(PPG)와 비교한 심전도(EKG) 이미지

그림 1: 심전도(ECG 또는 EKG)가 더 상세한 내용을 제공하지만 더 단순한 광용적맥파(PPG)는 여기에 표시된 심실조기수축(PVC) 발생 같은 유용한 정보를 제공할 수 있습니다. (이미지 출처: Wikipedia)

예를 들어 환자의 다리에 배치된 전극은 다른 전극과 쌍을 이루어 심장 조직을 통해 아래로 내려가는 심실 탈분극 파형의 상세 정보를 캡처할 수 있습니다. 의료기기 등급의 12리드 ECG 기기는 이 접근 방식으로 다양한 전극 쌍의 데이터를 결합해 심장 주기의 각 단계와 관련된 최적의 축을 따라 파형을 측정합니다.

이와 대조적으로, 소비자 피트니스 장치로 수행하는 ECG 측정에는 보통 단일 전극 쌍만 사용되므로 이 장치 클래스에 대해 단일 리드 ECG라는 용어가 파생됩니다. 단일 리드 ECG에는 심장전문의가 진단하는 데 필요한 상세 정보가 부족할 수 있지만 의료 서비스 제공자에게 정확한 진단을 위해 12리드 ECG를 사용해야 할 수 있는 질환 가능성을 경고하기에 충분한 정보를 제공합니다.

실제로, 개인의 움직임으로 인해 측정치가 쉽게 손상될 수 있으므로 피트니스 장치에 단일 리드 ECG 측정을 사용하는 것은 심각한 문제가 될 수 있습니다. 근육의 움직임으로 인해 근섬유 탈분극에서이에 상응하는 전기적 파형이 발생하며 이러한 파형은 전도성 조직을 통해 이동합니다. 주요 근육 그룹에 의한 움직임에서는 심장 근육과 같이 더 깊이 묻혀 있는 신호 발생기에서 발산하는 신호를 손쉽게 뒤덮을 수 있는 생체 전위를 생성할 수 있습니다. 그 결과 정확한 ECG 측정을 위해서는 의료 시설에 누워 있든 운동 중이든 대상자가 정적인 상태를 유지해야 합니다.

실제로 운동 중인 사람에게 단일 리드 ECG를 수행하려고 하면 실패할 가능성이 높습니다. 이러한 이유로 일반적으로 운동 중의 심박 데이터를 제공하는 개인용 피트니스 장치에는 광용적맥파(PPG) 방법이 활용됩니다.

혈액의 각 맥박은 혈관 부피를 변경하므로 가장 기본적인 형태의 PPG는 광학 센서를 이용해 빛 반사(또는 흡수)의 상대적 차이를 측정합니다. 가장 초기의 소비자 심박계가 이 기본 접근 방식을 사용했지만 오늘날의 일반적인 피트니스 제품은 주변 공기 포화도(SpO2) 수준을 측정하는 더 진화된 형태의 PPG를 사용합니다. 이 방식은 사용자가 운동에 대한 생리적 반응을 더 심도 있게 이해하는 데 도움을 줍니다.

SpO2 측정은 별도의 두 가지 헤모글로빈 상태를 중심으로 한 방출 스펙트럼의 빨간색 및 적외선 LED로 표현되는 다양한 흡수 스펙트럼을 활용하여 산소가 공급된 혈액과 산소가 제거된 혈액을 비교합니다(“피트니스 장비에 심박계 기능 추가” 참조). SpO2는 두 상태 간의 비율에 중점을 두지만 기본 심박 측정은 측정된 광학 신호의 피크 간 주기 시간을 측정하여 동일한 데이터로부터 추출할 수 있습니다. 소비자 산소 포화도 측정기는 이 접근 방식을 활용해 신체 움직임, 개별 사용자 차이 또는 기타 요인에도 불구하고 더 신뢰할 수 있는 심박 측정값을 제공합니다.

광학 PPG 기반 방법이 피트니스 장치에 오랫동안 사용되어 왔지만 최근 단일 리드 ECG가 Apple Watch 같은 소비자 제품에서 급부상하고 있습니다. 치열한 경쟁의 압박으로 인해 피트니스 손목 밴드, 스마트 워치, 기타 개인용 전자기기 제조업체는 제품에 PPG와 단일 리드 ECG 기능을 모두 포함한 장치에 대한 수요가 늘어나는 상황을 맞이하고 있습니다.

하지만 개발자는 이러한 기능 중 하나만 구현하더라도 여러 문제에 직면하게 됩니다. 이중 LED PPG 설계에는 빨간색 및 IR LED를 최적으로 구동하고, 반사 또는 흡수된 빛을 포착하고, 결과를 동기화하고, 마지막으로 심박을 산출하고, 선택적으로 SpO2까지 계산할 수 있는 기능이 필요합니다. 단일 리드 ECG 설계에는 모든 활성 생체 전위 현상 측정과 관련된 잡음이 심한 신호를 처리할 수 있는 아날로그 신호 경로를 구축하는 과정에 있어서 광범위한 전문 지식이 필요합니다.

아마 더 근본적으로, 두 가지 유형의 설계를 구현하고 그 결과를 동기화하는 데 필요한 전력 요구 사항, 설계 규모, 부품 개수 사양은 대부분의 배터리 구동식 모바일 제품으로는 엄두도 내기 힘들 것입니다. 이러한 문제를 해결하기 위해 Maxim Integrated의 MAX86150 생체 센서 모듈은 모든 전력 제한 설계에 PPG 및 ECG 기능을 추가하는 거의 드롭인 솔루션에 가까운 솔루션을 제공합니다.

생체 센서 모듈

휴대용 시스템을 위해 특별히 설계된 MAX86150 모듈은 이중 LED PPG 및 ECG용 서브 시스템을 3.3mm x 6.6mm x 1.3mm 크기의 단일 장치에 통합합니다. 광학 측정을 위해 MAX86150은 완전한 입력/출력 광학 신호 경로를 유리 뚜껑 뒤로 패키지에 내장된 빨간색 LED, IR LED 및 광 다이오드와 결합합니다(그림 2).

Maxim의 MAX86150 PPG 서브 시스템 구성도

그림 2: MAX86150 PPG 서브 시스템은 LED 출력 및 광 다이오드 입력을 위한 신호 경로를 포함한 모든 필수 부품을 통합해 광학 기반 피트니스 측정을 제공합니다. 또한 빨간색 LED, 적외선 LED 및 광 다이오드 장치는 유리 뚜껑 뒤에 배치됩니다. (이미지 출처: Maxim Integrated)

PPG 신호 경로에 대해 이 모듈이 주변 조명 무효화(ALC) 회로망, 19비트 지속 시간 오버샘플링 델타 시그마(ΔΣ) 아날로그 디지털 컨버터(ADC), 추가적인 잡음 제거를 위한 별도의 시간 필터를 통합합니다. ALC 내부의 디지털 아날로그 컨버터(DAC)는 주변 조명을 무효화해 입력 작동 범위를 확장하는 데 도움이 됩니다. 개발자가 전력 소비와 성능 사이의 균형을 맞추는 데 도움을 주기 위해 이 장치의 통합 LED 구동기는 0mA ~ 100mA의 전류를 제공하고 50μs ~ 400μs 범위의 전류 펄스 폭을 제공하도록 프로그래밍할 수 있습니다.

추가적인 전력 절감을 위해 개발자는 장치가 측정 동안에 더 낮은 전력 상태를 유지하게 하는 근접 기능을 활성화할 수 있습니다. 이 상태에서는 개발자가 프로그래밍한 최저 전력 레벨에서 장치가 IR LED를 구동합니다. 광 다이오드가 사용자의 손가락이나 다른 피부 표면이 접근하는 것을 알리는 유용한 신호를 감지하면 중단이 발생하며 장치는 계속 샘플링하기 위해 정상적인 작동 상태로 되돌아갑니다.

ECG 측정을 위해 MAX86150은 건조 전극 두 개와 소수의 추가 부품만으로 단일 리드 ECG를 구현하는 완전한 차동 신호 경로를 통합합니다(그림 3). 모든 소형 신호 응용 제품과 마찬가지로 측정 정확도는 환경에 존재하는 수많은 잡음 출처에 의해 지속적으로 도전받게 됩니다. 피트니스 응용 제품에서 심장 파형은 근육 움직임 및 기타 생리적 프로세스와 관련된 생체 전위로부터 영향을 받을 뿐만 아니라 외부 RF 소스, 라인 주파수, 전기 잡음의 전파 방해에 의해 뒤덮이는 경우도 많습니다.

MAX86150 ECG 서브 시스템은 일반 모드 신호를 거부하도록 설계된 정교한 신호 체인을 통해 ECG 측정에서의 신호 잡음을 설명합니다.

완전한 단일 리드 ECG 서브 시스템을 포함하는 Maxim의 MAX86150 모듈 구성도

그림 3: MAX86150 모듈에는 PPG 서브 시스템과 함께 한 쌍의 건조 전극과 최소한의 추가 부품만으로 마이크로 컨트롤러에 ECG 측정 데이터를 제공하는 완전한 단일 리드 ECG 서브 시스템이 포함됩니다. (이미지 출처: Maxim Integrated)

이 장치의 통합 ECG 아날로그 프론트 엔드는 초퍼 증폭기, 필터, 심장 파형의 신호와 잡음 간 비율을 극대화하도록 설계된 프로그래밍 가능 이득 증폭기(PGA)로 구성됩니다. 18비트 ΔΣ ADC는 이 신호 체인을 따라 각 샘플을 변환하고 각 결과를 장치의 공유 32 샘플 FIFO로 내보내 호스트 마이크로 컨트롤러가 지속적으로 데이터를 폴링해야 할 필요성을 줄여줍니다.

전력을 더욱 줄이고 데이터 액세스 요구 사항을 제한하기 위해 개발자는 ECG 및 PPG 서브 시스템의 샘플링 속도를 초당 최대 3200개의 샘플(sps)에서 ECG의 경우 200sps, PPG의 경우 10sps로 낮춰서 조정할 수 있습니다. 그럼에도 불구하고 개발자는 ECG 및 PPG/SpO2 샘플링과 결과 동기화가 동시에 필요한 정교한 응용 분야에서 이 장치를 사용할 수 있습니다. 두 서브 시스템의 서로 다른 최소 샘플링 속도를 이용한 이 접근 방식을 적용해야 하는 경우 장치는 마지막 PPG 샘플로 FIFO를 로드하여 서브 시스템의 다음 샘플링 주기에 새로운 PPG 데이터를 제공합니다.

설계 구현

ECG 및 PPG 측정에 필요한 핵심 기능을 통합하므로 MAX86150 하드웨어 인터페이스는 앞에서 언급한 바와 같이 소수의 감결합 및 버퍼링용 추가 부품과 함께 한 쌍의 건조 전극만으로 완성할 수 있습니다. 그 결과, 개발자는 마이크로 컨트롤러와 MAX86150를 결합하고 최소한의 외부 부품만을 갖춰 정교한 생체 전위 측정 시스템을 구현할 수 있습니다(그림 4). 개발자는 Maxim Integrated의 MAX86150EVSYS 평가 시스템을 이용해 ECG/PPG 응용 제품을 빠르게 탐색함으로써 하드웨어 설계 단계를 아예 건너뛸 수도 있습니다.

Maxim Integrated의 MAX86150 구성도(확대하려면 클릭)

그림 4: 개발자는 Maxim Integrated의 MAX86150을 호스트 마이크로 컨트롤러와 결합하고 여기에 소수의 부품만을 추가해 모바일 피트니스 제품에서 고급 심장 기능 측정 기능을 구현할 수 있습니다. (이미지 출처: Maxim Integrated)

즉각적인 응용 제품 플랫폼과 참조 설계의 역할을 모두 수행하는 MAX86150EVSYS 평가 시스템에는 MAX86150 기판, MAX32630FTHR 기판, 500mAh 리튬 폴리머 배터리가 포함되어 있습니다(그림 5). MAX86150과 함께 MAX86150 기판은 스테인리스강 건조 전극 두 개와 앞에서 언급한 추가 부품을 제공합니다.

헤더를 통해 연결된 MAX32630FTHR 기판은 Maxim Integrated의 MAX32630 마이크로 컨트롤러 기반으로 구축된 완전한 Bluetooth 지원 시스템을 제공하며 포함된 배터리 팩의 충전 및 전력 관리도 처리합니다.

Maxim Integrated의 MAX86150EVSYS 평가 시스템 이미지

그림 5: 개발자는 건조 전극, MAX32630 기반 MAX32630FTHR 개발 기판, 배터리 팩으로 완성된 MAX86150 기판(왼쪽)을 제공하는 Maxim Integrated의 MAX86150EVSYS 평가 시스템으로 심장 측정 방법을 신속하게 평가할 수 있습니다. (이미지 출처: Maxim Integrated)

기성 제품인 이 평가 시스템은 기본 MAX86150 애플리케이션을 위한 펌웨어가 사전 장착된 MAX32630FTHR 기판과 함께 제공되므로 개발자가 ECG 및 PPG 측정을 즉시 탐색할 수 있습니다. 개발자는 Bluetooth를 통해 기판 세트를 Windows PC 시스템에 연결하고 Maxim Integrated의 MAX86150EVSYS 키트를 위한 Windows 기반 그래픽 사용자 인터페이스 평가 키트 소프트웨어를 실행하기만 하면 됩니다. 이 GUI 패키지는 MAX86150의 ECG 및 PPG 데이터를 표시하여 개발자가 성능에 대한 영향을 검토해 볼 수 있게 손쉽게 장치 설정을 수정하도록 지원합니다(그림 6).

Maxim Integrated의 MAX86150EVSYS 평가 시스템 관련 소프트웨어 응용 제품 이미지(확대하려면 클릭)

그림 6: Maxim Integrated의 MAX86150EVSYS 평가 시스템에 연결된 이 회사의 관련 소프트웨어 애플리케이션을 이용하면 개발자가 MAX86150이 수행하는 ECG 및 PPG 측정을 손쉽게 검토할 수 있습니다. (이미지 출처: Maxim Integrated)

맞춤형 응용 제품의 구축이 준비된 개발자에게는 Maxim Integrated의 MAX86150 구동기 패키지가 핵심적인 장치 기능을 위한 소스 코드를 제공합니다. 구동기 패키지는 여러 기능 중에서 특히 장치의 FIFO와 함께 작동해 호스트 프로세서가 활성 상태로 머물러야 하는 시간의 길이를 단축하여 전력 소비를 최소화하는 접근 방식을 보여줍니다. 이 접근 방식의 핵심인 소프트웨어는 한 쌍의 중단 핸들러를 활용해 장치 이벤트에 응답한 다음 데이터 샘플을 이용할 수 있을 때 조치를 취합니다.

중단 중심의 접근 방식은 초기화 루틴에서 시작됩니다. 이는 장치 중단 요청(IRQ) 핸들러인, max86xxx_irq_handler()를 등록합니다. 중단 이벤트가 발생하면 이 핸들러가 사용 가능한 장치 데이터를 확인하고 필요하다면 별도의 FIFO 핸들러(max86xxx_fifo_irq_handler())를 호출하고 장치 다이 온도와 VDD 수준 확인을 포함한 중요한 관리 기능을 수행합니다(목록 1).

복사 int max86xxx_irq_handler(void* cbdata) { struct max86xxx_dev *sd = max86xxx_get_device_data(); int ret; union int_status status; status.val[0] = MAX86XXX_REG_INT_STATUS1; ret = max86xxx_read_reg(status.val, 2); if (ret < 0) { printf("I2C Communication error. err: %d. %s:%d\n", ret, __func__, __LINE__); return -EIO; } if (status.a_full || status.ppg_rdy || status.ecg_imp_rdy || status.prox_int) { max86xxx_fifo_irq_handler(sd); } if (status.die_temp_rdy) max86xxx_read_die_temp(sd); if (status.vdd_oor) { sd->vdd_oor_cnt++; printf("VDD Out of range cnt: %d\n", sd->vdd_oor_cnt); } return 0; } 

목록 1: Maxim Integrated의 MAX86150 구동기 패키지에 속한 이 코드 조각은 장치 IRQ 핸들러가 샘플을 이용할 수 있거나 근접 중단 등의 이벤트가 발생할 때만 별도의 FIFO 핸들러를 호출함으로써 처리를 최소화하는 방법을 보여줍니다. (코드 출처: Maxim Integrated)

장치 IRQ 핸들러의 호출을 받으면 FIFO 핸들러는 86150에 의해 FIFO 버퍼에 저장된 센서 판독값을 재조립하는 데 필요한 저수준으로 작동합니다. 여기에서 이 핸들러는 FIFO 버퍼 내의 사용 가능한 샘플을 순환하며 ECG 채널의 18비트 ADC와 PPG 채널의 19비트 ADC의 데이터를 저장하는 데 사용된 3바이트를 재조립합니다(목록 2).

복사 void max86xxx_fifo_irq_handler(struct max86xxx_dev *sd) { . . .
num_samples = max86xxx_get_num_samples_in_fifo(sd); . . .
num_channel = max86xxx_get_fifo_settings(sd, &fd_settings); . . .
num_bytes = num_channel * num_samples * NUM_BYTES_PER_SAMPLE; fifo_buf[0] = MAX86XXX_REG_FIFO_DATA; ret = max86xxx_read_reg(fifo_buf, num_bytes); . . .
fifo_mode = max86xxx_get_sensor_mode(sd, fd_settings, num_channel); . . .
sensor = get_sensor_ptr(sd, fifo_mode); for (i = 0; i < num_samples; i++) { offset1 = i * NUM_BYTES_PER_SAMPLE * num_channel; offset2 = 0; for (j = 0; j < MAX_FIFO_SLOT_NUM; j++) { tmp_fd = (fd_settings >> (4 * j)) & 0x000F; if (tmp_fd) { index = offset1 + offset2; tmp = ((int)fifo_buf[index + 0] << 16) | ((int)fifo_buf[index + 1] << 8) | ((int)fifo_buf[index + 2]); samples[tmp_fd] = tmp; max86xxx_preprocess_data(&samples[tmp_fd], 1); offset2 += NUM_BYTES_PER_SAMPLE; } } . . .
sensor->report(sensor, samples); . . .
} if (sensor->update) sensor->update(sensor); return; . . . 

목록 2: Maxim Integrated의 MAX86150 구동기 패키지에 속한 이 코드 조각은 MAX86150 FIFO의 3바이트 형식으로 저장된 각 샘플이 샘플링된 데이터를 추출하기 위해 FIFO 핸들러를 사용하는 과정을 보여줍니다. (코드 출처: Maxim Integrated)

결론

단일 리드 ECG 기능은 PPG 기반 심박 측정과 함께 스마트워치, 피트니스 밴드, 기타 모바일 장치에 대한 요구 사항이 증가하면서 두각을 나타내고 있습니다. 여전히, 이러한 웨어러블 장치에 PPG 및 ECG를 실용적이며 정확하고 저전력으로 구현하기는 매우 어렵습니다.

Maxim Integrated의 86150 생체 전위 센서 모듈은 통합 PPG 및 ECG 서브 시스템을 통해 효과적인 솔루션을 제공합니다. MCU와 결합된 86150 모듈을 이용하면 개발자는 심장 기능에 대한 상세한 데이터를 제공하는 모바일 의료 및 피트니스 제품을 신속하게 구현할 수 있습니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk는 전자 산업에 관해 하드웨어, 소프트웨어, 시스템, 응용 제품(예: IoT)을 비롯한 광범위한 주제에 대해 20년 이상 집필한 경력을 갖고 있습니다. 그는 신경 과학의 뉴런 네트워크 박사 학위를 받았으며항공 우주 산업 분야의 광범위하게 분포된 보안 시스템 및 알고리즘 가속 메서드 관련 업무를 수행했습니다. 현재, 기술 및 엔지니어링에 대해 기사를 쓰지 않을 때에는 인식 및 추천 시스템에 대한 심층적 학습 응용 프로그램을 연구하고 있습니다.

게시자 정보

DigiKey 북미 편집자