Страница 1 из 1

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 01.04.2018{, 23:21}
seri0shka
Расширитель входов и выходов на регистрах 74НС165 и 74НС595 с комбинированным подключением (тактовый вывод и вывод защёлки общие для входных и выходных регистров).
Количество входных 74НС165 и выходных 74НС595 регистров настраивается в параметрах пользователя от 1 до 6 штук и может быть разным (например, 6 входных и 2 выходных)
Подключается к Arduino всего четырьмя проводами:
- pin14 74HC595 => Dout_pin
- pin9 74HC165 => Din_pin
- pin1 74HC165 и pin12 74НC595=> PL_pin
- pin2 74HC165 и pin11 74НC595 => Clock_pin
Номера выводов Ардуино настраиваются в параметрах пользователя, доступны все выводы, включая аналоговые (кроме А6, А7). Аппаратный SPI не использован. Кроме того, есть "быстрый" блок с исользованием библиотеки "CyberLib.h", работает примерно в 5 раз быстрее, но может конфликтовать с другими блоками (теоретически), кроме того, выводы подключения изменить можно только редактированием блока.
К мастер-блоку добавляется необходимое количество входных блоков 165_Read_Byte и выходных блоков 595_Write_Byte с соответствующими номерами.
На выходах блоков получаем переменные типа Byte, их можно преобразовать в биты блоками Boroda byte_to_8bit_
На входы блоков подаём переменные типа Byte, их можно получить из битов блоками Boroda 8bit_to_byte_
Тема подробно обговорена здесь: http://forum.flprog.ru/viewtopic.php?t=885&start=40, примерно с сообщения 44.
Всё, что надо, есть в папке. Подключение подробно расписано в описании блока. Протестировано в железе.
Финальные версии блоков практически полностью разработаны Sancho, мной отредактированы, протестированы в железе, добавил подробное описание.
Прошу отписаться о применении. Вопросы и критика приветствуются
165 и 595 кол-во настраивается.ubl
(408.35 КБ) 377 скачиваний
Отправлено спустя 16 минут 52 секунды:
Прилагаю простенький пример для понимания
165 и 595 тестовый.flp
(484.69 КБ) 413 скачиваний
СпойлерПоказать
165 и 595 тестовый.png

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 06.04.2018{, 23:17}
seri0shka
Добавил ещё один мастер-блок для работы по трём проводам. К мастер-блоку добавляется необходимое количество входных блоков 165_Read_Byte и выходных блоков 595_Write_Byte с соответствующими номерами. При подключении микросхем входных регистров нужно добавить три деталюхи, на рисунке выделены, в описании блока расписано подробно.
СпойлерПоказать
по 5 проводам-1.jpg
165_595_Master_3_lines_(CODE).ubi
(19.08 КБ) 298 скачиваний
Проверил в железе, работает, но хотелось бы ещё чьи-то результаты применения узнать.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 09.04.2018{, 17:51}
seri0shka
Испытания показали, что схема работает и при замкнутой цепочке из резистора с диодом, хотя не должна. :wizard:

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 22.01.2020{, 15:13}
tolochko
Здравствуйте уважаемые пользователи FlProg
Есть простенький проект для работы со счетчиками воды
На проекте их 7 а должно быть в 4 раза больше т е 28
У UNO не хватает ног
Вопрос : что лучше взять МЕГу или использовать сдвиговые регистры
Плата будет работать круглосуточно
Заранее благодарю за ответы
Да может по оптимизации что то подскажете

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 10.09.2020{, 12:45}
Ingwar
Собрал платку для теста регистров (2 на вход и 2 на выход).
В результате возникло пару вопросов:

При "сквозном" подключении в программе,
СпойлерПоказать
Безымянный.png
Безымянный.png (4.15 КБ) 4282 просмотра
физические входа - выхода зеркальны
A - H
B - G
C - F
D - E
E - D
F - C
G - B
H - A
так и задумывалось?

При включении питания, до начала работы ПБ, состояние выходов случайно (чаще высокий уровень).
Это "неизбежное зло"?

Отправлено спустя 17 минут 27 секунд:
Забыл добавить, при таком соединении в программе еще и микрухи входа выхода реагируют крест накрест...

Отправлено спустя 2 часа 25 минут 14 секунд:
Другой тест
СпойлерПоказать
Безымянный.png
Результат
Входа соответствуют номерам микросхем и разрядам.
Выхода соответствуют номерам микросхем и разрядам.

Получается что-то не то именно при "сквозном" подключении.

Отправлено спустя 1 час 33 минуты 17 секунд:
В догонку )

Такой вариант (понимаю, что практически идентичен первому, но вдруг...)
СпойлерПоказать
Безымянный.png
Безымянный.png (22.21 КБ) 4228 просмотров
чуда не произошло....
Крест накрест и зеркало.

Отправлено спустя 5 часов 7 минут 3 секунды:
Благодаря Sancho, проблема выяснена. Надеюсь появится ТС и обновит описание.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 27.05.2021{, 12:36}
Ingwar
Может кто-то порекомендовать микрухи изоляторов для этого интерфейса из личного опыта?
Критерии банальны - приемлемая цена (меньше 3$), немного обвеса (без доп. источника питания) и достаточная скорость.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 07.11.2022{, 01:23}
WildCat
Парни, seri0shka, Sancho, спасибо за эту тему, за блоки, за описание!

Собрал тестовую схему на блоке из этого сообщения (в одном блоке 4 входа, 4 выхода)
viewtopic.php?t=885&start=40#p44127

Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.

В редакторе блока поменял очередность в коде (4 строчки с опросами in1..in4), теперь всё по порядку идёт.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 07.11.2022{, 02:20}
ecoins
WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
В блоках ecoins есть блоки работы с HC595 и HC165 - работают как через аппаратный SPI (разных платформах), так и через программный SPI.
При работе с ними следует учитывать некоторые нюансы, но удалось преодолеть.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 07.11.2022{, 02:39}
WildCat
ecoins, спасибо, тему блоков ecoins мониторю, но пока изучать нет возможности.
Сейчас проект запущу на том, что знаю, а потом можно уже и углубиться.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 07.11.2022{, 12:29}
krom23
WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Возможно отсчёт начинается с младшего регистра, то есть с права налево.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 07.11.2022{, 14:41}
WildCat
krom23 писал(а):
01.04.2018{, 23:37}
отсчёт начинается с младшего
Внутри регистра отсчёт идёт слева направо. А между регистрами - с последнего.
Принципиально это не имеет значения, просто непонятка возникла, когда из 4 возможных регистров у меня было подключено два, и они не работали. Изменил порядок - всё заработало.

Расширитель входов и выходов на регистрах 74НС165 и 74НС595.

Добавлено: 12.12.2022{, 08:27}
Sancho
WildCat писал(а):
07.11.2022{, 01:23}
Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
viewtopic.php?t=885&start=60#p44323