Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Загрузка. 
Исследование колебательных процессов сердечной мышцы

РефератПомощь в написанииУзнать стоимостьмоей работы

Главные блоки микроконтроллера с точки зрения данной разработки — это АЦП и ядро процессора. АЦП преобразует выходной сигнал инструментального усилителя в цифровой код. Программное обеспечение, написанное для процессора 8052, предназначено для обработки цифровых данных и окончательного получения цифрового сигнала для передачи в компьютер. Как и во многих случаях, когда применяется… Читать ещё >

Загрузка. Исследование колебательных процессов сердечной мышцы (реферат, курсовая, диплом, контрольная)

Загрузка пользовательских программ во флэш-память программ выполняется в ускоренном режиме, в среднем около 5 с. Для загрузки программ необходим только преобразователь уровней RS-232 компьютера в уровни TTL, такие преобразователи удобно располагать непосредственно в соединительном кабеле. Принципиальная схема такого соединительного кабеля показана на рис. 3.1,а внешний вид — на рис. 3.2.

Принципиальная схема соединительного кабеля.

Рис. 3.1 Принципиальная схема соединительного кабеля

Внешний вид соединительного кабеля.

Рис. 3.2 Внешний вид соединительного кабеля

Емкость всех конденсаторов — 0,1 мкФ, диоды VD1, VD2 — защитные или стабилитроны на 5 В. На процессорной плате в качестве разъема JK2 удобно использовать вилку WF-4, а на плате преобразователя уровней в качестве ответной части разъем PBS-R.

Возможная схема включения микроконтроллера ADuC847 показана на рис. 3.

Соединитель XI служит для подключения символьного ЖКИ индикатора DVI6244 или аналогичного, удобно использовать разъемы IDC-14 °F и PLD-14. Резистором R1 можно регулировать контрастность индикатора. В качестве R4, R6 используются резисторные сборки 9A103J. ZQ1 — часовой кварцевый резонатор в корпусе DT-38. Конденсаторы С1—С4 важно расположить в непосредственной близости от каждого из выводов питания МК. Кнопки SB1, SB2 — нормально разомкнутые. Питание кварцевого генератора осуществляется через выводы 5,6. К разъему ХЗ подключается мембранная клавиатура СК-04. Этот специализированный разъем с фиксатором имеет нулевое усилие сочленения в разомкнутом состоянии.

Рис. 3.

Рис. 3.

Загрузка выполняется (в данном примере) с использованием программы WSD 6.02 фирмы Analog Devices. Эта программа поставлялась для работы с микроконвертером ADuC824. Для ее работы с ADuC847 в папку Configuration (WSD) необходимо добавить файл aduc847.txt.

Очевидно, что загрузку можно выполнять с использованием других аналогичных программ.

Загрузочную программу для ADuC847 можно создать с использованием любого компилятора, поддерживающего стандарт 8051, формат данных загрузочного файла Intel HEX.

Для нормальной работы требуется файл инициализации, в котором выполняется присвоение адресам регистров и портов МК соответствующих названий, приведенным в техническом описании ADuC847. Для компилятора Franklin можно использовать файл franklin.rtf.

Для других компиляторов, возможно, потребуется изменение формата команд присвоения адресов.

Для перевода МК в режим загрузки программного обеспечения нажимают и удерживают кнопку SB1 (Download), затем нажимают и отпускают кнопку SB2 (Reset), затем отпускают кнопку SB1. В результате этих манипуляций МК будет готов к загрузке. Разумеется, все эти операции выполняются при поданном питании и выполнении остальных условий. В окне программы WSD нажимают кнопку Configuration, выбирают часовой кварцевый резонатор, номер СОМ порта, режим загрузки ПО. Использовать режим Serial safe mode не рекомендуется. После нажатия кнопки Download в Меню программа предлагает указать загружаемый файл. При завершении загрузки выводится отчет.

Дисплей и клавиатура Использование в качестве дисплея двухстрочного символьного жидкокристаллического индикатора (ЖКИ) в большинстве портативных систем оказывается наиболее оптимальным. Индикатор DVI6244 имеет невысокую стоимость и удовлетворительные характеристики. Существуют модификации различного исполнения — с подсветкой, расширенным температурным диапазоном и т. д. В то же время, без изменения схемы здесь могут быть использованы другие индикаторы.

В файле aduc847_ansi.rtf. приведены тексты подпрограмм написанные на языке ANSI С, разработанные автором для работы с дисплеем DVI6244, мембранной клавиатурой СК-04.

Подпрограммы выполняют следующие процедуры:

  • * wr_command — запись байта команды в дисплей;
  • * buzy_bus проверяет готовность дисплея для ввода следующей команды;
  • * wr_data записывает байт данных выводимых на дисплей;
  • * cursor_to переводит курсор в указанную строку и позицию;
  • * init выполняет начальные установки дисплея при включении питания;
  • * delay выполняет задержку применительно к тактовой частоте процессора 1,57 МГц.

Для другой частоты задержка должна быть кратно изменена. Следует обратить внимание, что производительность ADuC847 при частоте 1,57 МГц теоретически в среднем в 1,5 раза выше, чем при использовании, например, ADuC824 с тактовой частотой 12,58 МГц.

При нажатии любой из кнопок клавиатуры формируется прерывание INTO. Номер нажатой кнопки возвращается в значении глобальной переменной уу. Это значение находится в интервале 00—15Н и соответствует номеру кнопки. Такой режим работы выбран для снижения уровня шума, обязательно присутствующего при непрерывном опросе контактов клавиатуры.

Подпрограммы kbd и TEST — служебные.

Дополнительный внешний ЦАП Часто бывает необходимо иметь в системе один или несколько прецизионных ЦАП. На рис. 4 показана принципиальная схема подключения прецизионного 16-разрядного ЦАП AD5541 к порту ADuC847.

Вывод REF2.5V подключается к внешнему источнику опорного напряжения +2,5 В, в качестве которого может быть использованы микросхемы AD780, ADR421 и т. д. На выводе DAC_OUT — выходное напряжение ЦАП.

В файле AD5541. rtf — тексты подпрограмм. Подпрограмма AD5541 служит для записи старшего и младшего байтов управляющего слова для ЦАП, подпрограмма bit8 — служебная.

Все программы для данной статьи находятся в файле, который можно найти на сайте www.dian.ru/ programs.

Электрокардиограф на базе микроконтроллера Проектирование электрокардиомонитора на базе микроконтроллера фирмы Analog Devices ADuC847.

В статье описаны подходы и технические решения, позволяющие спроектировать схемотехнически простой и недорогой электрокардиомонитор на базе микроконвертора фирмы Analog Devices.

Электрокардиография — это запись электрических сигналов, генерируемых при работе сердца. Сигнал ЭКГ снимается с кожных покровов при помощи электродов, размещаемых в определенных точках. Кривая ЭКГ имеет характерную форму, пики и интервалы между пиками обозначаются латинскими буквами Р, Q, R, S, Т и U (см. рис. 4).

Форма сигнала ЭКГ.

Рис. 4 Форма сигнала ЭКГ

В данной работе предложены некоторые идеи по реализации недорогого ЭКГ-монитора. Устройство предполагается использовать совместно с персональным компьютером. Хотя при написании дипломной работы предусматривались средства, обеспечивающие безопасность пациента, это не значит, что все представленные идеи сами по себе удовлетворяют всем требованиям стандартов безопасности; при разработке устройства вам следует самим обеспечить его соответствие требованиям безопасности.

Сначала мы рассмотрим типичную топологию входной (аналоговой) части электрокардиографа. Затем предложим схему, которая обеспечит аналого-цифровое преобразование, цифровую фильтрацию и нормирование цифрового сигнала — все это обеспечит микроконтроллер — интегральная «система-на-кристалле», в которую входят аналого-цифровой преобразователь, микроконтроллер и флэш-память. В данной статье будут рассматриваться вопросы выбора компонентов и программирования микроконвертора.

