Связь двух AVR по 1-wire

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Связь двух AVR по 1-wire

Сообщение Dmitro »

Собрал устройство, для управления шаговым двигателем по шине 1-wire ориентировочно длиной 30 метров. Мастер (tiny2313) просто передает код направления а slave читает код делает шаг в нужную сторону и передает ответ mfcnthe? чтобы тот изменил показания индикации. Так все работает, но есть одна проблема, почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию. По схеме оба контроллера связаны напрямую без каких либо схем согласования, только подтягивающий резистор.
Есть предположение, что это может происходить во время подключения длинной линии при включенной схеме.
Вложения
screenshot.jpg
Схема в PROTEUS
(178.88 КБ) 4386 скачиваний
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Связь двух AVR по 1-wire

Сообщение ChipKiller »

Dmitro писал(а):почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию.
... AVR способны обеспечить не только сильный 0, но и сильную 1, поэтому возможна ситуации (master =0 slave=1 или master =1 slave=0), когда при помехе идет одновременная передача. Случайно не выводите в порт 1?
Аватара пользователя
Dmitry Dubrovenko
Поставщик валерьянки для Кота
Сообщения: 2349
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitry Dubrovenko »

ChipKiller писал(а):но и сильную 1
Вот поэтому "1" надо передавать, перенастраивая порт "на вход".
ICQ нет, и, в ближайшее время, не будет.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Связь двух AVR по 1-wire

Сообщение ChipKiller »

Dmitry Dubrovenko писал(а):Вот поэтому "1" надо передавать, перенастраивая порт "на вход".
... это понятно, вот и спрашиваю :
ChipKiller писал(а):Случайно не выводите в порт 1?
...может автор вместо cbi DDRx,n пишет sbi PORTx,n ?
Аватара пользователя
Yftul
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Пт фев 20, 2009 12:26:26

Re: Связь двух AVR по 1-wire

Сообщение Yftul »

Dmitro писал(а):ориентировочно длиной 30 метров.

Dmitro писал(а):оба контроллера связаны напрямую без каких либо схем согласования, только подтягивающий резистор.

Dmitro писал(а):почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию



смешно :)
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;

перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

Yftul писал(а):

смешно :)


И мне смешно, вместо таких высказываний лучше-бы совет какой нибуть дали, ато такие умные, что нам только смешно. А что делать в нете куда не полезь везде связка в основном с конечными устройствами типа датчики температуры и прочее, а как связать два МК ничего найти не смог. Вот же запустил же я эту конструкцию, это уже само по себе смешно...
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Связь двух AVR по 1-wire

Сообщение ChipKiller »

Dmitro писал(а):перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;

перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;
... "забудьте" про PORTx
в начале порт на ввод "подтяжка" отключена - это ввод и одновременно лог 1, для переключения на выход и вывод лог 0 достаточно sbi DDRD,PD3
Аватара пользователя
Yftul
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Пт фев 20, 2009 12:26:26

Re: Связь двух AVR по 1-wire

Сообщение Yftul »

Dmitro писал(а):И мне смешно, вместо таких высказываний лучше-бы совет какой нибуть дали, ато такие умные, что нам только смешно.

Слишком пафосно, умерьте ЧСВ:)
Dmitro писал(а):А что делать в нете куда не полезь везде связка в основном с конечными устройствами типа датчики температуры и прочее, а как связать два МК ничего найти не смог. Вот же запустил же я эту конструкцию, это уже само по себе смешно...

http://tinyurl.com/62hs676

на первой же странице годный вариант:

RS-485 для чайников
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

Привожу примерный вид сигнала по линии
Вложения
Фрагмент.jpg
(123.08 КБ) 594 скачивания
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

UART не канает, эта линия выделена на перспективу, если таковая будет вообще исходя из этого фрума.
Аватара пользователя
Yftul
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Пт фев 20, 2009 12:26:26

Re: Связь двух AVR по 1-wire

Сообщение Yftul »

Dmitro писал(а):если таковая будет вообще исходя из этого фрума.

:wink: есть много замечательных других форумов, где несомненно оценят Ваше желание халявы и сделают все за Вас, а Вы будете только понукать и говорить, что все мудаки :roll:
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Связь двух AVR по 1-wire

