Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

Непонятные функции сдвигового регистра SN74HC595N

Вс дек 13, 2020 23:11:51

Доброго времени суток, радиолюбители и профессионалы. У меня небольшая проблемка, а именно непонимание некоторых функций сдвигового регистра модели SN74HC595N.
К сообщению прикреплён pdf даташит на Английском языке. В нём описаны такие непонятные мне функции, как SRCLK и RCLK.
Хоть в английском не полный дурак, но не пойму при чём тут часы, а если это тактовая частота, то при чём тут она?
Объясните неучу, пожалуйста.

P.S. не уверен что создал тему в нужном разделе, админ извини, если что.
Изображение
картинка
Вложения
DOC000204453.pdf
(656.54 KiB) Скачиваний: 149

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн дек 14, 2020 14:09:45

По сигналу SRCLK данные записываются в "первый регистр" (сдвигаются), по сигналу RCLK принятые в "первый регистр" данные перезаписываются в выходной регистр и если разрешен вывод, то эти данные появляются на шине вне микросхемы

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн дек 14, 2020 15:50:18

По сигналу SRCLK данные записываются в "первый регистр" (сдвигаются), по сигналу RCLK принятые в "первый регистр" данные перезаписываются в выходной регистр и если разрешен вывод, то эти данные появляются на шине вне микросхемы


Тоесть это просто спец. функции, и для того чтобы просто писать данные в сдвиговый регистр последовательно, со стандартным сдвигом, можно просто подавать сигналы на SER, а RCLK и SRCLK просто не трогать? Я правильно понял?

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн дек 14, 2020 16:24:22

Тоесть это просто спец. функции, и для того чтобы просто писать данные в сдвиговый регистр последовательно, со стандартным сдвигом, можно просто подавать сигналы на SER, а RCLK и SRCLK просто не трогать? Я правильно понял?

Нет, неправильно.. Это УПРАВЛЕНИЕ РЕГИСТРОМ
Вот таблица:

Какой- то у вас даташит странный.. :dont_know: Хотя в чипдипе он же.. :dont_know:
Вот тут:
https://www.rlocman.ru/shem/schematics.html?di=65110
вроде неплохо описана работа этого регистра

SRCLK передвигает данные, поступающие на вход регистра (SER) по каждому "клоку" на один шаг, а RCLK передаёт данные (в том состоянии, в котором они находятся на этот момент времени) из самого регистра на выходы.

Если вы умеете пользоваться протеусом, то там можно посмотреть, что происходит с регистром в "типа ручном управлении".. :)))

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн дек 14, 2020 16:51:33

То есть это просто спец. функции

Любой SPI в общем случае имеет ЧЕТЫРЕ сигнала. Два - это данные (входные и выходные). Один - клоки мастера (сдвигающее тактирование). И еще один - чип селект. Последний сигнал не препятствует сдвигу. Он перезаписывает ПО ЗАДНЕМУ фронту данные из сдвигового регистра на выход или в исполнительный регистр микросхемы-слейва SPI шины. Без перезаписи данные просто будут проталкиваться на выход самого SPI клоками мастера.

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн дек 14, 2020 17:30:04

Благодарю, ознакомлюсь. Дело в том, что мне нужно с микроконтроллера посылать байт информации на сдвиговый регистр, откуда сигналы пойдут на сборку дарлингтона для включения нужных сегментов ВЛИ. Вот и пытаюсь понять куда байты загружать... Тоесть без перезаписи данные просто будут заменятся новыми? Если так, то так и нужно!

Добавлено after 10 minutes 59 seconds:
ПОНЯЛ! Это что-то вроде "Защёлки"(RCLK) а SRCLK это передвигает данные?

Код:
 // отправляем в цикле по два байта в сдвиговые регистры
  for(byte i = 0; i <= 3; i++){
    digitalWrite(RCLK, LOW); // открываем защелку
      shiftOut(DIO, SCLK, MSBFIRST, digit[digitBuffer[i]]);  // отправляем байт с "числом"
      shiftOut(DIO, SCLK, MSBFIRST, chr[i]);   // включаем разряд
    digitalWrite(RCLK, HIGH); // защелкиваем регистры
    delay(1); // ждем немного перед отправкой следующего "числа"
  } 
}


Добавлено after 13 minutes 14 seconds:
Meteor, КРАМ, АлександрЛ, Спасибо огромное! С наступающим!

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн янв 11, 2021 20:28:31

Доброго времени суток.
Есть неплохая библиотека для работы со сдвиговым регистром 74HC595
shiftreg.cpp
shiftreg.h
macros.h
main.cpp
Собрал схемку в протеусе, проверил, работает. Это просто счетчик импульсов на ATiny85 с выводом значений на семисегментные индикаторы.
Мой проект в рамках самообразования (код черновик).
Но я решил пойти несколько дальше, т.к. непосредственно на 74HC595 много
не подключить, по току есть ограничения. Конечно выручит ULN2803A.
https://www.chipdip.ru/product/uln2803a-stm
Матрица из восьми транзисторов Дарлингтона, 500мА, 50В.
Однако есть сдвиговые регистры уже с силовыми ключами - TPIC6C595N напр.
Описаний его и поделок, тем более библиотек - не много, и то все ардуиновские.
С ардуино особо не дружу - предпочитаю чистый C/C++ и голый МК.
http://labdegaragem.com/forum/topics/pl ... t%3A644315
У меня есть намерение что-нибудь сделать на этом регистре. Ну там бегущие поворотники, да мало ли чего.
Наброски кода уже есть, но вот в протеусе подходящей модели не нашел. Начал лепить
этот регистр из примитивов. И на этом дело остановилось. Может быть кто подскажет
чем можно заменить TPIC6C595N в протеусе или как синтезировать сей девайс.
(Здесь Datasheet на TPIC6C595N)
https://www.chipdip.ru/product/tpic6c595n
Вложения
TPIC6C595-0.png
Начало есть, а что дальше пока не знаю.
(12.73 KiB) Скачиваний: 55
TPIC6C595.png
(36.43 KiB) Скачиваний: 50
2021-01-11_202651.png
(44.14 KiB) Скачиваний: 56

Re: Непонятные функции сдвигового регистра SN74HC595N

Пн янв 11, 2021 23:13:31

Если сравнить эти микросхемы (74HC595 и TPIC6C595) в представлении стандарта " IEC logic symbol" то "функционально" они одинаковы, и, скорее всего, для TPIC6C595 можно попробовать использовать библиотеку для 74HC595 , а в протеусе просто поставить 74HC595.. :dont_know:
С учётом того, что у них нумерация выводов не совпадает..

Re: Непонятные функции сдвигового регистра SN74HC595N

Вт янв 12, 2021 04:08:29

если ТС работать с ВЛИ то пока не позно меняй регистр на sn75518
Изображение
тогда тебеж не нужны будут ВВ ключи
все равно код ПОКА не написан пиши сразу под него

Добавлено after 4 minutes 36 seconds:
strobe там заточен на АРЯ можно не применять подаф 0

Re: Непонятные функции сдвигового регистра SN74HC595N

Вс янв 17, 2021 16:56:23

Здравствуйте уважаемые коты. Коли здесь упоминается о сдвиговом регистре 74HC595, то за вечерок (дело было вечером - делать было нечего) я написал некоторую реализацию его применения в связке с матрицей из восьми транзисторов Дарлингтона - ULN2803A. Среда разработки AtmelStudio, MCU Attiny13. Назвал это дело "Веселый стоп-сигнал" и "Веселый поворотник". Может быть себе на мотоцикл приколхозю. Код на Си. Дополнительно решил разобраться как правильно укладывать микроконтроллер спать и как его будить. Электроэнергию надо экономить. Для "помигать светодиодами" счел целесообразным снизить частоту до 128 kHz, ну и поиграть с единственным таймером на Attiny13. Это регистры OCR0A/TCCR0B (Output Compare Register и Timer/Counter Control Register). Просимулировал в протеусе - вроде как фурычит.
Стоп-сигнал
Сигнал поворотника
Отличие одного кода от другого лишь в логике организации беготни светодиодных огоньков. Кроме того, функции сдвигового регистра не предусматривают возможности каскадирования.
Вложения
Cheerful_stop_signal-2.gif
Стоп-сигнал в протеусе
(165.58 KiB) Скачиваний: 51
Cheerful_turn_signal.gif
Поворотник в протеусе
(157.8 KiB) Скачиваний: 48

Re: Непонятные функции сдвигового регистра SN74HC595N

Сб янв 23, 2021 15:25:20

Эйлер Леонард, зачем такие адские задержки? Тинька 595-й по скорости не "пробьёт". И вот такой алгоритм будет компактней и быстрей. Для тиньки это актуально.
Код:
void HC595Write(uint8_t data)
{
  for (uint8_t mask=0x80; mask; )
  {
    if(data & mask) DATA=1; else DATA=0;
    mask>>=1;
    CLK=1; CLK=0;
  } 
  LE=1;
  LE=0;
}
Ответить