Связь двух AVR по 1-wire
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Связь двух AVR по 1-wire
Собрал устройство, для управления шаговым двигателем по шине 1-wire ориентировочно длиной 30 метров. Мастер (tiny2313) просто передает код направления а slave читает код делает шаг в нужную сторону и передает ответ mfcnthe? чтобы тот изменил показания индикации. Так все работает, но есть одна проблема, почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию. По схеме оба контроллера связаны напрямую без каких либо схем согласования, только подтягивающий резистор.
Есть предположение, что это может происходить во время подключения длинной линии при включенной схеме.
Есть предположение, что это может происходить во время подключения длинной линии при включенной схеме.
- Вложения
-
- screenshot.jpg
- Схема в PROTEUS
- (178.88 КБ) 4386 скачиваний
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Связь двух AVR по 1-wire
... AVR способны обеспечить не только сильный 0, но и сильную 1, поэтому возможна ситуации (master =0 slave=1 или master =1 slave=0), когда при помехе идет одновременная передача. Случайно не выводите в порт 1?Dmitro писал(а):почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию.
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2349
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: Связь двух AVR по 1-wire
Вот поэтому "1" надо передавать, перенастраивая порт "на вход".ChipKiller писал(а):но и сильную 1
ICQ нет, и, в ближайшее время, не будет.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Связь двух AVR по 1-wire
... это понятно, вот и спрашиваю :Dmitry Dubrovenko писал(а):Вот поэтому "1" надо передавать, перенастраивая порт "на вход".
...может автор вместо cbi DDRx,n пишет sbi PORTx,n ?ChipKiller писал(а):Случайно не выводите в порт 1?
Re: Связь двух AVR по 1-wire
Dmitro писал(а):ориентировочно длиной 30 метров.
Dmitro писал(а):оба контроллера связаны напрямую без каких либо схем согласования, только подтягивающий резистор.
Dmitro писал(а):почему-то время от времени на мастере выходит из сторя нога которая выдает команду на длинную линию
смешно
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Re: Связь двух AVR по 1-wire
перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;
перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;
перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Re: Связь двух AVR по 1-wire
Yftul писал(а):
смешно
И мне смешно, вместо таких высказываний лучше-бы совет какой нибуть дали, ато такие умные, что нам только смешно. А что делать в нете куда не полезь везде связка в основном с конечными устройствами типа датчики температуры и прочее, а как связать два МК ничего найти не смог. Вот же запустил же я эту конструкцию, это уже само по себе смешно...
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Связь двух AVR по 1-wire
... "забудьте" про PORTxDmitro писал(а):перевод линии в "0"
cbi PORTD,PD3 ;
sbi DDRD,PD3 ;
перевод линии в "1"
cbi DDRD,PD3 ;
cbi PORTD,PD3 ;
в начале порт на ввод "подтяжка" отключена - это ввод и одновременно лог 1, для переключения на выход и вывод лог 0 достаточно sbi DDRD,PD3
Re: Связь двух AVR по 1-wire
Dmitro писал(а):И мне смешно, вместо таких высказываний лучше-бы совет какой нибуть дали, ато такие умные, что нам только смешно.
Слишком пафосно, умерьте ЧСВ:)
Dmitro писал(а):А что делать в нете куда не полезь везде связка в основном с конечными устройствами типа датчики температуры и прочее, а как связать два МК ничего найти не смог. Вот же запустил же я эту конструкцию, это уже само по себе смешно...
http://tinyurl.com/62hs676
на первой же странице годный вариант:
RS-485 для чайников
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Re: Связь двух AVR по 1-wire
Привожу примерный вид сигнала по линии
- Вложения
-
- Фрагмент.jpg
- (123.08 КБ) 594 скачивания
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Re: Связь двух AVR по 1-wire
UART не канает, эта линия выделена на перспективу, если таковая будет вообще исходя из этого фрума.
Re: Связь двух AVR по 1-wire
Dmitro писал(а):если таковая будет вообще исходя из этого фрума.
Re: Связь двух AVR по 1-wire
Поставь защитные диоды на линию в обоих концах.
Типа 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
Типа 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
Вот за такой ответ спасибо, ведь был-же вопрос в чем причина и как боротся.
Будем пробовать.
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 писал(а):есть много замечательных других форумов, где несомненно оценят Ваше желание халявы и сделают все за Вас, а Вы будете только понукать и говорить, что все мудаки
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Связь двух AVR по 1-wire
Dmitro, Вы по существу так и не ответили как задаете лог."1" на линии. выводом лог."1" или настройкой порта на вход с подтяжкой?
Ставим плюсы: )
-
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
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
Ну паразитное питание мк получил через эту ногу, и всё. ИМХО программно это никак устранить не получится, только так, как говорил AVR по ссылке на другую тему.
Re: Связь двух AVR по 1-wire
Dmitro, Вы страдайте ерундой. На расстояние 30 метров непосредственно использовать ноги процессора - идея плохая, как бы Вы не извращались по программной части. Чем Вам плох RS485? Те же два провода, или вы хотите питать второй контроллер по 1-wire?
Тогда все равно не обойтись без внешних согласователей.
ЗЫ: и да, Вам никто ничего не должен, потому не удивляйтесь что на Ваши экспрессивные выражения вам могут ответить резко. Это интернет, детка... (с)
ЗЫ: и да, Вам никто ничего не должен, потому не удивляйтесь что на Ваши экспрессивные выражения вам могут ответить резко. Это интернет, детка... (с)
-
Dmitro
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Пт дек 01, 2006 20:32:23
- Откуда: Запорожье
- Контактная информация:
Re: Связь двух AVR по 1-wire
это типа так: