реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> UART без кварцевой стабилизации, Работает или нет. До каких скоростей?
Stanislav
сообщение Jul 20 2006, 13:17
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ArtemKAD @ Jul 20 2006, 17:07) *
Гарантированный за время одного символа только ОДИН переход.
Как это ОДИН? blink.gif Где и в какую сторону?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
µµC
сообщение Jul 20 2006, 13:34
Сообщение #32


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710



Цитата(ArtemKAD @ Jul 20 2006, 17:07) *
blink.gif Гарантированный за время одного символа только ОДИН переход. Расстояния между символами - не гарантированы...


Как раз время то между старт/споп и есть искомая (измеряемая) величина. А наличие самих переходов гарантировано.

В некоторых PICах есть AUTO BAUD RATE DETECT. Передатчик отправляет байт 0x55, а приемник автоматом вычисляет baud rate регистр. Здесь почти то же самое, за исключением, что baud rate регистр это константа, а подбираем значение регистра калибровки int RC.

Сообщение отредактировал µµC - Jul 20 2006, 13:49
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jul 20 2006, 14:00
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Stanislav @ Jul 20 2006, 16:17) *
Цитата(ArtemKAD @ Jul 20 2006, 17:07) *
Гарантированный за время одного символа только ОДИН переход.
Как это ОДИН? blink.gif Где и в какую сторону?

Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 20 2006, 14:07
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ArtemKAD @ Jul 20 2006, 18:00) *
Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...
Интересная трактовка.
Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... smile.gif
Эти два события и можно использовать в качестве опорных.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jul 20 2006, 14:20
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Stanislav @ Jul 20 2006, 17:07) *
Цитата(ArtemKAD @ Jul 20 2006, 18:00) *
Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...
Интересная трактовка.
Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... smile.gif
Эти два события и можно использовать в качестве опорных.

Не зная в какой момент должно прити второе? blink.gif Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 20 2006, 14:21
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Stanislav @ Jul 20 2006, 20:07) *
Цитата(ArtemKAD @ Jul 20 2006, 18:00) *
Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...
Интересная трактовка.
Если стартовый переход 1->0 гарантирован, то и переход 0->1 в течение одного символа, по-моему, также гарантирован. Иначе никак... smile.gif
Эти два события и можно использовать в качестве опорных.

Стоповый переход конечно гарантирован, но не гарантировано, что внутри интервала старт-стоп будет именно 9 битовых периодов. Потому что может еще и бит четности передаваться или вообще 5-6-7 битовая посылка. Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.
Go to the top of the page
 
+Quote Post
µµC
сообщение Jul 20 2006, 14:28
Сообщение #37


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710



Цитата(rezident @ Jul 20 2006, 18:21) *
Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.


Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. smile.gif
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 20 2006, 14:32
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(rezident @ Jul 20 2006, 18:21) *
Стоповый переход конечно гарантирован, но не гарантировано, что внутри интервала старт-стоп будет именно 9 битовых периодов. Потому что может еще и бит четности передаваться или вообще 5-6-7 битовая посылка. Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.
Стоп-стоп.
В теме не ставится задача AutoBaud Detection, хотя, если её делать, нужно поступать именно таким образом, как я и предложил (другой способ придумать трудно smile.gif ).
Здесь же речь идёт о подстройке RC-генератора для обеспечения наилучших временнЫх характеристик работы УАРТа при известных параметрах канала связи.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 20 2006, 14:33
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(µµC @ Jul 20 2006, 20:28) *
Цитата(rezident @ Jul 20 2006, 18:21) *

Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.


Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. smile.gif

Нет, не проще. Опять же не гарантируется наличие/отсутствие/вид бита четности. Всегда лучше по стартовому биту калибровать. Соответственно калибровочный символ с лог. 1 должен начинаться.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 20 2006, 14:37
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ArtemKAD @ Jul 20 2006, 18:20) *
Не зная в какой момент должно прити второе? blink.gif Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...
Я отвечал на Ваш пост #30.
И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход. Частоту генератора можно уточнять, набрав необходимую статистику, даже на "коротких" переходах , какие бывают при передаче символов вроде 0x55.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
µµC
сообщение Jul 20 2006, 14:51
Сообщение #41


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710



Цитата(rezident @ Jul 20 2006, 18:33) *
Цитата(µµC @ Jul 20 2006, 20:28) *

Цитата(rezident @ Jul 20 2006, 18:21) *

Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.


Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях. smile.gif

Нет, не проще. Опять же не гарантируется наличие/отсутствие/вид бита четности. Всегда лучше по стартовому биту калибровать. Соответственно калибровочный символ с лог. 1 должен начинаться.


Какой такой бит четности, откуда ему взяться если передатчик его не отсылает? Напомню основное условие автокалибровки - передатчик отсылает заранее определенный символ в заранее определенном формате, приемник вычисляет интервал бита исходя из этого.
Поэтому тезис, что при посылке 0x00 интервал будет проще и точнее измерен, чем при посылке 0xFF, имеет под собой все основания. Тут, если честно, и спорить то не о чем.
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jul 20 2006, 15:44
Сообщение #42


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Stanislav @ Jul 20 2006, 17:37) *
Цитата(ArtemKAD @ Jul 20 2006, 18:20) *
Не зная в какой момент должно прити второе? blink.gif Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...
Я отвечал на Ваш пост #30.
wink.gif Там было на что отвечать? Может на #23?
Цитата
И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход.
Параметры известны, не известен приходящий символ...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 20 2006, 15:51
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ArtemKAD @ Jul 20 2006, 19:44) *
Там было на что отвечать? Может на #23?
Ну да, и на него тоже.
Цитата(ArtemKAD @ Jul 20 2006, 19:44) *
Цитата
И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход.
Параметры известны, не известен приходящий символ...
А вот и подумайте, как с этим можно бороться. Способ есть, и не один. Если интересно, изложу позже.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 21 2006, 22:14
Сообщение #44


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Господа, как вы думаете почему 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

Последний выделенный бит - стоп-бит. который впринципе не участвует в процедуре определения бод-рейта.
Go to the top of the page
 
+Quote Post
µµC
сообщение Jul 22 2006, 04:02
Сообщение #45


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710



Цитата(defunct @ Jul 22 2006, 02:14) *
Господа, как вы думаете почему 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
выделены старт и стоп
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016