передача данных... резиновая шина!!!

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

передача данных... резиновая шина!!!

Сообщение Barisych »

както раз... возникла такая проблема.
имеем 3 устройства.
1е тактируется от кварца!!!
2е тактитируется от 3го
3е устройство переодически меняется.. и в зависимости от фирмы производителя имеет разную тактовую частоту

а обменн должен состоятся между 1м и 2м по шине 485
тоесть при изменении тактовой частоти 2го (тактируется 3м для получения одинаковой скорости обмена между 2м и 3м)
получаем разбег скоростей приёма передачи между первым и 2м :)
некоторые товарищи решили эту проблему сменой прошивки 2го под каждую частоту 3го...
но мы лёгких путей не исчим!!! и менять каждый раз прошиву это не наш метод!!!! :)
долго мучался с решением этой проблемы.. и решил!!!!!!
был придуман интересный протокол!!!! который позволяет менять скорость приёма-передаче на одном конце ВДВОЕ !!!

тоесть .. чтобы было понятней...
берём два устройства и в одном повышаем или понижаем тактирование в двое..например просто поменяли кварц!!!
связь не нарушается!!! :) если гого заинтересует.. раскажу как это сделано! выложи исходники и осцилограммы ! :)
Реклама
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

А какая связь между скоростью на RS485 и тактовой частотой какого-то устройства ?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

МитяРа писал(а):А какая связь между скоростью на RS485 и тактовой частотой какого-то устройства ?
организовано програмно... а не через уарт...
да даже если и через уарт.. онже всеравно от кварца тактируется.. или я ошибаюсь??
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

Barisych писал(а):организовано програмно..
Тоды понятно, зачем "танцы с бубном"..
Barisych писал(а):да даже если и через уарт.. онже всеравно от кварца тактируется.. или я ошибаюсь??
Да, он от кварца тактируется, но скорость его работы настраивается одинаковая на всех устройствах..

Может ты "изобрёл велосипед", но ещё со времён связи МК через RS232 существует технология автоматического определения скорости на шине..
Она называлась "Automatic Baud Rate Detection"..

А какой МК, типа PIC-AVR-офф?
Последний раз редактировалось МитяРа Сб дек 17, 2011 17:39:11, всего редактировалось 1 раз.
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Эиком - электронные компоненты и радиодетали
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

я возможно слишком дофига написал!!!!
обясню проще...
приём 9600 а прередача плавает от 4800 и до 19200 !!!
как устройствам понять друг друга!!!!!?????
так вроде понятней!!!!
Реклама
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: передача данных... резиновая шина!!!

Сообщение SmarTrunk »

Если я ничего не путаю, то все эти СОМ - RS-232 - RS-485 синхронизируются по началу каждого байта, так что допускается ошибка установки частоты (последовательного порта) до нескольких процентов (но не больше пяти). Если, при разных частотах кварцев, реально установить частоты УАРТа в пределах пары процентов, то все будет работать. По-моему, что программно, что аппаратно, это должно получиться (по аппаратному УАРТу даташиты почитать).
Реклама
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

Barisych писал(а):как устройствам понять друг друга!!!!!?????
Мя сообщение дополнил..
А понять они могут друг друга, всё по той-же технологии "Automatic Baud Rate Detection", когда измеряется длительность стартового бита и вычисляется скорость работы шины..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

МитяРа писал(а): Может ты "изобрёл велосипед", но ещё со времён связи МК через RS232 существует технология автоматического определения скорости на шине..
Она называлась "Automatic Baud Rate Detection"..

А какой МК, типа PIC-AVR-офф?
когда заработало... действительно велосипед!!!
но 232 работает на кратных скоростях... 1200-2400-4800 итд... тут то можно вычеслить скорость!!!
а когда нет кратносто!!!!
например изменение скорости может быть от 4800 до 19200 через 1цу... или менятся например постоянно в реальном времени.. прям во время передачи байта!!!!
тогда как????????
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: передача данных... резиновая шина!!!

Сообщение SmarTrunk »

Barisych писал(а):или менятся например постоянно в реальном времени.. прям во время передачи байта!!!!
тогда как????????
Не предусмотрено стандартом.
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

SmarTrunk писал(а):... так что допускается ошибка установки частоты (последовательного порта) до нескольких процентов (но не больше пяти).
:) в моём варианте +-100% отклонения тактирования по частоте опрробовано!!!!!!
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

SmarTrunk писал(а):
Barisych писал(а):или менятся например постоянно в реальном времени.. прям во время передачи байта!!!!
тогда как????????
Не предусмотрено стандартом.
а вот в этом вся и проблема!!!! что мы мыслим стандартами!!!!
ну вот у меня реально была такая задача!!!
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

Barisych писал(а):прям во время передачи байта!!!!
Круто.. т.е. может быть такая ситуация, когда 1 бит передаётся со скоростью 9600, второй - 9601, третий 19200 и т.д.?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: передача данных... резиновая шина!!!

Сообщение ibiza11 »

.
Последний раз редактировалось ibiza11 Сб дек 17, 2011 18:16:46, всего редактировалось 2 раза.
Ставим плюсы: )
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

МитяРа писал(а):
Barisych писал(а):прям во время передачи байта!!!!
Круто.. т.е. может быть такая ситуация, когда 1 бит передаётся со скоростью 9600, второй - 9601, третий 19200 и т.д.?
аллах услышал мои молитвы!!! и вы меня тоже!!!!
да так!!!
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: передача данных... резиновая шина!!!

Сообщение SmarTrunk »

Существуют в природе синхронные варианты последовательного порта, т.е. вместе с полезным сигналом передается еще тактовый (по отдельному проводу - это минус). В этом случае, допускаю, работать будет, при сильных изменениях частот (даже внутри байта). Например, в АТмегах это есть, в его УАРТе
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: передача данных... резиновая шина!!!

Сообщение ibiza11 »

хм. может он манчестером кодирует? тогда возможно вполне. только тогда причем здесь UART?

в общем, милейший, не томите! рассказывайте уже! :tea:
Ставим плюсы: )
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

Если задачка была решена, то - молодец.. :beer:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

SmarTrunk писал(а):...(по отдельному проводу - это минус). В этом случае, допускаю, работать будет, при сильных изменениях частот (даже внутри байта).
не даром выше упоминалось о 485м интерфейсе!!! тоесть связь по ДВУМ проводам!!!!
а с тремя ваще проблем не вижу!!! как по двум :) ????
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: передача данных... резиновая шина!!!

Сообщение МитяРа »

Barisych писал(а):тоесть связь по ДВУМ проводам!!!!
Как-бы их три, A+B+GND..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

Re: передача данных... резиновая шина!!!

Сообщение Barisych »

МитяРа писал(а):
Barisych писал(а):тоесть связь по ДВУМ проводам!!!!
Как-бы их три, A+B+GND..
ну не сов сем так.. с точки зрения передачи данных...

короче был хороший комерческий проект... в нём и стояла такая нужда!!!! про велосипед тут уже говорил!!! :)
про 3 провода .. по одному передавать синхро тоже!!! типа вариант передачи как и2ц...
но надо 2 провода а не три!!! если в 232м старт идёт один на 8 бит... то тут принято решение сделать старт на каждый ...
и выглядит это так!!!
Вложения
1.GIF
(5.45 КБ) 362 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»