Страница 1 из 2
соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 08:55:43
sirha
Подскажите как это сделать,не могу найти не одной готового исходника и нормальной статьи с описанием .
Хотелось бы соединить два микроконтроллера через 1 wire , и сделать управление к примеру 16 команд по одному проводу
вот пример
https://www.drive2.ru/c/1083595/#comments
хотелось бы пример кода в codevisionavr
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 09:12:09
ARV
если речь о стандартном протоколе 1wire от Dallas Semiconductor, то затея явно неблагодарная.
если вам все равно, как именно передавать по 1 сигнальной линии информацию - дело другое.
а если не требуется двусторонний обмен, то все вообще элементарно до слез.
определитесь, пожалуйста.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 10:07:31
sirha
ARV писал(а):
а если не требуется двусторонний обмен, то все вообще элементарно до слез.
определитесь, пожалуйста.
Мне главное чтобы было не более 4 х жил провода
плюс ,минус, а остальные как получиться
суть в том чтобы передавать с пульта управления 16 команд на приемник от которого обратная передача не требуется
нужен токо интерфейс 1 wire
двусторонний обмен не нужен
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 10:39:26
shads
sirha писал(а):нужен токо интерфейс 1 wire двусторонний обмен не нужен
А почему именно 1wire?
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:15:30
Мурик
Тогда подойдет UART.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:16:50
sirha
shads писал(а):
А почему именно 1wire?
я понимаю что вы во всем остальном сильны UART и др , но я хочу 1 wire!!!!!
Если вы по этому протоколу нечего не знате кроме как прикрепить датчик температуры то пожалуста не пишите лишнего
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:23:08
Мурик
sirha писал(а):но я хочу 1 wire
Для чего именно 1-Wire?
Во многих МК есть встроенный модуль UART, а вот МК с аппаратным 1-Wire еще нужно поискать, если такие вообще есть. Остается программная реализация. Но тут как говорится "флаг в руки и барабан на шею" - изучайте протокол 1-Wire, реализовывайте в коде и не забудьте с нами поделится.

Кстати, используя UART можно реализовать протокол 1-Wire, как это делают
компьютерные термометры.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:26:08
sirha
Мурик писал(а):sirha писал(а):но я хочу 1 wire
Для чего именно 1-Wire?
Во многих МК есть встроенный модуль UART

Мурик от вас уже флуд пошел,тут тема не про UART который всем уже известен
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:26:39
ARV
если вам не требуется двусторонний обмен и обязательное следование стандарту 1wire, то предлагаю на выбор следующие варианты:
1. USART
2. аналоговый интерфейс
3. самопальный импульсно-кодовый протокол, например, аналогичный тому, что уже был показан по вашей же ссылке.
4. К-Line
5. Беспроводный ИК-интерфейс
достоинства и недостатки этих вариантов:
1. плюсы: простая программная реализация. минусы: два МК с аппаратным USART, для надежности оба с кварцевыми резонаторами.
2. плюс: только 1 МК для приема команд, подача команд без МК. минусы: одновременная подача нескольких команд может быть затруднена или невозможна, низкая помехозащищенность.
3. плюс: МК могут быть любыми, даже без аппаратного USART. минусы - см. п. 1
4. плюс: стандартный интерфейс для автомобилей. минусы: см. п.1 и в дополнение специализированная микросхема-драйвер для сопряжения с K-Line (либо аналог на"россыпухе").
5. плюс: можно использовать в качестве передатчика любой пульт от телека, например (питание по 2 проводкам подать). минус: ограничения по направлению передачи и относительно сложная программная реализация приемника.
выбирайте
P.S. по-моему еще никому не удалось реализовать ПРОГРАММНО ведомое устройство 1wire, которое бы полностью соответствовало стандарту! это довольно сложная затея. хотя если взять готовые микросхемы от Maxim-Dallas с этим интерфейсом, замутить задуманное вами можно.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:37:00
Dr. Alex
Я не пойму ссоры! Хотите 1-Wire - делайте. Протокол всем известен, можно увеличить тайминги, если хотите. Что вы конкретно спрашиваете? Что-бы вам написали код и принесли на "блюдечке с голубой каёмочкой"?
А по поводу других протоколов, так тут люди правы. Зачем городить огород, писать самому обработчики приёма каждого бита если практически во всех МК есть встроенный UART, используйте только одну линию ТХ и всё! И не прийдётся заморачиваться)

Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:46:20
sirha
ARV писал(а):если вам не требуется двусторонний обмен и обязательное следование стандарту 1wire, то предлагаю на выбор следующие варианты:
1. USART
2. аналоговый интерфейс
3. самопальный импульсно-кодовый протокол, например, аналогичный тому, что уже был показан по вашей же ссылке.
4. К-Line
5. Беспроводный ИК-интерфейс
Нужен вот такой протокол
http://radiokot.ru/forum/download/file.php?id=181293 работает 1 команда
http://radiokot.ru/forum/download/file.php?id=181760 - пауза между 11 ми импульсами
суть в том что постоянно идет 11 импульсов через большую паузу и изминяется ШИМ
если изменена ширина 1 го импульса то горит первый светодиод, если изменена ширина импульса 8 то горит 8 светодиод ,вообщем частота не меняется меняется токо ШИМ
я так понил что это похоже на 1 wire
нужно управление именно такими импульсами
подскажите что это за интерфейс
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:52:23
Dr. Alex
Немного похоже на пропорциональное управление) Такое применяется в радиоуправлении. А вообще это можно реализовать самому, по фронту первого импульса запускаете таймер, по спаду останавливаете и смотрите сколько натикало: мало - импульс короткий, много - ессно длинный, и так с каждым импульсом, для определения начала и конца передачи пустите импульс заданной ширины)
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:57:34
sirha
Dr. Alex писал(а): А вообще это можно реализовать самому, по фронту первого импульса запускаете таймер, по спаду останавливаете и смотрите сколько натикало: мало - импульс короткий, много - ессно длинный, и так с каждым импульсом, для определения начала и конца передачи пустите импульс заданной ширины)
Я так понил реализовать прерываниями?
просто суть в том что сгорел пульт от строительного оборудования,там именно такое управление хочу собрать чисто новый пульт при этом приемник оставить тот же
пробывал точь в точь импульсы повторять ,изменять ширину вообщем токо операторами for и delay,
не получалось(
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 11:59:10
Morroc
А весной этого года эмулятор пульта не вы делали ? Что то очень знакомая тема то. Что то не сложилось или это другой девайс ?
http://radiokot.ru/forum/viewtopic.php?f=58&t=103193
http://radiokot.ru/forum/viewtopic.php?f=57&t=103019
Собственно ничего нового и не придумаем, считайте диаграммы с работающего пульта, суньте в массив структур tHigh, tLow и... все вроде.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:01:16
Dr. Alex
Morroc писал(а):А весной этого года эмулятор пульта не вы делали ?
Сто процентов)))))) Видимо что-то не срослось у ТС

Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:03:00
sirha
Привет)).,именно этот,все импульсы точно повторил по осцилографу,не заработало((
Dr. Alex спасибо за подсказку действительно стоющую-" Немного похоже на пропорциональное управление) ",буду думать
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:06:32
Morroc
И уровни по напряжению 0 / 1 соблюдены и фронты крутые и по времени все так же ? А точно обратной связи нет никакой, просто посылки идут одинаковые ?
Ну разве что проверить непосредственно в приемнике, возможно передатчик на выходе формирует похожий сигнал, но до входа приемника он доходит в искаженном виде из за другой реализации выхода передатчика
sirha писал(а):
Dr. Alex спасибо за подсказку действительно стоющую-" Немного похоже на пропорциональное управление) ",буду думать
А о чем думать то если, по вашим словам, тайминги вам удалось повторить 1 в 1 ?

Тут что то другое значит.
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:10:32
sirha
Morroc писал(а):И уровни по напряжению 0 / 1 соблюдены и фронты крутые ?
фронты скорее всего нет как у обычного шима, уровни по напряжению соблюдал,наверняка в длительность не попадал
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:11:17
Dr. Alex
Re: соединение двух atmega8 по 1 wire
Добавлено: Ср окт 15, 2014 12:13:45
Morroc
Нет чего нибудь типа такого чтобы поточнее снять диаграммы оригинального пульта и вашего
http://www.aliexpress.com/item-img/-/1961765055.html ? А то переписав код и назвав эту штуку 1-Wire как бы ничего не изменится само по себе, надо причину найти.