- Вложения
-
- мк1 мк2.jpg
- (59.96 КБ) 161 скачивание
взаимодействие 2х atmeg8 по одному порту
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
Привет котаны! Нужна консультация, т.к. в этом вопросе не особо знаний/пониманий. Нужно чтобы один мк принимал сигнал низкого уровня длительностью 1сек. от другого мк. Есть готовое устройство на Atmega8 на картинке обозначен МК2. Настройка его порта - вход с подтягивающим резистором, плюс указана обвязка вокруг порта на рисунке из резистора на VCC, диода и конденсатора. Хочу дополнить расширить МК2 приставкой на МК1 тоже с использование Atmega8, выход с подтяжкой к питанию VCC. Смысл по событию МК1 будет выдавать импульс низкого уровня длительностью 1сек. который и будет ловить МК2. Вопрос нужна ли еще какая либо доработка по обвязке вокруг порта МК1? ...но обвязку у МК2 не хотелось бы трогать!
Последний раз редактировалось neid Чт май 26, 2022 11:51:04, всего редактировалось 1 раз.
- Реклама
если речь о передаче 1ных импулсоф не вижу причин неработы узла вот если нудна оганизовать обмен по обшей шине с реверсом то там боюсь все не так просто будет...и без чегото вроде мултимастер шины CAN не обойтись
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="musor",url="/forum/viewtopic.php?p=4236879#p4236879"]если речь о передаче 1ных импулсоф не вижу причин неработы узла[/uquote]
нет просто импульс, ну максимум может увеличу его длительность низкого уровня с 1сек. до 3-5 минут, и все. Тут задает уже готовое устройство на МК2, куда лезть не хотелось бы.
нет просто импульс, ну максимум может увеличу его длительность низкого уровня с 1сек. до 3-5 минут, и все. Тут задает уже готовое устройство на МК2, куда лезть не хотелось бы.
- Сообщения: 12867
- Зарегистрирован: Сб дек 18, 2021 19:25:32
ну так в чём трудность-то? всё, что от Вас требуется - это определиться с моментом наступления события, по какому из фронтов сигнала его регистрировать то есть, смотреть документацию на тему External Interrupt pin configured as “Interrupt on Rising Edge, Falling Edge, or Any Logic Change on Pin”
Если хочется очень надёжно - регистрируете оба фронта, то есть:
1. настраиваете порт на Interrupt on Falling Edge
2. как только это событие произошло запускаете таймер и перенастраиваете порт на Interrupt on Rising Edge.
3. как только пришло новое событие останавливаете таймер
4. смотрите, сколько насчитал таймер, если около 1 секунды - считаем сигнал нашим, предпринимаем действия и возвращаемся к пункту 1.
В случае очень большого расстояния озаботиться аппаратной реализацией связи, так как в зависимости от условий на этом проводке чёрти-что может оказаться
Если хочется очень надёжно - регистрируете оба фронта, то есть:
1. настраиваете порт на Interrupt on Falling Edge
2. как только это событие произошло запускаете таймер и перенастраиваете порт на Interrupt on Rising Edge.
3. как только пришло новое событие останавливаете таймер
4. смотрите, сколько насчитал таймер, если около 1 секунды - считаем сигнал нашим, предпринимаем действия и возвращаемся к пункту 1.
В случае очень большого расстояния озаботиться аппаратной реализацией связи, так как в зависимости от условий на этом проводке чёрти-что может оказаться
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="Martian",url="/forum/viewtopic.php?p=4236891#p4236891"]ну так в чём трудность-то? всё, что от Вас требуется - это определиться с моментом наступления события, по какому из фронтов сигнала его регистрировать то есть, смотреть документацию на тему External Interrupt pin configured as “Interrupt on Rising Edge, Falling Edge, or Any Logic Change on Pin”
Если хочется очень надёжно - регистрируете оба фронта, то есть:[/uquote]
Меня обвязка вокруг порта МК1 интересует и все! МК2 на ATmega8, устройство уже созданное и очень гибкое по настройке и обработке сигнала, его не нужно перенастраивать или дописывать код. Так уж расписал более подробно.
Если хочется очень надёжно - регистрируете оба фронта, то есть:[/uquote]
Меня обвязка вокруг порта МК1 интересует и все! МК2 на ATmega8, устройство уже созданное и очень гибкое по настройке и обработке сигнала, его не нужно перенастраивать или дописывать код. Так уж расписал более подробно.
- Реклама
- Сообщения: 12867
- Зарегистрирован: Сб дек 18, 2021 19:25:32
ну тогда воткните супрессор хотя бы, если предполагается на линии возможность бяки. Вы ж не написали среду обитания, может это всё в пределах спичечного коробка, тогда и Ваши детальки не нужны, а может линия с километр длиной да ещё в грозовом районе, тогда вообще иной подход желателен.
[uquote="neid",url="/forum/viewtopic.php?p=4236875#p4236875"]Вопрос нужна ли еще какая либо доработка по обвязке вокруг порта МК1? ...но обвязку у МК2 не хотелось бы трогать![/uquote]
Да нужна… нужно в линию (под вопросом) поставить резистор 130 Ом… то есть, между конденсатором МК2 и выводом МК1. Если убрать конденсатор, то резистор не нужен.
Да нужна… нужно в линию (под вопросом) поставить резистор 130 Ом… то есть, между конденсатором МК2 и выводом МК1. Если убрать конденсатор, то резистор не нужен.
[uquote="neid",url="/forum/viewtopic.php?p=4236875#p4236875"]нужна ли еще какая либо доработка по обвязке вокруг порта МК1?[/uquote]
В общем случае - не нужна. А конденсатор вообще убрать.
В общем случае - не нужна. А конденсатор вообще убрать.
- Сообщения: 1410
- Зарегистрирован: Вт июн 07, 2011 08:03:18
Если по минимуму, то внешние элементы не нужны вообще. Если питание МК1 и МК2 раздельное, то нужно программно организовать открытый коллектор на МК1. Понимаете?
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="OKF",url="/forum/viewtopic.php?p=4237016#p4237016"]Если по минимуму, то внешние элементы не нужны вообще. Если питание МК1 и МК2 раздельное, то нужно программно организовать открытый коллектор на МК1. Понимаете?[/uquote]
Питание от одного источника 12в, далее у каждого своя КРЕНка на 5в. Длинна этой линии 10см максимум! Не совсем пока, почитаю))
Питание от одного источника 12в, далее у каждого своя КРЕНка на 5в. Длинна этой линии 10см максимум! Не совсем пока, почитаю))
Простенького 4N35 (оптрона) или какого другого вполне достаточно для любого варианта питания...

- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="Martian",url="/forum/viewtopic.php?p=4236911#p4236911"]ну тогда воткните супрессор хотя бы, если предполагается на линии возможность бяки. Вы ж не написали среду обитания, может это всё в пределах спичечного коробка, тогда и Ваши детальки не нужны, а может линия с километр длиной да ещё в грозовом районе, тогда вообще иной подход желателен.[/uquote]
Ну возможно я тут и упустил что то, вообще длинна от платы до платы от 5см до 10см, все... До ближайшей проводки 220в более 1м.
Ну возможно я тут и упустил что то, вообще длинна от платы до платы от 5см до 10см, все... До ближайшей проводки 220в более 1м.
neid,
У вас там нормальная рабочая схема. Просто конденсатор уберите и всё.
У вас там нормальная рабочая схема. Просто конденсатор уберите и всё.
- Сообщения: 1410
- Зарегистрирован: Вт июн 07, 2011 08:03:18
[uquote="neid",url="/forum/viewtopic.php?p=4237031#p4237031"]Питание от одного источника 12в, далее у каждого своя КРЕНка на 5в. Длинна этой линии 10см максимум! Не совсем пока, почитаю))[/uquote]
Если один БП, то не нужно никаких изгалений. И никаких доп. элементов.
Если один БП, то не нужно никаких изгалений. И никаких доп. элементов.
[uquote="neid",url="/forum/viewtopic.php?p=4237031#p4237031"]Питание от одного источника 12в, далее у каждого своя КРЕНка на 5в. Длинна этой линии 10см максимум! Не совсем пока, почитаю))[/uquote]
Если обвязка МК2 сделана только для подключения МК1 (без дополнительной периферии), то по сути она лишняя. Если настроить вывод МК2 на вход с подтяжкой внутреннего резистора, то этого будет достаточно. Настройка вывода МК1 останется по умолчанию (настроен на вход без подтяжки внутреннего резистора). Для управления данной линией (прижатие её к общей шине) по какому-то событию, у МК1 потребуется всего лишь перевести данный вывод из режима входа в режим выхода и вывод МК2 будет прижат к общей шине. Затем переводите вывод МК1 вновь на вход и линия (вывод МК2) отпускается. При такой конфигурации выводов дополнительной обвязки не требуется, даже в том случае если бы у Вас один МК питался бы от 3,3 В, а другой от 5 В.
Единственное условие – общая шина у обоих МК должна быть соединена. А так как питание у Вас осуществляется от одного общего БП, то условие с соединением общих шин обоих МК выполнено. 
Если обвязка МК2 сделана только для подключения МК1 (без дополнительной периферии), то по сути она лишняя. Если настроить вывод МК2 на вход с подтяжкой внутреннего резистора, то этого будет достаточно. Настройка вывода МК1 останется по умолчанию (настроен на вход без подтяжки внутреннего резистора). Для управления данной линией (прижатие её к общей шине) по какому-то событию, у МК1 потребуется всего лишь перевести данный вывод из режима входа в режим выхода и вывод МК2 будет прижат к общей шине. Затем переводите вывод МК1 вновь на вход и линия (вывод МК2) отпускается. При такой конфигурации выводов дополнительной обвязки не требуется, даже в том случае если бы у Вас один МК питался бы от 3,3 В, а другой от 5 В.
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="VNS",url="/forum/viewtopic.php?p=4237284#p4237284"]Если обвязка МК2 сделана только для подключения МК1 (без дополнительной периферии), то по сути она лишняя.[/uquote]
МК2 - делалось универсальным устройством, и входы у МК2 можно настроить на сколько это позволяет даташит Atmega8, но плата когда то уже была разведена именно под такую обвязку и стоить давно в корпусе, лазить сейчас туда и кроить что то там не особо хотелось. Я повторял это устройство по стопам автора лет пять назад.
[uquote="VNS",url="/forum/viewtopic.php?p=4237284#p4237284"]Настройка вывода МК1 останется по умолчанию (настроен на вход без подтяжки внутреннего резистора). Для управления данной линией (прижатие её к общей шине) по какому-то событию, у МК1 потребуется всего лишь перевести данный вывод из режима входа в режим выхода и вывод МК2 будет прижат к общей шине. Затем переводите вывод МК1 вновь на вход и линия (вывод МК2) отпускается. При такой конфигурации выводов дополнительной обвязки не требуется, даже в том случае если бы у Вас один МК питался бы от 3,3 В, а другой от 5 В.
Единственное условие – общая шина у обоих МК должна быть соединена. А так как питание у Вас осуществляется от одного общего БП, то условие с соединением общих шин обоих МК выполнено.
[/uquote]
Действительно простое решение
Спасибо!
Котаны
спасибо ВСЕМ не равнодушным и откликнувшимся!
МК2 - делалось универсальным устройством, и входы у МК2 можно настроить на сколько это позволяет даташит Atmega8, но плата когда то уже была разведена именно под такую обвязку и стоить давно в корпусе, лазить сейчас туда и кроить что то там не особо хотелось. Я повторял это устройство по стопам автора лет пять назад.
[uquote="VNS",url="/forum/viewtopic.php?p=4237284#p4237284"]Настройка вывода МК1 останется по умолчанию (настроен на вход без подтяжки внутреннего резистора). Для управления данной линией (прижатие её к общей шине) по какому-то событию, у МК1 потребуется всего лишь перевести данный вывод из режима входа в режим выхода и вывод МК2 будет прижат к общей шине. Затем переводите вывод МК1 вновь на вход и линия (вывод МК2) отпускается. При такой конфигурации выводов дополнительной обвязки не требуется, даже в том случае если бы у Вас один МК питался бы от 3,3 В, а другой от 5 В.
Действительно простое решение
Котаны
[uquote="neid",url="/forum/viewtopic.php?p=4237388#p4237388"]стоит давно в корпусе, лазить сейчас туда и кроить что то там не особо хотелось.[/uquote]
Если обвязку МК2 не трогать, то поставь резистор 130 Ом и всё. Резистор нужен для ограничения тока при разряде конденсатора через порт МК1. Чтобы хоть и кратковременно но всё же не перегружать вывод МК1.
Если обвязку МК2 не трогать, то поставь резистор 130 Ом и всё. Резистор нужен для ограничения тока при разряде конденсатора через порт МК1. Чтобы хоть и кратковременно но всё же не перегружать вывод МК1.
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
Всем привет, еще раз подниму данную тему! По вашим советам собрал, добавил резистор в 130ом и все это у меня прекрасно работает уже второй сезон. Но понадобилось поставить на место МК1 не атмегу8, а ESp8266, питание конечно же у ней 3.3V, вопрос что лучше сделать снизить питание MK2 atmga8 не могу, там питать только 5В. Преобразователь уровней с алишки поставить на полевых транзисторах, хотя эта схема является односторонней и работает 5в выход - 3.3в вход((( просто увеличить резистор вместо 130Ом поставить 10кОм или оптрон наверное лучше.
Они вообще то двунаправленные. Еще лет 20 назад ей уже согласовывали уровни 3,3 контроллеров и 5В например памяти 24C или тюнеров, аудиопроцессоров в теликах.neid писал(а):Преобразователь уровней с алишки поставить на полевых транзисторах, хотя эта схема является односторонней и работает 5в выход - 3.3в вход
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
[uquote="Martin76",url="/forum/viewtopic.php?p=4478116#p4478116"]Они вообще то двунаправленные.[/uquote]
Да, извиняюсь, пересмотрел схему, статейку прочитал на easyelectronics. Вопрос остался еще, по поводу если просто поставить резистор 10кОм?
Да, извиняюсь, пересмотрел схему, статейку прочитал на easyelectronics. Вопрос остался еще, по поводу если просто поставить резистор 10кОм?


