Перейти к содержанию

Помогите советом со схемой коммутатора сигналов


tipakertus

Рекомендуемые сообщения

Всем привет! Понадобилась схема коммутатора сигналов 

суть такая, есть микросхема ЕЕпром с которой нужно читать информацию и два устройства чтения (программаторы), первое на базе ардуино ,второе на базе микроконтроллера АТ89

если подключить сразу два устройство в параллель то возникает конфликт, поэтому решил придумать коммутацию, коммутация должна включаться сигналом от ардуинки ,т.к. проще написать программу на ней (сама ардуинка на сколько я понимаю коммутировать типа сухого контакта не может)

понимаю что можно подключить шильд с релюшками,но может кто подскажет или есть идеи уйти от конфликта сигналов??? либо микросхему коммутатор, или как сделать так чтоб читали сразу два устройства с одной микросхемы

Как я переключаю сейчас два сигнала SCL и SDA я нарисовал (при помощи обычного тумблера с двумя группами контактов), питание берётся c одного источника питания

Вот такая вот непростая и замудрённая задача встала передо мной, помогите кто чем сможет. Спасибо

схемка.jpg

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Я конечно не программист (сейчас подтянутся:)), но зачем какой то коммутатор, переключатель.

Когда программно проще, один контроллер "ведущий" разрешает работу с памятью другому "ведомому".

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Именно поэтому я и обратился к спецам, может кто подскажет как это организовать! Лучше бы было бы чтоб не колхозить разных  переключателей,если это возможно)

