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

Пользовательские блоки для подключения различных микросхем в Ардуино, таких как АЦП, ЦАП, расширители входов-выходов и прочие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

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

Сообщение 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, их можно преобразовать в биты блоками [ref]Boroda[/ref] byte_to_8bit_
На входы блоков подаём переменные типа Byte, их можно получить из битов блоками [ref]Boroda[/ref] 8bit_to_byte_
Тема подробно обговорена здесь: http://forum.flprog.ru/viewtopic.php?t=885&start=40, примерно с сообщения 44.
Всё, что надо, есть в папке. Подключение подробно расписано в описании блока. Протестировано в железе.
Финальные версии блоков практически полностью разработаны [ref=#ff8000]Sancho[/ref], мной отредактированы, протестированы в железе, добавил подробное описание.
Прошу отписаться о применении. Вопросы и критика приветствуются
165 и 595 кол-во настраивается.ubl
Отправлено спустя 16 минут 52 секунды:
Прилагаю простенький пример для понимания
165 и 595 тестовый.flp
[spoiler]
165 и 595 тестовый.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

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

Сообщение seri0shka »

Добавил ещё один мастер-блок для работы по трём проводам. К мастер-блоку добавляется необходимое количество входных блоков 165_Read_Byte и выходных блоков 595_Write_Byte с соответствующими номерами. При подключении микросхем входных регистров нужно добавить три деталюхи, на рисунке выделены, в описании блока расписано подробно.
[spoiler]
по 5 проводам-1.jpg
[/spoiler]
165_595_Master_3_lines_(CODE).ubi
Проверил в железе, работает, но хотелось бы ещё чьи-то результаты применения узнать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

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

Сообщение seri0shka »

Испытания показали, что схема работает и при замкнутой цепочке из резистора с диодом, хотя не должна. :wizard:
tolochko
Сержант
Сообщения: 247
Зарегистрирован: 30 ноя 2016, 16:58
Откуда: Днепропетровск

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

Сообщение tolochko »

Здравствуйте уважаемые пользователи FlProg
Есть простенький проект для работы со счетчиками воды
На проекте их 7 а должно быть в 4 раза больше т е 28
У UNO не хватает ног
Вопрос : что лучше взять МЕГу или использовать сдвиговые регистры
Плата будет работать круглосуточно
Заранее благодарю за ответы
Да может по оптимизации что то подскажете
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Собрал платку для теста регистров (2 на вход и 2 на выход).
В результате возникло пару вопросов:

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

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

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

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

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

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

Такой вариант (понимаю, что практически идентичен первому, но вдруг...)
[spoiler]
Безымянный.png
[/spoiler]

чуда не произошло....
Крест накрест и зеркало.

Отправлено спустя 5 часов 7 минут 3 секунды:
Благодаря Sancho, проблема выяснена. Надеюсь появится ТС и обновит описание.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Может кто-то порекомендовать микрухи изоляторов для этого интерфейса из личного опыта?
Критерии банальны - приемлемая цена (меньше 3$), немного обвеса (без доп. источника питания) и достаточная скорость.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 4 раза
Поблагодарили: 9 раз

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

Сообщение WildCat »

Парни, [ref]seri0shka[/ref], [ref=#ff8000]Sancho[/ref], спасибо за эту тему, за блоки, за описание!

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

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

В редакторе блока поменял очередность в коде (4 строчки с опросами in1..in4), теперь всё по порядку идёт.
ecoins
Полковник
Сообщения: 4001
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 150 раз

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

Сообщение ecoins »

WildCat писал(а): 07 ноя 2022, 01:23 Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
В блоках ecoins есть блоки работы с HC595 и HC165 - работают как через аппаратный SPI (разных платформах), так и через программный SPI.
При работе с ними следует учитывать некоторые нюансы, но удалось преодолеть.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 4 раза
Поблагодарили: 9 раз

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

Сообщение WildCat »

[ref]ecoins[/ref], спасибо, тему блоков ecoins мониторю, но пока изучать нет возможности.
Сейчас проект запущу на том, что знаю, а потом можно уже и углубиться.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

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

Сообщение krom23 »

WildCat писал(а): 07 ноя 2022, 01:23 Всё работает, но есть нюанс.
Возможно отсчёт начинается с младшего регистра, то есть с права налево.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 4 раза
Поблагодарили: 9 раз

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

Сообщение WildCat »

krom23 писал(а): 01 апр 2018, 23:37 отсчёт начинается с младшего
Внутри регистра отсчёт идёт слева направо. А между регистрами - с последнего.
Принципиально это не имеет значения, просто непонятка возникла, когда из 4 возможных регистров у меня было подключено два, и они не работали. Изменил порядок - всё заработало.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

WildCat писал(а): 07 ноя 2022, 01:23 Всё работает, но есть нюанс.
Для выходных регистров (595) по этому блоку опрос идёт с последней микросхемы в каскаде. Т.е в блоке in 1 - это последняя микросхема, а in 4 - первая.
viewtopic.php?t=885&start=60#p44323
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Микросхемы расширений»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость