Входной сдвиговый регистр 74HC165

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
ivelan
Рядовой
Сообщения: 4
Зарегистрирован: 30 апр 2016, 17:03

Входной сдвиговый регистр 74HC165

Сообщение ivelan »

Поддерживаю просьбу Astrologius, и чтобы работали  используя общие линии SPI. Заранее спасибо.
Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08 сен 2015, 16:18
Откуда: Мариуполь

Входной сдвиговый регистр 74HC165

Сообщение Skull »

Присоединяюсь к просьбе
tagan61
Рядовой
Сообщения: 21
Зарегистрирован: 07 сен 2015, 18:47
Откуда: Россия
Имя: Александр

Входной сдвиговый регистр 74HC165

Сообщение tagan61 »

В принципе не плохо было бы, но есть замена, блок MCP 23017.
DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18 окт 2015, 13:51
Откуда: Кривой Рог

Входной сдвиговый регистр 74HC165

Сообщение DWD »

А мне немного непонятно, зачем?..

Скажем, для микросхем или устройств, работающих с каким нибудь протоколом типа SPI, RS-232, CAN и т.п. да, удобно иметь блоки поддержки работы с ними без необходиомсти изучения этих протоколов. Кстати, довольно сложных (например, для меня).

Но для управления простой логикой, какой является 74HC165, достаточно выдачи простой комбинации сигналов на её управляющих входах, о которой можно узнать из даташита.

Судите сами.
Для параллельной загрузки данных в регистр достаточно просто выставить ноль на входе управления загрузкой - состояние уровней всех сигналов на входах сразу запишутся в регистр. Всё.
То есть, для параллельной записи Ардуинка должна выдать на микросхему ноль по одной линии и замолкнуть, так как протокол передачи завершён. Очень сложно, не правда ли?.. 

А для последовательной загрузки-выгрузки нужно подать на тот же вход управления загрузкой единицу и на вход тактирования подавать импульсы - все уровни, записанные ранее в регистр (или подаваемые на вход последовательной загрузки) будут продвигаться по регисру и последовательно появляться на выходе последовательной выгрузки.
То есть, Ардуинка должна на предыдущем выходе регистра выставить единицу и на другой вход (тактирование) выдать несколько импульсов для продвижения данных по регистру и получения этой последовательности на последовательном выходе. Или для записи в регистр данных на ходе последовательной загрузки.

А ведь логических микросхем, выполняющих функции регистра, очень много. Для каждой будем просить автора FLP пристроить блок управления?..
Так дойдёт до просьбы встроить поддержку микросхемы 74HC00...  Изображение
Изображение
Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08 сен 2015, 16:18
Откуда: Мариуполь

Входной сдвиговый регистр 74HC165

Сообщение Skull »

В этом случае полезен будет простые блоки ввода\ вывода в SPI. Тогда можно будет управлять и диммерами на сколь угодно каналов которые тут регулярно просят организовать используя вот такую простую схему из статьи на РадиоКоте:
http://radiokot.ru/circuit/digital/automat/74/
ivelan
Рядовой
Сообщения: 4
Зарегистрирован: 30 апр 2016, 17:03

Входной сдвиговый регистр 74HC165

Сообщение ivelan »

tagan61, так то разницу в цене зацените как нибудь между MCP 23017 и
74HC165

Добавлено (02.05.2016, 23:29)
---------------------------------------------
DWD, ну раз Вам понятно напишите тогда пользовательский блок... Буду признателен.
tagan61
Рядовой
Сообщения: 21
Зарегистрирован: 07 сен 2015, 18:47
Откуда: Россия
Имя: Александр

Входной сдвиговый регистр 74HC165

Сообщение tagan61 »

ivelan писал(а):tagan61, так то разницу в цене зацените как нибудь между MCP 23017 и74HC165
Я купил пару штук (160 р за пару)
ivelan
Рядовой
Сообщения: 4
Зарегистрирован: 30 апр 2016, 17:03

Входной сдвиговый регистр 74HC165

Сообщение ivelan »

tagan61, За эти деньги десяток 74HC165 купить можно. И вроде бы быстродействие цепочки из 165 ых повыше будет  Изображение
tagan61
Рядовой
Сообщения: 21
Зарегистрирован: 07 сен 2015, 18:47
Откуда: Россия
Имя: Александр

Входной сдвиговый регистр 74HC165

Сообщение tagan61 »

