|
|
  |
UART без кварцевой стабилизации, Работает или нет. До каких скоростей? |
|
|
|
Jul 4 2006, 11:38
|
Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964

|
Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя).
|
|
|
|
|
Jul 4 2006, 13:16
|

Частый гость
 
Группа: Свой
Сообщений: 188
Регистрация: 22-09-05
Из: Томск
Пользователь №: 8 832

|
Цитата(dRaider @ Jul 4 2006, 14:00)  Больше информации!
Связь с компютером или другим контроллером? На какую частоту внутрений генератор? Выполняется ли калибровка? Связь с компьютером. Внутренний генератор настроен на 4МГц. Пробую скорость 9600. Калибровать не пробовал. Надо? Вообщем посылаю контроллеру разные символы, а приходит 0xF8 либо 0x00. В чем дело, не могу понять.
|
|
|
|
|
Jul 4 2006, 17:11
|

Частый гость
 
Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29

|
Цитата(DesNer @ Jul 4 2006, 13:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Думаю, что такого делать не стОит. Ведь UART - асинхронный. Ему очень важна стабильность частоты - насколько я помню, допускается ошибка в 2.5 процента или чуть выше. Даже если вы как положено зашлете в OSCCAL настроечный байт, стабильности частоты это не обеспечит. Будет скакать и от температурных изменений, и от питающего напряжения... Короче, если не нужен геморрой - ставьте кварц.
|
|
|
|
|
Jul 4 2006, 19:11
|
Местный
  
Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979

|
Цитата(ksv198 @ Jul 4 2006, 15:38)  Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.
До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя). Собирал партию устройств не Меге48 с внутренним генератором на 8МГц, скорость 38400.При связи(С ПК) никаих проблем не обнаружилось(В партии 100шт)
|
|
|
|
|
Jul 5 2006, 03:08
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Позволю себе несогласиться с мнением большинства, что кварц на UART обязателен. Всё зависит от внутреннего генератора. Какие у него характеристики по точности частоты? Вы можете их тут привести? Я практического опыта с UART не имел, поэтому у меня бытовые или теоретические рассуждения. Спорить не буду. Для UART нужна стабильность краткосрочная, т.е. чтобы во время передачи одной посылки (байта) между старт-стопными символами фронт уплывал не более, чем на половину такта (точно не помню, но какая-то такая величина, первые доли такта). Время передачи байта ничтожно мало по сравнению с временем, за которое даже примитивный цифровой генератор на RC-элементах уплывёт (например, по температуре), да ещё и на полтакта. У кварца же точность очертенная, она такая не нужна. 100 ppm скажем - это же 0,01%, если правильно сосчитал. Притом 100 ппм - это долговременная стабильность, за весь срок службы аппаратуры. А кратковременная - куда выше. Вот такие у меня рассуждения. К стати, почитайте тут соседнюю тему http://electronix.ru/forum/index.php?showtopic=16273&st=0Судя по алгоритмам выделения бит, там вообще нестабильность может достигать плюс-минус поллаптя, т.к. алгоритмы дубовые, и всё вытянут.
|
|
|
|
|
Jul 15 2006, 19:14
|
Участник

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

|
Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Выборка бита в UART меги работает по мажоритарному принципу. Бит делится на 16 (8 в 2х) частей и считывание происходит в 8,9 и 10-х частях (4,5,6 в 2х). Следовательно в режиме 8N1 краешек 10-ого стоп бита не должен уехать на 6/16/10 (2/8/10 в 2х), то есть на 3.75% (2.5% в 2х). Это суммарная погрешность приемника и передатчика. Скорость же УАРТ 19200 или там 115200 значения не имеет. Если удастся выдержать нужную точность частоты, все будет нормально. Например, если сумеете заставить внутренний генератор работать с частотой 3.6864МГц +-3.75% будет работать и на 115200 и на 230400 (персоналка +-0%). ИМХО, без кварца такие отклонения обеспечить сложно. С однократной калибровкой внутреннего RC разве что в термостат мегу засунуть и не вынимать.  У Атмела есть платка отладочная батерфляй, мега169 работает от внутреннего генератора и обеспечивает связь с персоналкой. Дык там стоит часовой кварц на таймере1 и RC подстраивают от него периодически.
|
|
|
|
|
Jul 18 2006, 10:35
|

Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 25-01-06
Из: г. Троицк, МО
Пользователь №: 13 575

