Проектирование задающего генератора пачек прямоугольных импульсов на микропроцессоре
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
000TCCR1B,temp1 ; останов_nol2:temp1,0b00000001
out TCCR1B,temp1 ; установка предварительного деления тактовой частоты iетчика на 1024waitH,$FDTCNT1H,waitH ; запись старшего байта в порт таймера длительности пачкиwaitH,$7FTCNT1L,waitH ; запись малого байта в порт таймера длительности пачкиtemp1,0b00100000MCUCR,temp1 ; разрешение режима пониженого энергопотребления
SLEEPtemp1,0b00000000TCCR1B,temp1 ; останов_impuls3:temp1,0b00000001
out TCCR1B,temp1 ; установка предварительного деления тактовой частоты iетчика на 1024waitH,$FFTCNT1H,waitH ; запись старшего байта в порт таймера длительности пачкиwaitH,$0FTCNT1L,waitH ; запись малого байта в порт таймера длительности пачкиtemp1,0b00100000MCUCR,temp1 ; разрешение режима пониженого энергопотребления
SLEEPtemp1,0b00000000TCCR1B,temp1 ; останов_nol3:
ldi temp1,0b00000001TCCR1B,temp1 ; установка предварительного деления тактовой частоты iетчика на 1024waitH,$FETCNT1H,waitH ; запись старшего байта в порт таймера длительности пачкиwaitH,$47TCNT1L,waitH ; запись малого байта в порт таймера длительности пачкиtemp1,0b00100000MCUCR,temp1 ; разрешение режима пониженого энергопотребления
SLEEPtemp1,0b00000000TCCR1B,temp1 ; останов_long1:temp1,0b00000101
out TCCR1B,temp1 ; установка предварительного деления тактовой частоты iетчика на 1024waitH,$E4TCNT1H,waitH ; запись старшего байта в порт таймера длительности пачкиwaitH,$88TCNT1L,waitH ; запись малого байта в порт таймера длительности пачкиtemp1,0b00100000MCUCR,temp1 ; разрешение режима пониженого энергопотребления
SLEEPtemp1,0b00000000TCCR1B,temp1 ; останов
ret
.EXIT
6. МОДЕЛИРОВАНИЕ И КОРРЕКТИРОВКА ПРОГРАММЫ
Проведем моделирование и отладку программы в программе VMLab.
Причем при моделировании используем макромодель 8 битного ЦАП, что позволяет наблюдать требуемые импульсы, измерять их длительность и амплитуду.
После моделирования получаем такие параметры импульса:
По программеТребуемаяОшибкаДлительность импульса25,3 мкс20 мкс5,3 мксДлительность нуля186,2мкс180 мкс6,2 мкс
Вносим поправки в раiет
Рассмотрим 1-й случай:
Количество тактов для ?и=20 мкс-5,3 мкс /0,25мкс= 59;
Число вносимое в таймер iетчик 65535-59= 65476 $ FFC4
Количество тактов для ?0=180 мкс-6,2 мкс /0,25мкс= 695;
Число вносимое в таймер iетчик 65535-695= 64840 $FD48
Рисунок 6.1 - Длительность импульса внутри пачки после коррекции
Рисунок Длительность нуля внутри пачки после коррекции
Рисунок - результат моделирования 1 пачки импульсов
После коррекции длительностей единицы и нуля получаем искомую длительность пачки - 200 мс
Теперь зная корректировочные коэффициенты корректируем 2 и 3 режим работы
Рассмотрим 2-й случай:
Количество тактов для ?и=70 мкс-5,3 мкс /0,25мкс=259;
Число вносимое в таймер iетчик 65535-259= 65276 $ FEFC
Количество тактов для ?0=130 мкс-7,5 мкс /0,25мкс=490;
Число вносимое в таймер iетчик 65535-490= 65045 $FE15
Рассмотрим 3-й случай:
Количество тактов для ?и=90 мкс-5,3 мкс /0,25мкс=339;
Число вносимое в таймер iетчик 65535-339= 65196 $ FEAC
Количество тактов для ?0=110 мкс-7,5 мкс /0,25мкс=410;
Число вносимое в таймер iетчик 65535-410= 65125 $FE65
7. РАiЁТ ПОГРЕШНОСТЕЙ
При раiёте погрешностей нужно сопоставить длительность импульса, длительность нуля, длительность большого нуля с длительностями, получаемыми программно.
Так как мы при моделировании отладили программу и получили длительности импульсов равные заданным, можно iитать, что устройство работает без существенных погрешностей. Но в реальной жизни будет разброс параметров кварца, температурный дрейф частоты генерации, что приведет к увеличению погрешности. Но все равно точность генерирования импульсов останется на порядок выше, чем требовалась по техническому заданию (0,5%), так как схема генерирует импульсы относительно тактовой частоты заданной кварцем. О точности генерирования амплитуды в техническом задании нет определенных указаний, поэтому iитаем, что этот параметр неважен в конечном устройстве.
ЗАКЛЮЧЕНИЕ
генератор импульс микропроцессор алгоритм
В этой работе спроектирован программно управляемый задающий генератор пачек прямоугольных импульсов на микроконтроллере AT90S2313 для физиотерапевтической установки. Использование микроконтроллера для проектирования генератора способствует усовершенствованию устройства. Изменяя программное обеспечение, можно генерировать другие импульсы, и даже совсем изменить функцию прибора. Также, такой генератор менее энергопотребляем, имеет малые габариты, сейчас очень актуально.
Можно добиться работы устройства почти без погрешности путём корректировки программы.
На основе такого генератора реально можно сконструировать более сложные радиотехнические устройства, применяемые не только в медицине, но и в разных отраслях промышленности и быта. При чём данный генератор может быть отдельным блоком более сложной конструкции.
ПЕРЕЧЕНЬ ССЫЛОК
1. Техническая документация перевод с английского Ю. Андриенко
. Солонин В. Ю. Преобразователь напряжения. Описание изобретения к авторскому свидетельству № 1368950. - Бюллетень "Открытия, изобретения," 1988,N 3.
. Солонин В.Ю. Преобразователь постоянного напряжения. Описание изобретения к авторскому свидетельству № 1379911. - Бюллетень "Открытия, изобретения, ...", 1988, N 9.
. Солонин В.Ю. Преобразователь напряжения. Описание изобретения к авторскому свидетельству № 1354360. - Бюллетень "Открытия, изобретения, ..." 1987,N 43.
. Радио книга в формате HTML.
. Журнал "Радио", N9, 1980г; N7, 1984г.; N9, 1985г.
. Лихциндер Б.Я., Кузнецов В.Н. Микропроцессоры и вычислительные устройства в радиотехнике: Учеб. пособи
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение