Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Синхронный режим работы USART
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
P90TR
Тут вопрос возник, непойму как у AVR USART работает в синхронном режиме. На примере Atmega128.
Второй USART должен работать в синхронном режиме только на прием с внешней синхронизацией.
По даташиту на вход XCK1 мы подаем частотут синхронизации, т.е. контроллер slave. По логике, в этом случае USART должен работать как обычный регистр сдвига и по идее должен принимать допустим 0xFF, когда вход RXD1 висит. А он ничего не принимает, а если подать а вход RXD1 какой нибудь сигнал(изменяющиеся 0 и 1), то начинает что то принимать(но не то что хочется). Такое ощущение что он ждет стартовый бит. Но вроде в синхронном режиме старт-стоповые биты не нужны. Или я ошибаюсь.
Кто может просветить по этому поводу, как правильно сконфигурировать мегу128 для работы ведомым в синхронном режиме.
Спасибо.
rezident
Синхронный режим UART отличается от асинхронного только тем, что в синхронном режиме частота синхронизации UART подается извне, от другого устройства с UART по дополнительной линии (дополнительной к сигналам TxD и RxD). А при асинхронном режиме частота тактирования UART вырабатывается внутри МК и она в общем случае несинхронизирована с тактовой частотой того другого UART. Но в обоих случае функционал UART от способа синхронизации не меняется. UART всегда работает как асинхронный приемопередатчик, синхронизируясь на приеме символов по сигналу в линии RxD. См. Figure 80, на нем все отличие синхронного и асинхронного режимов UART. Так что если на линии RxD нет перепада 1->0, то UART не будет детектировать старт-бит и никакого приема не будет в любом из режимов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.