![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Сброс счетчика временной базы
Как было отмечено выше, сброс счетчика временной базы крайне нежелателен, поскольку он нарушает естественный порядок счета и может привести к ошибкам в работе подсистем входного захвата или выходного сравнения IC/OC, которые в момент сброса реализуют предназначенные им функции с использованием изменяющегося кода счетчика временной базы. Однако если сброс все таки необходим, то его можно реализовать следующим образом: • Установить в 1 бит разрешения сброса счетчика TCRE (бит 3) в регистре управления TMSK2; • Установить в $0000 регистр данных канала 7 модуля таймера. Комбинация этих двух состояний будет удерживать счетчик временной базы в нулевом состоянии.
Вопросы для самопроверки
1. Какова частота тактирования МК на отладочной плате MC68HC912B32EVB? Ответ: Микроконтроллер B32, установленный на плате MC68HC912B32EVB тактируется от кварцевого резонатора с частотой 16 МГц. Эта частота делится внутренними средствами МК на 2, поэтому частота межмодульных магистралей составляет 8 МГц. 2. С какой целью Вам может понадобиться тактировать МК на с иной, отличной от fBUS = 8 МГц частотой? Ответ: Энергия потребления МК в процессе работы пропорциональна частоте тактирования. Поэтому снижение частоты тактирования целесообразно с точки зрения уменьшения энергетических потерь. Ряд применений, связанных с электромеханическими нагрузками, не требует предельного быстродействия МК, поэтому частота тактирования может быть снижена. 3. Подсистема входного захвата зафиксировала два различных события в моменты времени, соответствующие кодам $0105 и $EC20 счетчика временной базы. Чему равен интервал времени между этими событиями? Интервал следует указать в единицах счета счетчика, число должно быть представлено в десятичном коде. Ответ: $EC20 – $0105 = $EB1B = 60187 тактов счетчика 4. Если в предыдущем примере частота на входе программируемого делителя составляет 2 МГц, и биты PR2…PR0 регистра TMSK2 установлены в 000, то каков интервал времени между событиями в мс? Ответ: Интервал составляет: 60187 1/(2МГц) = 30093, 5 мс. 5. Повторите расчет предыдущего вопроса, но при измененных значениях битов PR2…PR0 = 100. Ответ: В предыдущем случае коэффициент деления программируемого делителя был равен 1. При указанных в данном примере значениях битов PR2…PR0 коэффициент деления составляет 16. Следовательно, интервал времени между событиями составит 30093, 5 мс & #215; 16 = 481496 мс. 6. Назовите три основных режима работы модуля таймера TIM? Ответ: режим входного захвата IC, режим выходного сравнения OC и режим счетчика внешних событий PA. 7. Почему необходимо следить за флагом переполнения счетчика временной базы? Ответ: При использовании модуля таймера для измерения временных интервалов необходимо знать, сколько раз в процессе измерения переполнился счетчик. В противном случае подсчитанный код будет неверным. 8. Почему разработчик должен быть крайне осторожен при обнулении счетчика временной базы таймера? Ответ: Сама по себе операция обнуления не представляет сложности. Однако к работающему счетчику временной базы могут быть «привязаны» другие каналы IC/OC. И изменение естественного порядка счета счетчика может привести к неправильной работе этих каналов. Поскольку каналов в модуле таймера восемь, то достаточно трудно предугадать все возможные комбинации их функционирования в реальной задаче. Поэтому во избежание сбоев в работе целесообразно отказаться от обнуления счетчика временной базы.
|