реклама на сайте
подробности

 
 
> 74HC4094 в качестве расширителя порта, Кто-нибудь пробовал?
alux
сообщение Jun 7 2007, 18:03
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Привет. Необходимо сделать динамическое включение катодов 7-сегментного индикатора. Выводов контроллера как всегда не хватает. В качестве расширителя порта решил поставить преобразователь последовательной шины в параллельную 74HC4094. Т.е. по сути мне необходимо периодически (10мсек) на выходе 4094 сдвигать "1" для включения соответсвующего индикатора. Или другими словами последовательно загружать числа 1,2,4,8,16,32 и так по кругу. Вывод OE всегда притянут к питанию. Важно не допустить одновременного включения нескольких катодов. Правильно ли я делаю :

1) SI=1, CLK=1, SI=0, CLK=0 . Повторить n раз (n =1,2,4,8,16,32)
2) STROB=1;
3) STROB=0;

Сильно греется КРЕН. Померял ток потребления схемы - около 130 мА. Схема - это микроконтроллер (Мега48) с двумя светодиодными индикаторами, управляемые динамически. Видимо, проблема связана с неправильным формированием сигналов на 74HC4094.

Прикладываю даташит. Кстати, у разных производителей по-разному осуществляется загрузка данных: либо по наростающему фронту на CLK, либо по спадающему... Странно.

Сообщение отредактировал alux - Jun 7 2007, 18:19
Прикрепленные файлы
Прикрепленный файл  74HC4094N_PHLPS.pdf ( 72.54 килобайт ) Кол-во скачиваний: 94
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Jun 7 2007, 21:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Может совет несколько неуместный, но зачем вам заниматься учетом сдвигов в самом регистре? У вас же МК для управления имеется. Сдвигайте и XOR-те байт как хотите программно в самом МК, а в регистр записывайте этот байт каждый раз целиком. Все будет детерменировано и никакого геморроя - всего один цикл записи 8-ми бит (установить бит данных, сформировать сдвиговый импульс - и так 8 раз) плюс формирование строба записи по окончании цикла.
Go to the top of the page
 
+Quote Post
alux
сообщение Jun 8 2007, 07:01
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Цитата(rezident @ Jun 8 2007, 00:29) *
Сдвигайте и XOR-те байт как хотите программно в самом МК, а в регистр записывайте этот байт каждый раз целиком. Все будет детерменировано и никакого геморроя - всего один цикл записи 8-ми бит (установить бит данных, сформировать сдвиговый импульс - и так 8 раз) плюс формирование строба записи по окончании цикла.

Я так и делал. Только загружаемые значения беру из таблицы:

__interrupt void TC0_COMPA_ISR(void)
{..........
digit(++znak);
...........
}
/////////////////////////
void digit(unsigned char number)
{
unsigned char table[]={0,1,2,4,8,16,32};

for(unsigned char i=0; i < *(table+number); i++)
{
PORTC |= (1<<SI);
PORTC |= (1<<CLK);
PORTC &= ~(1<<SI);
PORTC &= ~(1<<CLK); //загрузить число n=0,1,2,4,8,16,32 раз
}
PORTD |= (1<<STR);
PORTD &= ~(1<<STR); //строб
}

Для выключения индикаторов (для гашения незначащих разрядов) вызвать digit(0);
Я хочу, чтобы было так:
1)Строб=0. Приэтом на выходе без изменений остается предыдущее значение.
2) загрузить в storage register (74HC4094) число (0,1,2,4,8,16,32).
3)сформировать строб. При этом на выход поступает значение из storage register.

Можно ли так сделать на этой микросхеме?

Цитата(rezident @ Jun 8 2007, 00:14) *
У меня вызывает сомнение цепь питания AVCC. ИМХО там по схеме не хватает тантала или электролита после дросселя впараллель керамике 0,1мкФ. Такой Г-образный фильтр в виде дросселя с керамикой нехило "звенеть" может.
Кроме того в базах транзисторов, которые управляют обмотками реле, вы забыли резисторы Б-Э. КТ3102 ведь не "цифровые" транзисторы. В транзисторы управление катодами индикаторов почему-то поставили, а тут нет.
Кстати, а что питается по цепи 3,3В? Или для чего там 78L33 стоит? 7805, которая якобы сильно греется, вообще не показана. Возле нее, непосредственно возле выводов OUT и GND, конденсатор номиналом не менее 1мкФ стоит? Если нет, то она опять же возбуждаться может, а саморазогрев при этом у нее не слабый!


Это часть схемы. Прошу прощения, на рисунке есть несоответствия. На плате параллельно керамике 0.1мкФ по питанию AVCC стоит танталовый 10мкФ. И в базовых цепях забыл указать(на плате стоят) резисторы 100кОм. А 7805 - на другом листе. Спаяна по стандартной схеме: ~9В->диодный мост->4700мкФ->7805->100мкФ. На входе и на выходе непосредственно на выводах 7805 подключены керамические 0.1мкФ. +3.3В нужны для других целей.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alux   74HC4094 в качестве расширителя порта   Jun 7 2007, 18:03
- - rezident   Народ обычно использует 74HC595 и TPIC6C595. При н...   Jun 7 2007, 19:34
|- - alux   Цитата(rezident @ Jun 7 2007, 22:34) Наро...   Jun 7 2007, 20:43
- - AVL   Микросхема 74HC4094 для Вашей задачи подходит не л...   Jun 7 2007, 20:09
|- - alux   Цитата(AVL @ Jun 7 2007, 23:09) Должно бы...   Jun 7 2007, 21:22
|- - AVL   Цитата(alux @ Jun 8 2007, 01:22) Не понял...   Jun 8 2007, 07:35
|- - alux   Цитата(AVL @ Jun 8 2007, 10:35) Значит на...   Jun 8 2007, 08:18
|- - AVL   Цитата(alux @ Jun 8 2007, 12:18) По справ...   Jun 8 2007, 08:42
||- - alux   Цитата(AVL @ Jun 8 2007, 11:42) Возможно ...   Jun 8 2007, 09:06
||- - AVL   Цитата(alux @ Jun 8 2007, 13:06) Радиатор...   Jun 8 2007, 10:38
|- - rezident   Цитата(alux @ Jun 8 2007, 14:18) Трансфор...   Jun 9 2007, 11:20
- - rezident   Похожую схему только без аналоговых входов (индика...   Jun 7 2007, 21:14
- - alux   Все, заработало! Вот окончательный код: void ...   Jun 8 2007, 13:07
|- - AVL   Цитата(alux @ Jun 8 2007, 17:07) Если вкл...   Jun 8 2007, 13:28
|- - alux   Цитата(AVL @ Jun 8 2007, 16:28) Откуда Вы...   Jun 8 2007, 14:02
- - almay   ЦитатаЕсли включить одно знакоместо постоянно и за...   Jun 8 2007, 13:30
- - alux   Прошу прощения, но есть еще одна проблема с индика...   Jun 9 2007, 00:03
|- - AVL   Цитата(alux @ Jun 9 2007, 04:03) А вот в ...   Jun 9 2007, 07:06
|- - alux   Цитата(AVL @ Jun 9 2007, 10:06) Как часто...   Jun 9 2007, 08:14
|- - AVL   Цитата(alux @ Jun 9 2007, 12:14) 10 мсек ...   Jun 9 2007, 09:22
|- - alux   Цитата(AVL @ Jun 9 2007, 12:22) тогда вес...   Jun 9 2007, 09:58
|- - AVL   Цитата(alux @ Jun 9 2007, 13:58) Приклады...   Jun 9 2007, 10:48
|- - alux   Цитата(AVL @ Jun 9 2007, 13:48) Во первых...   Jun 9 2007, 12:05
|- - rezident   Цитата(alux @ Jun 9 2007, 18:05) 1) поста...   Jun 9 2007, 12:37
||- - alux   to rezident. Я хочу вернуться к вопросу чрезмерно...   Jun 14 2007, 07:28
||- - AVL   Цитата(alux @ Jun 14 2007, 11:28) to rezi...   Jun 14 2007, 08:32
||- - Сергей Борщ   Цитата(alux @ Jun 14 2007, 10:28) Я хочу ...   Jun 14 2007, 09:23
||- - rezident   Цитата(alux @ Jun 14 2007, 13:28) to rezi...   Jun 14 2007, 12:01
||- - alux   Цитата(rezident @ Jun 14 2007, 15:01) Тол...   Jun 14 2007, 16:58
||- - Сергей Борщ   Цитата(alux @ Jun 14 2007, 19:58) 7805 пи...   Jun 14 2007, 19:26
||- - alux   Цитата(Сергей Борщ @ Jun 14 2007, 22:26) ...   Jun 15 2007, 06:36
|- - AVL   Цитата(alux @ Jun 9 2007, 16:05) А зачем?...   Jun 9 2007, 12:38
||- - alux   Цитата(AVL @ Jun 9 2007, 15:38) А причем ...   Jun 9 2007, 13:16
||- - AVL   Цитата(alux @ Jun 9 2007, 17:16) Цитата и...   Jun 9 2007, 13:33
||- - rezident   Цитата(AVL @ Jun 9 2007, 19:33) P.S. Напр...   Jun 9 2007, 13:43
||- - AVL   Цитата(rezident @ Jun 9 2007, 17:43) Насч...   Jun 9 2007, 14:44
||- - alux   Цитата(rezident @ Jun 9 2007, 16:43) Вот ...   Jun 11 2007, 04:23
|- - alux   Цитата(alux @ Jun 9 2007, 15:05) А вот ту...   Jun 9 2007, 13:02
|- - AVL   Цитата(alux @ Jun 9 2007, 17:02) Прошу пр...   Jun 9 2007, 13:12
||- - alux   Цитата(AVL @ Jun 9 2007, 16:12) Предделит...   Jun 9 2007, 14:22
|- - AVL   Цитата(alux @ Jun 9 2007, 17:02) И еще од...   Jun 9 2007, 19:04
|- - alux   Цитата(AVL @ Jun 9 2007, 22:04) Для того,...   Jun 9 2007, 19:17
|- - AVL   Цитата(alux @ Jun 9 2007, 23:17) Одно уто...   Jun 9 2007, 19:29
- - rezident   Цитата(alux)2)опорное напряжение (+2.5В) на TL431 ...   Jun 9 2007, 15:11
|- - alux   Цитата(rezident @ Jun 9 2007, 18:11) Выво...   Jun 9 2007, 15:58
|- - rezident   Цитата(alux @ Jun 9 2007, 21:58) А на сче...   Jun 9 2007, 16:25
|- - alux   Цитата(rezident @ Jun 9 2007, 19:25) А во...   Jun 9 2007, 18:26
|- - rezident   Цитата(alux @ Jun 10 2007, 00:26) Просто ...   Jun 9 2007, 19:10
|- - alux   Цитата(rezident @ Jun 9 2007, 22:10) Каки...   Jun 9 2007, 19:48
|- - rezident   Цитата(alux @ Jun 10 2007, 01:48) Неужели...   Jun 9 2007, 21:18
|- - alux   Цитата(rezident @ Jun 10 2007, 00:18) А д...   Jun 9 2007, 22:02
- - rezident   ratiometric, это просто делитель напряжения питани...   Jun 9 2007, 22:39
- - rezident   Несмотря на то, что в вашем примере переменная Fla...   Jun 11 2007, 17:56


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th August 2025 - 06:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016