И есть ещё одно дополнение (может оно важное), в программу на АТ я залезть и изменить не могу((, могу работать только с ардуино

Изменено пользователем tipakertus
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Как вариант - мониторить занятость шины и работать с памятью только в промежутках тишины. Второй вариант - поставить электронный ключ в разрыв линии. Это могут быть как оптореле, так и спец микрухи свичи или трансляторы уровня но с выводом ENABLE.

Ссылка на комментарий
Поделиться на другие сайты

 

18 минут назад, _abk_ сказал:

ADG736, HEF/CD/BU 4053, TS5A3166(67)x2 и пр....

А примерную схемку включения,желательно на моём примере не кинете??? Никогда с такими не сталкивался!

Ссылка на комментарий
Поделиться на другие сайты

На самом деле хватит и обычного буфера серии 74HC. Лишь бы у него вывод ENABLE был.

Только что, tipakertus сказал:

А примерную схемку включения

В даташите все есть.

Ссылка на комментарий
Поделиться на другие сайты

38 минут назад, BARS_ сказал:

Как вариант - мониторить занятость шины и работать с памятью только в промежутках тишины. Второй вариант - поставить электронный ключ в разрыв линии. Это могут быть как оптореле, так и спец микрухи свичи или трансляторы уровня но с выводом ENABLE.

Мониторить скорее всего не получится! а со вторым вариантом подскажите ,может какой схемкой!?

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, BARS_ сказал:

Как так? Цам целый МК стоит

Я в него не залезу, так скажем знаний не хватит

 

25 минут назад, BARS_ сказал:

На самом деле хватит и обычного буфера серии 74HC. Лишь бы у него вывод ENABLE был.

В даташите все есть.

Почему бы и не помочь студенту??

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, _abk_ сказал:

ADG736, HEF/CD/BU 4053, TS5A3166(67)x2 и пр....

Подскажите, а таким путём можно включать выключать сигналы с памяти????или где ошибся? И какой сигнал нужно подавать на TS5A3166 

схемка2.jpg

Изменено пользователем tipakertus
Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, tipakertus сказал:

Я в него не залезу, так скажем знаний не хватит

А ардуйня на что?

 

22 минуты назад, tipakertus сказал:

Почему бы и не помочь студенту??

Почему бы студенту не научиться пользоваться документацией? Ему это итак положено уметь.

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, BARS_ сказал:

А ардуйня на что?

 

Почему бы студенту не научиться пользоваться документацией? Ему это итак положено уметь.

Тема называется для начинающих, а пофлудить можно и в другом месте. Если хотите помочь,помогите делом а не советом

Ссылка на комментарий
Поделиться на другие сайты

27 минут назад, tipakertus сказал:

Я в него не залезу, так скажем знаний не хватит

А как вы будете определять в какое время и какому мк обращаться к памяти?

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, 100482 сказал:

А как вы будете определять в какое время и какому мк обращаться к памяти?

схема всегда работает с АТ89 контроллером ,а иногда нужно переключиться на ардуинку и её прочитать данные и всё! Я сам определяю когда нужно переключиться и в этот момент прибор не совершает никаких действий

Ссылка на комментарий
Поделиться на другие сайты

Ну так контроллировать шину и когда АТ89 перестает обращаться к памяти,

и ардуинка или выдает сигнал на светодиод или просто считывает память и хранит, не знаю что там делаете дальше.

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, tipakertus сказал:

в этот момент прибор не совершает никаких действий

Тогда на кой там что-то переключать? По спецификации на I2C пока нет обмена данными выводы мастера должны находиться в Z состоянии. Т.е. он никак не может мешать ардуйне читать данные.

Ссылка на комментарий
Поделиться на другие сайты

46 minutes ago, tipakertus said:

И какой сигнал нужно подавать на TS5A3166

TS5A3166 не годится, она просто работает на замыкание SPST, а нужно использовать на переключение SPDT, например TS5A3159.

Работает она просто. Если на входе IN  присутствует 0, то линия NC замкнута на COM. Если на входе IN единичка, то линия NO замыкается с COM.

cxem_switch.png

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, Yurkin2015 сказал:

нужно использовать на переключение

Абсолютно не нужно. Главное отключить второй МК от линии. Хотя он в принципе там не мешает.

Ссылка на комментарий
Поделиться на другие сайты

что-то я не понял,  ТСу нуна читать 24С32 общается оная по шине I2C , все передатчики участников шины по определению протокола имеют выход open drain  и максимум что можно получить это колизию при отправке пакетов одновременно двумя мастерами. возникает логичный вопрос: накой на шине I2C еще какие-то переключатели , если по словам ТС на шине активен только один мастер, второй в это время молчит?

 

Ссылка на комментарий
Поделиться на другие сайты

Если тот, кто писал прошивку на МК, общающийся с памятью, рукожоп, то он мог сделать тот же CLK не OpenDrain и теперь он просто не дает выставить клок на линию. Другого объяснения я не вижу...

Ссылка на комментарий
Поделиться на другие сайты

думаю, что ТС это даже не проверял. хотя для этого достаточно было поставить терминалы 50-100ом со стороны дурины и АТ89 для предотвращения КЗ и все стало бы понятно.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, IMXO сказал:

терминалы 50-100ом со стороны дурины и АТ89 для предотвращения КЗ и все стало бы понятно.

Автор дуинщик, он даже даташит прочесть не в состоянии. Куда уж ему разбираться в работе I2C...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Возможно, во входных блоках пропал контакт с общим проводом. Если гудения нет при нулевой громкости, то проблема до регулятора громкости.
    • я бы по первости, - присоединил (поменял ) блоки питания у разных аппаратов... проверил БП 2 - далее присоединил бы (поменял) усилители у разных аппаратов...проверил усилители - Ремонтировать аппарат не видя его,- то ещё удовольствие...
    • Может подключить что-нибудь надо. Может написать свою функцию преобразования шестнадцатеричной строки в инт.
    • Да ну нафиг! Это как "раз поехали на рыбалку, а водку забыли...."
    • Похоже вас угораздило на латералы попасть. Они сами себя стабилизируют и никакой дополнительной стабилизации им не нужно. У меня двухкиловаттные Крафты так на металлических Эксиконах работают даже без "эмиттерных" резисторов. Тупо впараллель.
    • @korsaj Попробовал записать код в разных вариантах предложенных тобой. Первый вариант вообще отказался работать. Заработал второй вариант на приём. Теперь уже хотя бы есть полноценный приём. char i = 0; if (rx_buf[i] == 'M'){ i++; if (rx_buf[i] == '1') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран номер текущего трека LED_1_ON(); LED_2_OFF(); send_UART('M'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == '2') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран количество треков LED_1_OFF(); LED_2_ON(); send_UART('M'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == 'T') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран общее время трека LED_1_ON(); LED_2_ON(); send_UART('M'); send_UART('T'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == 'K') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран текущее время трека LED_1_OFF(); LED_2_OFF(); send_UART('M'); send_UART('K'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } } Но однако есть ещё некоторые вещи которые нужно подкорректировать. Пока я просто разбираю UART поэтому на терминал вывожу так сказать ответ ну и просто видеть потому как индикатора к микре не подключено пока что. Однако такой вариант с ответкой нужен будет мне и для другого проекта где UART лучше всего подойдёт. Это я уже смотрю на будущее. Но тут тоже когда приходит комманда по  UART микроконтроллер отправляет ответ, но он начинает постоянно спамится. Нужно как то сделать чтоб этого не происходило. Я же в свою очередь пробовать сбросить flags = 0;, но это никак не помогло. Может чего подскажешь тут понятно что нужно как то будет обнулить данные чтобы выйти из этого условия программы. Есть вот такая проблемка. И ещё есть одна проблема с строкой  unsigned int n = getDecFromHexStr(rx_buf, i+2); Не спроста я её отключил в коде с помощью комментария. А тут проблема в том что студия не может опзнать этот код. Возможно нужно что подключить из встроенных библиотек самой студии.
    • Зачем закладываться на максимальный ток стабилитрона? Поставьте по два двухкилоомных последовательно или возможно 3-5 килоома что то есть.
×
×
  • Создать...