ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
1099938
Evgeny_CD, Архитектор (14.05.2021 20:25 - 20:32, просмотров: 10705)
Генерация паузы после окончания передачи байта по UART. 

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


Например, берем два пакета данных. Третий делаем из них XOR. RAID-5. Первый, пауза, второй пауза, третий. Два приняли, третий восстановим.


UART, которые могут штатно передать паузу без старта, мне неизвестны.


Можно настроить прерывание на окончание передачи (именно окончание, а не буфер пуст), и задержку таймером. Но хочу проше, с минимумом прерываний.


Записываем буфер. И взводим специальную схему :)


Резистор, конденсатор, ключ, компаратор, подстройка порога компаратора.


0 на выходе UART сбрасывает конденсатор, который заряжается через резистор.


Зарядилось до порога - компапратор на пин и прерывание.


PWM или еще что на подстройку порога компаратора, задержку калибруем.


В MCU с CLC можно на них и встроенным таймере замутить.


Можно одновибратор заюзать.


Альтернативные идеи?