ivelan писал(а):За эти деньги десяток 74HC165 купить можно.
Не спорю, но пока блока для них нет поэтому пользуюсь MCP 23017.
arisov77
Рядовой
Сообщения: 57
Зарегистрирован: 11 июн 2016, 12:42
Откуда: Инза

Входной сдвиговый регистр 74HC165

Сообщение arisov77 »

Подключил 74НС595 и 74НС165 по этой схеме http://robocraft.ru/blog/arduino/541.html , но возникла проблема с "пропаданием" выхода D13 (SCK) http://forum.flprogwiki.ru/viewtopic.php?f=5&t=1248 .
Я поддерживаю добавление блока для 74HC165 и желательно, чтобы их можно было совместно использовать с НС595.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Входной сдвиговый регистр 74HC165

Сообщение Слимпер »

arisov77 писал(а):Подключил 74НС595 и 74НС165 по этой схеме http://robocraft.ru/blog/arduino/541.html , но возникла проблема с "пропаданием" выхода D13 (SCK) http://forum.flprogwiki.ru/viewtopic.php?f=5&t=1248 . Я поддерживаю добавление блока для 74HC165 и желательно, чтобы их можно было совместно использовать с НС595.
Использовал эту статью сделал на пробу пару боков и тестовый проект для работы одновременно 74НС595 и 74НС165. Но проверить не могу, нет микросхемы  74НС165. Но блок для  74НС595 работает.

Если у кого есть желание по тестируйте.
Это просто эксперимент, если все заработает можно будет попробовать сделать блок и для каскадов
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Слимпер 08 сен 2016, 12:16, всего редактировалось 1 раз.
arisov77
Рядовой
Сообщения: 57
Зарегистрирован: 11 июн 2016, 12:42
Откуда: Инза

Входной сдвиговый регистр 74HC165

Сообщение arisov77 »

Попровал сделать блоки для 74HC165 (для одной и двух регистров в касакаде).
В прилагаемом архиве: блоки, примеры в FLProg, проекты под этот пример в Proteus и .hex для них. Тестировал блоки только в Proteus-e.
Просьба проверить и отписаться.
Т.к. это мой первый проект на Си, то просьба не ругаться на синтаксис, я "ассемблерщик"
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Входной сдвиговый регистр 74HC165

Сообщение Слимпер »

arisov77 писал(а):Попровал сделать блоки для 74HC165 (для одной и двух регистров в касакаде). В прилагаемом архиве: блоки, примеры в FLProg, проекты под этот пример в Proteus и .hex для них. Тестировал блоки только в Proteus-e.
Просьба проверить и отписаться.
Т.к. это мой первый проект на Си, то просьба не ругаться на синтаксис, я "ассемблерщик"
Я так понял вы не стали использовать аппаратный порт SPI, а написали, программный порт. А вот такое для меня за облачно.
Код у вас не самый оптимальный, лишние переменные и операции. Исправил, один из примеров, проверти должно так же работать, а код компактнее будет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
arisov77
Рядовой
Сообщения: 57
Зарегистрирован: 11 июн 2016, 12:42
Откуда: Инза

Входной сдвиговый регистр 74HC165

Сообщение arisov77 »

Слимпер писал(а):Я так понял вы не стали использовать аппаратный порт SPI...
SPI не понравился из за "жёсткой" привязки к определённым пинам, так получается более "гибкое" решение. Поэтому, также для «гибкости», сделал выхода с «прямыми» и «инверсными» переменными, например, для того чтобы без дополнительных преобразований передавать по Модбасу состояния входов 74НС165. «Прямой» выход используется при соединение 9в. регистра со входом Ардуины, а «инверсный» при связи с 7в. 74НС165.

Спасибо за исправления, попробовал в Proteus - работает. Плохо, что на Си нельзя как на Ассемблере присвоить определённому биту в байте символьное имя (я не нашёл как это сделать), так код получился бы гораздо компактнее и с меньшим количеством занятых переменных (байт).

Внёс изменения в блоки и объединил их в одну папку, изменённый архивчик прилагаю.

Добавлено (11.09.2016, 09:24)
---------------------------------------------
Протестировал 8-битный блок "в железе" - работает.
Создал темку в разделе "Блоки пользователей" http://flprog.ru/load/bloki_polzovatele ... /2-1-0-129 .
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось arisov77 11 сен 2016, 09:28, всего редактировалось 1 раз.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Входной сдвиговый регистр 74HC165

Сообщение Слимпер »

arisov77, А можете проверить тот блок, что я выкладывал в сообщении 12.
Мне интересно будет работать или нет, та библиотека еще много, что вкусного позволяет.
arisov77
Рядовой
Сообщения: 57
Зарегистрирован: 11 июн 2016, 12:42
Откуда: Инза

Входной сдвиговый регистр 74HC165

Сообщение arisov77 »

Слимпер писал(а):А можете проверить тот блок, что я выкладывал в сообщении 12.
Попозже попробую.

Начал сегодня применять "в железе" свой блок и обнаружил, что в моём применении необходимо побитное инверсирование входов 74HC165 (для передачи по Модбасу "байтовых" переменных).

Переделал блоки и перезалил архив http://flprog.ru/load/bloki_polzovatele ... /2-1-0-129 .

У меня используются две 74НС165, но подключенны они не в каскаде, а раздельно (так было удобнее печатку разводить). Для экономии тэгов SimpleScada2 я объединил 2 байта в одну переменную типа Integer, с помощью простенького блока, состоящего из одной строчки (int Out_Int = Hi_Byte <<8 | Lo_Byte; ). Кому то надо такой блочёк, выложить?
Последний раз редактировалось arisov77 11 сен 2016, 14:39, всего редактировалось 1 раз.
arisov77
Рядовой
Сообщения: 57
Зарегистрирован: 11 июн 2016, 12:42
Откуда: Инза

Входной сдвиговый регистр 74HC165

Сообщение arisov77 »

Слимпер, блок проверил.
Выхода получились инверсными относительно входа 74НС165 (при соединении 7в.НС165, как на схеме http://robocraft.ru/files/spi/bunch_chematics.jpg ).
При изменении входов D0, D1 (HC165) выхода D3, D2 Ардуинки в Протеусе меняются с задержкой ~1сек.

Выхода 74НС595 непонятно как работают, при многократном переключении кнопок "лампочки" c Q0 (U3 и U4) перемещаются последовательно вниз, на обоих регистрах синхронно.

По сравнению с программным "клоком" частота импульсов по SPI значительно выше. Длительность одного "программного" тактого импульса ~15мкс (с удалёнными 1мкс задержками между тактами), а c SPI ~ 0,25мкс. Возможно, поэтому в Протеусе и "тормозят" переключения D2 и D3 - из-за высокой тактовой частоты и соответсвенно это всё компу надо обсчитать...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось arisov77 11 сен 2016, 19:09, всего редактировалось 1 раз.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Входной сдвиговый регистр 74HC165

Сообщение Слимпер »

Цитата Стало интересно, купил пару штук в магазине в городе. В очередной раз офигел от разницы в ценах. Брал в DIP корпусе, в магазине 50руб -1шт, на али 6-10руб за 1шт   
arisov77 писал(а):Выхода получились инверсными относительно входа 74НС165
Ну так и должно быть, все входа исходно подтянуты к питанию, значит до нажатия на всех 1.
Потестил 1 микросхему, работает быстро, задержек не заметил.
Это я про те блоки, что сам делал.

Добавлено (12.09.2016, 19:22)
---------------------------------------------
Слимпер писал(а):Ну так и должно быть, все входа исходно подтянуты к питанию, значит до нажатия на всех 1.
Не прав был, оказывается 
есть два входа микросхемы 
QH — последовательный вывод, MISO (SPI)
Q͞H — инверсный вывод, на нём идут биты с QH, но инвертированные
streetone
Рядовой
Сообщения: 10
Зарегистрирован: 15 сен 2016, 16:28

Входной сдвиговый регистр 74HC165

Сообщение streetone »

Всеми руками поддерживаю просьбу Astrologius, и чтобы работали  используя общие линии SPI. Очень полезный блок будет. Сейчас делаю одну вещицу, использовал Nano, не хватило, прикрутил 595, не хватило, и вот пришлось покупать Arduino Mega 2560.  Сижу жду её. А была бы поддержка 165, всё сделал бы на Nano. Надеюсь что наши просьбы будут услышаны ) А ведь желающих, как и я много )
robocraft
Рядовой
Сообщения: 74
Зарегистрирован: 22 ноя 2016, 09:10
Откуда: Москва

Входной сдвиговый регистр 74HC165

Сообщение robocraft »

поддерживаю.
☃ Loading... ██████████████] 99%
Ответить

Вернуться в «Новые»

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

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