Например TDA7294

Форум РадиоКот • Просмотр темы - Инициализировать регистр 74HC595N
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт фев 13, 2026 08:43:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 42 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вт фев 02, 2021 23:25:01 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Задача такая:

1. У нас есть сдвиговый регистр 74HC595N. Этот регистр зациклен сам на себя, то есть по сигналу тактового генератора гоняет по кругу некий 8-битный набор.
2. В качестве тактового генератора используется генератор прямоугольных импульсов на базе 555 таймера.

Теоретически битовый набор в регистре может быть любым. Но хотелось бы чтобы при подаче питания значение в регистре инициализировалось одинокой единицей. То есть чтобы "по умолчанию" после включения питания регистр сразу начинал гонять по кругу одинокую единицу.

Как проще всего сделать такую инициализацию для 74HC595N?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Чт фев 04, 2021 19:36:20 
Друг Кота

Карма: -8
Рейтинг сообщений: 15
Зарегистрирован: Вс июл 24, 2011 11:38:09
Сообщений: 7634
Рейтинг сообщения: 0
Проще всего взять МК и выкинуть регистр, будут схема проще и на одной детале.
А то бы все уже сделали такую штуковину чтоб 1307 заставить секундным генератором вроде ИЕ5 и ставили бы в часики на рассыпуху. Но чтото пока никто не смог, и все собирают на МК.

Деталюшек надо не меньше чем логики в самом 595.
Подтянуть входы к нулю что уже не правильно.
И сделать логику установки единицы с последующей записью и рабочим режимом, и логику отвязки что регистр продолжить работать как обычный, отключающий первый костыль до отключения питания


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 05, 2021 10:57:40 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1502
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15453
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
595й для таких целей не подходит.
Для предварительной инициализации произвольным кодом нужен комбинированный регистр с возможностью параллельной записи данных. что-то похожее на К176ИР6 (IW4034B http://tec.org.ru/_bd/35/3572_IW4034Be.pdf ).
Но там на "рассыпухе" придется потрудиться с автоматом управления (или МК ставить).
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 05, 2021 11:45:51 
Друг Кота
Аватар пользователя

Карма: 123
Рейтинг сообщений: 7958
Зарегистрирован: Сб сен 13, 2014 16:27:32
Сообщений: 39197
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
некогда делал автмат светоэфектоф на 74хх175 куча редимоф была

_________________
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 05, 2021 20:47:50 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
Изображение

После первого такта должна появится 1.

Схему не делал


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 05, 2021 23:14:38 
Друг Кота
Аватар пользователя

Карма: 197
Рейтинг сообщений: 8630
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 43467
Откуда: Нерезиновая
Рейтинг сообщения: 0
Но хотелось бы чтобы при подаче питания значение в регистре инициализировалось одинокой единицей. То есть чтобы "по умолчанию" после включения питания регистр сразу начинал гонять по кругу одинокую единицу.

Как проще всего сделать такую инициализацию для 74HC595N?

Вложение:
Бегущий огонь.png [65.71 KiB]
Скачиваний: 122

Файл протеуса:
Вложение:
Бегущий огонь.zip [14.55 KiB]
Скачиваний: 139

Недостаток этой ПРОСТЕЙШЕЙ схемы - необходимость подбора параметров цепочки R4 C2 в зависимости от частоты, вырабатываемой 555 таймером- если длительность "установочного импульса" будет малой- то ничего не побежит, а, если большой- то побежит две звёздочки, или три звёздочки.. Лучше всего, конечно, пять звёздочек.... :))) :))) :))) :)))
Спойлер


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 10:44:44 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Недостаток этой ПРОСТЕЙШЕЙ схемы - необходимость подбора параметров цепочки R4 C2 в зависимости от частоты, вырабатываемой 555 таймером- если длительность "установочного импульса" будет малой- то ничего не побежит, а, если большой- то побежит две звёздочки, или три звёздочки.. Лучше всего, конечно, пять звёздочек.... :))) :))) :))) :)))


Я соорудил нечто более навороченное с теми же недостатками :)

Для начала я собрал комбинацию из двух резисторов, двух конденсаторов и диода для генерации аналогового V-образного сигнала, который проваливается ниже 1/3 Vcc, как показано здесь.

Эта аналоговая "галочка" идет на входы двух 555, сконфигурированных в одновибраторы: короткий импульс и длинный импульс. Выход первого одновибратора (короткий) через инвертер подается на вход SRCLR регистра - это начальная очистка регистра после включения питания.

Второй одновибратор (длинный) генерирует более длительный импульс, который подается на вход данных SER регистра. Этот импульс должен призван "накрыть" ровно один положительный фронт тактового генератора (после отработки очистки) - это будет наша единственная входящая единица.

После подбора номиналов получаем

Изображение

- Аналоговый V-образный сигнал
- Выход 555, обеспечивающего SRCLR (до инвертера)
- Выход 555, обеспечивающего единицу на SER
- Выход 555, генерирующего тактовые импульсы для регистра

Как видите, малиновый SER импульс накрывает только один фронт синих тактовых импульсов после отработки голубого SRCLR импульса. Хотя надо сделать малиновый покороче, ибо может накрыть и два.

Все это, конечно, громоздко и шатко-валко. И не работает, пока конденсаторы не разрядятся после отключения питания. Но тем не менее...

Вложение:
DS1Z_QuickPrint1.png [46.07 KiB]
Скачиваний: 533


---

После первого такта должна появится 1.


Хм... Замысел понял. Надо попробовать!

...

Работает отлично! С тем только незначительным замечанием, что каждый цикл "по 8" она пропускает один такт: проводит его в полностью выключенном состоянии. То есть если частота тактового генератора равна 72Гц, то каждый диод будет мерцать с частотой 8 Гц, а не 9 Гц.

Однако если на D завести данные как с инвертера, так и с RQ7 через диоды (добавив на D pull-down резистор), то эффект пропущенного такта исчезнет.


Последний раз редактировалось KorbenDallas Пт фев 12, 2021 23:31:24, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 14:41:55 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
KorbenDallas писал(а):
полностью выключенном состоянии.


Странно. Z состояние должно получаться только при подаче 1 на вх. ОЕ. ????

Но Вы нашли решение. Поздравляю.

Я схему не делал, но здесь можно получать и другие "заполнения" регистра. Только время "установки" не будет 1 такт. а больше


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 19:53:26 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
KorbenDallas писал(а):
полностью выключенном состоянии.


Странно. Z состояние должно получаться только при подаче 1 на вх. ОЕ. ????


А при чем здесь Z состояние?

Ваша схема изначально не использует выход переноса RQ7. Вместо этого она ждет, пока все выходы погаснут, и в ответ снова генерирует единицу на входе D. Именно это и требует один такт "темноты" на всех входах в конце каждого "пробега". То есть, образно выражаясь, ваша схема не гоняет одну и ту же единицу по кругу, а прогоняет единицу через все разряды, а затем "рожает" совершенно новую единицу на входе D с другой стороны :)

Если же аккуратно зациклить RQ7 на D, то тогда единицу ваш инвертер будет генерировать только один раз: на этапе инициализации. А далее уже она сама будет вечно бегать по кругу, без этапа "темноты".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 20:58:28 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
Полностью выключенное состояние - это и есть Z

Сколько диода Вы соединили к выходами 7 или 8?
Логика такая - если на каком-то выходе (Q0-Q6) есть 1 то на входе D присуствует 0
Если на все с Q0 до Q6 есть 0 то на входе Д - 1.
Mы выход Q7 не обхватываем цепью ОС

Да ладно. Важно, что схема работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 21:22:30 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Сколько диода Вы соединили к выходами 7 или 8?
Логика такая - если на каком-то выходе (Q0-Q6) есть 1 то на входе D присуствует 0
Если на все с Q0 до Q6 есть 0 то на входе Д - 1.
Mы выход Q7 не обхватываем цепью ОС


А, вот оно что! Этот момент я не разглядел в вашей схеме. Да, конечно, если Q7 исключить из ОС, то фактически мы получим "генератор переноса на один такт раньше". Тогда действительно "темный" такт пропадет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 21:37:08 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
Если мы подсоединим (скажем) только диоды к Q0,Q1,Q2,Q3 то мы получим заполнение 00001111
если к Q0, Q2, Q4, Q6 01010101
и т.д. как захотим

Плата за это - время "установки" первого набора - до 8 такта


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Пт фев 12, 2021 23:50:58 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Полностью выключенное состояние - это и есть Z


Я, видимо, неправильно выразился терминологически. Под "полностью выключенным состоянием" я имел в виду состояние Q0=Q1=...=Q7=0, то есть логические нули на всех Q-выходах, а не состояние hi-Z на всех выходах.

Конечно, состояние hi-Z можно получить только единицей на OE, но я вел речь не об этом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Сб фев 13, 2021 12:20:52 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1502
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15453
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
У 595 нет вывода обнуления содержимого (ни для накопительной части ни для сдвигового регистра).
Там единственно возможное решение Z-состояние до первой загрузки последовательного регистра и последующей перезаписи содержимого в параллельный.
А это уже на простой логике делать сложно - надо дать серию тактовых импульсов при 0 на входе, затем один для перезаписи содержимого. Это уже счетчики, дешифраторы, схемы совпадения, дополнительная шина начального сброса при подаче питания.
Вобщем - сделать можно... особо в учебных целях хорошая практика.
Однако городушка минимум в десяток корпусов будет.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Сб фев 13, 2021 14:00:05 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
BOB51 писал(а):
У 595 нет вывода обнуления содержимого (ни для накопительной части ни для сдвигового регистра).


Гады! И когда успели убрать обнуление сдвиг. регистра?

BOB51 писал(а):
Там единственно возможное решение Z-состояние до первой загрузки последовательного регистра и последующей перезаписи содержимого в параллельный.

Вы о чем?

BOB51 писал(а):
Однако городушка минимум в десяток корпусов будет.

Прочитайте что требовал ТС и посмотрите на схему.

KorbenDallas писал(а):
неправильно выразился терминологически.

Для выхода с Z state есть три состояния
0 - Lo
1 - Hi
Z - выключ.
Я понял о чем Вы, но если Вы скажете так препода он (как я) станет придираться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вс фев 14, 2021 11:27:06 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Всем прекрасна реализация diplodok, но.. Но вот захотелось мне теперь, чтобы выходные импульсы на восьми выходах в совокупности не сливались в "сплошной забор", а оставляли относительно небольшие промежутки между "штакетинами". Надеюсь, понятно, что я имею в виду. То есть после исчезновения логической 1 на выходе Q0 логическая 1 на выходе Q1 должна появляться не сразу, а по прошествии какого-то короткого времени. То есть, скажем, 90% времени на одном из выходов присутствует логическая 1, а 10% времени все выходы равны 0.

Тут заманчиво было бы использовать вход OE, от того же тактового генератора, который движет наш регистр. Сделать коэффициент заполнения на тактовом генераторе 90%, получить с инвертера коэффициент заполнения 10% и пустить этот сигнал на OE. Но в реализации diplodok такой номер не пройдет по очевидным причинам: как только все выходы падают в 0, срабатывает диодный "детектор нулей" и запускает на вход регистра очередную единицу. А это нас совершенно не устраивает...

Очевидное альтернативное решение: реализовать все в самый последний момент перед выходом, то есть пропустить все выходы через ANDы или NANDы, которые будут глушить все выходы по сигналу с того же тактового генератора. Но для этого понадобятся 8 дополнительных логических вентилей и разводка для них. Громоздко...

Более остроумный вариант: посылаем единицу на OE и одновременно подавляем единицу с диодного детектора нулей... Понадобится один дополнительный вентиль... Надо попробовать. Тут, наверное, запросто можно влететь в проблемы с таймингом. Нет, не пойдет. Оно ведь будет давить и ту единицу, которая нам нужна... Ужос.

Добавлено after 2 hours 10 minutes 26 seconds:
Лобовой вариант с восемью дополнительными вентилями AND на выходе дает желаемый результат

Изображение

Четыре соседних выхода из восьми

Изображение


Вложения:
DS1Z_QuickPrint2.png [40.33 KiB]
Скачиваний: 386
DSC_0007.JPG [192.78 KiB]
Скачиваний: 373
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вс фев 14, 2021 13:39:55 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
KorbenDallas писал(а):
Тут заманчиво было бы использовать вход OE, ..... . Но в реализации diplodok такой номер не пройдет по очевидным причинам: как только все выходы падают в 0, срабатывает диодный "детектор нулей" и запускает на вход регистра очередную единицу. А это нас совершенно не устраивает...


Состояние на вход D регистра важно только в момент положителного фронта на вход CK - такт сдвиг. регистра. Таким образом если после фронта пустим на вход ОЕ короткий импульс то выходы "уйдут" в Z.
Изображение

Добавлено C2, R3. U2c, U2d - они формируют короткая 1 на вход ОЕ.

Опасность в тем, что выходы переключаются в Z состояния. Отсюда следует - последующие каскады должны оберегать себе от неподключенных входов. В идеале - каждый выход (Q0-Q6) должен быть притянуть к земле сопр. 10-100К

PS:
Можно отказаться от U2c, U2d. На вход ОЕ есть инвертор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вс фев 14, 2021 20:03:16 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: -1
Зарегистрирован: Пн окт 31, 2016 06:23:19
Сообщений: 93
Рейтинг сообщения: 0
Состояние на вход D регистра важно только в момент положителного фронта на вход CK - такт сдвиг. регистра. Таким образом если после фронта пустим на вход ОЕ короткий импульс то выходы "уйдут" в Z.



Так а что в этой схеме обеспечивает то, чтобы импульс на OE пришел после фронта? Откуда возьмется "после"? Задержка инвертерами?

И если импульс на OE действительно придет после фронта, то где гарантия, что состояние Z не "разрубит" уже присутствующую единицу на одном из выходов на манер: 1zzz1111111?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вс фев 14, 2021 21:22:36 
Говорящий с текстолитом

Карма: 11
Рейтинг сообщений: 94
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1678
Откуда: поселок Мелеуз
Рейтинг сообщения: 0
дессартация наверно,,,


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Инициализировать регистр 74HC595N
СообщениеДобавлено: Вс фев 14, 2021 21:30:54 
Говорящий с текстолитом

Карма: 20
Рейтинг сообщений: 513
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1692
Рейтинг сообщения: 0
Как работает схема:
1. при включение C1R2 обнуляют регистр
- на вход D появляется 1 - с условием - читай ниже

2. Tакт (восходящий фронт) "принимает" инфо с входа D и сдвигает содер. вправо
3. На вход ОЕ появляется короткая 1. Выход в Z.
4. заканчиваем такт (падающий фронт) - перебрасываем инфо с сдвигового регистра в выходного регистра.
5. Формируется сигнал для входа D
6.повторяем с пункта 2

Видим, что нигде нет колизий

Таким образом мое выражение "после фронта" не имеет смысла - извини.

Но (усмотрел другое):
После пункта 1 на выходе мы может получить что угодно (0 или 1). Мы обнуляем только сдвиг. регистра, но не и вых регистра.
Таким образом состояние 10000000 можно не получится после первого такта. Макс время установки (в 10000000) будет 2 такта.

PS: Желателно чтобы тактовый начинался с падающий (отриц) фронт - переброска с сдвиг рег в вых. рег. Тогда все будет как надо.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Popesych и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y