Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чем или как создать управление микросхемой Lc7821
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Xenia
Цитата(love777888 @ May 23 2015, 21:26) *
собрана фактически последняя вами рисованная схема.


Тестовая прошивка для дисплея тут: key1.

Если что не так, прошу извинить - работоспособность не проверяла (при такой конфигурации портов запустить на своей плате не могу).
demiurg1978
Частота SPI:
Код
   SPCR = 1<<SPE | 1<<MSTR | 1<<SPR0 | 1<<SPR1;


f_osc/128 = 125 кГц. На этой частоте передача данных работает стабильно. Если повысить частоту, начинаются перебои с передачей данных.
demiurg1978
Индикатор уровня можно реализовать на аналоговом компараторе МК. Используемые пины: 2 пина аналоговый компаратор. На сдвиговых регистрах реализуется 4-битный ЦАП с матрицей R2R. 16 светодиодов. Это 1 канал. Можно взять LM393. Два канала. Добавляем регистры, получаем 2 канала, 32 светодиода.
ТС, ты не ответил, какого размера платы позволяет поставить внутренний объем уселка?
Xenia
Цитата(demiurg1978 @ May 24 2015, 06:21) *
Частота SPI:
Код
   SPCR = 1<<SPE | 1<<MSTR | 1<<SPR0 | 1<<SPR1;

f_osc/128 = 125 кГц. На этой частоте передача данных работает стабильно. Если повысить частоту, начинаются перебои с передачей данных.


Выходит, CPHA=1 ставить не пришлось? Что ж тогда они пишут в даташите!

Но все-таки вариант с CPHA=1 вы испытывали? Не заработал?

Что касается частоты SPI, то у меня и для LC7821 тоже стоит делитель 1/128, т.к. самое максимальное замедление из возможных. К тому же еще неизвестно, заработает ли LC7821, если тактовую частоту повысить до 16 МГц. Ведь сейчас у ТС она работает от деления частоты 1 МГц, а не 16.

demiurg1978
Если повышать частоту SPI, начинается "звон" на линиях SPI и перебои при передаче данных.
Xenia
Цитата(demiurg1978 @ May 24 2015, 11:35) *
Если повышать частоту SPI, начинается "звон" на линиях SPI и перебои при передаче данных.


Это-то понятно. Я сетовала только на то, что замедлить SPI более, чем в 128 раз нельзя. Тогда как таймеры допускают большее замедление.
love777888
Нажмите для просмотра прикрепленного файла

Вот что получилось.

В протеусе нет переключения, как самого термина динамическая индикация.
Нажмите для просмотра прикрепленного файла

Осциллограф подключен к 4-м сеткам.
demiurg1978
Вы упорно не отвечаете. Какого размера платы позволяет сделать уселок?
love777888
Цитата(demiurg1978 @ May 24 2015, 12:34) *
Вы упорно не отвечаете. Какого размера платы позволяет сделать уселок?

Плата может быть большая размеров этак 12см на 25 см.
demiurg1978
Вот эта плата 160х210 мм. Влезет?
love777888
Если извернуится то влезет, только что и по чем в личку.
Xenia
Цитата(love777888 @ May 24 2015, 12:32) *
Вот что получилось.
Осциллограф подключен к 4-м сеткам.


Проверьте напряжения на анодах 24 и 28. Эти сегменты я ни разу не зажигала, а они светятся. Почему? Проверьте линии и ключи, идущие к этим сегментам. Попробуйте разобраться с причиной их свечения. Возможно стоит ради теста разорвать линии, идущие от Меги к базам ключей, и посмотреть, потухнут ли эти сегменты.

P.S. Так же совершенно непонятно, почему светятся только эти 5 сеток, а не все 8, если, по вашему утверждению, Мега никаких сигналов на эти сетки не подает.
demiurg1978
Вот три платы. Слева направо. Макетка, заказная плата, макетка. . Две макетки когда-то были одной. Я их распилил на две под свои нужды. Левая плата была полигоном, на котором обкатывались многие мои последние проекты. Заказная плата была сделана после того, как сделал макет на левой плате и испытал на оборудовании. Третья плата была заложена под будущие макеты проектов. Ее я вам и отправлю после того как соберу рабочий макет. Мне нужно на это две-три недели. Раньше никак. Занят.

Ксения, могу пять микросхем КР1109КН15 отправить вам.

ТС. Вам я отправлю, когда будет сделан и опробован макет.
Xenia
Цитата(demiurg1978 @ May 24 2015, 13:25) *
Ксения, могу пять микросхем КР1109КН15 отправить вам.


Если вам самому удалось их запустить, то мне они не нужны. Я-то просила только для того, чтобы заставить их работать от SPI, но вы, похоже, эту работу уже сделали.
demiurg1978
Цитата(Xenia @ May 24 2015, 17:30) *
Если вам самому удалось их запустить, то мне они не нужны. Я-то просила только для того, чтобы заставить их работать от SPI, но вы, похоже, эту работу уже сделали.

Вы где-то меня неправильно поняли. Вы спрашивали про частоту SPI, на которой я управлял сдвиговыми регистрами. Я вам ответил. КР1109КН15 я еще не запускал. Нужно паять макет.
Xenia
Цитата(demiurg1978 @ May 24 2015, 13:32) *
Вы где-то меня неправильно поняли. Вы спрашивали про частоту SPI, на которой я управлял сдвиговыми регистрами. Я вам ответил. КР1109КН15 я еще не запускал. Нужно паять макет.

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

Цитата(demiurg1978 @ May 24 2015, 13:32) *
Я вам ответил. КР1109КН15 я еще не запускал. Нужно паять макет.

Тогда, может быть, мне и не стоит этим заниматься, а вы сами проверите работу КР1109КН15 от SPI, если все равно макет будете паять? Или сами паять не будете? А если сами проверять не будуте, то зачем спрашивали меня про режим SPI для КР1109КН15? Тут вас снова сложно понять из-за двусмысленности высказываний и неясности относительно ваших намерений.
Xenia
Цитата(love777888 @ May 24 2015, 12:32) *
Вот что получилось.


Моя ошибка - "полярность" перепутала, поджиг происходит при низком уровне на базе ключа, а не на высоком.
Проверяйте следующий вариант: key2.
Обратите внимание, изменяется ли что-то на дисплее через каждые 10 секунд или всегда светится одно и тоже?
love777888
Цитата(Xenia @ May 24 2015, 12:55) *
Проверьте напряжения на анодах 24 и 28. Эти сегменты я ни разу не зажигала, а они светятся. Почему? Проверьте линии и ключи, идущие к этим сегментам. Попробуйте разобраться с причиной их свечения. Возможно стоит ради теста разорвать линии, идущие от Меги к базам ключей, и посмотреть, потухнут ли эти сегменты.

P.S. Так же совершенно непонятно, почему светятся только эти 5 сеток, а не все 8, если, по вашему утверждению, Мега никаких сигналов на эти сетки не подает.

Сеток у нас на схеме 5 (от5 до9ой) посмотрите сообщение №474
Единственной ошибкой было что я подсоеденил к ресету ключ на 29 анод.
24 и 28 анод тухнут когда отключаешь резисторы баз транзисторов.
Когда жмешь на кнопку ресета все тухнет полностью.
Xenia
Цитата(love777888 @ May 24 2015, 16:01) *
Когда жмешь на кнопку ресета все тухнет полностью.


Ситуация понятна. Испытываете 2-ой вариант, в меру моих сил исправленный. sm.gif
love777888
Цитата(Xenia @ May 24 2015, 16:06) *
Ситуация понятна. Испытываете 2-ой вариант, в меру моих сил исправленный. sm.gif

На индикаторе ничего не светиться.
Когда все разьемы к плате подключены, подсвечивается в пол накала ресет, когда не вставлены разъемы ключей ресет не светиться.
Я уж было подумал что что то коротнул..откатил на старую кей1, все светит.
Xenia
Цитата(love777888 @ May 24 2015, 16:18) *
На индикаторе ничего не светиться.


Видимо, торопиться не надо. Проведем сперва испытания только одного единственного знакоместа - самого правого (сетка №5).
Проверяем вариант: key3.
По задумке там должна светиться цифра "0", каждые 10 секунд увеличиваясь на единичку.
love777888
Ксения ничего не светиться, на резисторах баз со стороны контроллера по 5 вольт-нету подключения к общему проводу внутри контроллера.
Протеус также показывает по 5 вольт на пинах атмеги. Я так понял первая прошивка была правильной полярности.
Xenia
Цитата(love777888 @ May 24 2015, 17:29) *
Ксения ничего не светиться, на резисторах баз со стороны контроллера по 5 вольт-нету подключения к общему проводу внутри контроллера.
Протеус также показывает по 5 вольт на пинах атмеги. Я так понял первая прошивка была правильной полярности.


Нет, полярность правильная - лишнее светиться не должно. Впечатление такое, что у меня таймер на месте стоит, не работает...

В таких случаях отступать нельзя - надо быть настырной sm.gif. Проверяем вариант: key4.
На этот раз совсем дубовый - раз секунду зажигает цифру в каждом из 5-ти знакомест по очереди. Паузы выдержаны без таймера - простой задержкой.

P.S. Если не заработает (ни одна цифра не будет гореть), проверьте на Протеусе анод 19. Есть там жизнь или нету.
love777888
Паузу можете уменьшить? Чтобы изображение стояло Вам показать на фото. 300 Гц можете дать частоту переключения?
Xenia
Цитата(love777888 @ May 24 2015, 18:43) *
Паузу можете уменьшить? Чтобы изображение стояло Вам показать на фото. 300 Гц можете дать частоту переключения?


Задержку могу поставить любую - это число в программе, равное числу тактов ожидания.
Вы только скажете скорее, зажигаются там цифры или нет? Можно словами, чтобы не тратить время на фотосъемки.

300 Гц - много, пока посмотрите, как будут выглядеть 10 Гц и 100 Гц. Проверяйте по очереди - сначала 10, потом 100.
key5 - 10 Гц.
key6 - 100 Гц.

P.S. Не хотелось бы поднимать частоту выше 50 Гц - может начать проявляться визуальный эффект "дрожания", хотя для контроллера такое повышение частоты проблемы не составляет.
love777888
Вот фото, 100 гц, и еще там идет комбинация справа на лево 1 2 3 4 сетка, потом зажигается 3 4 5 сетка (три закорючки, в последнем пятом разряде на изображении справа на лево) вместе, потом повторяется. На фото не видно, но 1 герце видно. может с 5 сетки начать как вы сказали, засветить хотя бы цифры 0 1 2 ну и так далее? Изображение мерцает
Xenia
Цитата(love777888 @ May 24 2015, 19:21) *
может с 5 сетки начать как вы сказали, засветить хотя бы цифры 0 1 2 ну и так далее?


А там и должно быть написано число "43210". sm.gif

Однако 32-ой анод (нижняя палочка) почему-то светится постоянно. А аноды 30 и 31 (боковые нижние) вообще не горят. Если бы не это, то вы сразу бы узнали эти цифры.



Причем любопытно, что все эти неполадки относятся к порту D Меги8 и находятся рядом (контакты 4,5,6).

Не могли вы проверить цепи этих трех анодов? Оттуда ли у них растут руки? sm.gif
love777888
Ксения, я ошибся с расключением, сейчас рисует 0 1 2 3 и буква А перевенутая в трех последних разрядах справа на лево, потом повтор, пришлось откатиться на 4-ю прошивку что бы все увидеть. Мигает с переключениями светодиод ресета. Цыфры 4 нет. заместо нее три переверн А в ирех посл разрядах, справо на лево.
Xenia
Цитата(love777888 @ May 24 2015, 20:22) *
Ксения, я ошибся с расключением, сейчас рисует 0 1 2 3 и буква А перевенутая в трех последних разрядах справа на лево, потом повтор, пришлось откатиться на 4-ю прошивку что бы все увидеть. Мигает с переключениями светодиод ресета. Цыфры 4 нет. заместо нее три переверн А в ирех посл разрядах, справо на лево.


Сетки "трех последних разрядов справа налево" у нас сейчас вообще никуда не подключены - ножек у Меги8 на них не хватило. Но почему там "перевернутая А" непонятно - отключенный от Меги ключ обязан был бы запереть сетку (-32 вольта) и это знакоместо светиться не должно.

Что такое "светодиод ресета" понять не смогла.
love777888
Цитата(Xenia @ May 24 2015, 20:30) *
Сетки "трех последних разрядов справа налево" у нас сейчас вообще никуда не подключены - ножек у Меги8 на них не хватило. Но почему там "перевернутая А" непонятно - отключенный от Меги ключ обязан был бы запереть сетку (-32 вольта) и это знакоместо светиться не должно.

Что такое "светодиод ресета" понять не смогла.

Вы не поняли это разговор про те сетки которые мы переключаем. И перевернутая буква А именно в тех разряда последних 3-х справа на лево, когда должна зажечься цифра 4, то зажигается переверн. А причем не только где должна светиться 4 но и в предыдущих 2 разрядах, где была цифра 2 и 3. потом повторяется 0 1 2 3 переверн А, и там где были цифры 2 3 и там где должна засветиться 4 цифра.

Светодиод ресета это диод на отладочной платке, где вставлена наша прошитая мега. на вашей плате отладочной тоже должен быть.
Может просто зажгем 4 цифру в пятом разряде справа на лево 5 разряд?
Вот фото наконец то заснял
Нажмите для просмотра прикрепленного файла
Xenia
Цитата(love777888 @ May 24 2015, 21:05) *
Вы не поняли это разговор про те сетки которые мы переключаем. И перевернутая буква А именно в тех разряда последних 3-х справа на лево, когда должна зажечься цифра 4, то зажигается переверн. А причем не только где должна светиться 4 но и в предыдущих 2 разрядах, где была цифра 2 и 3. потом повторяется 0 1 2 3 переверн А, и там где были цифры 2 3 и там где должна засветиться 4 цифра.

Да я ничего из вашего разговора не поняла, и это обидно, т.к. другого источника информации о происходящем у меня нет.

Почему бы вам вместо разговоров, не написать последовательность того, что происходит по шагам? Только не говорите мне, что у вас на клавиатуре нет перевернутой буквы "А" - пишите обычную букву "А", это я пойму:
Код
_ _ _ _ 0
_ _ _ 1 _
_ _ 2 _ _
_ 3 _ _ _
A A A _ _
Дальше чего?
- вот в таком стиле.

Мне неясно, куда делась перевернутая буква "А" на том рисунке, что вы приводили (100 Гц). Цифра 4 в правильном написании там не появилась, но и перевернутой буквы "А" там тоже не было.

В чем состояла ваша борьба с "расключением", вы тоже умолчали. А раз в это дело вы меня посвящать не стали, то откуда мне знать, отчего перевернутая буква там нарисовалась, хотя до "расключения" ее там не было? Я не телепат.

Цитата(love777888 @ May 24 2015, 21:05) *
Светодиод ресета это диод на отладочной платке, где вставлена наша прошитая мега. на вашей плате отладочной тоже должен быть.

И куда это светодиод подключен, хотелось бы мне знать? На моей плате на ресете стоит кнопка, а не светодиод. А светодиод стоит на PC5 для тренировки зажигания, и с ресетом он никак не связан.
love777888
Цитата(Xenia @ May 24 2015, 21:29) *
Почему бы вам вместо разговоров, не написать последовательность того, что происходит по шагам? Только не говорите мне, что у вас на клавиатуре нет перевернутой буквы "А" - пишите обычную букву "А", это я пойму:
[code]_ _ _ _ 0
_ _ _ 1 _
_ _ 2 _ _
_ 3 _ _ _
A A A _ _
Дальше чего?

Дальше все повторяется.
Xenia
Цитата(love777888 @ May 24 2015, 22:08) *
Дальше все повторяется.


Значит, значки "AAА" потом все-таки гаснут? Это уже хорошо! sm.gif
love777888
Цитата(Xenia @ May 24 2015, 21:29) *
Мне неясно, куда делась перевернутая буква "А" на том рисунке, что вы приводили (100 Гц). Цифра 4 в правильном написании там не появилась, но и перевернутой буквы "А" там тоже не было.

После правильного расключения я сделал фото на котором оказалась А
Расключение я перепутал, не на те аноды подключил к порту D.

Цитата(Xenia @ May 24 2015, 22:12) *
Значит, значки "AAА" потом все-таки гаснут? Это уже хорошо! sm.gif

Да гаснут потом повтор.

Цитата(Xenia @ May 24 2015, 21:29) *
И куда это светодиод подключен, хотелось бы мне знать? На моей плате на ресете стоит кнопка, а не светодиод. А светодиод стоит на PC5 для тренировки зажигания, и с ресетом он никак не связан.

Да вы правы, на PD0 у меня подключен, я так понял RX. А думал так потомучто рядом надпись ресет, ошибочно думал, оказывается слово относиться к кнопке.
Xenia
Цитата(love777888 @ May 24 2015, 22:14) *
После правильного расключения я сделал фото на котором оказалась А
Расключение я перепутал, не на те аноды подключил к порту D.


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

Это с частотой 100 Гц - key7, но между выводом цифр установлена пауза полного гашения всех цифр продолжительностью 2 мсек. Надо полагать, что пауза 2 мсек будет не сильно заметна на глаз, зато ионизированная плазма успеет рекомбинировать.
love777888
Ксения я так понимаю что 1Гц, достаточно, ведь цифры правильно рисуются кроме последней, там просто комбинация из ААА.
Xenia
Цитата(love777888 @ May 24 2015, 22:26) *
Ксения я так понимаю что 1Гц, достаточно, ведь цифры правильно рисуются кроме последней, там просто комбинация из ААА.


Я уже на 100 Гц выложила - проверьте пока ее. Но если будет худо, то понизим частоту для визуального разбора.
love777888
Да работает
на дисплее 4 3 2 1 0, но мерцает.
Xenia
Цитата(love777888 @ May 24 2015, 22:48) *
Да работает
на дисплее 4 3 2 1 0, но мерцает.


Еще частоту повысить? Я бы еще фотку посмотреть хотела...

Это с частотой 250 Гц - key8,
Xenia
Отлично. Испытывайте 250 Гц на мерцание!
love777888
Цитата(Xenia @ May 24 2015, 22:56) *
Еще частоту повысить? Я бы еще фотку посмотреть хотела...

Это с частотой 250 Гц - key8,

Еле заметное мерцание, может 300 гц?
Xenia
Цитата(love777888 @ May 24 2015, 23:10) *
Еле заметное мерцание, может 300 гц?



С частотой 500 Гц - key9 (мне неудобно задавать частоту в герцах, а удобно задавать период в целых миллисекундах).
love777888
Да получилось прикольно, мерцание исчезло, на экране идет пересчет цифр от 0 до 9 со сдвигом слева на право. Только 9 похожа на черепокsm.gif
Нажмите для просмотра прикрепленного файла
Xenia
Цитата(love777888 @ May 25 2015, 00:00) *
Да получилось прикольно, мерцание исчезло, на экране идет пересчет цифр от 0 до 9 со сдвигом слева на право. Только 9 похожа на черепокsm.gif


Пересчет это я добавила, чтобы убедиться, что часы (таймер) идут. Примерно каждые 10 сек должен происходить сдвиг вправо. Ну, а 9-ку я видимо плохо нарисовала. sm.gif

На сегодня работу заканчиваем, а дальше надо нам где-нибудь шрифт раздобыть, как на 14-сегментных индикаторах правильно буквы и цифры писать. Самой это сочинять уж больно противно, да и ошибки делаешь.

Но в целом результат уже хорош своей определенностью. Во-первых, вам не надо покупать другой дисплей - удалось заставить работать родной, а во-вторых, мы теперь знаем, что обновлять числа надо через каждые 10 мсек (2 мсек х 5 цифр).

Если бы была в наличии 40-ножка, то даже на этом уровне вариант можно считать рабочим. Переход на ключи 1109КН15 теперь тоже не страшен, т.к. режим индикации мы уже выяснили.
demiurg1978
Сделайте частоту Гц по 150-200 на одно знакоместо.
Xenia
Цитата(demiurg1978 @ May 25 2015, 06:15) *
Сделайте частоту Гц по 150-200 на одно знакоместо.


Тут, в связи с некоторой двусмысленностью вопроса, должна сделать необходимые пояснения. Дело в том, что в случае VFD-дисплея динамическое обновление свечения цифр происходит не так, как это происходит при обновлении динамического ОЗУ sm.gif. А именно, в данном случае важно не просто обновить, а дать погореть какое-то время каждой цифре. При этом все остальные цифры погашены (т.к. разные конфигурации сегментов одновременно светиться не могут).

В последнем варианте эксперимента использовалось 5 цифр/знакомест (на самом деле на дисплее их больше), каждая из которых горела по 2 мсек, зажигаясь в свою очередь. Таким образом, частота зажигания цифр составила 500 Гц (2 мсек), тогда как одна и та же цифра получала свой квант свечения в 5 раз реже (поскольку цифр было 5) - с частотой 100 Гц (10 мсек).

Проводить динамическое обновление менее часто мы уже пытались - собственно и начинали с низкой частоты в 1 Гц, поднимая эту частоту до тех пор, пока не пропадал зрительный эффект мерцания, обусловленный тем, что глаз замечает моменты, когда цифра погашена.

Я-то надеялась, что пройдет вариант, когда каждая из цифр моргает с частотой 50 Гц (20 мсек), а обход очереди происходит с частотой 250 Гц (4 мсек). По крайней мере, читала такой совет, что для уменьшения эффекта мерцания следует подстраиваться под частоту сети. Однако при частоте обслуживания очереди в 250 Гц эффект мерцания был еще заметен, но исчез после повышения частоты вдвое. Т.е. последнему (немерцающему) варианту соответствует частота обслуживания 500 Гц с частотой мерцания 100 Гц.

Понижать частоту обслуживания я бы сейчас не рискнула, поскольку в действительности знакомест будет больше - не 5, а 11. Стало быть, даже при той же самой частоте обслуживания частота мерцания увеличится более чем в 2 раза. Т.е., несмотря на то, что сейчас в этом режиме мерцание незаметно, нет гарантии, что оно не появится, когда число знакомест увеличится до 11-ти.

