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

 
 
40 страниц V  « < 35 36 37 38 39 > »   
Reply to this topicStart new topic
> Чем или как создать управление микросхемой Lc7821
Xenia
сообщение May 24 2015, 20:08
Сообщение #541


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Отлично. Испытывайте 250 Гц на мерцание!
Go to the top of the page
 
+Quote Post
love777888
сообщение May 24 2015, 20:10
Сообщение #542


Местный
***

Группа: Участник
Сообщений: 207
Регистрация: 1-05-15
Из: Брест
Пользователь №: 86 471



Цитата(Xenia @ May 24 2015, 22:56) *
Еще частоту повысить? Я бы еще фотку посмотреть хотела...

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

Еле заметное мерцание, может 300 гц?

Сообщение отредактировал love777888 - May 24 2015, 20:11
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 24 2015, 20:37
Сообщение #543


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



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



С частотой 500 Гц - key9 (мне неудобно задавать частоту в герцах, а удобно задавать период в целых миллисекундах).
Go to the top of the page
 
+Quote Post
love777888
сообщение May 24 2015, 21:00
Сообщение #544


Местный
***

Группа: Участник
Сообщений: 207
Регистрация: 1-05-15
Из: Брест
Пользователь №: 86 471



Да получилось прикольно, мерцание исчезло, на экране идет пересчет цифр от 0 до 9 со сдвигом слева на право. Только 9 похожа на черепокsm.gif
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 24 2015, 21:04
Сообщение #545


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(love777888 @ May 25 2015, 00:00) *
Да получилось прикольно, мерцание исчезло, на экране идет пересчет цифр от 0 до 9 со сдвигом слева на право. Только 9 похожа на черепокsm.gif


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

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

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

Если бы была в наличии 40-ножка, то даже на этом уровне вариант можно считать рабочим. Переход на ключи 1109КН15 теперь тоже не страшен, т.к. режим индикации мы уже выяснили.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 25 2015, 03:15
Сообщение #546


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Сделайте частоту Гц по 150-200 на одно знакоместо.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 25 2015, 06:23
Сообщение #547


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(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
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 25 2015, 06:48
Сообщение #548


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Пусть частота кварца 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. Посмотрю осциллографом, что происходит.

Сообщение отредактировал demiurg1978 - May 25 2015, 06:45
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 25 2015, 07:46
Сообщение #549


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(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-ю сперва накачать байтом данных, защелкнуть их, но отложить их вывод наружу на срок до подачи спецсигнала?
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 25 2015, 08:00
Сообщение #550


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Смотрите, у сдвигового регистра есть вход OUT_ENABLE. Перед загрузкой данных запрещаем выходы. После загрузки данных разрешаем. У КР1109КН15 такого входа нет. Поэтому имитируем этот вход PNP транзистором на + 5 V. Перед загрузкой данных закрываем транзистор. После загрузки открываем.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 25 2015, 08:03
Сообщение #551


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg1978 @ May 25 2015, 11:00) *
Поэтому имитируем этот вход PNP транзистором на + 5 V. Перед загрузкой данных закрываем транзистор. После загрузки открываем.


Полагаю, что нам стоит рассмотреть еще один возможный вариант - комбинированный, когда аноды (их больше) управляются от 1109КН15 (для 14-ти анодов + 2-х спецсимволов их потребуется 3 штуки), тогда как сетками управлять параллельно напрямую от порта. Тогда можно будет портом перекрывать свечение всех знакомест на срок от начала до полного завершения обновления состояний анодов через SPI/КР1109КН15, а потом активировать нужную сетку/знакоместо.

Кстати, сеток, пользующихся особым спросом (8 символов на 14-сегментом индикаторе), тоже 8, как и число битов в одном порту - это было бы удобно в реализации.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 25 2015, 08:16
Сообщение #552


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Не нужно ничего выдумывать. На КР1109КН15 нужно пинов:
CS
SCK
MOSI
LATCH - перезапись
OUT_ENABLE
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 25 2015, 08:23
Сообщение #553


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg1978 @ May 25 2015, 11:16) *
Не нужно ничего выдумывать. На КР1109КН15 нужно пинов:
CS
SCK
MOSI
LATCH - перезапись
OUT_ENABLE


Что ж, это хорошо. Тогда собираем все OUT_ENABLE в одну линию, а для LATCH потребуется 5 линий (для каждой 1109КН15 отдельно). Итого 6 бит. Одного порта как ни бывало. sm.gif

Тем не менее, я попрошу вас указать соответствие LATCH и OUT_ENABLE с обозначениями в даташите КР1109КН15, т.к. я сомневаюсь, что вы интерпретировали эту информацию верно. Лично я вижу там только С2, который не может выполнять функции LATCH и OUT_ENABLE сразу. А кандидатов на вторую функцию не вижу. Т.е. на мой взгляд, С2 = LATCH, а OUT_ENABLE там нет.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 25 2015, 08:39
Сообщение #554


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Ксения. OUT_ENABLE - это PNP транзистор, который коммутирует + 5 V на микросхемах (15 вывод), питание анодов и сеток. Открыли транзистор, на микросхемах есть + 5 V, закрыли транзистор, нет напруги. То есть, перед загрузкой данных мы отключаем сетки и аноды. После загрузки данных включаем. Как я до этого писал, имитация входа регистра 74HC595 OUT_ENABLE. OE.

LATCH - C2 (14 вывод).

Сообщение отредактировал demiurg1978 - May 25 2015, 08:52
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 25 2015, 10:00
Сообщение #555


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Для love777888:

При наличии возможности прошу испытать вариант: key10. Если заработает, как предыдущий, то будет очень хорошо, т.к. программу я основательно перетрясла, не оставив камня на камне. Потому и требуется проверочный эксперимент.

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

P.S. Как на вашем 14-сегментном индикаторе отображается английская буква "V"? sm.gif Подобного рода затруднения возникают чуть ли не у половины букв русского алфавита. Или нам не надо поддерживать на нем русский язык?
Go to the top of the page
 
+Quote Post

40 страниц V  « < 35 36 37 38 39 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:57
Рейтинг@Mail.ru


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