To AVR и всем принимавшим участие в обсуждении. Все же как сделать? Ответа не прозвучало.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
aspect 24 ноября 2006 г. 00:55
|
|
|
|
AVR, вы описали способ интегрального приема бита. Это все конечно хорошо, но не спасает. Обрыв связи не редкость, особенно в моем случае (RF-передача), замирания, знаете ли. Связь с подвижными объектами.
И часто приемник начинает прием с середины байта. Он конечно сбрасывается по условиям, что стоповый бит не тот или стартовый не на месте, но до конца пакета (пока не появиться пауза в худшем случае равная длинне байта) он синхронизироваться не может.
Паузы, между байтами длительностью в один байт прекрасно решают проблему. Но скорость передачи не устраивает. Аппаратно поднять скорость я не могу, канал не позволяет. Время реакции системы на событие не удовлетворительно.
Не подумайте об амбициях, ответьте по теме.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Можно попробовать вставлять паузу, равную длительности байта, после нескольких переданных байт — Jura (24.11.2006 10:27 62.118.51.2, 161 байт, ссылка)
- Можно использовать в начале пакета синхропоследовательность из 2-3 байт, правда время реакции это никак не увеличит, разве что передать в канал сигнал ошибки, но позволит отсечь заведомо поврежденные пакеты. — F8 (24.11.2006 09:32 82.207.109.199, пустое)
- Ответ: — ++ (24.11.2006 08:45 80.92.98.25, пустое, ссылка, картинка)
- Для начала надо всеж разобраться, кто виноват - UART или ПО, и какое именно ПО. Опишите ваши проблемы четче, чтобы можно было понять, что вы можете переделать, что покупное. А то уже трудно понять, о чем вообще разговор. — pau62 (24.11.2006 02:52 212.26.238.216, пустое)
- если можно себе позволить потерю информационной емкости одного байта в 2 раза. можно софтварно передавать манчестерский код код, это есть самосинхронизация — NAUT (24.11.2006 01:14 85.140.109.186, пустое)
- А что вы хотите-то при пакетной связи? — rezident (24.11.2006 01:07 195.222.149.11, 271 байт)
- На самом деле тебя спасает не пауза, а то, что число бит в посылке стало нечетным (11 вместо 10) - резко падает время, необходимое для самосинхронизации. Проще будет, если ты приведешь весь код SoftReceive — =AVR= (24.11.2006 01:06 80.92.96.19, пустое)
- Ссылку забыл — aspect (24.11.2006 00:56 213.228.74.68, пустое, ссылка)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание