Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Хоть данные и непрерывные, но полезно периодически перерывы все-таки делать ;) Короткие - длительностью чуть больше интервала передачи байта. Это снимет все проблемы с синхронизацией...
Отправлено
Гудвин
19 июня 2007 г. 02:27
В ответ на:
Несколько страниц назад довольно невнятно и совсем незнаючи задавал вопрос про UART. Слегка разобрался. Теперь переформулирую его более конкретно. (+)
отправлено <font color=gray>mayn</font> 19 июня 2007 г. 02:22
Составить ответ
|
Вернуться на конференцию
Ответы
В принципе, хороший вариант:) Правда, если делать паузы между n байтами, то в худшем случае можно потерять n байт до первой паузы. Получается компромисс между скоростью передачи(< при меньшем n) и задержкой получения правильных, надежных данных (> при большем n), хотя это не проблема. Принимаются предложения и других вариантов:)
—
mayn
(19.06.2007 02:59:27
87.245.133.19
,
пустое
)
Какой еще компромисс? Нефиг делать систему без резерва по скорости передачи данных.
—
Vladimir Ljaschko
(19.06.2007 09:21:47
194.158.204.49
,
пустое
)
Не надо изобретать велосипед....
—
Mk - 51
(19.06.2007 08:00:5
89.178.61.209
, 727 байт)
Чел озабочен аппаратной синхронизацией usart при произвольном подключении к сплошному потоку, а вы ему про байт стаффинг впрягаете...
—
Гудвин
(19.06.2007 09:00:18
195.133.109.197
,
пустое
)
А вот вы ответте, какая может быть проблема с аппаратной синхронизацией при исправном порте и правильных установках скоростей! Не встречал! Вот когда снхронизации от таймеров (или еще там от чего, типа битрейтгенераторов) в UART МК неверные или неисправный COM в компе... Искать причину в этом надо.
—
Mk - 51
(19.06.2007 10:02:1
195.28.39.114
,
пустое
)
Правда, если товарищ в компе поставил два стоп-бита, а в МК один, и байты идут с интервалом в стоп-бит... Ну, тогда...
—
Mk - 51
(19.06.2007 10:05:34
195.28.39.114
,
пустое
)
В сплошном потоке (без пауз, длительностью больше интервала передачи одного байта) никакой uart не синхронизируется...
—
Гудвин
(19.06.2007 10:19:12
195.133.109.197
,
пустое
)
Это верно. Нужны паузы между символами. Хотя на практике обычно UART довольно быстро синхронизируется при случайном потоке данных, но в теории время синхронизации может быть бесконечным :)
—
Леонид Иванович
(19.06.2007 12:51:5
87.252.227.57
,
пустое
)
Если в МК поставите два стоп-бита (надо полагать, что вы знаете когда вырабатывается прерывание Tx_end), а в компе один стоп-бит, можете до посинения ждать рассинхронизации в любом сплошном потоке.
—
Mk - 51
(19.06.2007 10:47:40
195.28.39.114
,
пустое
)
Суть не меняется - вы так-же до посинения можете ждать синхронизацию...
—
Гудвин
(19.06.2007 11:43:26
195.133.109.197
,
пустое
)
А ведь что интересно, есть у меня такое устройство. Монитор напряжения. Шарашит постоянно и, о чудо (судя по вашим постам), может месяцами на компом контролироваться. Для справки пауза между байтами 4 бита, пакет 41 байт, скорость 1024 б/с. (RS МК программный). А контрольный комп на Athlon XP 2500+ и VIA KT-600 с двумя UART. Так, что про паузу в байт и потерю синхронизации сказка мне не нравится.
—
Mk - 51
(19.06.2007 11:58:3
195.28.39.114
,
пустое
)
Сказка ложь, да вней намек... Вы начните прием посередине байта...
—
Гудвин
(19.06.2007 12:03:44
195.133.109.197
,
пустое
)
Мил человек, если Вы думеете, что я с осцилоскопом вычисляю, когда включить прогрмму PC, вынужден Вас разочаровать. Дело тут решается очень просто, при неполучении пакета в течении 2 с. идет переинициализация порта. Ну и ...
—
Mk - 51
(19.06.2007 12:15:59
195.28.39.114
,
пустое
)
А теперь остановимся и внимательно перечитаем первый пост...
—
Гудвин
(19.06.2007 12:49:10
195.133.109.197
,
пустое
)
Ну, так и я про то же, не в МК ему сразу лезть надо, а грамотно программу на писюке написать, продумать, где и чем пожертвовать, может потеря некоторых пакетов - не проблема, а может полностью пересмотреть весь протокол. Но пауза в > 1 байта совсем не обязательна. Именно это я и хочу сказать.
—
Mk - 51
(19.06.2007 13:21:44
195.28.39.114
,
пустое
)
Если вам и этого мало, эффект можно усилить введя 9-м битом единицу с двумя стопами, а на компе 8-бит с одним стопом.
—
Mk - 51
(19.06.2007 10:49:59
195.28.39.114
,
пустое
)
Не забывайте :)
—
Vladimir Ljaschko
(19.06.2007 10:17:5
194.158.204.49
,
пустое
,
ссылка
)
Спасибо, не забуду!
—
Mk - 51
(19.06.2007 10:50:56
195.28.39.114
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите 2 и 3:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru