Автор работы: Пользователь скрыл имя, 05 Января 2012 в 14:35, курсовая работа
Однако измерение только артериального давления и регистрация ЭКГ, были недостаточны для установления достоверного диагноза. В это же время начинается использование многоканальных регистраций ЭКГ. Одновременно появляются поликардиографические методы исследования сердечно – сосудистой системы . Они основывались на регистрации нескольких физических характеристик сердца, как правило, синхронно с электрокадиосигналом, регистрировались реограмма , отражающая кровенаполнение сосудов и характеризующая изменение артериального давления крови, механические колебания – кинетокардиограмма , или баллистокардиограмма , как более сложная при регистрации из –за использования особого датчика.
ВВЕДЕНИЕ 2
1. ОБЗОР ЛИТЕРАТУРЫ 4
1.1 Обзор паспорта базового устройства 4
1.1.1 Назначение изделия 4
1.1.2 Технические характеристики 4
1.1.3 Устройство и принцип работы. 4
1.1.4 Устройство пальцевого датчика 6
1.2 Обзор документации к микроконтроллеру С8051F330 6
1.2.1 Краткий обзор микроконтроллера C8051F330 6
1.2.2 10-разрядный АЦП 8
1.2.3 Программируемый массив счетчиков (ПМС) 9
1.2.4 Режимы управления электропитанием 13
1.2.5 Программируемый внутренний низкочастотный (НЧ) генератор 15
1.3 Обзор диагностических методик 15
1.3.1 Реография 15
1.3.2 Фотоплетизмография 19
2. РАЗРАБОТКА И ОБОСНОВАНИЕ СТРУКТУРНОЙ СХЕМЫ 29
3. РАЗРАБОТКА СХЕМЫ ЭЛЕКТРИЧЕСКОЙ ПРИНЦИПИАЛЬНОЙ 30
4. РАЗРАБОТКА ФУНКЦИОНАЛЬНОГО АЛГОРИТМА 32
5. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ 33
5.1 Инициализация 33
5.2 Основная программа 33
5.3 Процедуры обработки прерываний 33
6. РАЗРАБОТКА ПРОГРАММЫ 35
ЗАКЛЮЧЕНИЕ 37
СПИСОК ЛИТЕРАТУРЫ 38
Рисунок 5. Функциональная схема АЦП.
AMUX0
осуществляет выбор
В качестве положительного входа можно выбрать:
В качестве отрицательного входа можно выбрать:
Если в качестве отрицательного входа выбран GND, то АЦП0 функционирует в однофазном режиме; во всех остальных случаях АЦП0 функционирует в дифференциальном режиме. Входные каналы АЦП0 выбираются в регистрах AMX0P и AMX0N (см. SFR-описания 5.1 и 5.2).
Формат получаемого результата преобразования различен для однофазного и дифференциального режимов. По окончании каждого преобразования в регистры ADC0H и ADC0L записываются соответственно старший и младший байты результата преобразования. Данные могут быть выровнены вправо или влево в зависимости от значения бита AD0LJST (ADC0CF.2). В однофазном режиме результаты преобразований представлены в виде 10-разрядных целых чисел без знака. Диапазон измерения входных напряжений: 0 … VREF.1023/1024. Неиспользуемые биты в регистрах ADC0H и ADC0L установлены в ‘0’.
В дифференциальном режиме результаты преобразований представлены в виде 10-разрядных чисел в дополнительном коде со знаком. Диапазон измерения входных напряжений: −VREF … VREF.511/512. При выравнивании вправо неиспользуемые старшие разряды регистра ADC0H являются знаковым расширением слова данных. При выравнивании влево неиспользуемые младшие разряды регистра ADC0L установлены в ‘0’.
Важное примечание относительно конфигурации входов АЦП0: Выводы порта, выбранные в качестве входов АЦП0, должны быть настроены как аналоговые входы и должны пропускаться матрицей при назначении выводов. Чтобы настроить вывод порта как аналоговый вход, следует сбросить в 0 соответствующий бит в регистре PnMDIN (для n = 0,1). Чтобы заставить матрицу пропускать вывод порта при назначении выводов, следует установить в 1 соответствующий бит в регистре PnSKIP (для n = 0,1).
МК семейства C8051F33x кроме трех 16-разрядных таймеров/счетчиков общего назначения имеют еще внутренний программируемый массив счетчиков (ПМС). ПМС состоит из отдельного 16-разрядного таймера/счетчика и трех программируемых модулей захвата/сравнения. В качестве тактового сигнала таймера/счетчика ПМС может использоваться один из шести сигналов:
Выбор внешнего источника тактирования полезно использовать для реализации функций RTC (Real Time Clock часы реального времени), когда ПМС тактируется от внешнего источника, а внутренний генератор формирует системный тактовый сигнал.
Каждый модуль захвата/сравнения может быть настроен на работу в одном из шести режимов:
Кроме того, модуль захвата/сравнения 2 может работать в режиме сторожевого таймера (WDT). После системного сброса модуль 2 настраивается и включается в режиме WDT. Входы/выходы модулей захвата/сравнения ПМС и внешний вход тактирования (ECI) соединяются с внешними портами ввода/вывода МК через цифровую коммутирующую матрицу.
Рисунок 6. Структурная схема модуля ПМС.
Таймер/счетчик модуля ПМС.16-разрядный таймер/счетчик модуля ПМС состоит из двух 8-разрядных SFR-регистров: PCA0L и PCA0H. PCA0H является старшим байтом 16-разрядного таймера/счетчика, а PCA0L образует младший байт. При чтении регистра PCA0L значение регистра PCA0H автоматически фиксируется в регистре-защелке; последующее чтение регистра PCA0H возвратит данные именно из этого регистра-защелки. Таким образом, для обеспечения точности считывания полного 16-разрядного значения таймера/счетчика ПМС необходимо сначала прочитать регистр PCA0L, а затем регистр PCA0H. Чтение регистров PCA0H или PCA0L не препятствует функционированию счетчика. Выбор внутреннего сигнала тактирования таймера/счетчика осуществляется битами CPS2 − CPS0 регистра PCA0MD.
При переполнении таймера/счетчика из состояния 0xFFFF в состояние 0x0000 устанавливается в 1 флаг переполнения счетчика (CF) в регистре PCA0MD и, если прерывание от флага CF разрешено, генерируется запрос прерывания. Установка в 1 бита ECF в регистре PCA0MD разрешает генерацию запроса прерываний при установке флага CF. Бит CF не сбрасывается аппаратно при переходе к процедуре обслуживания прерывания и должен быть сброшен программно. Следует иметь ввиду, что прерывания от флага CF распознаются только в том случае, если прерывания от модуля ПМС разрешены глобально. Прерывания от ПМС разрешаются глобально установкой в 1 битов EA (IE.7) и EPCA0 (EIE1.4). Сброс в 0 бита CIDL регистра PCA0MD позволяет ПМС продолжать нормальное функционирование в то время, когда МК переведен в режим ожидания (Idle).
Рисунок 7. Структурная схема таймера/счетчика модуля ПМС.
Модули захвата/сравнения. Каждый модуль можно независимо настроить для работы в одном из шести режимов: инициируемый по фронту сигнала захват, программный таймер, высокоскоростной выход, выход заданной частоты, 8-разрядный широтно-импульсный модулятор и 16-разрядный широтно-импульсный модулятор. Каждый модуль имеет связанные с ним регистры специального назначения, которые используются для обмена данными с модулем и для настройки режимов его работы.
Установка в 1 битов ECCFn в регистрах PCA0CPMn разрешает генерацию прерываний при установке в 1 флагов CCFn. Следует иметь ввиду, что индивидуальные прерывания от флагов CCFn распознаются только в том случае, если прерывания от модуля ПМС разрешены глобально. Прерывания от ПМС разрешаются глобально установкой в 1 битов EA и EPCA0. Схема формирования прерываний от модуля ПМС приведена на рисунке 7.
Рисунок 8. Схема формирования прерывания от ПМС.
Режим захвата по фронту сигнала. В этом режиме активный фронт сигнала на внешнем выводе CEXn приведет к захвату значения таймера/счетчика ПМС и загрузке его в 16-разрядный регистр захвата/сравнения (PCA0CPLn и PCA0CPHn) соответствующего модуля. Биты CAPPn и CAPNn регистра PCA0CPMn определяют, по какому фронту будет осуществляться захват: по положительному (переход из 0 в 1), по отрицательному (переход из 1 в 0) или по любому фронту. Когда происходит захват, флаг захвата/сравнения (CCFn) в регистре PCA0CN устанавливается в 1 и, если прерывание от флага CCFn разрешено, генерируется запрос прерывания. Бит CCFn не сбрасывается аппаратно при переходе к процедуре обслуживания прерывания и должен быть сброшен программно. Если оба бита CAPPn и CAPNn установлены в 1, то состояние вывода порта, связанного с CEXn, можно прочитать непосредственно, чтобы определить, каким фронтом (положительным или отрицательным) вызван захват.
Рисунок 9. Структурная схема ПМС в режиме захвата.
Примечание: Минимальная длительность удержания высокого или низкого уровней сигнала на входе CEXn составляет 2 системных тактовых цикла, что необходимо для обеспечения его корректного распознавания модулем ПМС.
Ядро CIP-51 имеет два программируемых режима управления электропитанием: режим ожидания (Idle) и режим остановки (Stop). В режиме ожидания процессорное ядро (CPU) останавливается, а периферийные модули и тактирование остаются активными. В режиме остановки CPU и внутренний тактовый генератор останавливаются, все источники прерываний и таймеры (кроме детектора исчезновения тактирования) неактивны (аналоговые периферийные модули остаются в выбранном для них состоянии). Т.к. в режиме ожидания тактирование системы сохраняется, то энергопотребление зависит от системной тактовой частоты и количества периферийных модулей, оставленных в активном режиме до входа в режим ожидания. В режиме остановки энергопотребление наименьшее. Для настройки режима электропитания CIP-51 используется регистр управления питанием (PCON).
Хотя CIP-51 имеет встроенные режимы ожидания и остановки (как любой МК со стандартной архитектурой 8051), управление питанием всего МК наиболее эффективно осуществляется путем включения/отключения отдельных периферийных модулей. Каждый аналоговый периферийный модуль, когда он не используется, может быть отключен и переведен в режим пониженного энергопотребления. Цифровые периферийные модули, такие как таймеры или последовательные интерфейсы, потребляют мало энергии, когда не используются. Отключение генераторов значительно снижает энергопотребление, но после этого требуется сброс для перезапуска МК.
Режим ожидания (Idle).Установка в 1 бита выбора режима ожидания (PCON.0) заставит CIP-51 остановить процессорное ядро и перейти в режим ожидания сразу же после завершения команды, которая устанавливает этот бит. Все внутренние регистры и память сохраняют свои данные. Все аналоговые и цифровые периферийные модули могут оставаться активными в то время, пока МК находится в режиме ожидания.
Выйти из режима ожидания можно или по сигналу сброса, или по прерыванию (которое разрешено). Любой из разрешенных сигналов прерывания приведет к сбросу бита PCON.0 и возобновлению работы процессорного ядра. Прерывание будет обслужено и после выхода из прерывания (RETI) будет исполнена команда, которая следует в программе за командой, установившей бит выбора режима ожидания (PCON.0). Если режим ожидания завершается по внутреннему или внешнему сигналу сброса, то CIP-51 отработает последовательность действий, обычную для сброса, и начнет выполнение программы с адреса 0x0000.
Примечание:
Если команда, следующая за командой
установки бита IDLE, является однобайтной
и прерывание происходит во время выполнения
(фазы execution) команды, которая устанавливает
бит IDLE, то CPU может «не пробудиться» из
режима IDLE, когда в будущем произойдет
прерывание. Поэтому за любой командой,
которая устанавливает бит IDLE, должна
следовать команда, состоящая из двух
или более байт.
Например:
// пример кода на ассемблере:
ORL PCON, #01h; // установка бита IDLE
MOV PCON, PCON; // трехбайтная «холостая» команда.
Если сторожевой таймер включен, то со временем он вызовет сброс от сторожевого таймера, что приведет к выходу из режима ожидания. Эта возможность защищает систему от непреднамеренного постоянного отключения в случае случайной записи регистра PCON. Когда такое поведение нежелательно, сторожевой таймер может быть отключен программно до входа в режим ожидания, если первоначально он был настроен на разрешение такой операции. Это обеспечивает возможность дополнительного u1091 уменьшения энергопотребления, т.к. система остается в режиме ожидания неопределенно долгое время, ожидая внешнего сигнала «пробуждения» системы.
Режим остановки (Stop).Установка в 1 бита выбора режима остановки (PCON.1) заставит CIP-51 перейти в режим остановки сразу же после завершения команды, которая устанавливает этот бит. В режиме остановки внутренний тактовый генератор, процессорное ядро и все цифровые периферийные модули останавливаются; состояние схемы внешнего тактового генератора не изменяется. Каждый аналоговый периферийный модуль (включая схему внешнего тактового генератора) можно отключить индивидуально до перехода в режим остановки. Выйти из режима остановки можно только по внутреннему или внешнему сигналу сброса. При сбросе CIP-51 отработает последовательность действий, обычную для сброса, и начнет выполнение программы с адреса 0x0000.
Если включен детектор исчезновения тактовых импульсов (Missing Clock Detector – MCD), то он вызовет внутренний сброс и тем самым выведет МК из режима остановки. Детектор исчезновения тактовых импульсов следует отключить, если необходимо перевести МК в режим остановки на время, большее времени задержки MCD (100 мкс).
Все
МК C8051F330/1/2/3/4/5 содержат программируемый
внутренний низкочастотный генератор,
который калибруется таким
Калибровка внутреннего НЧ-генератора. Таймеры 2 и 3 поддерживают функцию захвата, которую можно использовать для определения частоты генератора, если частота тактирования таймера заранее известна. Если Таймер 2 или Таймер 3 настроить на работу в режиме захвата частоты НЧ-генератора, то спадающий фронт (Таймер 2) или нарастающий фронт (Таймер 3) выходного сигнала НЧ-генератора будут инициировать захват значения соответствующего таймера. Когда происходит захват, текущее значение таймера (TMRnH:TMRnL) копируется в регистры перезагрузки таймера (TMRnRLH:TMRnRLL). Определив разницу между двумя последовательно захваченными значениями таймера, можно рассчитать период низкочастотного генератора. После этого можно подкорректировать значение бит OSCLF таким образом, чтобы получить на выходе НЧ-генератора требуемую частоту. [ссылка 3]