- •1. Цель работы.
- •2. Описание используемых аппаратных и программных средств.
- •2.1. Макет устройства для воспроизведения экг.
- •2.2. Методика подготовки исходных данных.
- •2.3. Способы программного управления внешними устройствами.
- •2.4. Применение таймера и портов для программирования сигналов.
- •2.5. Методика физического моделирования экг.
- •Incf count2 ;текущий адрес массива
- •2.6. Программатор, его программное обеспечение и порядок работы с ним.
- •3. Содержание работы.
- •4. Порядок выполнения работы.
- •4.1. Домашняя подготовка к работе.
- •4.2. Домашнее задание.
- •4.3. Аудиторное задание.
- •4.3.1. Отладка программ.
- •4.3.2. Работа с программатором .
- •4.3.3. Исследование работы макета.
- •5. Отчет по работе.
Лабораторная работа №2
Изучение методики программирования сигналов сложной формы на примере ЭКГ и исследование работы программы в реальном устройстве
на PIC-контроллере.
1. Цель работы.
Освоение приемов разработки алгоритмов управления воспроизведением сигналов с использованием встроенных таймеров и портов микроконтроллера. Приобретение опыта отладки программ в симуляторе. Освоение технологии записи кода программы в кристалл (в микроконтроллер) с помощью программатора. Приобретение навыков проверки работы устройств на микроконтроллерах.
2. Описание используемых аппаратных и программных средств.
2.1. Макет устройства для воспроизведения экг.
Макет устройства, воспроизводящего кривую ЭКГ, собран на современном микроконтроллере PIC16F84, достоинством которого является относительная дешевизна и легкость смены программы, записываемой в память микроконтроллера. В отличие от большинства производимых микроконтроллеров в нем имеется электрически перепрограммируемое запоминающее устройство (ППЗУ). Объем памяти PIC16F84 составляет 1 килослово при разрядности слова 13 двоичных разрядов, что достаточно для решения простых задач.
Для программирования сигнала ЭКГ был сформирован массив данных путем равномерного разбиения эталонной кривой ЭКГ первого отведения на 172 отсчета. Память контроллера позволяет при необходимости увеличить их количество еще по меньшей мере в 5 раз. Значения дополнительных промежуточных отсчетов легко получить путем кусочно-линейной аппроксимации кривой ЭКГ.
На рис.1 приведена электрическая принципиальная схема макета.В схеме предусмотрен первоначальный сброс контроллера по включению питания и по кнопке сброса S1. Принцип работы схемы заключается в последовательной выборке из памяти контроллера 8-разрядных двоичных кодов, соответствующих отсчетам ЭКГ, пересылке их на внешние выходы встроенного 8-разрядного порта B (линии RB0… RB7), соединенные с соответствующими входами цифро-аналогового преобразователя (ЦАП) на микросхеме КР572ПА1, на аналоговом выходе которого воспроизводится ЭКГ. Для согласования с нагрузкой к выходу ЦАП подключен операционный усилитель на К153УД2 в инвертирующем включении. Питание всех микросхем осуществляется от источника питания с выходными напряжениями +5 В и –5В. Чтобы кривая ЭКГ не оказалась перевернутой, опорное напряжение ЦАП принято равным минус 5 В. Тактовая частота контроллера составляет 160 кГц и получена соответствующим выбором элементов времязадающей цепи его встроенного RC-генератора (R ext, C ext). Время цикла ЭКГ, TЦ=1,185 с. Выходной сигнал схемы наблюдался на экране осциллографа C1-69, при этом его амплитуда, соответствующая R-зубцу ЭКГ, равна 3,6 В. В случае использования данного сигнала с целью калибровки электрокардиографов следует применить резистивный делитель напряжения для снижения его уровня.
2.2. Методика подготовки исходных данных.
Подготовка исходных данных заключается в разбиении изображения ЭКГ для нормы в первом отведении на дискреты по оси времени (оси абсцисс) и на дискреты по оси мгновенных значений напряжения этого сигнала (оси ординат). Число разбиений по оси абсцисс выбирается достаточным для необходимой точности воспроизведения аналогового сигнала на выходе ЦАП по заданному таким образом числу цифровых отсчетов. Цифровые коды мгновенных значений напряжения каждого отсчета получают, как число дискретов по оси ординат. Если ордината мгновенного значения не совпадает с делениями оси ординат (что обычно и бывает) за истинное принимается цифровое значение по делению, ближайшему к ней. Зная цену деления по оси ординат, для каждого отсчета вычисляют его значение в виде цифрового кода.
Связь между аналоговыми и цифровыми значениями (кодами) устанавливают по максимальному сигналу ЦАП. Если опорное напряжение ЦАП равно 5 В, а разрядность ЦАП равна 8, то максимальное число разбиений по оси ординат будет равно 28 = 256. Тогда значения отсчетов будут получены как цифровые коды в десятичной системе счисления. После их перевода в шестнадцатиричные числа следует составить таблицу, где каждому отсчету ставится в соответствие его код. В нашем случае число отсчетов принято равным 172. В таблице 1 для примера приведены значения 86-ти отсчетов.
Таблица1. Мгновенные значения моделируемой ЭКГ.
№ |
U(мВ) |
Код |
№ |
U(мВ) |
Код |
№ |
U(мВ) |
Код |
1 |
0,24 |
3d |
31 |
0,2 |
33 |
61 |
0,24 |
3d |
2 |
0,24 |
3d |
32 |
0,17 |
2в |
62 |
0,248 |
3f |
3 |
0,24 |
3d |
33 |
0,148 |
25 |
63 |
0,26 |
42 |
4 |
0,24 |
3d |
34 |
0,13 |
21 |
64 |
0,276 |
46 |
5 |
0,248 |
3f |
35 |
0,3 |
4с |
65 |
0,292 |
4a |
6 |
0,26 |
42 |
36 |
0,476 |
79 |
66 |
0,304 |
4d |
7 |
0,268 |
44 |
37 |
0,652 |
а6 |
67 |
0,319 |
51 |
8 |
0,276 |
46 |
38 |
0,824 |
d2 |
68 |
0,331 |
54 |
9 |
0,28 |
47 |
39 |
1,0 |
ff |
69 |
0,34 |
57 |
10 |
0,284 |
48 |
40 |
0,776 |
c5 |
70 |
0,348 |
59 |
11 |
0,288 |
49 |
41 |
0,536 |
88 |
71 |
0,354 |
5a |
12 |
0,29 |
4a |
42 |
0,267 |
44 |
72 |
0,358 |
5b |
13 |
0,288 |
49 |
43 |
0,06 |
0f |
73 |
0,36 |
5c |
14 |
0,285 |
48 |
44 |
0,1 |
19 |
74 |
0,362 |
5c |
15 |
0,28 |
47 |
45 |
0,136 |
22 |
75 |
0,36 |
5c |
16 |
0,276 |
46 |
46 |
0,168 |
2a |
76 |
0,358 |
5b |
17 |
0,268 |
44 |
47 |
0,188 |
2f |
77 |
0,352 |
5a |
18 |
0,256 |
41 |
48 |
0,22 |
38 |
78 |
0,3496 |
59 |
19 |
0,244 |
3e |
49 |
0,232 |
3b |
79 |
0,336 |
56 |
20 |
0,24 |
3d |
50 |
0,24 |
3d |
80 |
0,324 |
52 |
21 |
0,24 |
3d |
51 |
0,24 |
3d |
81 |
0,308 |
4e |
22 |
0,24 |
3d |
52 |
0,24 |
3d |
82 |
0,292 |
4a |
23 |
0,24 |
3d |
53 |
0,24 |
3d |
83 |
0,276 |
46 |
24 |
0,24 |
3d |
54 |
0,24 |
3d |
84 |
0,264 |
43 |
25 |
0,24 |
3d |
55 |
0,24 |
3d |
85 |
0,251 |
40 |
26 |
0,24 |
3d |
56 |
0,24 |
3d |
86 |
0,24 |
3d |
27 |
0,24 |
3d |
57 |
0,24 |
3d |
– |
– |
– |
28 |
0,24 |
3d |
58 |
0,24 |
3d |
– |
– |
– |
29 |
0,234 |
3b |
59 |
0,24 |
3d |
– |
– |
– |
30 |
0,22 |
38 |
60 |
0,24 |
3d |
– |
– |
– |
В ней отражена привязка к максимуму сигнала ЭКГ, равному 1МВ, на выходе макета. При этом по-прежнему считается, что максимальное значение на выходе ЦАП составляет 5В, когда его входной код равен 0АFF (используются только 8 старших разрядов 10-разрядного ЦАП на микросхеме К572ПА1А).Промежуточные значения, дополняющие их число до 172, вычислены методом кусочно-линейной аппроксимации. В тексте программы присутствует полный массив данных MASSIV(172).