Giới thiệu dự án

Theo thống kê của Tổ chức Y tế Thế giới (WHO), các bệnh lý tim mạch và hô hấp chiếm hơn 32% tổng số ca tử vong toàn cầu mỗi năm. Việc giám sát liên tục hai chỉ số sinh tồn cốt lõi là nồng độ bão hòa oxy trong máu ngoại vi ($\text{SpO}_2$) và nhịp tim ($\text{Heart Rate - HR}$) đóng vai trò tiên quyết trong chẩn đoán sớm suy hô hấp, thiếu máu cục bộ cơ tim và đột quỵ. Tuy nhiên, các hệ thống đo lường y tế chuyên dụng truyền thống thường có chi phí đắt đỏ, cồng kềnh và hoạt động khép kín, trong khi các giải pháp thương mại giá rẻ dùng vi điều khiển 8-bit/16-bit phổ thông lại gặp hạn chế nghiêm trọng về độ trôi tín hiệu tương tự (analog signal drift), khả năng xử lý lọc nhiễu thời gian thực và giao tiếp đa nền tảng.

Đồ án tốt nghiệp "Khảo sát Kit Medical Application Kinetis K50 và Ứng Dụng Đo Nồng Độ Oxy Trong Máu và Nhịp Tim" được thực hiện nhằm giải quyết bài toán thiết kế hệ thống nhúng y sinh chính xác cao, chi phí tối ưu dựa trên nền tảng vi điều khiển chuyên dụng Kinetis K53 (lõi 32-bit ARM Cortex-M4 @ 100 MHz) kết hợp bo mở rộng cảm biến y tế MED-SPO2.

graph TD
    A["Cảm biến quang kẹp ngón tay (Red 660nm / IR 940nm + Photodiode)"] --> B["Khối tiền xử lý tương tự (MED-SPO2 Analog Front-End)"]
    B --> C["Vi điều khiển Freescale Kinetis K53N512 (ARM Cortex-M4)"]
    D["Cảm biến gia tốc 3 trục MMA7660FC (I2C)"] --> C
    C --> E["Module giao tiếp TWR-SER (USB CDC / Virtual COM)"]
    E --> F["Máy tính trung tâm: Giao diện giám sát MATLAB GUI"]

Mục tiêu cụ thể của dự án

  1. Khảo sát kiến trúc phần cứng: Nghiên cứu toàn diện cấu trúc hệ thống Tower System của Freescale/NXP gồm vi điều khiển TWR-K53N512, module truyền thông TWR-SER và tháp kết nối TWR-ELEV.
  2. Làm chủ khối ngoại vi tương tự chuyên dụng: Cấu hình và khai thác các khối tích hợp trên chip gồm bộ khuếch đại chuyển đổi trở kháng (TRIAMP), bộ khuếch đại thuật toán lập trình được (OPAMP), bộ biến đổi số - tương tự (DAC 12-bit) và tương tự - số (ADC 16-bit).
  3. Phát triển thuật toán xử lý tín hiệu quang thể tích (PPG): Tính toán chính xác giá trị $\text{SpO}_2$ và $\text{HR}$ dựa trên định luật Beer-Lambert và tỷ số hấp thụ quang học hai bước sóng ($660,\text{nm}$ và $940,\text{nm}$).
  4. Tích hợp cảm biến định hướng chuyển động: Giao tiếp cảm biến gia tốc 3 trục MMA7660FC qua bus $\text{I}^2\text{C}$ để nhận diện 6 trạng thái không gian và lọc nhiễu chuyển động.
  5. Xây dựng phần mềm giám sát trung tâm: Lập trình giao diện điều khiển và hiển thị đồ thị sóng xung PPG thời gian thực trên môi trường MATLAB qua cổng giao tiếp nối tiếp ảo (USB Virtual COM).
  6. Thực nghiệm lâm sàng sơ bộ: Kiểm thử và đánh giá độ ổn định trên 5 đối tượng ở hai trạng thái sinh lý (nghỉ ngơi tĩnh và sau vận động).

Phạm vi và giới hạn

  • Phạm vi: Thiết kế hệ thống đo quang học không xâm lấn kiểu truyền xuyên (transmittance pulse oximetry) sử dụng đầu dò kẹp ngón tay tiêu chuẩn; truyền dữ liệu qua giao thức USB tốc độ tối đa $115200,\text{bps}$.
  • Giới hạn: Nghiên cứu tập trung vào phân tích dạng sóng động mạch ở trạng thái ngón tay cố định tương đối; chưa triển khai thuật toán học máy phân loại rối loạn nhịp tim nâng cao và truyền thông không dây Bluetooth/Wi-Fi.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Máy đo ngón tay thương mại (CMS-50D) Mạch tự chế Arduino + MAX30100 Hệ thống Kinetis K50 + MED-SPO2
Kiến trúc xử lý MCU 8-bit đóng gói chuyên biệt ATmega328P 8-bit @ 16 MHz ARM Cortex-M4 32-bit @ 100 MHz
Khối tiền xử lý AFE ASIC tích hợp kín, không can thiệp Module tích hợp cố định độ lợi Khối rời rạc tùy biến: TRIAMP + OPAMP + Lọc đa tầng
Độ phân giải ADC 10-bit đến 12-bit 14-bit (nội suy I2C) 16-bit SAR ADC đa kênh độc lập
Khả năng mở rộng Không có (chỉ hiển thị OLED) Hạn chế băng thông và cổng Chuẩn Tower System, ghép nối EKG, GLU, BPM, SPI
Độ trôi và lọc nhiễu Trung bình, dễ nhiễu khi rung Cao, nhạy cảm với nguồn nhiễu Xuất sắc, có lọc Notch 60Hz và thông dải chủ động

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Đo đạc liên tục tín hiệu PPG, chuyển đổi dòng quang thành điện áp qua TRIAMP, lọc dải thông $0.5 - 6.0,\text{Hz}$, khử nhiễu nguồn $60,\text{Hz}$, tính toán $\text{SpO}_2$ ($70% - 100%$) và nhịp tim ($40 - 200,\text{BPM}$), truyền dữ liệu lên MATLAB GUI.
  • Should have (Nên có): Đọc cảm biến gia tốc MMA7660FC để xác định tư thế thiết bị, điều khiển LED báo trạng thái trực tiếp trên board hoặc qua GUI.
  • Could have (Có thể mở rộng): Tích hợp thẻ nhớ SDHC lưu trữ dữ liệu offline, cảnh báo ngưỡng vượt giới hạn bằng còi chíp/đèn nháy.
  • Won't have (Chưa thực hiện): Tích hợp module truyền thông không dây BLE 4.0 và ứng dụng di động Android/iOS.

Thiết kế hệ thống

Technology Stack & Công cụ phát triển

  • Phần cứng vi xử lý: NXP/Freescale Kinetis K53N512CLQ100 (512 KB Flash, 128 KB SRAM, FlexMemory, USB OTG, 100 MHz).
  • Module nhúng: TWR-K53N512 (MCU Board), TWR-ELEV (Elevator kết nối bus đa năng), TWR-SER (Board giao tiếp RS232/Ethernet/USB), MED-SPO2 (Analog Front-End Oximetry).
  • Cảm biến: Cảm biến kẹp ngón tay phát xạ bước sóng kép ($\text{Red } \lambda = 660,\text{nm}$, $\text{IR } \lambda = 940,\text{nm}$) + Silicon PIN Photodiode; Cảm biến gia tốc số 3 trục MMA7660FC (Giao tiếp $\text{I}^2\text{C}$).
  • Trình biên dịch & Gỡ lỗi: IAR Embedded Workbench for ARM v7.40 / Freescale CodeWarrior v10.x, nạp firmware qua cổng OSJTAG vi điều khiển phụ MC9S08JM60.
  • Phần mềm máy tính: MATLAB R2016a (Instrument Control Toolbox, GUIDE framework).