Сообщение md5sum »

Поставь защитные диоды на линию в обоих концах.
Типа SMAJ6.0
И еще, отличный совет мне давал ARV: http://radiokot.ru/forum/viewtopic.php?f=2&t=22971&start=0&hilit=%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C+%D0%BE%D1%82+wire
— Не говорите мне что делать и я не скажу куда Вам идти...
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

Вот за такой ответ спасибо, ведь был-же вопрос в чем причина и как боротся.
md5sum писал(а):Поставь защитные диоды на линию в обоих концах.
Типа SMAJ6.0
И еще, отличный совет мне давал ARV: http://radiokot.ru/forum/viewtopic.php?f=2&t=22971&start=0&hilit=%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C+%D0%BE%D1%82+wire

Будем пробовать.

Yftul писал(а): :wink: есть много замечательных других форумов, где несомненно оценят Ваше желание халявы и сделают все за Вас, а Вы будете только понукать и говорить, что все мудаки :roll:
странно для чего тогда вообще форумы, а некоторые наверное в форуме могут или хамить или давать платные советы, а про мудаков (смотрите выше) сами знаете кто говорил, и хамить не надо.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Связь двух AVR по 1-wire

Сообщение ibiza11 »

Dmitro, Вы по существу так и не ответили как задаете лог."1" на линии. выводом лог."1" или настройкой порта на вход с подтяжкой?
Ставим плюсы: )
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

Я же писал:
Dmitro писал(а):перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;

перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;

На асме, в си я еще не очень...
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

ChipKiller писал(а): ... "забудьте" про PORTx
в начале порт на ввод "подтяжка" отключена - это ввод и одновременно лог 1, для переключения на выход и вывод лог 0 достаточно sbi DDRD,PD3


Чут-точку по медленнее.... я записываю...
Несколько уточнений: если линия подтянута через резистор к 5 вольтам, то МК главное на переключать пин на вывод, и резистор сам все сделает (порт в 3-м состоянии), если-же надо организовать лог "0", то получается пин становится выходом с низким уровнем, так а чем это отличается от:
Dmitro писал(а):перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;

перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;

я хоть и управляю PORTD, но все равно его дежу в "0".
Да и что-то мне кажется, это не в программе дело, по крайней мере DS18B20 никаких притензий к такому варианту передачи не имел, и отвечал как надо...
Так что пока считаю оптимальным варианом рассматривать аппаратную защиту, как было предложено
md5sum писал(а):Поставь защитные диоды на линию в обоих концах.
Типа SMAJ6.0
И еще, отличный совет мне давал ARV: http://radiokot.ru/forum/viewtopic.php?f=2&t=22971&start=0&hilit=%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C+%D0%BE%D1%82+wire

Ведь мой, с позволения сказать, проект, без проблем работал не один день и все бы и дальше было так, пока я не отключил, точнее сказать, переподключил выносной модуль, после которого и пропал выход.
Аватара пользователя
Fasterpast
Мучитель микросхем
Сообщения: 493
Зарегистрирован: Ср фев 14, 2007 12:07:58
Откуда: Москва
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Fasterpast »

Ну паразитное питание мк получил через эту ногу, и всё. ИМХО программно это никак устранить не получится, только так, как говорил AVR по ссылке на другую тему.
Аватара пользователя
Yftul
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Пт фев 20, 2009 12:26:26

Re: Связь двух AVR по 1-wire

Сообщение Yftul »

Dmitro, Вы страдайте ерундой. На расстояние 30 метров непосредственно использовать ноги процессора - идея плохая, как бы Вы не извращались по программной части. Чем Вам плох RS485? Те же два провода, или вы хотите питать второй контроллер по 1-wire? :))) Тогда все равно не обойтись без внешних согласователей.

ЗЫ: и да, Вам никто ничего не должен, потому не удивляйтесь что на Ваши экспрессивные выражения вам могут ответить резко. Это интернет, детка... (с) :)))
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Re: Связь двух AVR по 1-wire

Сообщение Dmitro »

это типа так:Изображение
Закрыто

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