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

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

Сообщение Dmitro »

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

Сообщение ChipKiller »

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

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

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

Сообщение ChipKiller »

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

Сообщение Yftul »

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

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

Сообщение Dmitro »

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

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

Сообщение Dmitro »

Yftul писал(а):

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

Сообщение ChipKiller »

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

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

Сообщение Yftul »

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

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

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

Сообщение Dmitro »

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

Сообщение Dmitro »

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

Сообщение Yftul »

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

Сообщение md5sum »

Поставь защитные диоды на линию в обоих концах.
Типа SMAJ6.0
И еще, отличный совет мне давал ARV: http://radiokot.ru/forum/viewtopic.php? ... D1%82+wire
— Не говорите мне что делать и я не скажу куда Вам идти...
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье

Сообщение Dmitro »

Вот за такой ответ спасибо, ведь был-же вопрос в чем причина и как боротся.
md5sum писал(а):Поставь защитные диоды на линию в обоих концах.
Типа SMAJ6.0
И еще, отличный совет мне давал ARV: http://radiokot.ru/forum/viewtopic.php? ... D1%82+wire
Будем пробовать.
Yftul писал(а): :wink: есть много замечательных других форумов, где несомненно оценят Ваше желание халявы и сделают все за Вас, а Вы будете только понукать и говорить, что все мудаки :roll:
странно для чего тогда вообще форумы, а некоторые наверное в форуме могут или хамить или давать платные советы, а про мудаков (смотрите выше) сами знаете кто говорил, и хамить не надо.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

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

Сообщение Dmitro »

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

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

Сообщение 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? ... D1%82+wire
Ведь мой, с позволения сказать, проект, без проблем работал не один день и все бы и дальше было так, пока я не отключил, точнее сказать, переподключил выносной модуль, после которого и пропал выход.
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 493
Зарегистрирован: Ср фев 14, 2007 12:07:58
Откуда: Москва

Сообщение Fasterpast »

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

Сообщение Yftul »

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

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

Сообщение Dmitro »

это типа так:Изображение
Контактная информация:
Закрыто

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