Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

I i i i i i i i i



Было обнаружено изменение фронта, сейчас для определенности синхронизируем бит synch таймера, опережение или отставание

____ Выборка 3

Опережение Отставание

Новый фронт бьш обнаружен, теперь необходимо

Библиотека Компэла


Ь IV. Примеры конкретных применений

синхронизировать встроенный программный генератор, работающий на частоте 12 00 бод, с внешним фронтом. Внутренние данные синхронизации содержатся в бите BIT2 регистра TPD и используются для определения опережения или отставания. Так как имеется дребезг входных синхроимпульсов, то мы не используем инфор­мацию о запаздывании или опережении для немедленного обновления. Вместо этого мы осуществляем «низкочас­тотную фильтрацию» результата для добавления или вычитания его из счетчика только после того, как его абсолютное значение превысит порог, который мы уста­новили.

new_edge_detected

bit.b #CLOCK,global_status;!!!!!!!!!

jz lagging leading:

add #l,bit_lead_lag

jmp update_bit_sync_timer lagging:

sub #l,bit_lead_lag

Формирование бита синхронизации 6/6800+5/6800+6/6800=3/1200

Это внутренний синхроимпульс, который должен опреде­лять скорость 1200 бод, но он имеет дребезг, так как формирование сигнала с частотой 12 00 Гц осуществля­ется путем деления сигнала с частотой 6 800 Гц. В регистр bit_sync_timer загружается 6, а потом 5, а потом 6 и т.д.

update_bit_sync_timer:

sub #l,bit_sync_timer

j z load new timer value; если таймер

; достиг нуля,; то загружается новое; значение фронт синх-; роимпульса сбрасыва-; ется

cmp #3,bit_sync_timer;

jnz done_bit_sync

bis.b #TPE~3,&TPD





Дата публикования: 2014-11-18; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...