Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медприборы_лб2.doc
Скачиваний:
19
Добавлен:
09.04.2015
Размер:
143.87 Кб
Скачать

Лабораторная работа №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

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

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).