Входной сдвиговый регистр 74HC165
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
Со дня на день приедут микросхемы (заказал и те и те т.к. надо 32 входа и 32 выхода) и сразу начну проверять.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
У 165 защёлка входов срабатывать должна перед чтением(вниз-вверх), это не SPI, плюс один пин на вход данных.KulibinOrsk писал(а): ↑15 мар 2018, 04:57А если будет блок описанный в 22 посте: блок, позволяющие работать по 5-проводной схеме SPI одновременно с несколькими 74HC165 на входах и 74HC595 на выходах то будет совсем полное гармоничное решение всех вопросов.
У 595 защёлка должна притянуться к общему перед приёмом и "отлипнуть"(High) после него, плюс один пин на выход данных. Это SPI.
Сделаем, но мы сэкономим лишь один вывод, CLK...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
[ref=#ff8000]Sancho[/ref], проверил блок 165general + 4 штуки read byte, всё работает отлично. Остальные проверю в выходные, не должно быть проблем. Мне кажется, general слишком пафосно, может лучше master / slave, как принято в компьютерах?
По 5-проводной схеме статья здесьhttp://robocraft.ru/blog/arduino/541.html
Если не забуду, в выходные выложу блоки, работающие по ээтой схеме.
По 5-проводной схеме статья здесьhttp://robocraft.ru/blog/arduino/541.html
Если не забуду, в выходные выложу блоки, работающие по ээтой схеме.
А что если попробовать так: притянули защёлку вниз, серия импульсов на CLK- отправили данные на 595, потом защёлку вверх, дальше переключили вывод данных на вход, серия импульсов на CLK- приняли данные с 165, снова переключили вывод данных на вЫход, закончили упражнение. Получится трёхпроводная схема. Такой ещё не встречал, но стоит попробовать. Я подобным образом добавил на днях блок вывода светодиодной индикации через десятичный счётчик, не используя ни одного дополнительного пина (задействовал 2 пина, работающие с регистрами 165)
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
Принято, согласен, исправится в следующих версиях...
![Ха-ха-ха! :haha:](./images/smilies/ucoz_haha.gif)
Насчёт менять вход на выход - надо подумать, ведь вроде пинов уже хватает?
Отправлено спустя 4 минуты 37 секунд:
Посмотрел - это то, о чём я и писал выше - общий лишь CLK.
Отправлено спустя 2 минуты 9 секунд:
Надо подумать, что с чем можно менять...seri0shka писал(а): ↑15 мар 2018, 12:04А что если попробовать так: притянули защёлку вниз, серия импульсов на CLK- отправили данные на 595, потом защёлку вверх, дальше переключили вывод данных на вход, серия импульсов на CLK- приняли данные с 165, снова переключили вывод данных на вЫход, закончили упражнение. Получится трёхпроводная схема.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Пожалуй, погорячился я насчёт трёхпроводной схемы, там возникнут аппаратные проблемы при передаче данных и от 165, и к 595 (хотя их можно решить). А вот если использовать два пина данных, то четырёхпроводная схема вполне реализуема по вышеописанной технологии. На днях постараюсь попробовать реализовать четырёхпроводную схему.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
Если для входного, 165-го регистра передёргивание при работе на выход, на 595, до фонаря, то при работе на вход, момент срабатывания защёлки не особо - может защёлкнуть не то в 595. но не до конца додумал, так, рассуждения.
Вариант один: сначала работает выход, потом, при защёлкивании 595-го, этим же фронтом защёлкнуть 165-й... Но вариант распределённого по схеме универсального модуля входа -выхода как-бы улетучивается.
Приносим в жертву один пин и провод гибкости рисования...
Просто мысли вслух..
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
Почитал.Подумал.Вывод:
Не стоит минимизировать процессию.
Давайте отдельно расширение по входам и отдельно расширение по выходам.
Главное блоки с байтами и битами грамотно сделать.
А то борьба за 1-2 пина приведут к казусам и возможным проблемам в дальнейшем. Оно того не стОит.
Заранее благодарен Sancho за его работу нужную всем.
И отдельная просьба - оформить блок хорошо: структурно с описанием куда что и для чего. Лучше добавить лишние пару строк, чем скупиться на описание и заставлять рыть инет.
Не стоит минимизировать процессию.
Давайте отдельно расширение по входам и отдельно расширение по выходам.
Главное блоки с байтами и битами грамотно сделать.
А то борьба за 1-2 пина приведут к казусам и возможным проблемам в дальнейшем. Оно того не стОит.
Заранее благодарен Sancho за его работу нужную всем.
И отдельная просьба - оформить блок хорошо: структурно с описанием куда что и для чего. Лучше добавить лишние пару строк, чем скупиться на описание и заставлять рыть инет.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
Сначала потестите - нету такого железа, (правда 595 заказал - уж больно дёшево 32р за десяток с беспл. дост)
а потом оформится...
Ну что, приступим к 595-м.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Входной сдвиговый регистр 74HC165
Запрос на добавление этой микросхемы создавал еще на первом сайте (который самописный был), заявка была принята, но похоже отложена в долгий ящик...
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Проверил блоки 165_Byte_8_Bits (4 штуки)- работает
Отправлено спустя 2 минуты 7 секунд:
Ой, так много уже создано блоков, которые давно должны быть в "стандартных"...
Отправлено спустя 8 часов 28 минут 24 секунды:
Ура! Опробовал управление расширениями по 4 проводам! Регистры 74HC165-4 штуки, плюс 74HC595- 4 штуки работают нормально. Итого имеем 32 входа плюс 32 выхода, используя всего 4 пина. При этом никаких сбоев не видно (светодиоды очень хорошо отображают ложные импульсы, даже несколько миллисекунд импульса дают небольшую засветку не включённого светодиода, здесь такого не наблюдается). В коде тоже не вижу никаких моментов, где могли бы быть проблемы. Выкладываю блок на пробу, просьба отписаться о результатах применения. Блок легко масштабируется на другое количество как входных, так и выходных регистров, причём количество входных с количеством выходных никак не связаны. Если кто не может сам, могу изменить на нужное количество. Мой блок работает с байтами (мне так удобнее), байты в биты и обратно перевожу блоками Бороды 8_bit_to_byte и byte_to_8_bit, тоже прилагаю. Подробнейшее описание подключения в описании блока, пины можно настроить любые от 0 до 19 (то есть и аналоговые). [ref=#ff8000]Sancho[/ref], посмотрите код, какие будут замечания (да, знаю, что с функциями будет оптимальнее, но, во-первых, путаюсь я в них, а, во-вторых, без функций мы имеем строго определённый порядок выполнения программы без неожиданностей).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
Микросхемы мои еще в пути. По прибытию я еще проверю.
Вопросы:
1. По описанию автора: схему в этот раздел можно вставлять или только текст ?
2. Какое быстродействие у входов-выходов получается в миллисекундах ?
3. Как много блок забирает ресурсов у МК ? наверное в процентах или в сравнении с опросом аналоговых входов.
На днях проверял несколько блоков: LCD i2C + опрос 2-х аналоговых + серва + трансформатор тока. После подключения трансформаторного
блока программа стала отрабатываться с задержкой = 0.4сек. Поэтому входа-выхода актуальнее в плане времени обработки.
4. Имеет ли смысл сделать отключение опроса некоторых входов-выходов, для сбережения ресурсов, но только не так как выполнена инверсия
инверсия должна быть наглядно (инверсию надо у Бороды попросить).
5. Вопрос в целом по программе: если я ставлю блок пользователя то нужно ли мне в настройках выбирать входа и выхода на пинах или блок
это сам пропишет ?
Вопросы:
1. По описанию автора: схему в этот раздел можно вставлять или только текст ?
2. Какое быстродействие у входов-выходов получается в миллисекундах ?
3. Как много блок забирает ресурсов у МК ? наверное в процентах или в сравнении с опросом аналоговых входов.
На днях проверял несколько блоков: LCD i2C + опрос 2-х аналоговых + серва + трансформатор тока. После подключения трансформаторного
блока программа стала отрабатываться с задержкой = 0.4сек. Поэтому входа-выхода актуальнее в плане времени обработки.
4. Имеет ли смысл сделать отключение опроса некоторых входов-выходов, для сбережения ресурсов, но только не так как выполнена инверсия
инверсия должна быть наглядно (инверсию надо у Бороды попросить).
5. Вопрос в целом по программе: если я ставлю блок пользователя то нужно ли мне в настройках выбирать входа и выхода на пинах или блок
это сам пропишет ?
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
Это к кому?
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Входной сдвиговый регистр 74HC165
[ref=#ff8000]Sancho[/ref], Вопросы к автору. п.54
Отправлено спустя 2 часа 40 минут 28 секунд:
И еще один вопрос: может имеет смысл установить частоту опроса входов и частоту отработки сигналов на выходах ?
Наверняка если используются "расширители" то на входах как правило датчики (концевики) и кнопки, а на выходах реле, светодиоды и прочее. Т.е. не быстродействующие элементы. Для которых вполне достаточно скорости 0.1 сек. Это позволит не загружать работу контроллера на отработку логических элементов. Хотя я может и не прав. Но для вариаций можно сделать скорость отработки 0.01 сек ... 0.1 сек.
Отправлено спустя 2 часа 40 минут 28 секунд:
И еще один вопрос: может имеет смысл установить частоту опроса входов и частоту отработки сигналов на выходах ?
Наверняка если используются "расширители" то на входах как правило датчики (концевики) и кнопки, а на выходах реле, светодиоды и прочее. Т.е. не быстродействующие элементы. Для которых вполне достаточно скорости 0.1 сек. Это позволит не загружать работу контроллера на отработку логических элементов. Хотя я может и не прав. Но для вариаций можно сделать скорость отработки 0.01 сек ... 0.1 сек.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
На основе блока [ref]seri0shka[/ref], и моего предыдущего два варианта:
V1 быстрые пины, выбрать не получиться, зашиты в программу - замена корректировкой кода. По умолчанию как в стандартном, 2-ом.
V2 стандартные пины, можно выбрать любые, по умолчанию 12-15.
Скорость работы:
стандарт - блок и входы выходы - за 970 мкс
быстрый - блок и входы выходы - за 196 мкс
Размеры в приложенных файлах.
Файл "Исходный размер" - этот тара, её "вес" нужно вычесть из конечных цифр (брутто) - получим чистый вес блоков, нетто.
Есть вход разрешения работы( по просьбам)
Блоки входы и выходы можно располагать в произвольных местах, главное - смотреть номера регистров.
Просьба оценить.
20.57 Косяк со стандартными входами поправил, исправленый в файле Набор блоков 165 595.flp
Уже есть слегка облегчённый вариант, но надо эти потестить...
[spoiler] [/spoiler]
V1 быстрые пины, выбрать не получиться, зашиты в программу - замена корректировкой кода. По умолчанию как в стандартном, 2-ом.
V2 стандартные пины, можно выбрать любые, по умолчанию 12-15.
Скорость работы:
стандарт - блок и входы выходы - за 970 мкс
быстрый - блок и входы выходы - за 196 мкс
Размеры в приложенных файлах.
Файл "Исходный размер" - этот тара, её "вес" нужно вычесть из конечных цифр (брутто) - получим чистый вес блоков, нетто.
Есть вход разрешения работы( по просьбам)
Блоки входы и выходы можно располагать в произвольных местах, главное - смотреть номера регистров.
Просьба оценить.
20.57 Косяк со стандартными входами поправил, исправленый в файле Набор блоков 165 595.flp
Уже есть слегка облегчённый вариант, но надо эти потестить...
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- AlexCrane
- Капитан
- Сообщения: 900
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
Входной сдвиговый регистр 74HC165
[ref=#ff8000]Sancho[/ref], не пойму что-то, если v2 это стандартные входы и выходы, то почему без cyberlib'а не компилится, и в коде жестко прописано D14_Low; D14_High; хотя написано можно выбрать другие, странно как-то...
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Входной сдвиговый регистр 74HC165
[ref]AlexCrane[/ref], сейчас редактирую, ждите через часок
Отправлено спустя 23 минуты 48 секунд:
[ref]AlexCrane[/ref], отредактировал 5 блоков, попробуйте пока те, что без библиотеки. С библиотекой ещё нужно смотреть. Через час сам проверю в действии. Отправлено спустя 2 часа 1 минуту 7 секунд:
[ref=#ff8000]Sancho[/ref], огромное спасибо за проделанную работу, сделано довольно удобно для использования, особенно размещение в произвольном месте проекта. Блоки поправил (были нерабочие), добавил комментарии в коде для понимания работы. Проверил в действии. Теперь всё работает. Попрошу вас по той же технологии проверить скорость работы скоростного варианта при pauza=0. И перезалейте исправленный вариант. Прилагаю полностью исправленные Надо также исправить 165_Read_Byte_2 165_Read_Byte_3 165_Read_Byte_4
Отправлено спустя 6 минут 39 секунд:
Ещё одна особенность вылазит. Независимо от количества применённых регистров блок отрабатывает чтение четырёх байтов и запись четырёх байтов, с соответствующим временем цикла. Возможно, стоит в блок добавить два параметра пользователя, чтоб менять количество отрабатываемых чтений и записей. В стандартных некоторых можно менять количество входов или выходов, не знаю, возможно ли так в пользовательских.
Отправлено спустя 4 минуты 28 секунд:
[ref]KulibinOrsk[/ref],
Отправлено спустя 23 минуты 48 секунд:
[ref]AlexCrane[/ref], отредактировал 5 блоков, попробуйте пока те, что без библиотеки. С библиотекой ещё нужно смотреть. Через час сам проверю в действии. Отправлено спустя 2 часа 1 минуту 7 секунд:
[ref=#ff8000]Sancho[/ref], огромное спасибо за проделанную работу, сделано довольно удобно для использования, особенно размещение в произвольном месте проекта. Блоки поправил (были нерабочие), добавил комментарии в коде для понимания работы. Проверил в действии. Теперь всё работает. Попрошу вас по той же технологии проверить скорость работы скоростного варианта при pauza=0. И перезалейте исправленный вариант. Прилагаю полностью исправленные Надо также исправить 165_Read_Byte_2 165_Read_Byte_3 165_Read_Byte_4
Отправлено спустя 6 минут 39 секунд:
Ещё одна особенность вылазит. Независимо от количества применённых регистров блок отрабатывает чтение четырёх байтов и запись четырёх байтов, с соответствующим временем цикла. Возможно, стоит в блок добавить два параметра пользователя, чтоб менять количество отрабатываемых чтений и записей. В стандартных некоторых можно менять количество входов или выходов, не знаю, возможно ли так в пользовательских.
Отправлено спустя 4 минуты 28 секунд:
[ref]KulibinOrsk[/ref],
Теперь есть вход _EN_Work, туда можно подать разрешение хоть раз в час, соответственно обработка данных раз в час будет.KulibinOrsk писал(а): ↑18 мар 2018, 19:39Но для вариаций можно сделать скорость отработки 0.01 сек ... 0.1 сек.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
[ref]seri0shka[/ref],
Ответь мне, ПОЖАЛУЙСТА, почему, ты удаляешь строку PL High после записи 595??????????????
Это не правильно!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ЧИТАЙ ДАТАШИИТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Latch Clock (Pin 12)
Storage Latch Clock Input. A low−to−high transition on
this input latches the shift register data.
Что там происходит, если оставить как есть?
В приёмной части регистра данные висят, в первых восьми D- триггерах. По фронту на 12-м они записываются во вторые восемь, т.е на выходы.
Если этого не делать, то на выходах сигналы появятся только с началом следующего цикла, когда начнёт работать часть, относящаяся к 165.
А в теле программы может быть и несколько датчиков влажности, температуры, дисплеи и т.д., а мы всё ждём, где сигнал на выходе....
Надоело читать - исправил, без аргументов, как те англичане сейчас....
Вариант на 4 входных и выходных. Версия 2.
С настройкой необходимого количества регистров будут, но позже- нужно разобраться - как есть сейчас работают или нет???
Ответь мне, ПОЖАЛУЙСТА, почему, ты удаляешь строку PL High после записи 595??????????????
Это не правильно!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ЧИТАЙ ДАТАШИИТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Latch Clock (Pin 12)
Storage Latch Clock Input. A low−to−high transition on
this input latches the shift register data.
Что там происходит, если оставить как есть?
В приёмной части регистра данные висят, в первых восьми D- триггерах. По фронту на 12-м они записываются во вторые восемь, т.е на выходы.
Если этого не делать, то на выходах сигналы появятся только с началом следующего цикла, когда начнёт работать часть, относящаяся к 165.
А в теле программы может быть и несколько датчиков влажности, температуры, дисплеи и т.д., а мы всё ждём, где сигнал на выходе....
Надоело читать - исправил, без аргументов, как те англичане сейчас....
Вариант на 4 входных и выходных. Версия 2.
С настройкой необходимого количества регистров будут, но позже- нужно разобраться - как есть сейчас работают или нет???
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Контактная информация:
Входной сдвиговый регистр 74HC165
Наверно, последнее моё творчество с 165 и 595-ми.
Версия с основными блоками и блоками входов/выходов, несовместима с предыдущими.
Важно помнить нумерацию:
Для входных, 165-х, номер 1 у блока обозначает ближайший к месту подключения цепочки микрух к мк, т.е. порядок от мк.
Для выходов, 595-х, номер блока 1 обозначает самый дальний от мк, т.е. для него надо загнать первым инфу, и прогнать через все, поэтому порядок - к мк.
На это хотелось обратить внимание для понимания нумерации, остальное в описании.
Надеюсь, [ref]seri0shka[/ref] доведёт до ума и блоки и описание и оформит после тестов как положено в "Пользовательских" блоках.
Блоки добавляют веса программе:
V2, стандартные, настраиваемые пины, 6 блоков входных и 6 выходных - 830 байт, время выполнения 1450 мкс;
V1, быстрые, изменяемые только правкой кода, тот-же набор по 6 штук - 400 байт, время выполнения 230 мкс.
На сим здесь( в теме) до-свидания, я старался.
Версия с основными блоками и блоками входов/выходов, несовместима с предыдущими.
Важно помнить нумерацию:
Для входных, 165-х, номер 1 у блока обозначает ближайший к месту подключения цепочки микрух к мк, т.е. порядок от мк.
Для выходов, 595-х, номер блока 1 обозначает самый дальний от мк, т.е. для него надо загнать первым инфу, и прогнать через все, поэтому порядок - к мк.
На это хотелось обратить внимание для понимания нумерации, остальное в описании.
Надеюсь, [ref]seri0shka[/ref] доведёт до ума и блоки и описание и оформит после тестов как положено в "Пользовательских" блоках.
Блоки добавляют веса программе:
V2, стандартные, настраиваемые пины, 6 блоков входных и 6 выходных - 830 байт, время выполнения 1450 мкс;
V1, быстрые, изменяемые только правкой кода, тот-же набор по 6 штук - 400 байт, время выполнения 230 мкс.
На сим здесь( в теме) до-свидания, я старался.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей