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

 
 
> Протокол передачи данных по одному проводу
Слесарь
сообщение Nov 29 2011, 08:02
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



Здравствуйте!
Я сделал эл. схему и создал протокол передачи данных по одному проводу. По типу протокола 1-wire. Напряжение питания устройств на шине 15V. Высокий уровень> 10V. Низкий уровень < 5V. Расстояние между устройствами, ведущим и ведомым, несколько метров. Больше месяца намеренно не делаю никакого контроля достоверности информации передаваемой по шине, получил такую статистику: в среднем, раз в час происходит сбой достоверности преданных данных, почемут, особенно в ночное время.
Данные в размере двух байт, передаются от ведущего к ведомому (двубайтная последовательность, адрес и команда) с частотой двух посылов в секунду. Ведомый принимает два байта и немедленно отвечает ведущему одним байтом, отвечает продолжая передачу ведущего. Тактовая частота последовательности передаваемых бит - 100 Гц.
Нормальная ли это статистика ошибок для однопроводной шины по типу 1-wire? Грубо говоря, провод висит в воздухе и не будет экранирован.
Планирую как-то ввести контроль достоверности, на стороне ведомого, для переданных мастером адреса ведомого устройства на шине и команды. На стороне мастера сделать проверку достоверности ответа ведомого.
Если у кого-нить есть опыт, подскажите, как лучше в данной схеме реализовать контроль? Может просто ведущему дважды посылать запрос и сравнивать два ответа ведомого? Ведомому сравнивать два запроса ведущего? Как говорится, молния не попадает дважды в одно место.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Слесарь
сообщение Nov 29 2011, 11:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



Но насколько мне известно при контроле четности обнаруживается лишь какой-то процент ошибок или я что-то не понимаю. Двойная ошибка в байте ведь может пройти контроль четности?

Байт информации по одной линии, это последовательность 8 переданных бит. Если в середине передачи байта пройдет импульс помехи длиной в два бита, как понимаю байт может пройти контроль четности как истинный. Четность ведь не нарушится?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Nov 29 2011, 12:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Слесарь @ Nov 29 2011, 15:53) *
Но насколько мне известно при контроле четности обнаруживается лишь какой-то процент ошибок или я что-то не понимаю. Двойная ошибка в байте ведь может пройти контроль четности?


Да, двойные ошибки так не обнаружишь, но ведь и ваша схема неидеальна. В обоих байтах нарушится первый разряд. Что тогда ? Или из-за обрыва вы примете одни нули или одни единички ? Вы попробуйте, вполне возможно вам контроля четности и хватит. А еще очень советую увеличить передаваемый в линию ток ...
Go to the top of the page
 
+Quote Post
Слесарь
сообщение Nov 29 2011, 16:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484



Цитата(kovigor @ Nov 29 2011, 15:03) *
Да, двойные ошибки так не обнаружишь, но ведь и ваша схема неидеальна. В обоих байтах нарушится первый разряд. Что тогда ? Или из-за обрыва вы примете одни нули или одни единички ? Вы попробуйте, вполне возможно вам контроля четности и хватит. А еще очень советую увеличить передаваемый в линию ток ...

Если линия закорочена или оборвана, ничего не пойдет, необходимо вначале получить правильный ID устройства, это не 0ч00 и не 0XFF.
Если нарушится первый разряд в обоих байтах дублированной команды, ведомому тогда вся надежда, что на стороне ведущего есть соответствующий обработчик. Ведомый то отсылает обратно код принятой команды, дабы ответить мастеру какая команда реально была выполнена. Если несоответствие, надо выходить в безопасный режим аварии или еще как реагировать, просто повторить команду.

Цитата(kolobok0 @ Nov 29 2011, 15:53) *
нет. для 1wire шины в пром зоне = одна, две ошибки на часы, дни работы - сто пудово... при правильном передатчике и приёмнике (аппаратной и программной части). интенсив где то 10-20 байт в секунду...

мне кажется, что надо копать в сторону детекции уровней. т.е. тут предлагают увеличить токи - вот это мне кажется ближе(при исправной логике софта), к истине. в 1wire там всё таки ноль играет бОльшую роль чем может показаться. это и помехоустойчивость так же...

удачи вам
(круглый)

Биты по шине передаются в точности как 1-wire, только у меня частота на порядок ниже, для поддержания тактовой частоты 1-wire контроллер приходится дополнять кварцем, как минимум 8 мГц. У меня сейчас используется внутренний генератор контроллера 4 мГц.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Слесарь   Протокол передачи данных по одному проводу   Nov 29 2011, 08:02
- - kovigor   Цитата(Слесарь @ Nov 29 2011, 12:02) Норм...   Nov 29 2011, 09:03
|- - Слесарь   Цитата(kovigor @ Nov 29 2011, 12:03) Как ...   Nov 29 2011, 09:50
|- - kovigor   Цитата(Слесарь @ Nov 29 2011, 13:50) Сумм...   Nov 29 2011, 10:03
- - Слесарь   Я думал все эти биты четности для уменьшения колич...   Nov 29 2011, 10:13
|- - kovigor   Цитата(Слесарь @ Nov 29 2011, 14:13) А ес...   Nov 29 2011, 10:37
|- - stells   Цитата(kovigor @ Nov 29 2011, 14:37) А ес...   Nov 29 2011, 10:42
||- - kovigor   Цитата(stells @ Nov 29 2011, 14:42) прямо...   Nov 29 2011, 10:50
|||- - stells   Цитата(kovigor @ Nov 29 2011, 14:50) Так ...   Nov 29 2011, 11:13
|||- - kovigor   Цитата(stells @ Nov 29 2011, 15:13) дубли...   Nov 29 2011, 11:17
||- - MaslovVG   Цитата(stells @ Nov 29 2011, 14:42) прямо...   Nov 29 2011, 18:28
|||- - stells   Цитата(MaslovVG @ Nov 29 2011, 22:28) Сущ...   Nov 29 2011, 18:59
||- - МП41   Цитата(stells @ Nov 29 2011, 13:42) прямо...   Dec 1 2011, 08:42
|- - Слесарь   Цитата(kovigor @ Nov 29 2011, 13:37) А ес...   Nov 29 2011, 10:47
- - Слесарь   Ну почему же не будет работать? Работает даже без ...   Nov 29 2011, 11:28
|- - kovigor   Цитата(Слесарь @ Nov 29 2011, 15:28) Мне ...   Nov 29 2011, 11:43
|- - kolobok0   Цитата(Слесарь @ Nov 29 2011, 20:25) ...д...   Nov 30 2011, 07:37
- - kolobok0   Цитата(Слесарь @ Nov 29 2011, 12:02) .......   Nov 29 2011, 12:53
- - Слесарь   Только сейчас вспомнил, у меня на компьютере Радио...   Nov 29 2011, 21:00
|- - kovigor   Цитата(Слесарь @ Nov 30 2011, 01:00) у ме...   Nov 30 2011, 08:33
|- - MaslovVG   Цитата(kovigor @ Nov 30 2011, 12:33) Там,...   Dec 1 2011, 09:11
|- - Genadi Zawidowski   Цитата(kovigor @ Nov 30 2011, 12:33) Там,...   Dec 4 2011, 13:22
- - haker_fox   Слесарь, где-то на форуме встречал утверждение, чт...   Nov 30 2011, 03:15
|- - Слесарь   Цитата(haker_fox @ Nov 30 2011, 06:15) Сл...   Nov 30 2011, 18:50
|- - kolobok0   Цитата(Слесарь @ Nov 30 2011, 22:50) ...Т...   Dec 1 2011, 08:12
- - Слесарь   Просто не получается. Я же не просто тактирую(прог...   Dec 1 2011, 08:41
- - Слесарь   Вот я сейчас отлавливаю ошибки при передаче по одн...   Dec 1 2011, 08:48
|- - haker_fox   QUOTE (Слесарь @ Dec 1 2011, 16:48) Вот я...   Dec 1 2011, 10:00
|- - Слесарь   Цитата(haker_fox @ Dec 1 2011, 13:00) Спо...   Dec 1 2011, 13:43
|- - kovigor   Цитата(Слесарь @ Dec 1 2011, 16:43) Надо ...   Dec 1 2011, 13:48
- - МП41   Вообще неплохо было бы посмотреть осциллографом чт...   Dec 1 2011, 10:04
- - Слесарь   Это как существует задача, повесить на установку н...   Dec 1 2011, 14:08
- - haker_fox   Кстати, а теория длинных линий учтена?) Ту же I2C ...   Dec 1 2011, 15:02
|- - toweroff   Цитата(haker_fox @ Dec 1 2011, 19:02) Кст...   Dec 1 2011, 15:32
- - Слесарь   Вся шина вот:   Dec 1 2011, 15:36
|- - haker_fox   QUOTE (Слесарь @ Dec 1 2011, 23:36) Вся ш...   Dec 2 2011, 00:56
||- - Слесарь   Цитата(haker_fox @ Dec 2 2011, 03:56) Она...   Dec 2 2011, 08:01
|- - smk   Цитата(Слесарь @ Dec 1 2011, 17:36) Вся ш...   Dec 2 2011, 19:39
- - haker_fox   Слесарь, Ваши решения задач вызывают восхищение...   Dec 2 2011, 08:57
|- - Слесарь   Цитата(haker_fox @ Dec 2 2011, 11:57) Но ...   Dec 2 2011, 18:21
- - haker_fox   QUOTE (Слесарь @ Dec 3 2011, 02:21) Я нез...   Dec 3 2011, 00:54
- - Слесарь   Понятно. Хорошо, спасибо! Буду иметь в виду дл...   Dec 4 2011, 04:58


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

 


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


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