Привет.
Во тут понадобилось сделать некоторое количество входов-выходов (24 на 24) на одном устройстве. ног у МК столько нет. решил использовать HC597 + HC595.
с выходами все отлично работают как нужно, а вот со входами не все ладно.
обе микросхемы управляются 3-мя линиями (данные, клок, защелка).
на 597 линия SLOAD (13 вывод) подключена жестко к земле (т.е. всегда в активном состоянии).
управляемая только линия RCK (12 вывод).
логика работы: даем пульс на RCK, чем сохраняем данные в параллельном регистре и оттуда они сразу идут в последовательный в виду того что SLOAD всегда в активном состоянии.
потом даем клок и читаем данные.
но что то не читается ничего. может я не прав что подключил SLOAD жестко и оставил этот вывод без управления?
может кто прольет свет.
Сдвиговый регистр HC597.
- koyodza
- Собутыльник Кота
- Сообщения: 2623
- Зарегистрирован: Вс июл 17, 2011 11:51:52
- Контактная информация:
Re: Сдвиговый регистр HC597.
eXeC001er писал(а):обе микросхемы управляются 3-мя линиями (данные, клок, защелка).
на 597 линия SLOAD (13 вывод) подключена жестко к земле (т.е. всегда в активном состоянии).
управляемая только линия RCK (12 вывод).
логика работы: даем пульс на RCK, чем сохраняем данные в параллельном регистре и оттуда они сразу идут в последовательный в виду того что SLOAD всегда в активном состоянии.
потом даем клок и читаем данные.
но что то не читается ничего. может я не прав что подключил SLOAD жестко и оставил этот вывод без управления?
Сам спросил - сам ответил
У него асинхронная параллельная загрузка, т.е. пока на выв.13 низкий уровень, сдвиг не происходит.
Вообще для входов обычно удобнее использовать не 74597, а 74165
http://www.ti.com/lit/ds/symlink/sn74hc165.pdf
Re: Сдвиговый регистр HC597.
да спасибо. набрел на похожий ответ в другом месте. надо будет покурить логическую схему для окончательного понимания почему так.
в том же месте нашел решение что можно соединить 12 и 13 и управлять следующим образом: исходное состояние "1", потом даем "0" чем перегоняем данные в выходной сдвиговый регистр и потом возвращаемся в "1".
но здесь стоит наверное знать что данные которые получены на текущем шаге управления являются как бы данными с предыдущего шага, в виду того что новые данные защелкиваются по переходу в "1". но возможно в большинстве случаем это не сильно мешает.
касательно 165 серии возможно удобнее, но ИМХО 597 удобнее в виду более нормального расположения выводов входного регистра, да и при применении описанного способа управления еще одна не нужна доп. нога.
в общем сейчас все работает как описано выше.
в том же месте нашел решение что можно соединить 12 и 13 и управлять следующим образом: исходное состояние "1", потом даем "0" чем перегоняем данные в выходной сдвиговый регистр и потом возвращаемся в "1".
но здесь стоит наверное знать что данные которые получены на текущем шаге управления являются как бы данными с предыдущего шага, в виду того что новые данные защелкиваются по переходу в "1". но возможно в большинстве случаем это не сильно мешает.
касательно 165 серии возможно удобнее, но ИМХО 597 удобнее в виду более нормального расположения выводов входного регистра, да и при применении описанного способа управления еще одна не нужна доп. нога.
в общем сейчас все работает как описано выше.