Лабораторная в институте

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Fruit007
Родился
Сообщения: 17
Зарегистрирован: Чт янв 03, 2013 18:11:07

Лабораторная в институте

Сообщение Fruit007 »

Добрый день, дал препод задание на экзамен, свою программисткую часть выполнил, теперь спрашивает теорию.
В общем есть стенд с микроконтроллером C167CR, на выход ШИМа подключен осциллограф. По заданию, на ассемблере я должен был написать программу чтобы ШИМ выдавал любой период и длину сигнала, что я успешно сделал. Но единственное я не смог разобраться как теоретически высчитать длину периода и длину сигнала?
На осциллографе следующая картинка: Изображение масштаб 50мкс.
На ассемблере получается длина сигнала указана числом 500h а длина периода 1000h. Собственно как высчитать теоретически (без осциллографа) период и длину сигнала?
Частота работы ШИМ 78.13 кГц.
Заранее спасибо за помощь.
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Лабораторная в институте

Сообщение pyzhman »

длина сигнала ... 500h а длина периода 1000h
Т.е. 1/2. А на осциллограмме 1.5/4
Docendo discimus
Реклама
Fruit007
Родился
Сообщения: 17
Зарегистрирован: Чт янв 03, 2013 18:11:07

Re: Лабораторная в институте

Сообщение Fruit007 »

Возможно, рисовал очень быстро. Скорее всего 1/2.
Так может кто-нибудь подсказать как всё таки считать теоретически длину периода?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Лабораторная в институте

Сообщение pyzhman »

F = 78,13 кГц = 78130 Гц => T(период)= 1/78130 = 0,0000128 сек = 12,8 мксек
Отношение периода к длине импульса составляет 1000h/500h = 4096/1280= 3,2
Отсюда длина импульса t = 0,0000128/3,2 = 0,000004 сек = 4 мксек
Хотя я предполагаю, что 1000h это не период, а не_импульс. Тогда -
1500h/500h= 5376/1280= 4,2
t= 12,8/4,2= 3 мксек.
Docendo discimus
Реклама
Эиком - электронные компоненты и радиодетали
Fruit007
Родился
Сообщения: 17
Зарегистрирован: Чт янв 03, 2013 18:11:07

Re: Лабораторная в институте

Сообщение Fruit007 »

Всё) экзамен сдал.
На самом деле я тупанул, частота микроконтроллера 20 МГц.
Короче нужно было узнать время одного такта это = 1/20000000 = 0,05 мкс.
Потом тупо умножить 0,05 на количество тактов в периоде, 0,05*4096 = 204,8 мкс. Отсюда и получается, что моя осциллограмма похожа на правду)
Но всё же спасибо pyzhman за наводку)
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Лабораторная в институте

Сообщение Jack_A »

Как для экзамена, то может, и сойдёт. А если делать реальную систему с точными интервалами, то надо изучить, за сколько тактов выполняется каждая команда , и что каждая за 1 - не факт. Например, команда ветвления - при выполнении и невыполнении условия - число тактов разное :(
Но где экзамен, а где - практика ...
Реклама
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Лабораторная в институте

Сообщение balmer »

Jack_A писал(а):Но где экзамен, а где - практика ...
На практике никто ШИМ на асме не пишет. Заполнят нужные регистры таймера, а он сам уже точнехонько все выдает. И процессор свободен, и точность до такта кварца.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Лабораторная в институте

Сообщение Jack_A »

Согласен, если использовать таймеры. А если люди циклами задержки отмеряют ? :)
agentgoblin
Родился
Сообщения: 12
Зарегистрирован: Чт окт 06, 2011 03:27:23

Re: Лабораторная в институте

Сообщение agentgoblin »

Jack_A писал(а):А если люди циклами задержки отмеряют ? :)
Значит они либо делают ерунду, либо по-быстренькому сдают курсовую.
Ответить

Вернуться в «Разные вопросы по МК»