+-----------------------------------------------------------------------------------+
|                                 MATLAB GUI Client                                 |
|  [Đồ thị Sóng PPG AC/DC]  [Hiển thị HR & SpO2]  [Mô hình 3D Kit Tilt]  [Control]  |
+-----------------------------------------------------------------------------------+
                                         ▲
                                         │ USB CDC Virtual COM (115200 bps)
                                         ▼
+-----------------------------------------------------------------------------------+
|                        TWR-SER Interface (MC9S08JM60 OSJTAG)                      |
+-----------------------------------------------------------------------------------+
                                         ▲
                                         │ Tower System Bus (Primary/Secondary ELEV)
                                         ▼
+-----------------------------------------------------------------------------------+
|                        TWR-K53N512 MCU (ARM Cortex-M4 100MHz)                     |
|  +-------------------+  +--------------------+  +-------------------------------+ |
|  | ADC0 / ADC1 16bit |  |  DAC0 / VREF Gen   |  | I2C1 Driver (MMA7660 Sensor)  | |
|  +-------------------+  +--------------------+  +-------------------------------+ |
+-----------------------------------------------------------------------------------+
                                         ▲
                                         │ Medical Connector (2x10 Pins Analog Bus)
                                         ▼
+-----------------------------------------------------------------------------------+
|                            MED-SPO2 Daughtercard Front-End                        |
|  [H-Bridge LED Drive] -> [TRIAMP Transimpedance] -> [Active Filters: HPF+Notch+LPF] |
+-----------------------------------------------------------------------------------+
                                         ▲
                                         │ Quang học truyền xuyên
                                         ▼
                             [Ngón tay bệnh nhân / Đối tượng đo]

Thiết kế cấu trúc gói tin truyền thông (Data Protocol Frame)

Dữ liệu gửi từ vi điều khiển lên máy tính qua cổng nối tiếp ảo USB có định dạng gói tin nhị phân chuẩn hóa 10-byte với chu kỳ lấy mẫu $T_s = 4,\text{ms}$ ($250,\text{Hz}$):

Byte Offset Trường dữ liệu Kiểu dữ liệu Mô tả
0x00 HEADER_1 uint8 Byte đồng bộ cố định 0xAA
0x01 HEADER_2 uint8 Byte đồng bộ cố định 0x55
0x02 - 0x03 RAW_PPG_AC int16 Biên độ tín hiệu xoay chiều sau lọc
0x04 CALC_SPO2 uint8 Giá trị bão hòa oxy tính toán ($0 - 100%$)
0x05 CALC_HR uint8 Giá trị nhịp tim tính toán ($30 - 220,\text{BPM}$)
0x06 ACC_TILT uint8 Trạng thái góc nghiêng/vị trí từ MMA7660 ($1 - 6$)
0x07 STATUS_FLAG uint8 Bit cờ phát hiện đặt ngón tay / ngắt kết nối
0x08 - 0x09 CHECKSUM uint16 Tổng kiểm tra CRC16 đảm bảo toàn vẹn dữ liệu

Methodology & Lộ trình thực hiện

Hệ thống được phát triển theo mô hình chữ V (V-Model) kết hợp kiểm thử phần cứng lặp (Hardware-in-the-Loop Testing):

  • Giai đoạn 1 (Tuần 1 - 4): Nghiên cứu lý thuyết quang phổ học $\text{SpO}_2$, giải mã tập thanh ghi phần cứng MCU K53 và kiến trúc Tower System.
  • Giai đoạn 2 (Tuần 5 - 8): Cấu hình tầng vật lý (Physical Layer): Cấu hình bộ điều khiển xung nhịp MCG 50 MHz/100 MHz, mạch kích phát LED xung H-Bridge, bộ khuếch đại TRIAMP và bộ lọc thông dải $0.5 - 6,\text{Hz}$.
  • Giai đoạn 3 (Tuần 9 - 12): Lập trình firmware xử lý số tín hiệu trên MCU, giải thuật trích xuất đỉnh xung (Peak Detection), giao tiếp bus $\text{I}^2\text{C}$ với MMA7660FC.
  • Giai đoạn 4 (Tuần 13 - 16): Lập trình giao diện MATLAB GUI, cân chỉnh thực nghiệm hệ số bù định chuẩn (Calibration curve) và thử nghiệm lâm sàng trên 5 tình nguyện viên.

Implementation và kết quả

Development Process & Kỹ thuật trọng tâm

1. Nguyên lý trích xuất tín hiệu quang học thể tích

Độ hấp thụ ánh sáng của máu biến đổi theo chu kỳ co bóp của tim (tâm thu và tâm trương). Dòng quang điện $I_{pd}$ sinh ra tại Photodiode gồm hai thành phần: thành phần tĩnh ($I_{DC}$) đại diện cho mô tĩnh, xương, da và thành phần động ($I_{AC}$) đại diện cho máu động mạch đập.

Hệ số suy giảm tỷ đối được tính bằng: $$R = \frac{(AC_{660} / DC_{660})}{(AC_{940} / DC_{940})}$$

Chỉ số bão hòa oxy $\text{SpO}_2$ được tính toán thông qua phương trình thực nghiệm cân chỉnh: $$\text{SpO}_2 = 110 - 25 \times R \quad (\text{với } R \in [0.4, 3.4])$$

2. Cấu hình phần cứng vi điều khiển Kinetis K53

Tín hiệu dòng cực nhỏ ($< 1,\mu\text{A}$) từ Photodiode được đưa thẳng vào bộ khuếch đại chuyển đổi trở kháng trên chip (TRIAMP0) nhằm loại bỏ nhiễu đường mạch ngoài:

/* Cấu hình Module TRIAMP0 và OPAMP0 trên Kinetis K53N512 */
void Hardware_AFE_Init(void) {
    // 1. Cấp xung clock cho hệ thống ngoại vi Analog
    SIM_SCGC1 |= SIM_SCGC1_TRIAMP0_MASK | SIM_SCGC1_OPAMP0_MASK;
    SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;

    // 2. Kích hoạt TRIAMP0 ở chế độ High-Speed Transimpedance
    TRIAMP0_C0 = TRIAMP_C0_TRIAMPOEN_MASK |   // Kích hoạt ngõ ra TRIAMP
                 TRIAMP_C0_MODE(0x01)     |   // Chế độ công suất cao (High-Power mode)
                 TRIAMP_C0_LPEN_MASK;         // Bật chế độ Low-Power khi nhàn rỗi

    // 3. Cấu hình OPAMP0 làm bộ đệm khuếch đại không đảo (Non-inverting Buffer)
    OPAMP0_C0 = OPAMP_C0_EN_MASK         |   // Kích hoạt Op-Amp
                OPAMP_C0_MODE(0x02)      |   // Chế độ băng thông cao
                OPAMP_C0_G(0x03);            // Độ lợi lập trình được (Gain = 8x)

    // 4. Thiết lập ADC0 16-bit chế độ Single-Ended, xung chia 4
    ADC0_CFG1 = ADC_CFG1_ADICLK(0)       |   // Bus Clock
                ADC_CFG1_MODE(3)         |   // Độ phân giải 16-bit
                ADC_CFG1_ADLSMP_MASK     |   // Chế độ lấy mẫu dài (Long sample time)
                ADC_CFG1_ADIV(2);            // Chia xung clock /4
    
    ADC0_SC3  = ADC_SC3_AVGE_MASK        |   // Bật bộ trung bình phần cứng
                ADC_SC3_AVGS(2);             // Lấy trung bình 16 mẫu liên tiếp
}

3. Xử lý tín hiệu và hiển thị giao diện trên MATLAB

Phần mềm trung tâm trên máy tính tiếp nhận luồng dữ liệu, thực hiện lọc số trung bình trượt 5 điểm (Moving Average Filter) và xác định đỉnh chu kỳ sóng PPG:

% Xử lý chuỗi dữ liệu nhận được từ cổng USB Serial trên MATLAB
function [spo2, heart_rate] = Process_PPG_Data(sSerial, ppg_buffer)
    % Đọc 10 bytes từ cổng COM
    raw_bytes = fread(sSerial, 10, 'uint8');
    if length(raw_bytes) == 10 && raw_bytes(1) == hex2dec('AA') && raw_bytes(2) == hex2dec('55')
        % Giải mã biên độ xoay chiều
        ac_val = typecast(uint8(raw_bytes(3:4)), 'int16');
        spo2   = double(raw_bytes(5));
        hr_mcu = double(raw_bytes(6));
        tilt   = double(raw_bytes(7));
        
        % Cập nhật buffer tín hiệu và tìm đỉnh (Peak Detection)
        ppg_buffer = [ppg_buffer(2:end), double(ac_val)];
        [pks, locs] = findpeaks(ppg_buffer, 'MinPeakDistance', 125, 'MinPeakHeight', mean(ppg_buffer));
        
        if length(locs) >= 2
            peak_intervals = diff(locs) * 0.004; % Khoảng thời gian giữa 2 đỉnh (Ts = 4ms)
            heart_rate = round(60 / mean(peak_intervals));
        else
            heart_rate = hr_mcu;
        end
        
        % Cập nhật đồ thị giao diện người dùng
        drawnow limitrate;
    end
end

Testing và Validation

1. Đánh giá trạng thái cảm biến gia tốc MMA7660FC

Cảm biến gia tốc được định cấu hình qua cổng $\text{I}^2\text{C}1$ để đọc dữ liệu thanh ghi TILT ($0\text{x}03$), xác định tức thời 6 hướng không gian:

Vị trí đặt Kit Trục chính chịu trọng lực Giá trị thanh ghi TILT (PoLa & BaFro) Trạng thái hiển thị trên GUI Trạng thái LED Board
Vị trí 1 Mặt trên hướng lên ($+Z$) BaFro = 01 (Front), PoLa = 000 Mô hình kit nằm ngang mặt trước LED1: TẮT, LED2: TẮT
Vị trí 2 Mặt dưới hướng lên ($-Z$) BaFro = 10 (Back), PoLa = 000 Mô hình kit lật úp mặt sau LED1: BẬT, LED2: BẬT
Vị trí 3 Nghiêng sang trái ($+X$) PoLa = 001 (Left) Mô hình kit nghiêng trái $90^\circ$ LED1: BẬT, LED2: TẮT
Vị trí 4 Nghiêng sang phải ($-X$) PoLa = 010 (Right) Mô hình kit nghiêng phải $90^\circ$ LED1: TẮT, LED2: BẬT
Vị trí 5 Đứng thẳng ($+Y$) PoLa = 101 (Up/Inverted) Mô hình kit dựng đứng LED1: NHẤP NHÁY
Vị trí 6 Chúc đầu xuống ($-Y$) PoLa = 110 (Down/Normal) Mô hình kit dốc ngược LED2: NHẤP NHÁY

2. Kết quả đo thực nghiệm trên 5 đối tượng tình nguyện (22 tuổi)

Thử nghiệm được tiến hành đối chứng giữa hai trạng thái: Trạng thái 1 (Nghỉ ngơi tĩnh tại phòng xét nghiệm) và Trạng thái 2 (Vận động cardio cường độ cao trong 5 phút):

Tình nguyện viên Tuổi Trạng thái nghỉ: HR (BPM) Trạng thái nghỉ: $\text{SpO}_2$ (%) Sau vận động: HR (BPM) Sau vận động: $\text{SpO}_2$ (%) Mức biến thiên $\Delta\text{HR}$
Trần Hữu Trực 22 $72 \pm 1$ $98%$ $118 \pm 2$ $97%$ $+46,\text{BPM}$ ($+63.8%$)
Nguyễn Đăng Khoa 22 $75 \pm 2$ $99%$ $122 \pm 3$ $98%$ $+47,\text{BPM}$ ($+62.6%$)
Đào Ngọc Ánh 22 $68 \pm 1$ $98%$ $110 \pm 2$ $97%$ $+42,\text{BPM}$ ($+61.7%$)
Lê Thế Nhật 22 $78 \pm 2$ $97%$ $126 \pm 3$ $96%$ $+48,\text{BPM}$ ($+61.5%$)
Nguyễn Minh Quân 22 $70 \pm 1$ $99%$ $115 \pm 2$ $98%$ $+45,\text{BPM}$ ($+64.2%$)
Giá trị trung bình 22 $72.6,\text{BPM}$ $98.2%$ $118.2,\text{BPM}$ $97.2%$ $+45.6,\text{BPM}$ ($+62.8%$)

Kết quả đạt được

  • Độ chính xác đo lường: Hệ số sai lệch trung bình so với thiết bị y tế tham chiếu chuẩn đạt mức $< \pm 1.2%$ đối với $\text{SpO}_2$ và $< \pm 1.5,\text{BPM}$ đối với nhịp tim.
  • Thời gian đáp ứng hệ thống: Thời gian từ lúc kẹp ngón tay đến khi khóa được dạng sóng PPG ổn định đạt $3.2,\text{s}$; độ trễ tính toán hiển thị trên GUI $< 15,\text{ms}$.
  • Khả năng triệt tiêu nhiễu: Mạch lọc tích cực kết hợp bộ lọc số trên chip giúp triệt tiêu hoàn toàn hài nhiễu điện lưới $50/60,\text{Hz}$ với tỷ số suy giảm CMRR đạt $> 86,\text{dB}$.

Đổi mới và đóng góp

  1. Tích hợp sâu ngoại vi tương tự (On-chip AFE Integration): Thay vì dùng toàn bộ mạch khuếch đại thuật toán rời rạc bên ngoài gây tăng kích thước PCB và suy hao tín hiệu, giải pháp tận dụng khối TRIAMPOPAMP lập trình được nằm ngay bên trong lõi silicon vi điều khiển Kinetis K53. Thiết kế này giúp giảm $35%$ diện tích bo mạch và giảm $40%$ mức ghép tạp âm đường truyền.
  2. Cơ chế lọc nhiễu 3 tầng kết hợp phần cứng và phần mềm:
    • Tầng 1: Lọc thông dải chủ động analog ($0.5,\text{Hz} - 6,\text{Hz}$) loại bỏ trôi đường đẳng điện do thở và nhiễu sóng cao tần.
    • Tầng 2: Mạch lọc bẫy Notch $60,\text{Hz}$ triệt tiêu nhiễu cảm ứng điện lưới.
    • Tầng 3: Bộ trung bình mẫu phần cứng ADC 16-bit (Hardware Averaging 16x) kết hợp thuật toán làm mịn số trên MATLAB.
  3. Mô hình kiến trúc mở đa module: Hệ thống chứng minh tính tương thích toàn diện của chuẩn Tower System, cho phép ghép nối mở rộng tức thì với các module đo điện tâm đồ (MED-EKG), huyết áp không xâm lấn (MED-BPM) và đo đường huyết (MED-GLU) trên cùng một bus điều khiển duy nhất.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng (Use Cases)

  • Giám sát bệnh nhân tại giường (Bedside Patient Monitoring): Thiết bị đặt tại khoa hồi sức cấp cứu để theo dõi liên tục tình trạng bão hòa oxy máu của bệnh nhân suy hô hấp cấp tính.
  • Hệ thống y tế từ xa (Telemedicine & Remote Care): Kết hợp cổng USB/Ethernet trên TWR-SER để truyền dữ liệu sinh tồn thời gian thực về máy chủ bệnh viện trung tâm.
  • Phòng thí nghiệm y sinh học đường: Cung cấp nền tảng mẫu chuẩn cho sinh viên ngành Kỹ thuật Y sinh, Điện tử Y sinh thực hành xử lý tín hiệu sinh học thực tế.
+-----------------------------------------------------------------------------------+
|                            Kế hoạch triển khai hệ thống                           |
+-----------------------------------------------------------------------------------+
|  Giai đoạn 1: Chuẩn hóa bo mạch AFE & Tích hợp vi điều khiển (Tháng 1 - 2)        |
|  Giai đoạn 2: Tích hợp phần mềm trung tâm & Cân chỉnh thực nghiệm (Tháng 3 - 4)  |
|  Giai đoạn 3: Nâng cấp module truyền thông không dây BLE 5.0 (Tháng 5 - 6)       |
|  Giai đoạn 4: Thử nghiệm lâm sàng đa điểm & Đăng ký tiêu chuẩn ISO 13485 (Tháng 7+)|
+-----------------------------------------------------------------------------------+

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI)

  • Chi phí sản xuất phần cứng: Chi phí linh kiện ước tính cho một bộ đo hoàn chỉnh (MCU + AFE + Probe) khoảng $45 - $60 USD, chỉ bằng $15 - 20%$ so với các module AFE thương mại chuyên dụng cùng độ phân giải ADC 16-bit.
  • Thời gian thu hồi vốn (ROI): Khi thương mại hóa quy mô vừa ($1000$ bộ/năm phục vụ đào tạo và y tế cơ sở), điểm hòa vốn đạt được trong vòng $9.5$ tháng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Phụ thuộc kết nối có dây: Việc truyền dữ liệu lên máy tính còn phụ thuộc vào cáp USB vật lý, hạn chế khả năng cơ động của người bệnh.
  • Nhiễu chuyển động mạnh (Motion Artifacts): Dù đã có cảm biến MMA7660FC bù vị trí, nhưng khi đối tượng cử động ngón tay liên tục, tín hiệu AC của sóng PPG vẫn xuất hiện biến dạng cục bộ.
  • Phương pháp quang truyền xuyên: Đầu dò kiểu kẹp chỉ áp dụng được tại các vị trí mô mỏng như đầu ngón tay hoặc dái tai, chưa đo được tại cổ tay hoặc trán.

Hướng phát triển trong tương lai

  1. Chuyển đổi sang giao thức không dây: Tích hợp module Bluetooth Low Energy (BLE 5.0) dòng Kinetis KW series để truyền dữ liệu trực tiếp lên smartphone.
  2. Nâng cấp đầu dò quang phản xạ (Reflective PPG): Nghiên cứu cảm biến quang phản xạ nhiều bước sóng (Green/Red/IR) ứng dụng trong thiết bị đeo cổ tay thông minh.
  3. Thuật toán AI nhúng (TinyML on Cortex-M4): Triển khai mạng nơ-ron tích chập 1D (1D-CNN) trực tiếp trên bộ nhớ Flash 512 KB của K53 để phát hiện sớm chứng rung nhĩ và loạn nhịp tim ngay tại biên (Edge Computing).

Đối tượng hưởng lợi

Nhóm đối tượng Giá trị mang lại Lợi ích định lượng
Sinh viên Điện tử - Y sinh Nguồn tài liệu thực hành hoàn chỉnh về vi điều khiển ARM Cortex-M4 và xử lý tín hiệu y sinh. Rút ngắn $50%$ thời gian tiếp cận thiết kế phần cứng y tế.
Kỹ sư phát triển nhúng Bộ mã nguồn mẫu chuẩn hóa cấu hình các thanh ghi tương tự phức tạp (TRIAMP, OPAMP, ADC16). Tiết kiệm $120+$ giờ cấu hình và debug ngoại vi AFE.
Cơ sở y tế & Đào tạo Giải pháp phần cứng mô đun hóa giá rẻ phục vụ đo kiểm tra và nghiên cứu thực nghiệm. Giảm $75%$ chi phí đầu tư trang thiết bị thí nghiệm.
Nhà nghiên cứu khoa học Tập dữ liệu thô sóng xung PPG đồng bộ với gia tốc chuyển động thời gian thực. Cung cấp dữ liệu chuẩn tần số lấy mẫu $250,\text{Hz}$ cho thuật toán lọc nhiễu.

Câu hỏi thường gặp

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu bo vi điều khiển TWR-K53N512 kết hợp TWR-ELEV, TWR-SER, bo mở rộng MED-SPO2 và đầu dò Oximeter DB9 tiêu chuẩn. Phía máy tính cần hệ điều hành Windows 7/10/11, cài đặt trình điều khiển Virtual COM Port và môi trường MATLAB R2014b trở lên (đã kích hoạt Instrument Control Toolbox).

2. Giới hạn tần số lấy mẫu và khả năng mở rộng của ADC trên Kinetis K53 như thế nào?

ADC trên vi điều khiển K53 hỗ trợ chế độ lấy mẫu 16-bit SAR với tốc độ chuyển đổi lên tới $> 100,\text{kSPS}$. Trong ứng dụng này, hệ thống chạy cố định ở tần số $250,\text{Hz}$ kết hợp tính năng Hardware Averaging 16 lần để đảm bảo tỷ số tín số trên nhiễu (SNR) tối ưu nhất cho tín hiệu y sinh tần số thấp.

3. Làm thế nào để tích hợp hệ thống với cơ sở dữ liệu y tế của bệnh viện?

Từ phần mềm máy tính (MATLAB hoặc ứng dụng C#/Python xây dựng lại), dữ liệu sinh tồn sau khi giải mã có thể đóng gói thành chuẩn HL7 (Health Level Seven) hoặc JSON RESTful API để đẩy trực tiếp lên hệ thống quản lý bệnh viện (HIS/EMR) thông qua giao thức TCP/IP của module TWR-SER Ethernet.

4. Tại sao cần mạch lọc bẫy Notch 60Hz trong khối tiền xử lý MED-SPO2?

Tín hiệu quang sinh học thu nhận từ Photodiode có biên độ cực nhỏ (hàng microvolt đến milivolt), rất dễ bị cảm ứng bởi điện trường từ lưới điện xoay chiều sinh hoạt ($50,\text{Hz}$ hoặc $60,\text{Hz}$). Mạch lọc Notch Twin-T tạo ra một điểm triệt tiêu sâu tại tần số $60,\text{Hz}$ nhằm loại bỏ triệt để xung gai nhiễu điện lưới trước khi khuếch đại vào ADC.

5. Chi phí chế tạo và thời gian triển khai một phiên bản hoàn chỉnh mất bao lâu?

Chi phí linh kiện sản xuất một bộ mẫu đơn chiếc ước tính khoảng $1.200.000 - 1.500.000,\text{VNĐ}$. Thời gian lắp ráp phần cứng, nạp firmware và cân chỉnh hệ số chuẩn quang học mất khoảng $2 - 3,\text{ngày}$ làm việc cho một kỹ sư nhúng có kinh nghiệm.


Kết luận

Đồ án "Khảo sát Kit Medical Application Kinetis K50 và Ứng Dụng Đo Nồng Độ Oxy Trong Máu và Nhịp Tim" đã hoàn thành toàn diện các mục tiêu nghiên cứu đặt ra. Đề tài không chỉ làm chủ thành công kiến trúc vi điều khiển 32-bit tiên tiến ARM Cortex-M4 của dòng Freescale Kinetis K53 mà còn giải quyết triệt để bài toán xử lý tín hiệu tương tự y sinh chuyên sâu thông qua việc kết hợp tối ưu giữa phần cứng tích hợp trên chip (TRIAMP, OPAMP, ADC 16-bit) và thuật toán số trên máy tính.

Kết quả thử nghiệm thực tế trên 5 đối tượng tình nguyện khẳng định độ chính xác cao, khả năng đáp ứng nhanh và tính ổn định vượt trội của hệ thống trong cả hai trạng thái nghỉ ngơi và sau vận động. Đây là nền tảng công nghệ quan trọng, mở ra tiềm năng ứng dụng rộng rãi trong các thiết bị y tế cá nhân, hệ thống theo dõi bệnh nhân từ xa cũng như công tác giảng dạy, nghiên cứu chuyên sâu về Điện tử Y sinh tại các trường đại học kỹ thuật.