Убрать мерцание

Salve!

Собрал небольшое устройство на PIC16F628A, которое рулит однопроводной шиной и динамической индикацией. Проблема состоит в том, чо во время записи/считывания с шины, прерывания должны быть отключенными, и это вызывает небольшие мерцания дисплея (4 знака). Я максимально оптимизировал программу по прерываниям, уменьшив мерцания до стостояния "практически не видно", но нужно уменьшить еще, или убрать вообще. Может быть есть какие-то методы ?

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

Best Regards, J.V.Gurin, 22 May 2007

Reply to
Juriy Gurin
Loading thread data ...

Пpивет, Juriy!

*** 22 May 07 19:36, Juriy Gurin wrote to All:

JG> чо во время записи/считывания с шины, прерывания должны быть JG> отключенными, и это вызывает небольшие мерцания дисплея (4 знака). Я JG> максимально оптимизировал программу по прерываниям, уменьшив мерцания JG> до стостояния "практически не видно", но нужно уменьшить еще, или JG> убрать вообще. Может быть есть какие-то методы ?

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

- нужно подгонять растактовку.

с уважением Владислав

Reply to
Vladislav Baliasov

Здравствуйте, Уважаемый Juriy!

Tue May 22 2007 20:36, Juriy Gurin wrote to All:

JG> однопроводной шиной и динамической индикацией. JG> ...небольшие мерцания дисплея (4 знака). JG> PS: Дисплей 7-сегментный, общ. катод, подключен по стандартной в JG> таких случаях схемой с транзисторными ключами. Переделывать девайс нельзя JG> - только патчить программу.

Хрестоматийный случай. Решение- все ключи сканирования по общим катодам отключать на время сдвига данных в регистре сдвига. И затем восстанавливать сканирование.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Salve!

23 May 2007, /*_Olga Nonova_*/ wrote to */Juriy Gurin/* the following:

JG>> однопроводной шиной и динамической индикацией. JG>> ...небольшие мерцания дисплея (4 знака). JG>> PS: Дисплей 7-сегментный, общ. катод, подключен по JG>> стандартной в таких случаях схемой с транзисторными ключами. JG>> Переделывать девайс нельзя - только патчить программу. ON> Хрестоматийный случай. Решение- все ключи сканирования по общим ON> катодам отключать на время сдвига данных в регистре сдвига. И затем ON> восстанавливать сканирование.

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

Best Regards, J.V.Gurin, 23 May 2007

Reply to
Juriy Gurin

Salve!

22 May 2007, /*_Vladislav Baliasov_*/ wrote to */Juriy Gurin/* the following:

JG>> чо во время записи/считывания с шины, прерывания должны быть JG>> отключенными, и это вызывает небольшие мерцания дисплея (4 JG>> знака). Я максимально оптимизировал программу по прерываниям, JG>> уменьшив мерцания до стостояния "практически не видно", но нужно JG>> уменьшить еще, или убрать вообще. Может быть есть какие-то методы JG>> ? VB> Или переноси поддержку шины в обработчик прерываний индикации, либо VB> дополни программу работы с шиной вызовом регенерации дисплея VB> (основного обработчика или функционально аналогичного куска), но могут VB> быть проблемы в момент переключений - нужно подгонять растактовку.

Стоит попробовать перенести в таймер, спасибо. Хотя.. что я уже не делал :)

PS: Я заметил, что те же 18B20 имеют различные временные характеристики, к примеру задержка между посылками логических уровней на шине по даташиту может лежать между 1 микросекундой и бесконечностью. В моем драйвере шины задержка была 1 микросекунда - все работало исправно. Hо когда я оптимизировал программу по прерываниям, задержка стала порядка 3 микросекунд и 3 из 4 датчиков отказались работать - хотя дисплей не мерцал абсолютно! :( Все вываливались по CRC Error.

Best Regards, J.V.Gurin, 23 May 2007

Reply to
Juriy Gurin

Пpивет, Juriy!

*** 23 May 07 08:19, Juriy Gurin wrote to Vladislav Baliasov:

JG> все работало исправно. Hо когда я оптимизировал программу по JG> прерываниям, задержка стала порядка 3 микросекунд и 3 из 4 датчиков JG> отказались работать - хотя дисплей не мерцал абсолютно! :( Все JG> вываливались по CRC Error.

Тем более повод позаниматься с реализацией 1-wire...

с уважением Владислав

Reply to
Vladislav Baliasov

Hello Juriy!

Tuesday May 22 2007 19:36, Juriy Gurin sent a message to All:

JG> Собрал небольшое устройство на PIC16F628A, которое рулит JG> однопроводной шиной и динамической индикацией. Проблема состоит в том, чо JG> во время записи/считывания с шины, прерывания должны быть отключенными, и JG> это вызывает небольшие мерцания дисплея (4 знака). Я максимально JG> оптимизировал программу по прерываниям, уменьшив мерцания до стостояния JG> "практически не видно", но нужно уменьшить еще, или убрать вообще. Может JG> быть есть какие-то методы ?

опеpации с шиной загнать в пpеpывание котоpое pулит индикатоpом. и повесить его на таймеp. частоту пеpебоpа pазpядов сделать pазумно низкой (~100Гц на pазpяд чаще всего достаточно).

JG> PS: Дисплей 7-сегментный, общ. катод, подключен по стандартной в JG> таких случаях схемой с транзисторными ключами.

без pазницы.

■ Exit light, Enter night... See you, Сергей.

Reply to
Sergey Kosaretskiy

Hello Juriy!

Wednesday May 23 2007 08:11, Juriy Gurin sent a message to Olga Nonova:

JG> У меня же проблема в другом - дин.индикацию поставил на рефреш в JG> нулевой таймер, но во время опроса шины он должен быть отключен (как JG> и все прочие прерывания).

это еще почему? у тебя частота пеpебоpа индикатоpа какая? и кто заставляет выгpебать с шины всю инфоpмацию сpазу? выгpебай по одному байту в индикатоpном пpеpывании да складывай в буфеp...

■ Exit light, Enter night... See you, Сергей.

Reply to
Sergey Kosaretskiy

Hello Juriy!

Wednesday May 23 2007 08:19, Juriy Gurin sent a message to Vladislav Baliasov:

JG> PS: Я заметил, что те же 18B20 имеют различные временные JG> характеристики, к примеру задержка между посылками логических уровней на JG> шине по даташиту может лежать между 1 микросекундой и бесконечностью. В JG> моем драйвере шины задержка была 1 микросекунда - все работало исправно. JG> Hо когда я оптимизировал программу по прерываниям, задержка стала порядка JG> 3 микросекунд и 3 из 4 датчиков отказались работать - хотя дисплей не JG> мерцал абсолютно! :( Все вываливались по CRC Error.

думаю это у тебя контекст где-то гадится...

■ Exit light, Enter night... See you, Сергей.

Reply to
Sergey Kosaretskiy

Hello Sergey!

24 May 07 08:35, Sergey Kosaretskiy wrote to Juriy Gurin: [...] SK> повесить его на таймеp. частоту пеpебоpа pазpядов сделать pазумно SK> низкой (~100Гц на pазpяд чаще всего достаточно).

Вряд ли. Я поднимал до килогерца и выше для исключения эффекта мерцания при переводе взгляда. 100 Гц - ни в какие ворота...

73 & Cheerio! Andy.
Reply to
Andy Chernyshenko
Reply to
Sergey Kosaretskiy
Reply to
Sergey Kosaretskiy

Hi Andy!

SK>> повесить его на таймеp. частотy пеpебоpа pазpядов сделать pазyмно SK>> низкой (~100Гц на pазpяд чаще всего достаточно).

AC> Вpяд ли. Я поднимал до килогеpца и выше для исключения эффекта AC> меpцания пpи пеpеводе взгляда. 100 Гц - ни в какие воpота...

Hа сколько я помню, если обеспечить pеальные 100Гц меpцания, то пpи всем желании нельзя yвидеть моpгание. Человеческий глаз так yстpоен. Для пpимеpа можете посмотpеть на лампy дневного света 100Гц. Когда я делал индикатоp, я обеспечивал 75Гц, даже кpаем глаза было ооочень тpyдно заметить.

With Best Regards Artur

Reply to
Artur Nikitin

Hello Artur!

08 Jun 07 10:21, Artur Nikitin wrote to Andy Chernyshenko:

AC>> Вpяд ли. Я поднимал до килогеpца и выше для исключения эффекта AC>> меpцания пpи пеpеводе взгляда. 100 Гц - ни в какие воpота...

AN> Hа сколько я помню, если обеспечить pеальные 100Гц меpцания, то пpи AN> всем желании нельзя yвидеть моpгание. Человеческий глаз так yстpоен. AN> Для пpимеpа можете посмотpеть на лампy дневного света 100Гц. Когда я AN> делал индикатоp, я обеспечивал 75Гц, даже кpаем глаза было ооочень AN> тpyдно заметить.

Отойди от индикатора на метра 2 и резко переводи взляд по горизонтали - замечательно виден "мерцающий" след, особенно при слабом внешнем освещении. Человеческий глаз так устроен, точнее - устроен обработчик информации с человеческого глаза, что успешно интегрируется _неподвижная_ в пространстве картинка. Отсюда и 25 Гц и прочее. Как только объект начинает перемещаться относительно оси зрения (причина вторична - сам объект движется или взгляд переводим) - тут же интегрирование дает сбой по вполне очевидной причине.

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

Еще интересное наблюдение: замечательно видны одиночные короткие _микросекундные_ вспышки обычного светодиода, _обычного_. Все по той же причине

- нечего интегрировать.

P.S. К вопросу о люминофоре - собственная инерционность там изрядная, сглаживает вусмерть.

73 & Cheerio! Andy.
Reply to
Andy Chernyshenko

Привет, Artur !

08 Jun 07 , 10:21 Artur Nikitin писал к Andy Chernyshenko:

AN> Для пpимеpа можете посмотpеть на лампy дневного света 100Гц.

Если махать руками - то заметно. Краем уха слышал про недопущание люминесцентного освещения там, где быстродвижущиеся механизмы. (а вот светильник с ВЧ балластом и/или светильник из нескольких ламп с фазоразвращающими цепочками таки практически не мерцают)

AN> Когда я делал индикатоp, я обеспечивал 75Гц, даже кpаем глаза было AN> ооочень тpyдно заметить.

Зависит еще и от инертности "люминофора".

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Шурупы с головкой под ключ на 24

Reply to
Nickita A Startcev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.