В данной статье представлены некоторые результаты практической реализации высокоточного измерения сигнала ЭКГ и ФПГ.
Первый вариант реализован на основе усилителя сигнала ЭКГ AD8232 и SOC Telink8266 (не путать с ESP8266) и обеспечивает передачу по BLE сигнал ЭКГ, оцифрованный 14 разрядным АЦП внутри SOC.
Макет устройства состоит из двух модулей и батарейки.

В результате получаем вот такой сигнал на ПК по BLE

Второй вариант реализован на основе модуля CJMCU-1293(чип ADS1293), в состав которого входит 24 разрядный АЦП .
Вариант предназначен для стационарного размещения и является прототипом регистратора ЭКГ для больниц и поликлиник, особенно для сельской местности.
Регистратор подключается через интерфейс USB и может обеспечить измерения ЭКГ по 3,5, 8 или 12 отведениям.

Алгоритм программирования ADS1293 для 3 отведений:
R[0x01] = 0x11: подключить INP канала 1 к IN2, а INN - к IN1.
R[0x02] = 0x19: подключить INP канала 2 к IN3, а INN к IN1.
R[0x0A] = 0x07: включить синфазный детектор на входных контактах IN1, IN2 и IN3.
R[0x0C] = 0x04: подключить внутренний выход усилителя RLD к контакту IN4.
R[0x12] = 0x04: внешний кристалл и подключите выход внутреннего генератора к цифровому разъему.
R[0x14] = 0x24: отключить передачу сигнала по неиспользуемому каналу 3.
R[0x21] = 0x02: установить частоту децимации R2 равной 5 для всех каналов.
R[0x22] = 0x02: частота децимации R3 будет равна 6 для канала 1.
R[0x23] = 0x02: частота децимации R3 будет равна 6 для канала 2.
R[0x27] = 0x08: настроить источник DRDYB на ЭКГ-канал 1 (или самый быстрый канал).
R[0x2F] = 0x30: включить ЭКГ 1-го и 2-го каналов для режима циклического считывания.
R[0x00] = 0x01: запустить преобразование данных.

Алгоритм программирования ADS1293 для 5 отведений:
R[0x01] = 0x11: подключить INP канала 1 к IN2, а INN - к IN1.
R[0x02] = 0x19: подключить INP канала 2 к IN3, а INN - к IN1.
R[0x03] = 0x2E: подключить INP канала 3 к IN5, а INN к IN6.
R[0x0A] = 0x07: включить синфазный детектор на входных контактах IN1, IN2 и IN3.
R[0x0C] = 0x04: подключить внутренний выход усилителя RLD к контакту IN4.
R[0x0D] = 0x01, 0x0E = 0x02, 0x0F = 0x03: подключить первый буфер ссылки Wilson к выводу IN1, второй буфер - к выводу IN2, а третий буфер - к выводу IN3.
R[0x10] = 0x01: подключить внутренний выход модуля Wilson reference к IN6.
R[0x12] = 0x04: подключить внешний кристалл и преобразовать выходной сигнал внутреннего модуля генератора в цифровой.
R[0x21] = 0x02: настроить частоту децимации R2 равной 5 для всех каналов.
R[0x22] = 0x02: частота децимации R3 будет равна 6 для канала 1.
R[0x23] = 0x02: частота децимации R3 будет равна 6 для канала 2.
R[0x24] = 0x02: задать частоту децимации R3 равной 6 для канала 3.
R[0x27] = 0x08: настроить источник DRDYB на канал ЭКГ 1 (или самый быстрый канал).
R[0x2F] = 0x70: включить канал ЭКГ 1, канал ЭКГ 2 и канал ЭКГ 3 для режима циклического считывания.
R[0x00] = 0x01: запустить преобразование данных.
Реализовал вариант для 3 и 5 отведений.
Вариант для 12 отведений предполагает применение трех ADS1293 (модулей CJMCU-1293).

При подключении по USB к ПК необходимо обеспечить гальваническую развязку регистратора и компьютера.
Для этой цели можно использовать модуль USB изолятора на основе ADUM3160.

Следует учитывать тот факт, что в данном модуле установлен преобразователь DC-DC типа BQ505S-1W, который обеспечивает ток не более 200 mA.
Чип ADS1293 обменивается информацией по протоколу SPI.
Поэтому потребовалось реализовать интерфейс с SPI<->USB. Решение этой задачи возможно следующими вариантами.
Использовать модуль USB-SPI на основе чипа CH341

Это вариант самый простой, но и самый медленный. Скорость обмена по SPI не превышает 50 КБод. После тестирования, отказался от него.
2) Использовать для организации связи с компьютером модуль на основе SOC. Варианты Telink8266 или ESP8266 (Wemos) - наиболее простые в реализации.
Питание модуля берется от ПК, поэтому для экспериментов взял ESP8266 , у которого больше памяти.
Так как радио блок ESP не использую, то отключив его, получил потребляемый ток не более 15 mA.
Для питания модуля CJMCU-1293 используется аккумулятор.
В активном режиме модуль потребляет не более 0.2 mA.
В итоге получился вот такой макет устройства

Примеры результата измерений.


В данных примерах нет вторичной обработки.
Кроме того, через интерфейс I2C модуля SOC сравнительно просто подключить оптический модуль на основе MAX30105, что позволяет проводить измерения ФПГ в трех частотных диапазонах (RED,IR,GREEN).

Одновременное измерение ЭКГ и ФПГ позволяет реализовать на ПК алгоритм безманжетного измерения артериального давления.
Вывод. Реализованные макеты устройств обеспечивают возможность высокоточного измерения параметров сигнала ЭКГ и ФПГ c разрядностью АЦП от 14 до 24 и частотой дискретизации сигнала до десятков тысяч Гц.
К недостаткам рассмотренных вариантов следует отнести повышенный шум встроенных в SOC АЦП и отсутствие возможности управления коэффициентом усиления инструментальных усилителей ADS1293.