Jump to content
DarkDigger

74hc595 не один на SPI

Recommended Posts

Потихоньку разрабатываю устройство на атмеге16(не суть) к которой на шину SPI планирую подключить W5500 и регистры сдвига 74hc595 для управления релюхами (~16 шт.).

И понимаю, что скорее всего не получится. У W5500 есть ножка SS, при высоком уровне на которой она игнорирует всё на шине, у 74hc595 такой функции я не нашёл. То есть не получится?

Share this post


Link to post
Share on other sites

Было бы желание. Я на один SPI вешал SD-карту и гирлянду WS2812b, "развязывал сигналы при помощи транзистороного коммутатора. В вашем случае можно использовать MOSFET: когда сигналом SS активируется W5500, мосфет запирается и не пропускает CLK на регистры, когда SS деактивирует W5500, мосфет открывается и пропускает CLK на регистры. Затрат - транзистор да резистор.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Высокая надежность SiC! Как они этого добились?

За несколько лет кропотливых исследований и совершенствования технологии компания Infineon смогла довести показатели надежности и стабильности параметров высоковольтных и быстродействующих карбид-кремниевых транзисторов линейки CoolSiC практически до уровня их кремниевых собратьев.

Подробнее

Только что, yaroslav.s сказал:

11-я ножка - защёлка

Вообще да, совсем забыл, что там двойной регистр...


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Материалы вебинара: МЭМС-датчики ST для работы со звуком – новые возможности

На вебинаре мы рассказали о микрофонах, их топологиях применения и возможностях, а так же о новых мультирежимных широкодиапазонных микрофонах с нижним портом и PDM-интерфейсом для систем с батарейным питанием. Вы можете посмотреть видеозапись вебинара, ознакомиться с презентацией и ответами на вопросы.

Подробнее

44 минуты назад, yaroslav.s сказал:

11-я ножка - защёлка

Насколько я понял, если дёрнуть 11 ножку на +, то из регистра выводятся данные на параллельный выход, и регист очищается. То есть в регист прилетит куча данных, передаваемых другим устройствам (причём будет храниться последний байт, предыдущие уйдут на 9 ножку), на параллельном выходе ничего меняться не будет до тех пор, пока не дернёшь 11 ножку...

Стоп! Я понял как надо! После передачи данных другим устройствам, передаю столько байт, сколько сдвиговых регистров подключено по цепочке (другие устройства игнорируют эти данные) и дёргую 11 ноги всем сразу. Мысли правильные?

 

Share this post


Link to post
Share on other sites

Использование экосистемы STMicroelectronics: подключение датчиков к STM32G4

В статье описаны основные составляющие экосистемы STMicroelectronics для работы с микроконтроллерами STM32, а также приведен пример ее практического применения: создание проекта на базе STM32G4 с подключением датчиков и использованием отладочной платы NUCLEO-G474RE и платы расширения X-NUCLEO-IKS01A2.

Подробнее

Да. Единственное - не ошибитесь с количеством отправляемых данных и их очерёдностью.
Ну и вешать реле напрямую на выход перебор. Нужна uln.

Share this post


Link to post
Share on other sites
Только что, yaroslav.s сказал:

Да. Единственное - не ошибитесь с количеством отправляемых данных и их очерёдностью.
Ну и вешать реле напрямую на выход перебор. Нужна uln.

Не напрямую конечно, через транзистор, с защитным диодом и т.д. :)

SPI mode 0 будет нормально работать с этой микросхемой?

Share this post


Link to post
Share on other sites

Не помню уже. Давно их не использовал. Смотрите в затащитесь, вроде запись по растущему клоку.

Share this post


Link to post
Share on other sites
7 часов назад, DarkDigger сказал:

После передачи данных другим устройствам, передаю столько байт, сколько сдвиговых регистров подключено по цепочке (другие устройства игнорируют эти данные) и дёргую 11 ноги всем сразу.

Только это надо делать не после всякой передачи другим, а когда надо обновлять состояние регистров, ведь до тех пор все равно, что за мусор в их сдвиговой части... 


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
11 часов назад, DarkDigger сказал:

W5500 и регистры сдвига 74hc595 для управления релюхами

У меня подключено аналогичным образом, только на одной шине с EEPROM. Работает все отлично. Подключено вот так

image.png.d0713e754f65b9d0821e16bba3a50031.png

LED_DATA выход данных на второй регистр.

Edited by BARS_

Share this post


Link to post
Share on other sites

Вот как раз на днях столкнулся с проблемой - данные, отправляемые на 595-е регистры, управляющие реле, бились случайным образом. Не мог понять почему. А потом вспомнил, что у меня на той же шине еще пара регистров, которые управляют семисегментным дисплеем. И данные, периодически летящие обновлять дисплей, "пересекались" с данными, идущими на реле, если в этот момент с ними был обмен. Для дисплея это было не фатально, т.к. довольно быстро ему прилетает новая порция данных. А вот реле обновляются редко, после нажатия кнопок. И случается такая коллизия.
В "настоящих" SPI-устройствах был бы сигнал nSS, который этого не допустит. А я поправил код, введя переменную-флаг занятости шины SPI. Когда данные отправляются в реле, флаг = 1. И пока он равен 1, обновление дисплея запрещено. Все заработало как надо.

Может быть информация окажется полезной :) 


3D модели радиодеталей + макросы

С уважением, Михаил.

Share this post


Link to post
Share on other sites
1 час назад, aitras сказал:

В "настоящих" SPI-устройствах был бы сигнал nSS, который этого не допустит

А как наличие этого сигнала влияет на кривой доступ к SPI со стороны программы? А в 595 нога RCLK вполне себе заменяет CS.

 

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

Когда данные отправляются в реле, флаг = 1. И пока он равен 1, обновление дисплея запрещено.

Вообще-то это стандартная процедура доступа к шинам данных. Пока идет работа с одним девайсом, остальным работать запрещено.

Share this post


Link to post
Share on other sites
11 hours ago, BARS_ said:

Пока идет работа с одним девайсом, остальным работать запрещено.

Разве при наличии 2 ведомых устройств состояния nSS1 = 0 и nSS2 = 1 не запрещает аппаратно ведомому 2 принимать данные?

Хотя если во время посылки между байтами вклинится вторая передача, то nSS1 останется опущенным в 0 и тоже будет участвовать в обмене :umnik2:


3D модели радиодеталей + макросы

С уважением, Михаил.

Share this post


Link to post
Share on other sites
17 часов назад, aitras сказал:

Разве при наличии 2 ведомых устройств состояния nSS1 = 0 и nSS2 = 1 не запрещает аппаратно ведомому 2 принимать данные?

Запрещает, но не запрещает слать чушь на шину...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...