Должна заметить, что 2 мсек на обслуживание одной цифры - это довольно напряженный для Меги темп. Причем, именно в случае последовательного управления через SPI, поскольку каждый из пяти ключей 1109КН15 надо обслужить отдельно и снова по очереди. Т.е. если при параллельном управлении (как сейчас в тестовом эксперименте) мне достаточно записать числовые значения в три порта Меги (это быстро и может производиться прямо из процедуры обработки прерывания таймера, настроенного на период 2 мсек). Тогда как с случае управления через SPI я этого из таймерного прерывания сделать не могу, поскольку заниматься ожиданием в прерывании нельзя. А, следовательно, надо будет включать прерывания по завершению передачи SPI и устраивать "паровозик" с 5 вагонами, для каждой микросхемы 1109КН15. А это еще пяток прерываний за период 2 мсек, что грустно. Именно по этой причине мне более симпатичен параллельный вариант с отдельной Мегой для обслуживания дисплея, а вовсе не из-за идеологических разногласий с Демиургом. sm.gif
demiurg1978
Пусть частота кварца 16 Мгц. 16000000 / 128 = 125000 Гц. 1 / 125000 = 0,000008 c. 0,000008 c * 8 битов = 0,000064 с. 0,000064 c * 11 сеток = 0,000704 с. 1 / 1100 = 0,0009090909. Получается, что максимальная частота на знакоместо 100 Гц. Мда... Придется все-таки либо частоту SPI повышать, либо все-таки вешать индикацию на второй МК...

Я начал макетку собирать. Если получится, сегодня подключу одну КР1109КН15. Посмотрю осциллографом, что происходит.
Xenia
Цитата(demiurg1978 @ May 25 2015, 09:48) *
Получается, что максимальная частота на знакоместо 100 Гц. Мда... Придется все-таки либо частоту SPI повышать, либо все-таки вешать индикацию на второй МК...

В этой части меня более всего смущает то обстоятельство, что в процессе последовательного обновления содержимого 5-ти вагончиков 1109КН15 может сложится ситуация, когда на дисплее зажжется "полуфабрикат" - винегрет от свечения элементов, уже получивших напряжения от первой в очереди 1109КН15, которую уже успели загрузить новым кодом, и последней в очереди на загрузку 1109КН15, которую новым кодом еще не успели загрузить, из-за чего она продолжает держать напряжения, согласно старому коду.

В случае прямого параллельного программирования через регистры Меги такая возможность исключена, т.к. я сперва "обнуляю" все регистры, гася индикацию целиком, и только затем подаю напряжения на те элементы, которые требуются включить. Поэтому тут остатки от старого значения просочиться никак не могут. Тогда как в случае SPI-паровозика с 5-вагонами 1109КН15, мне было бы крайне накладно их предварительно обнулять, т.к. для этого пришлось бы запустить тем же путем еще один состав из 5-ти вагонов, но только пустых.

Впрочем, обладай ключи 1109КН15 двойной буферизацией, то проблемы такой не было. Тогда бы я сперва накормила 1109КН15 новым кодом, не активируя его, а потом бы шлепнула по общей линии активации, заставив все ключи разом обновить состояние на своих выходах. К сожалению, у 1109КН15 двойной буферизации нет (так ли это?), а потому я вынуждена буду включить защелку сразу же после получения данных, т.к. иначе следующий посыл (другому вагону) по SPI испортит содержимое ее буфера. Тем не менее, я не гарантирую, что понимаю возможности работы 1109КН15 правильно, т.к. даташит на нее исключительно скуден. А потому ваши будущие исследования на этот счет (если они состоятся) были бы очень кстати, тем более что вы уже имеете опыт работы с 595-ой.

Цитата(demiurg1978 @ May 25 2015, 09:48) *
Я начал макетку собирать. Если получится, сегодня подключу одну КР1109КН15. Посмотрю осциллографом, что происходит.

Мне бы еще про буферизацию узнать. Т.е. можно ли 1109КН15-ю сперва накачать байтом данных, защелкнуть их, но отложить их вывод наружу на срок до подачи спецсигнала?
demiurg1978
Смотрите, у сдвигового регистра есть вход OUT_ENABLE. Перед загрузкой данных запрещаем выходы. После загрузки данных разрешаем. У КР1109КН15 такого входа нет. Поэтому имитируем этот вход PNP транзистором на + 5 V. Перед загрузкой данных закрываем транзистор. После загрузки открываем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.