Требования к электрокардиографу Входные цепи аппарата ЭКГ должны усиливать довольно слабый сигнал — в диапазоне напряжений 0,5−5 мВ в сочетании с постоянной составляющей величиной до ±300 мВ, которая возникает при контакте электрода с кожей (в русскоязычной литературе это явление называется кожно-гальванической реакцией, КГР плюс синфазная составляющая величиной до 1,5 В между электродами и общим (земляным) проводом. Полоса частот, подлежащая обработке и анализу, составляет, в зависимости от вида исследования, от 0,5 Гц до 50 Гц (в устройствах мониторинга при интенсивной терапии), и до 1 кГц при исследовании водителей сердечного ритма (пейсмейкеров). Стандартный клинический аппарат ЭКГ работает с полосой частот 0,05−100 Гц.

На сигналы ЭКГ могут накладываться различного рода шумы и помехи. Основные источники шумов и помех это:

  • * влияние сетевых помех с частотой 50 Гц (или 60 Гц) и гармоник сетевого напряжения;
  • * влияние изменений параметров контакта электрода с кожей, приводящее к дрейфу постоянной составляющей;
  • * мышечные сокращения: при этом на сигнал ЭКГ накладываются сигналы типа миограммы (ЭМГ);
  • * дыхательные движения вызывают смещение постоянной составляющей;
  • * электромагнитные наводки от других электронных устройств, когда провода электродов ЭКГ играют роль антенн;
  • * высокочастотные шумы от других электронных устройств.

Для точной и достоверной регистрации ЭКГ необходимо принять все меры для отфильтровывания или устранения перечисленных шумов.

Предлагаемое схемное решение На рис. 2 показана структурная схема типичного одноканального электрокардиографа. Видно, что в данной сигнальной цепочке все виды фильтрации сигнала осуществляются с помощью аналоговой техники, тогда как микропроцессор, микроконтроллер или процессор DSP используется только для целей коммуникации, управления и т. п. Таким образом, имеющийся вычислительный ресурс процессора не использован. Кроме того, сложные аналоговые фильтры могут оказаться весьма нежелательными с точки зрения неудобства их перестройки, а также занимаемого места на плате, высокой стоимости и энергопотребления.

Типичный одноканальный электрокардиограф.

Рис. 5 Типичный одноканальный электрокардиограф

Сигнальная цепочка может быть значительно упрощена при использовании микроконтроллера ADuC847, который позволяет заменить АЦП, фильтры и вычислительный блок одной интегральной микросхемой. Дополнительные преимущества заключаются в гибкости перестройки параметров фильтра и в изоляции цифрового интерфейса. Предлагаемое схемное решение приведено на рис. 6.

Предлагаемая блок-схема электрокардиографа.

Рис. 6 Предлагаемая блок-схема электрокардиографа

Аналоговый вход Для схемы аналогового входа применено традиционное для подобных систем решение — инструментальный усилитель (IA) и операционный усилитель обратной связи, выход которого подключен к правой ноге пациента. В качестве инструментального усилителя применен AD620 — недорогой усилитель с высокой точностью и превосходными характеристиками на постоянном токе: коэффициент ослабления синфазного сигнала CMR >> 100 dB на частотах вплоть до 1 кГц, смещение на входе не более 50 мкВ, малый входной ток (1 нА макс.) и низкое напряжение шума (0,28 мкВ в полосе 0,1…10 Гц).

Для AD620 требуется единственный внешний резистор RG, задающий коэффициент усиления. Резисторы R2 и R3 также влияют на коэффициент усиления: Кус = 1+49,4к/ RG + (49,4k/2)/22k. Для того чтобы избежать насыщения выхода, коэффициент усиления установлен таким, чтобы размах выходного напряжения соответствовал максимальному, если на входе присутствует максимальное расчетное напряжение сигнала. При напряжении питания ±5 В размах выходного напряжения ИС AD620 составляет ±3,8 В; тогда при входном сигнале ±5 мВ и при возможном постоянном смещении ±300 мВ расчетный коэффициент усиления составит 12,45. Таким образом, с учетом запаса, мы устанавливаем коэффициент усиления равным 8 (±1%) при помощи RG = 8,45 кОм.

В схеме обратной связи, предназначенной для компенсации синфазного сигнала, применен операционный усилитель типа ОР97 — малопотребляющий прецизионный ОУ с чрезвычайно высоким коэффициентом ослабления синфазного сигнала (мин. значение 114 дБ). Эта схема подает на правую ногу пациента напряжение, компенсирующее синфазную составляющую сигнала с целью устранить влияние синфазного сигнала. Операционный усилитель имеет коэффициент усиления для синфазного сигнала, равный 91 [то есть R4/(R2||R3) = 1 МОм/11 кОм], и частоту среза низкочастотного фильтра около 160 Гц, что обеспечивает устойчивость усиления [f -3dB = ½(10 кОм 0,1 мкФ)].

Гальваническая развязка цифрового сигнала Гальваническая развязка применена в цифровом интерфейсе RS-232, связывающем электрокардиограф и компьютер, который предназначен в этом примере для вывода данных. В качестве устройства изоляции сигнала применена ИС ADuM1301 — двунаправленный цифровой изолятор, созданный по технологии iCoupler фирмы Analog Devices. Данная технология позволила создать устройства развязки цифрового сигнала, лишенные недостатков, присущих оптопарам (таких недостатков, как очень малый коэффициент передачи, нелинейная передаточная характеристика и т. д.).

Устройства iCoupler, кроме того, обеспечивают высокую скорость передачи данных при гораздо меньшем энергопотреблении по сравнению с оптопарами. ИС ADuM1301 имеет три изолирующих канала, два их которых используются в данной схеме — один для передачи, другой для приема данных. (Неиспользуемый канал в дальнейшем можно использовать для передачи сигнала разрешения/запрещения передачи данных.) Питание входной части прибора осуществляется с помощью ИС ADP3607−5 — стабилизатора напряжения на переключаемых конденсаторах, который обеспечивает постоянное напряжение 5 В. Линии питания той части прибора, которая подключена к компьютеру, совершенно изолированы от входной части. Питание выходной части прибора может осуществляться от компьютера или от другого источника питания.

Безопасное электропитание Питание изолированной части регистратора ЭКГ осуществляется с помощью батареи, которая периодически подзаряжается с помощью зарядного устройства в то время, когда аппарат ЭКГ не используется. Для того чтобы обрабатывать биполярный входной сигнал, усилителям AD620 и ОР97 требуется биполярное питание ±5 В. Стабилизатор напряжения на переключаемых конденсаторах ADP3607−5 и инвертор на переключаемых конденсаторах ADP3605 служат для получения стабилизированного двухполярного питания от батареи напряжением 3 В.

ИС ADP3607 — удвоитель напряжения со стабилизированным выходным напряжением, обеспечивающий ток до 50 мА. Она способна работать при напряжении питания 3 В, имеется версия, обеспечивающая фиксированное выходное напряжение 5 В (ADP3607−5) — именно такой применен в данной схеме. (Данные ИС поставляются также в варианте с подстройкой выходного напряжения в диапазоне 3…9 В с помощью внешнего резистора. Они могут обеспечить и более высокое напряжение, если добавить внешнюю ступень «насоса» — несколько пассивных компонентов.).

Инверторы на переключаемых конденсаторах ADP3605 со стабилизированным выходным напряжением могут обеспечить ток до 120 мА. Они поставляются с фиксированным выходным напряжением -3 В (ADP3605−3) или с регулируемыми внешними резисторами в диапазоне −3…−6 В. (Более высокое напряжение можно получить с помощью дополнительного внешнего каскада, так же как и в ИС ADP3607.) Нам необходим источник напряжения питания -5 В при входном напряжении +5 В, поэтому сопротивление резистора R выбрано равным 31,6 кОм (±1%) при помощи уравнения Vout = -1,5 R/9,5 кОм.

Оба напряжения питания (±5 В) получены с помощью емкостных «зарядовых насосов», в принципе неспособных генерировать небезопасное напряжение даже при нарушении режимов работы, так как в схеме отсутствуют катушки индуктивности. В этих микросхемах также имеется режим отключения (shutdown), что позволяет микроконтроллеру переводить их в этот режим, когда система находится в состоянии ожидания.

Безопасность пациента Помимо приборов гальванической развязки цифрового сигнала и безопасного источника питания в схеме имеются резисторы Rxl, Rx2 и Rx3, обеспечивающие безопасность пациента — в соответствии с требованиями стандарта AAMI (Association for the Advancement of Medical Instrumentation) на безопасную величину тока. Эти стандарты требуют, чтобы среднеквадратическое значение тока утечки на землю или тока в аварийном режиме не превышало 50 мкА.

Обработка сигнала Микроконтроллера ADuC847 хорошо подходит для решения задач обработки сигнала. Он обладает быстрым 12-разрядным АЦП и другими встроенными высокопроизводительными аналоговыми периферийными устройствами, имеет быстрое ядро типа 8052, 62 кбайт встроенной флэш-памяти программ и еще некоторые полезные функциональные узлаы (см раздел 3).

Главные блоки микроконтроллера с точки зрения данной разработки — это АЦП и ядро процессора. АЦП преобразует выходной сигнал инструментального усилителя в цифровой код. Программное обеспечение, написанное для процессора 8052, предназначено для обработки цифровых данных и окончательного получения цифрового сигнала для передачи в компьютер. Как и во многих случаях, когда применяется микроконтроллер, программное обеспечение включает в себя как сложный код, написанный на языке высокого уровня С, так и критичные ко времени исполнения фрагменты, написанные на ассемблере. В нашем случае реализация низкочастотного и режекторного фильтров написана на С++, а АЦП управляется с помощью кода, написанного на ассемблере. Эффективный код в сочетании с быстродействующим ядром процессора обеспечивает накопление множества отсчетов, что увеличивает эффективную разрешающую способность АЦП сверх обычных 12 разрядов.

На рис. 4 показана хорошая иллюстрация эффективности микроконтроллеров.

Кривые на экране осциллографа.

Рис. 4 Кривые на экране осциллографа

На верхней кривой показан сигнал на выходе инструментального усилителя, поданный на вход АЦП. На средней кривой показан предварительный результат, полученный с помощью фильтра, реализованного на С, а на нижнем графике показан окончательный результат после обработки множества отсчетов, алгоритм которой написан на ассемблере.

Алгоритм фильтра, написанный на С Полученный сигнал обрабатывается с помощью цифрового фильтра в микроконверторе. Для разрабатываемого нами устройства мы применили два фильтра с бесконечной импульсной характеристикой (IIR), рассчитанной для частоты дискретизации 500 Гц. Режекторный фильтр предназначен для подавления сигнала с частотой 50 Гц. Выбранный нами алгоритм разработки фильтра — это метод размещения нулей и полюсов, частота подавления — 50 Гц, полоса задержания шириной 10 Гц. Полученная в результате расчета передаточная функция:

Загрузка. Исследование колебательных процессов сердечной мышцы.

Эту функцию можно преобразовать в рекурсивный алгоритм:

Загрузка. Исследование колебательных процессов сердечной мышцы.

В данном уравнении индекс k означает текущий отсчет, k-1 означает значение величины в предыдущий момент времени и т. д.

Теперь нам нужно преобразовать приведенное уравнение в код. Программирование на С — наиболее рациональный метод для написания алгоритмов ресурсоемкой математической обработки в подобных случаях; программирование на ассемблере заняло бы слишком много времени. Но напрямую написать уравнения фильтра было бы неэффективно для процессора типа ADuC842, так как этот процессор не оптимизирован для операций с плавающей точкой. К счастью, мы можем масштабировать коэффициенты (умножив их на 4096) и получить код фильтра:

Загрузка. Исследование колебательных процессов сердечной мышцы.

Таким образом реализован фильтр второго порядка. Хотя мы можем рассчитать фильтр и более высокого порядка, на практике вполне можно каскадировать фильтры второго порядка.

Второй фильтр — это полосовой фильтр Баттерворта с частотами среза 0,05 Гц снизу и 100 Гц сверху. Передаточная функция и рекурсивный алгоритм:

Загрузка. Исследование колебательных процессов сердечной мышцы.

здесь потеряна передаточная функция.

Загрузка. Исследование колебательных процессов сердечной мышцы.

На языке С эти уравнения будут выглядеть следующим образом:

iBOut = (1723L*iBIn-1723L*iBIn2+4745L*iBOut1−650L*iBOut2)/4096;

Обратите внимание, что величину выходного сигнала можно масштабировать, изменяя коэффициенты на входе. Также заметьте, что если все сигналы положительны, деление на 4096 — это в сущности сдвиг двоичного числа вправо на 12 разрядов.

Реализация алгоритма показана (в приложении А) в виде каскада из 5 полосовых фильтров и 2 режекторных фильтров. Отсчеты сигнала умножаются на 4 в каждом полосовом фильтре первого или второго порядка. Сдвиг вправо на 12 разрядов соответствует делению на 4096.

Обратите внимание на строки.

if (iAdc00>24 000)iDac -= 1 и if (iAdc00<8000)iDac += 1,.

которые управляют цифро-аналоговым преобразователем в составе ИС ADuC847. Сигнал ЦАП управляет входом сдвига уровня микросхемы AD620 для того, чтобы сдвинуть выходное напряжение AD620 в рабочий диапазон входа АЦП. Это желательно для того, чтобы уменьшить воздействие переменного смещения, которое возникает из-за разности качества контактов между электродами и кожей. Подобный же подход применен для сдвига выходного напряжения в центр диапазона выходных напряжений.

Обработка на С++.

Основное назначение кода С++— измерение входного сигнала с одинаковыми интервалами времени и обеспечение требуемой скорости вычислений 500 отсчетов в секунду. Сначала мы программируем TimerO на непрерывную работу и генерацию прерываний с интервалом 1 мс. С каждым прерыванием перезапускается TimerO, считывается отсчет входного сигнала и увеличивается значение переменной c2ms, которая используется для синхронизации с кодом С. На этой стадии разработки кода первыми строками кода на С были:

while (c25ms2);

c2ms = 0;

iAdc00 = iAdc0;

Изначально c2ms равно нулю и код на С++ зациклится на строчке while (c2ms<2). После 1 ms таймер Timer0 вырабатывает прерывание, затем c2ms увеличивается на 1. После следующей 1 мс переменная c2ms увеличивается до 2. Теперь условие (c2ms<2) больше не выполняется, сбрасывается на 0 счетчик c2ms, и производятся вычисления фильтра. После этого код С помещает результаты в цепочку переменных, представляющих собой последовательные результаты, готовые для дальнейшей обработки с помощью повторной итерации. Завершает цикл команда printf (…), которая посылает результат на дисплей компьютера. Последующая обработка данных на PC может быть очень простой — например, просто вывод результата на графический дисплей, — либо сколь угодно сложной.

Для повышения точности результата период прерываний таймера Timer0 был сокращен до 1/32 мс и данные были накоплены в iAdc0 для того, чтобы получить большее число измерений за то же время. Кроме того, условие цикла было переделано в c2ms<64, так что процессор дожидается 64 измерений, прежде чем выполнить цикл фильтрации. Величина iAdc0 сохранена в iAdc00 для дальнейшей обработки, затем iAdc0 сбрасывается, и теперь эта переменная готова к получению следующих 64 измерений. На рис. 7 приведен код на ассемблере. Этот улучшенный алгоритм обеспечивает получение графика, показанного на рис. 5 внизу.

Усиление Усиление сигнала — всегда очень важный аспект работы системы ЭКГ. В описываемой выше конструкции усиление зависит от ряда факторов. Коэффициент усиления аналоговой части равен 8, как говорилось выше. Затем за счет накопления отсчетов происходит усиление в 64 раза. Далее происходит уменьшение цифрового значения сигнала в 8 раз с помощью команды iBIn = iAdcO>>3. И наконец, усиление в 4 раза дважды за счет масштабирования при работе алгоритма полосового фильтра. В результате мы имеем: G = (8 64/8) 4 4 = 1024, типичное значение для системы ЭКГ.

На рис. 5 показана кривая, записанная с отведения I (стандартное отведение по Эйнтховену).

График практически измеренного сигнала.

Рис. 5 График практически измеренного сигнала

Видно, что получен хороший результат, несмотря на простоту аппаратной части нашего прибора. Данная работа показывает, что можно достичь значительного повышения качества записи ЭКГ при простом аппаратном обеспечении с помощью программной обработки. В данном примере мы не достигли максимально возможного качества регистрации сигнала ЭКГ; полученный результат можно значительно улучшить. Дальнейшее повышение качества записи возможно за счет написания различных программных реализаций фильтров с различными характеристиками и дополнительными возможностями. Память программ процессора ADuC847 основана на флэш-технологии, что дает возможность изменять алгоритм работы уже готового устройства. Основной результат заключается в том, что мы можем построить компактный, недорогой электрокардиограф, рассчитывая на большой объем рынка.

Показать весь текст
Заполнить форму текущей работой