Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Uart алгоритм передачи
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
namar
Описываю uart на vhdl. Мой алгоритм работы с uart при передачи из устройства на ПК:

1. Ожидаю пока CTS(готовность приемника) = 0 .
2. RTS(запрос передачи)=1
3. Ожидаю пока CTS =1
4. Передача байта
1.
2.
3.
4.


Так ли на самом деле?
Doka
так ведь это не передача, а т.н. handshake

вы описали аппаратный, а он может быть и программным, либо отсутствовать вообще.:
ведь, зная скорость обмена, ничего не стоит зацепиться за стартовый бит и принять правильно всю последовательность

тема к "Языкам проектирования на ПЛИС" не имеет отношения. перенес в форум по интерфейсам
namar
Вы имеете в виду. Что выполнив пункты 1 2 3, 4 пункт можно выполнять сколько необходимо.
TailWind
Он имеет в виду, что передать 1 байт можно не дожидаясь сигналов готовности.
Afff
Если говорить по порядку (для последовательного асинхронного интерфейса):

1. Передача осуществляется путем подачи стартового бита "0" на линию (которая первоначально установлена в "1"), потом следуют 6/7/8 битов данных, контрольный бит(ы), если нужны + стоповые 1/1.5/2 бита ("1"). После чего линия возвращается в исходное состояние. Размеры полей и количество битов должно определяться контроллером и согласовываться с абонентом.
2. Если наше устройство или абонент может не успеть откачать переданные данные необходимо предусмотреть поддержку handshake. Она может быть аппаратной и программной.
2.1. Программно, например так называемый XOn/XOff-control. В случае необходимости остановки передачи в канал связи посылается специальная команда и передача данных останавливается вплоть до передачи команды продолжить обмен. Дополнительной реализации "в железе" не требует.
2.2. Аппаратно по сигналам DTR/DSR и/или RTS/CTS. Необходима аппаратная поддержка, ну и сами провода естественно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.