Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

TTL и CMOS логика Цифровая схемотехника на логических микросхемах. Счетчики, сдвиговые регистры, простая логика...

 
Опции темы

Застрял с 74hc595

Непрочитано 16.02.2010, 02:36  
osetroff
Частый гость
 
Регистрация: 01.05.2008
Сообщений: 19
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
osetroff на пути к лучшему
По умолчанию Застрял с 74hc595

здравствуйте,
никак не подружусь с 74hc595 :(


что имею:

1)роутер асус с linux на борту,

2)желание получать информацию с датчиков (например, температуры ds1621) и управлять устройствами (например, включать и выключать телефон, через который роутер выходит в интернет)

3)Usb to com переходник на pl2303 (фактически разобранный шнур dcu-510
для телефона siemens),

4)несколько оптронов 4n35 для развязки,

5)несколько микросхем serial to parallel 74hc595.



что сделал:

могу из linux сигналами DTR и RTS управлять двумя оптронами.
третий оптрон управляется TX, который не удается перманентно выставить в низкий уровень. но, передавая на TX непрерывно, напряжение на нем падает, следовательно, оптрон тоже будет срабатывать.

через оптроны, получаю в linux информацию с DCD,DSR и CTS (на него через оптрон вывел с apc ups сигнал "ups питается от батареи" и теперь роутер отсылает мне на сотовый смс, что дома отключено электричество).
RI на pl2303 почему-то не работает, RX пока не придумал как использовать.


вопрос:

как подключить 74hc595 к этим трем оптронам (DTR, RTS и странному TX),
чтобы можно было последовательно занести байт в shift регистр, а потом вывести его на ноги Q0..Q7?
думал просто должно быть, а вот два дня убил - не работает 74hc595 :(
с ds1621 и то быстрее разобрался.

мне мешает то, что по непонятной причине светодиод, подключенный к Q0 то горит, то гаснет.
недавно понял, что, наверное, помеха.

значит, надо менять алгоритм работы с 74hc595 и в основном на SHcp (shift reg clock) и STcp (storage reg clock) держать высокий уровень, чтобы не ловить помеху?

много вариантов пробовал - уже запутался.
вручную пробовал по даташиту reset (оторвал MR от VCC и подал VCC на STcp) - получилось - микросхема сбрасывает shift и storage регистр в 0 и светодиод гаснет.

по сигналам:

Ds (serial data) соединяю с оптроном от RTS.
STcp (storage reg clock) соединяю с оптроном от DTR.
SHcp (shift reg clock) соединяю с оптроном, работающим от сигнала TX.
OE (output enable) напрямую к VCC , т.е. по высокому фронту на STcp данные из shift регистра попадают в storage регистр и тут же появляются на Q0..Q7, я правильно понимаю?
MR напрямую к GND.
на Q0 вешаю светодиод для контроля.

при включении usb to com с pl2303, на RTS, DTR и TX высокие уровни, соответственно, оптроны срабатывают и на Ds,SHcp,Stcp тоже высокие уровни.

никакой обвязки нет.
питание 4.8V от 4х NiMh аккумуляторов типа AA.

алгоритм посылки байта такой:

STcp (DTR) -› low (низкий);
цикл по битам с 7го до 0го{
бит -› Ds (RTS).
пауза (какая?)
255-›SHcp (TX).
пауза (какая?)
}
STcp (DTR) -› high (высокий).

в чем я не прав?

спасибо.
Реклама:
osetroff вне форума  
Непрочитано 16.02.2010, 17:30  
E97
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
E97 на пути к лучшему
По умолчанию Re: застрял с 74hc595

Как я понял с мануэля алгоритм работы, для вывода на Q0..Q7 регистра такой:
1 1-› OE
2 Выставить в DS байт 7
3 строб 1,0 -› SH_CP
4 строб 1,0 -› ST_CP
5 повтор пунктов 2,3,4 для 6..0 байт
6 0 -› OE

И тут загвоздка, нужно 4 сигнала для управления.
Пошаманить можно, но не нужно, лучше взять другой сдвиговый регистр.
А еше лутше взять МК ATtiny2313 например.
E97 вне форума  
Непрочитано 16.02.2010, 22:39  
osetroff
Частый гость
 
Регистрация: 01.05.2008
Сообщений: 19
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
osetroff на пути к лучшему
По умолчанию Re: застрял с 74hc595

а разве STcp не один раз нужен, в конце передачи байта, чтобы фактически скопировать shift в storage?

при OE high по даташиту обнуляется и shift регистр и выходы Q0..Q7 (идут в OFF) - у меня при этом диод гаснет.
это значит, на выходах Q0..Q7 пропадут уровни.

а смысл в том, чтобы задвинуть новое значение в shift и потом разом поменять Q0..Q7.

а если объединить SH_CP и ST_CP?
вроде в даташите об этом сказано:
"If both clocks are connected together, the shift
register will always be one clock pulse ahead of the
storage register." - если они соединены вместе, shift регистр будет на 1 clock импульс раньше, чем storage.
osetroff вне форума  
Непрочитано 16.02.2010, 23:42  
E97
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
E97 на пути к лучшему
По умолчанию Re: застрял с 74hc595

Сообщение от osetroff Посмотреть сообщение
а если объединить SH_CP и ST_CP?
Ну если в даташите написано то можно. Я пробовал в протеусе побаловатся, то при обединении SH_CP и ST_CP у меня регистр за один строб смещался на два байта, возможно глюк, не буду утверждать.
Я думаю в качестве стороба использовать TX.
Перевод сигнала OE в высокий уровень переводит выходы Q0..Q7,Q7' в Z состояние.
При этом регистр не сбрасывается, просто выходы отключаются.
Если не переводить выходы в Z состояние, то можно наблюдать как заполняется регистр данными от 0-го разряда к 7-му.
E97 вне форума  
Непрочитано 17.02.2010, 00:04  
E97
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
E97 на пути к лучшему
По умолчанию Re: застрял с 74hc595

Идеально вам может подойти 155ИР17 (аналог DM2504)

Последний раз редактировалось E97; 17.02.2010 в 00:07.
E97 вне форума  
Непрочитано 19.02.2010, 13:52  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 339
Сказал спасибо: 2
Сказали Спасибо 34 раз(а) в 30 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию Re: Застрял с 74hc595

OE - пока трубется чтобы выход работал держим ноль. Перевести в высокоимпедансное состояние - подаем 1.

Цикл записи бит:

{
Ds (data) - подаем бит
SHcp (shift reg clock) - клок, подаем 0-1-0
}
STcp (storage reg clock) - защелкиваем, подаем 0-1-0

После STcp и при OE=0 на выходе установятся биты.
Первый поданый бит будет на Q7 и так далее до Q0.
__________________
Гидравлика + электроника = POWER

Последний раз редактировалось mrKirill; 19.02.2010 в 13:54.
mrKirill вне форума  
Непрочитано 20.02.2010, 01:12  
osetroff
Частый гость
 
Регистрация: 01.05.2008
Сообщений: 19
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
osetroff на пути к лучшему
По умолчанию Re: Застрял с 74hc595

спасибо, с алгоритмом разобрался.
а как быть с помехой?
нашел в интернете, что на все сигналы: SHcp, STcp и Ds советуют навесить резисторы.
как их подобрать?
и где прочитать(если это стандартная процедура) - обязательны к каждой TTL микросхеме резисторы чтобы избавиться от помех?
osetroff вне форума  
Непрочитано 28.02.2010, 23:13  
Aleksashka1
Прописка
 
Регистрация: 25.10.2008
Сообщений: 125
Сказал спасибо: 1
Сказали Спасибо 36 раз(а) в 26 сообщении(ях)
Aleksashka1 на пути к лучшему
По умолчанию Re: Застрял с 74hc595

Входы желательно подтягивать резисторами к питанию +5В. Номинал резисторов колеблется от 1 до 30 кОм и является скорее борьбой компромисов. Чем выше сопротивление тем меньше потребление и ниже помехозащищенность. И наоборот при малых значениях резисторов выше помехозащита и больше потребление.
Aleksashka1 вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.