DarkDigger Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 Потихоньку разрабатываю устройство на атмеге16(не суть) к которой на шину SPI планирую подключить W5500 и регистры сдвига 74hc595 для управления релюхами (~16 шт.). И понимаю, что скорее всего не получится. У W5500 есть ножка SS, при высоком уровне на которой она игнорирует всё на шине, у 74hc595 такой функции я не нашёл. То есть не получится? Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 Было бы желание. Я на один SPI вешал SD-карту и гирлянду WS2812b, "развязывал сигналы при помощи транзистороного коммутатора. В вашем случае можно использовать MOSFET: когда сигналом SS активируется W5500, мосфет запирается и не пропускает CLK на регистры, когда SS деактивирует W5500, мосфет открывается и пропускает CLK на регистры. Затрат - транзистор да резистор. 1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
yaroslav.s Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 11-я ножка - защёлка 2 Текущий сетап: BBB-AD-H6.1-Nataly2014-AudioPro Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
ARV Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 Только что, yaroslav.s сказал: 11-я ножка - защёлка Вообще да, совсем забыл, что там двойной регистр... 1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
DarkDigger Опубликовано 23 сентября, 2020 Автор Поделиться Опубликовано 23 сентября, 2020 44 минуты назад, yaroslav.s сказал: 11-я ножка - защёлка Насколько я понял, если дёрнуть 11 ножку на +, то из регистра выводятся данные на параллельный выход, и регист очищается. То есть в регист прилетит куча данных, передаваемых другим устройствам (причём будет храниться последний байт, предыдущие уйдут на 9 ножку), на параллельном выходе ничего меняться не будет до тех пор, пока не дернёшь 11 ножку... Стоп! Я понял как надо! После передачи данных другим устройствам, передаю столько байт, сколько сдвиговых регистров подключено по цепочке (другие устройства игнорируют эти данные) и дёргую 11 ноги всем сразу. Мысли правильные? Ссылка на комментарий Поделиться на другие сайты Поделиться
yaroslav.s Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 Да. Единственное - не ошибитесь с количеством отправляемых данных и их очерёдностью. Ну и вешать реле напрямую на выход перебор. Нужна uln. 1 Текущий сетап: BBB-AD-H6.1-Nataly2014-AudioPro Ссылка на комментарий Поделиться на другие сайты Поделиться
DarkDigger Опубликовано 23 сентября, 2020 Автор Поделиться Опубликовано 23 сентября, 2020 Только что, yaroslav.s сказал: Да. Единственное - не ошибитесь с количеством отправляемых данных и их очерёдностью. Ну и вешать реле напрямую на выход перебор. Нужна uln. Не напрямую конечно, через транзистор, с защитным диодом и т.д. SPI mode 0 будет нормально работать с этой микросхемой? Ссылка на комментарий Поделиться на другие сайты Поделиться
yaroslav.s Опубликовано 23 сентября, 2020 Поделиться Опубликовано 23 сентября, 2020 Не помню уже. Давно их не использовал. Смотрите в затащитесь, вроде запись по растущему клоку. Текущий сетап: BBB-AD-H6.1-Nataly2014-AudioPro Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 24 сентября, 2020 Поделиться Опубликовано 24 сентября, 2020 7 часов назад, DarkDigger сказал: После передачи данных другим устройствам, передаю столько байт, сколько сдвиговых регистров подключено по цепочке (другие устройства игнорируют эти данные) и дёргую 11 ноги всем сразу. Только это надо делать не после всякой передачи другим, а когда надо обновлять состояние регистров, ведь до тех пор все равно, что за мусор в их сдвиговой части... Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
BARS_ Опубликовано 24 сентября, 2020 Поделиться Опубликовано 24 сентября, 2020 (изменено) 11 часов назад, DarkDigger сказал: W5500 и регистры сдвига 74hc595 для управления релюхами У меня подключено аналогичным образом, только на одной шине с EEPROM. Работает все отлично. Подключено вот так LED_DATA выход данных на второй регистр. Изменено 24 сентября, 2020 пользователем BARS_ 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
aitras Опубликовано 24 сентября, 2020 Поделиться Опубликовано 24 сентября, 2020 Вот как раз на днях столкнулся с проблемой - данные, отправляемые на 595-е регистры, управляющие реле, бились случайным образом. Не мог понять почему. А потом вспомнил, что у меня на той же шине еще пара регистров, которые управляют семисегментным дисплеем. И данные, периодически летящие обновлять дисплей, "пересекались" с данными, идущими на реле, если в этот момент с ними был обмен. Для дисплея это было не фатально, т.к. довольно быстро ему прилетает новая порция данных. А вот реле обновляются редко, после нажатия кнопок. И случается такая коллизия. В "настоящих" SPI-устройствах был бы сигнал nSS, который этого не допустит. А я поправил код, введя переменную-флаг занятости шины SPI. Когда данные отправляются в реле, флаг = 1. И пока он равен 1, обновление дисплея запрещено. Все заработало как надо. Может быть информация окажется полезной С уважением, Михаил, EEP Lab Ссылка на комментарий Поделиться на другие сайты Поделиться
BARS_ Опубликовано 24 сентября, 2020 Поделиться Опубликовано 24 сентября, 2020 1 час назад, aitras сказал: В "настоящих" SPI-устройствах был бы сигнал nSS, который этого не допустит А как наличие этого сигнала влияет на кривой доступ к SPI со стороны программы? А в 595 нога RCLK вполне себе заменяет CS. 1 час назад, aitras сказал: Когда данные отправляются в реле, флаг = 1. И пока он равен 1, обновление дисплея запрещено. Вообще-то это стандартная процедура доступа к шинам данных. Пока идет работа с одним девайсом, остальным работать запрещено. Ссылка на комментарий Поделиться на другие сайты Поделиться
DarkDigger Опубликовано 24 сентября, 2020 Автор Поделиться Опубликовано 24 сентября, 2020 (изменено) Всем огромное спасибо за советы. Изменено 24 сентября, 2020 пользователем DarkDigger Ссылка на комментарий Поделиться на другие сайты Поделиться
aitras Опубликовано 24 сентября, 2020 Поделиться Опубликовано 24 сентября, 2020 11 hours ago, BARS_ said: Пока идет работа с одним девайсом, остальным работать запрещено. Разве при наличии 2 ведомых устройств состояния nSS1 = 0 и nSS2 = 1 не запрещает аппаратно ведомому 2 принимать данные? Хотя если во время посылки между байтами вклинится вторая передача, то nSS1 останется опущенным в 0 и тоже будет участвовать в обмене С уважением, Михаил, EEP Lab Ссылка на комментарий Поделиться на другие сайты Поделиться
BARS_ Опубликовано 25 сентября, 2020 Поделиться Опубликовано 25 сентября, 2020 17 часов назад, aitras сказал: Разве при наличии 2 ведомых устройств состояния nSS1 = 0 и nSS2 = 1 не запрещает аппаратно ведомому 2 принимать данные? Запрещает, но не запрещает слать чушь на шину... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения