Основные разделы


Анализ временных соотношений и оценка погрешностей

Согласно техническому заданию, длительность импульса tи=10 мкс, частота следования импульсов f=5 кГц. Изменяется длительность пачки: tп=0,2c; 0,4 c; 0,6 c. Период повторения пачек - 9 с.

Период повторения импульсов равен:

Т=1/f=200 мкс.

t0=T- tи=190 мкс - длительность паузы.

Расчитаем число импульсов в пачке:

Первый режим: N=tп/T=0,2c/200мкс=1000 импульсов (250+250).

Второй режим: N=tп/T=0,4c/200мкс=2000 импульсов (500+500).

Третий режим: N=tп/T=0,3c/200мкс=3000 импульсов (750+750).

Так как мы используем 8-битный ЦАП, то им можно сформировать лишь 255 уровней выходного напряжения, что не всегда позволяет сформировать пачку заданной длительности. Поэтому можно формировать по несколько импульсов одинаковой амплитуды для увеличения длительности пачки.

Рассчитаем коэффициенты, вносимые в таймер-счётчик Т1 для формирования временных интервалов. Коэффициент деления частоты = 1

Тактовая частота 8 МГц, период такта - 0,125 мкс. Количество тактов 0,10мкс/0,125мкс = 80. Число вносимое в таймер-счётчик - 65535-80 = 65455 -> $FFAF.

Количество тактов для интервалов между импульсами t0 = 190 мкс/0,125 мкс = 1600. Число вносимое в таймер-счётчик: 65535-1600 = 63935 -> $F9BF.

Рассчитаем длительности интервалов между пачками.

Первый режим.

Длительность паузы: Т-tп = 9-0,2 = 8,8 с. Зададим коэффициент деления частоты равный 1024. f = 8 МГц/1024 = 7812,5 Гц. Отсюда Т = 1/f = 128 мкс.

Для формирования паузы: 8,8 с/128 мкс = 68750.

В таймер-счётчик сначала запишем $0, так как 68750>65535, а затем внесём в него: 65535-(68750-65535)=62320 => $F370.

Рассчитаем второй режим:

Длительность паузы: Т-tп = 9-0,4 = 8,6 с. Зададим коэффициент деления частоты равный 1024. Для формирования паузы: 8,6 с/128 мкс = 67186. В таймер-счётчик сначала запишем $0, так как 67186>65535, а затем внесём в него: 65535-(67186-65535)=63882 => $F98А.

Рассчитаем третий режим:

Длительность паузы: Т-tп = 9-0,6 = 8,4 с. Зададим коэффициент деления частоты равный 1024. Для формирования паузы: 8,4 с/128 мкс = 65625. В таймер-счётчик сначала запишем $0, так как 65625>65535, а затем внесём в него: 65535-(65625-65535)=65445 => $FFA5.

Эти коэффициенты рассчитаны без учёта времени выполнения программы. После моделирования величину вводимых чисел в таймер-счётчик необходимо подкорректировать.

Проведем моделирование и отладку программы c помощью VMLab. Причем при моделировании используем макромодель 8 битного ЦАП, что позволяет наблюдать требуемые импульсы, измерять их длительность и амплитуду.

После моделирования получаем такие параметры импульса:

По программе

Требуемая

Ошибка

Длительность единицы

13мкс

10 мкс

3 мкс

Длительность нуля

193 мкс

190 мкс

3 мкс

Проведем коррекцию временных интервалов:

Количество тактов для τи=(10-3) мкс/0,125мкс=56; Число вносимое в таймер счетчик 65535-56= 65479 => $FFC7

Количество тактов для τ0=(190-3) мкс/0,125мкс=1496; Число вносимое в таймер счетчик 65535-1456 = 64039 => $FA27

Результаты моделирования после коррекции.

Перейти на страницу: 1 2 3

Прочитайте еще и эти статьи:

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

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

© Copyright 2022 | www.techattribute.ru