|
Цитата(Rst7 @ Jul 18 2006, 13:41)  Цитата(WHALE @ Jul 18 2006, 12:30)  проще термодатчик поставить,снять зависимость внутреннего rc-генератора от температуры и менять OSCCAL.
Тем более, что в новых процах есть встроенный термодатчик. Идея с внутренним термодатчиком имхо достойная и заслуживает отдельного исследования... Это где это в Мегах термодатчик, в каком месте?
|
|
|
|
|
Jul 18 2006, 11:28
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(TomaT @ Jul 18 2006, 13:35)  Цитата(Rst7 @ Jul 18 2006, 13:41)  Цитата(WHALE @ Jul 18 2006, 12:30)  проще термодатчик поставить,снять зависимость внутреннего rc-генератора от температуры и менять OSCCAL.
Тем более, что в новых процах есть встроенный термодатчик. Идея с внутренним термодатчиком имхо достойная и заслуживает отдельного исследования... Это где это в Мегах термодатчик, в каком месте?  Мда, в Tiny25-Tiny85 есть. А вот в мегах вроде нет... А жаль... Хотя для софтового уарта тоже дело...
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 18 2006, 13:21
|

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

|
Цитата(WHALE @ Jul 18 2006, 13:30)  проще термодатчик поставить,снять зависимость внутреннего rc-генератора от температуры и менять OSCCAL. Неудобно по трём основным причинам: 1. Нужен термодатчик; 2. Нужен датчик напряжения питания (RC-генератор "плывёт" также и с напряжением питания); 3. Необходимо снимать зависимость частоты RC-генератора каждого прибора от обоих вышеуказанных параметров. Типовая зависимость не прокатит - гарантии в этом случае не обеспечивается. Кроме того, нельзя сбрасывать со счетов долговременную стабильность (старение) генератора. Коррекция же частоты по результатам измерения известных временнЫх интервалов мне кажется наиболее естественной.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 19 2006, 15:35
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Stanislav @ Jul 18 2006, 16:21)  Цитата(WHALE @ Jul 18 2006, 13:30)  проще термодатчик поставить,снять зависимость внутреннего rc-генератора от температуры и менять OSCCAL. Неудобно по трём основным причинам: 1. Нужен термодатчик; Да, это нужно. Правда его точность может быть никакая  . Цитата 2. Нужен датчик напряжения питания (RC-генератор "плывёт" также и с напряжением питания); С этим проблем нет - либо это напряжение "плывет" в пределах 10% (что меняет частоту на доли %) либо Мега меряет свое питание внутренним АЦП (через BANDGAP) даже без потери на это порта.... Цитата 3. Необходимо снимать зависимость частоты RC-генератора каждого прибора от обоих вышеуказанных параметров. Типовая зависимость не прокатит - гарантии в этом случае не обеспечивается. Насколько помню чатота RC во всем диапазоне температур и напряжений уплывает МАКСИМУМ на 5%(разность между крайними точками поверхности). Тобишь (т.к. и так "практически почти хватает") достаточно грубой коррекции частоты в нескольких точках T-U диапазона. Т.е. это не юстировка частоты - это коррекция при которой локальная ошибка в 0,5-1% (четверть ошибки по каждой из возмущающих параметров) более чем допустимы. Ну и можно допустить, что около коллиброванного значения наклоны кривых в разных чипах имеют достаточно высокую повторяемость. Цитата Кроме того, нельзя сбрасывать со счетов долговременную стабильность (старение) генератора. Не уверен, что этот параметр может повлиять настолько, да и стареют RC одновременно... Цитата Коррекция же частоты по результатам измерения известных временнЫх интервалов мне кажется наиболее естественной. Для этого они должны быть известны и они должны быть. Для LIN протовола это просто, а вот при общении с каким нибудь GSM модулем(мобилкой) весьма проблематично
|
|
|
|
|
Jul 19 2006, 16:40
|

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

|
Цитата(ArtemKAD @ Jul 19 2006, 19:35)  ...Насколько помню чатота RC во всем диапазоне температур и напряжений уплывает МАКСИМУМ на 5%(разность между крайними точками поверхности). Тобишь (т.к. и так "практически почти хватает") достаточно грубой коррекции частоты в нескольких точках T-U диапазона. Т.е. это не юстировка частоты - это коррекция при которой локальная ошибка в 0,5-1% (четверть ошибки по каждой из возмущающих параметров) более чем допустимы. Ну и можно допустить, что около коллиброванного значения наклоны кривых в разных чипах имеют достаточно высокую повторяемость. При качественном проектировании это нельзя допустить. Цитата(ArtemKAD @ Jul 19 2006, 19:35)  Цитата Кроме того, нельзя сбрасывать со счетов долговременную стабильность (старение) генератора. Не уверен, что этот параметр может повлиять настолько, да и стареют RC одновременно... Чтобы нормально спроектировать даже несложную систему, нужно быть уверенным в параметрах компонентов. Цитата(ArtemKAD @ Jul 19 2006, 19:35)  Цитата Коррекция же частоты по результатам измерения известных временнЫх интервалов мне кажется наиболее естественной. Для этого они должны быть известны и они должны быть. Для LIN протовола это просто, а вот при общении с каким нибудь GSM модулем(мобилкой) весьма проблематично Прочитайте посты #1 и #5 данной темы. А в "мабилле" тоже кварц имеется...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 19 2006, 17:58
|
Участник

Группа: Новичок
Сообщений: 34
Регистрация: 2-02-06
Из: Сибирь - г.Барнаул
Пользователь №: 13 892

|
А как быть если устройство должно работать в широких диапазонах примерно от -45 до +60 ? да ещё и уарты пашут на полную скорость?? Мы например сделали коробочку внутри расположили нагреватель(резистор) и термостат... А вот сборки бывают такие... например на 14.7456 МГц?
|
|
|
|
|
Jul 19 2006, 18:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Stanislav @ Jul 19 2006, 19:40)  Цитата(ArtemKAD @ Jul 19 2006, 19:35)  ...Насколько помню чатота RC во всем диапазоне температур и напряжений уплывает МАКСИМУМ на 5%(разность между крайними точками поверхности). Тобишь (т.к. и так "практически почти хватает") достаточно грубой коррекции частоты в нескольких точках T-U диапазона. Т.е. это не юстировка частоты - это коррекция при которой локальная ошибка в 0,5-1% (четверть ошибки по каждой из возмущающих параметров) более чем допустимы. Ну и можно допустить, что около коллиброванного значения наклоны кривых в разных чипах имеют достаточно высокую повторяемость. При качественном проектировании это нельзя допустить. Слово "качественное проектирование" как-то неуместно. Ежу понятно, что если можно использовать кварц, то кварц и используется. НО кварц это как минимум дополнительный элемент (площадь, ненадежность, цена) и кварц это задействованные лишние одна или две ноги (а ног всегда мало). То бишь "качественное проектирование" при использовании кварца может вылиться в использование более многоногого МК что очень часто от "плохо" до "недопустимо". Назвать такой выход "качественным" в ситуации когда такого размена можно избежать я НИКАК не могу. Цитата Цитата(ArtemKAD @ Jul 19 2006, 19:35)  Цитата Кроме того, нельзя сбрасывать со счетов долговременную стабильность (старение) генератора. Не уверен, что этот параметр может повлиять настолько, да и стареют RC одновременно... Чтобы нормально спроектировать даже несложную систему, нужно быть уверенным в параметрах компонентов. Уверен я бываю только после недели собственноручных испытаний  . Для Вас достаточно уверенности Atmel которая, заложив в доках точность коллибровки RC и его изменение от Vсс T и OSCCAL, ни в одном чипе не обмолвилась о нестабильности этого генератора из-за старения? Я думаю, что указанная нестабильность не выше нестабильности по причине Vсс и T.... Цитата Цитата(ArtemKAD @ Jul 19 2006, 19:35)  Цитата Коррекция же частоты по результатам измерения известных временнЫх интервалов мне кажется наиболее естественной. Для этого они должны быть известны и они должны быть. Для LIN протовола это просто, а вот при общении с каким нибудь GSM модулем(мобилкой) весьма проблематично Прочитайте посты #1 и #5 данной темы. А в "мабилле" тоже кварц имеется... В "мабилле" есть, но в "мабиллу" никто и не влазит. Речь о связи с нею....
Сообщение отредактировал ArtemKAD - Jul 19 2006, 18:12
|
|
|
|
|
Jul 20 2006, 11:18
|

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

|
Цитата(ArtemKAD @ Jul 19 2006, 22:08)  Слово "качественное проектирование" как-то неуместно. Ежу понятно, что если можно использовать кварц, то кварц и используется. НО кварц это как минимум дополнительный элемент (площадь, ненадежность, цена) и кварц это задействованные лишние одна или две ноги (а ног всегда мало). То бишь "качественное проектирование" при использовании кварца может вылиться в использование более многоногого МК что очень часто от "плохо" до "недопустимо". Назвать такой выход "качественным" в ситуации когда такого размена можно избежать я НИКАК не могу. Под "качественным" я подразумевал такое, от которого конечный пользователь не будет плеваться. То есть, аппаратура должна гарантированно (в той степени, в какой это возможно) работать без глюков. Цитата(ArtemKAD @ Jul 19 2006, 22:08)  ...Уверен я бываю только после недели собственноручных испытаний  . Для Вас достаточно уверенности Atmel которая, заложив в доках точность коллибровки RC и его изменение от Vсс T и OSCCAL, ни в одном чипе не обмолвилась о нестабильности этого генератора из-за старения? Я думаю, что указанная нестабильность не выше нестабильности по причине Vсс и T... Производители генераторов почему-то считают необходимым приводить в даташитах долговременную стабильность своих изделий. Если фирма Atmel этого не делает - значит, этот параметр следует считать ненормированным, и вынесение каких-либо предположений на сей счёт подобно гаданию на кофейной гуще. Цитата(ArtemKAD @ Jul 19 2006, 22:08)  В "мабилле" есть, но в "мабиллу" никто и не влазит. Речь о связи с нею... Ну, старт- и стоп- биты каждая транзакция имеет. Вот по ним и можно синхронизироваться...
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 20 2006, 12:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Stanislav @ Jul 20 2006, 14:18)  Под "качественным" я подразумевал такое, от которого конечный пользователь не будет плеваться. То есть, аппаратура должна гарантированно (в той степени, в какой это возможно) работать без глюков. Поддерживаю обеими руками Цитата Цитата(ArtemKAD @ Jul 19 2006, 22:08)  В "мабилле" есть, но в "мабиллу" никто и не влазит. Речь о связи с нею... Ну, старт- и стоп- биты каждая транзакция имеет. Вот по ним и можно синхронизироваться...  Как Вы это себе представляете особенно если учесть, что старт-бит имеет только один гарантированный фронт, а стоп-бит вообще ни одного  ...
|
|
|
|
|
Jul 20 2006, 13:34
|
Участник

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

|
Цитата(ArtemKAD @ Jul 20 2006, 17:07)   Гарантированный за время одного символа только ОДИН переход. Расстояния между символами - не гарантированы... Как раз время то между старт/споп и есть искомая (измеряемая) величина. А наличие самих переходов гарантировано. В некоторых PICах есть AUTO BAUD RATE DETECT. Передатчик отправляет байт 0x55, а приемник автоматом вычисляет baud rate регистр. Здесь почти то же самое, за исключением, что baud rate регистр это константа, а подбираем значение регистра калибровки int RC.
Сообщение отредактировал µµC - Jul 20 2006, 13:49
|
|
|
|
|
Jul 20 2006, 14:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Stanislav @ Jul 20 2006, 16:17)  Цитата(ArtemKAD @ Jul 20 2006, 17:07)  Гарантированный за время одного символа только ОДИН переход. Как это ОДИН?  Где и в какую сторону? Стартовый в начале старт-бита. Переход 1->0. Стоповый бит - это только минимальное гарантированное расстояние между двумя соседними байтами...
|
|
|
|
|
Jul 20 2006, 14:20
|
Профессионал
    
Группа: Свой
Сообщений: 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 в течение одного символа, по-моему, также гарантирован. Иначе никак... Эти два события и можно использовать в качестве опорных. Не зная в какой момент должно прити второе?  Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации...
|
|
|
|
|
Jul 20 2006, 14:21
|
Гуру
     
Группа: Свой
Сообщений: 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 в течение одного символа, по-моему, также гарантирован. Иначе никак... Эти два события и можно использовать в качестве опорных. Стоповый переход конечно гарантирован, но не гарантировано, что внутри интервала старт-стоп будет именно 9 битовых периодов. Потому что может еще и бит четности передаваться или вообще 5-6-7 битовая посылка. Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита.
|
|
|
|
|
Jul 20 2006, 14:28
|
Участник

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

|
Цитата(rezident @ Jul 20 2006, 18:21)  Для Auto baud detect часто используют 0xFF. Это гарантированный битовый интервал при передаче старт-бита. Проще калибровать по 0x00. В 9 раз точнее, при прочих равных условиях.
|
|
|
|
|
Jul 20 2006, 14:32
|

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

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

Группа: Новичок
Сообщений: 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 раз точнее, при прочих равных условиях.  Нет, не проще. Опять же не гарантируется наличие/отсутствие/вид бита четности. Всегда лучше по стартовому биту калибровать. Соответственно калибровочный символ с лог. 1 должен начинаться. Какой такой бит четности, откуда ему взяться если передатчик его не отсылает? Напомню основное условие автокалибровки - передатчик отсылает заранее определенный символ в заранее определенном формате, приемник вычисляет интервал бита исходя из этого. Поэтому тезис, что при посылке 0x00 интервал будет проще и точнее измерен, чем при посылке 0xFF, имеет под собой все основания. Тут, если честно, и спорить то не о чем.
|
|
|
|
|
Jul 20 2006, 15:44
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Stanislav @ Jul 20 2006, 17:37)  Цитата(ArtemKAD @ Jul 20 2006, 18:20)  Не зная в какой момент должно прити второе?  Еще раз - речь не о LIN и ей подобных проторолов в которых есть символы синхронизации... Я отвечал на Ваш пост #30.  Там было на что отвечать? Может на #23? Цитата И почему это не зная? Параметры канала связи известны, и я знаю, в каком интервале времени мне нужно ожидать переход. Параметры известны, не известен приходящий символ...
|
|
|
|
|
Jul 20 2006, 15:51
|

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

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

Группа: Новичок
Сообщений: 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 выделены старт и стоп
|
|
|
|
|
Jul 22 2006, 10:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Вчера весь день испытывал UART AtMega168 при работе с внутренним RC. Надо было дать банальный ответ - делать термокомпенсацию или "и так сойдет". Работала связка AtMega168 и SIM100S. Каждую секунду отправлялось тестовое сообщение. Тестировал в диапазоне температур 20-80 гр С. Диапазон напряжений - 3,6-4,4В. Частота RC - 8МГц, скорость UART - 9600. Выводы - за 6 часов работы пары при +80 НИ ОДНОЙ ошибки обнаружено небыло. Частота, а следовательно и скорость передачи МК ушли по сравнению с исходным чуть меньше чем на 2% (1,8%). Существенных изменений при изменении питания не обнаружено (менее 0,1%). Тобишь, до ошибочной величины ошибки в пол бита (5%) еще о-го-го скока  ... Вот теперь сижу и думаю - проветять при -40 или не стоит - вести азот целое дело  . Тем более, что и +80 и -40 это уже за пределами рабочего диапазона SIM100S, что он и показал отказавшись связываться после +70 хоть UART продолжал работать... ЗЫ. Правда была одна малость на которой я возможно схалтурил - Мега у меня работала с двумя стоп-битами, а SIM100S с одним. Может это и не сильно важно, но....
|
|
|
|
|
Jul 23 2006, 01:12
|

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

|
Цитата(µµC @ Jul 22 2006, 07:02)  При 0x21 (b'00100001') на ТХ будет 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 выделены старт и стоп Ой! Дико извиняюсь. не учел что LSB first. Спасибо за исправление. Цитата(ArtemKAD @ Jul 22 2006, 13:09)  ЗЫ. Правда была одна малость на которой я возможно схалтурил - Мега у меня работала с двумя стоп-битами, а SIM100S с одним. Может это и не сильно важно, но.... Смотря что тестировали. Стабильность будет искусственно завышена если передатчик использует 2 стоп бита, а приемник - 1. В обратном же направлении (2 стоп бита у приемника, 1 у передатчика) вообще неизвестно как поведет себя приемник. Может часто ошибаться, пропуская старт бит.
|
|
|
|
|
Jul 24 2006, 07:11
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(ArtemKAD @ Jul 22 2006, 14:09)  Вчера весь день испытывал UART AtMega168 при работе с внутренним RC. Надо было дать банальный ответ - делать термокомпенсацию или "и так сойдет". Работала связка AtMega168 и SIM100S. Каждую секунду отправлялось тестовое сообщение. Тестировал в диапазоне температур 20-80 гр С. Диапазон напряжений - 3,6-4,4В. Частота RC - 8МГц, скорость UART - 9600. Выводы - за 6 часов работы пары при +80 НИ ОДНОЙ ошибки обнаружено небыло. Частота, а следовательно и скорость передачи МК ушли по сравнению с исходным чуть меньше чем на 2% (1,8%). Существенных изменений при изменении питания не обнаружено (менее 0,1%). Тобишь, до ошибочной величины ошибки в пол бита (5%) еще о-го-го скока  ... Вот теперь сижу и думаю - проветять при -40 или не стоит - вести азот целое дело  . Тем более, что и +80 и -40 это уже за пределами рабочего диапазона SIM100S, что он и показал отказавшись связываться после +70 хоть UART продолжал работать... ЗЫ. Правда была одна малость на которой я возможно схалтурил - Мега у меня работала с двумя стоп-битами, а SIM100S с одним. Может это и не сильно важно, но.... Азот не надо, я обычно пользуюсь FREZE для небольших испытаний. В Москве беру его в чипе и дипе.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Jul 24 2006, 09:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(defunct @ Jul 23 2006, 04:12)  Цитата(ArtemKAD @ Jul 22 2006, 13:09)  ЗЫ. Правда была одна малость на которой я возможно схалтурил - Мега у меня работала с двумя стоп-битами, а SIM100S с одним. Может это и не сильно важно, но....
Смотря что тестировали. Стабильность будет искусственно завышена если передатчик использует 2 стоп бита, а приемник - 1. В обратном же направлении (2 стоп бита у приемника, 1 у передатчика) вообще неизвестно как поведет себя приемник. Может часто ошибаться, пропуская старт бит. Тестировал как и написал в обе стороны. У Меги UART веселый - ошибку он выдает только при ошибке в первом стоп-бите. Остальные указанные стоп-биты он использует только на передачу...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|