Stanislav 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Гарантированный за время одного символа только ОДИН переход.Как это ОДИН? :blink: Где и в какую сторону? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uuC 0 20 июля, 2006 Опубликовано 20 июля, 2006 (изменено) · Жалоба :blink: Гарантированный за время одного символа только ОДИН переход. Расстояния между символами - не гарантированы... Как раз время то между старт/споп и есть искомая (измеряемая) величина. А наличие самих переходов гарантировано. В некоторых PICах есть AUTO BAUD RATE DETECT. Передатчик отправляет байт 0x55, а приемник автоматом вычисляет baud rate регистр. Здесь почти то же самое, за исключением, что baud rate регистр это константа, а подбираем значение регистра калибровки int RC. Изменено 20 июля, 2006 пользователем µµC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Гарантированный за время одного символа только ОДИН переход.Как это ОДИН? :blink: Где и в какую сторону? Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...Интересная трактовка. Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... :) Эти два события и можно использовать в качестве опорных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...Интересная трактовка. Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... :) Эти два события и можно использовать в качестве опорных. Не зная в какой момент должно прити второе? :blink: Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...Интересная трактовка. Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... :) Эти два события и можно использовать в качестве опорных. Стоповый переход конечно гарантирован, но не гарантировано, что внутри интервала старт-стоп будет именно 9 битовых периодов. Потому что может еще и бит четности передаваться или вообще 5-6-7 битовая посылка. Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uuC 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита. Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Стоповый переход конечно гарантирован, но не гарантировано, что внутри интервала старт-стоп будет именно 9 битовых периодов. Потому что может еще и бит четности передаваться или вообще 5-6-7 битовая посылка. Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.Стоп-стоп. В теме не ставится задача AutoBaud Detection, хотя, если её делать, нужно поступать именно таким образом, как я и предложил (другой способ придумать трудно :) ). Здесь же речь идёт о подстройке RC-генератора для обеспечения наилучших временнЫх характеристик работы УАРТа при известных параметрах канала связи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита. Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. :) Нет, не проще. Опять же не гарантируется наличие/отсутствие/вид бита четности. Всегда лучше по стартовому биту калибровать. Соответственно калибровочный символ с лог. 1 должен начинаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Не зная в какой момент должно прити второе? :blink: Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...Я отвечал на Ваш пост #30. И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход. Частоту генератора можно уточнять, набрав необходимую статистику, даже на "коротких" переходах , какие бывают при передаче символов вроде 0x55. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uuC 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита. Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. :) Нет, не проще. Опять же не гарантируется наличие/отсутствие/вид бита четности. Всегда лучше по стартовому биту калибровать. Соответственно калибровочный символ с лог. 1 должен начинаться. Какой такой бит четности, откуда ему взяться если передатчик его не отсылает? Напомню основное условие автокалибровки - передатчик отсылает заранее определенный символ в заранее определенном формате, приемник вычисляет интервал бита исходя из этого. Поэтому тезис, что при посылке 0x00 интервал будет проще и точнее измерен, чем при посылке 0xFF, имеет под собой все основания. Тут, если честно, и спорить то не о чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 69 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Не зная в какой момент должно прити второе? :blink: Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...Я отвечал на Ваш пост #30. ;) Там было на что отвечать? Может на #23?И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход.Параметры известны, не известен приходящий символ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 20 июля, 2006 Опубликовано 20 июля, 2006 · Жалоба Там было на что отвечать? Может на #23?Ну да, и на него тоже. И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход.Параметры известны, не известен приходящий символ...А вот и подумайте, как с этим можно бороться. Способ есть, и не один. Если интересно, изложу позже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 21 июля, 2006 Опубликовано 21 июля, 2006 · Жалоба Господа, как вы думаете почему Philips использует символ '?' (0x21) для вычисления бод-рейта? Ответ прост, достаточно посмотреть на диаграмму сигнала на линии TX для этого символа: 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 Последний выделенный бит - стоп-бит. который впринципе не участвует в процедуре определения бод-рейта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uuC 0 22 июля, 2006 Опубликовано 22 июля, 2006 · Жалоба Господа, как вы думаете почему Philips использует символ '?' (0x21) для вычисления бод-рейта? Ответ прост, достаточно посмотреть на диаграмму сигнала на линии TX для этого символа: 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 Последний выделенный бит - стоп-бит. который впринципе не участвует в процедуре определения бод-рейта. При 0x21 (b'00100001') на ТХ будет 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 выделены старт и стоп Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться