Jump to content

    

Схемотехника и алгоритм работы видеоэкрана

Recommended Posts

picman

Не сочтите за назойливость, а почему СТРОИЛ? сейчас это, как говорилось выше, китайцами задавлено, или все же есть другие причины? Может поделитесь с какими подводными камнями могу столкнуться? например нужна ли синхронизация всех модулей, минимальная частота кадров без потери качества видео, может драйверы посоветуете и ПЛИС... При случае проставлюсь в Минске. :beer:

Share this post


Link to post
Share on other sites

GetSmart

Далековато от меня. В Минске я ещё не разу не был.

 

Скажем так, количество знаний в какой-то области не всегда пропорционально оплачиваются. Вобщем по разным причинам сейчас занимаюсь другими делами, но тоже связанными с электроникой. Я уже давно не интересовался драйверами, спросите у ledmasterа. А FPGA выбирайте сами между Altera и Xilinx. Соответственно Cyclone или Spartan. Я бы выбрал самую дешёвую из них, подходящую по размеру ОЗУ. Хотя лично я скорее всего сделал всё на ARMе, но это долго объяснять что и как.

Share this post


Link to post
Share on other sites

picman

GetSmart,Спасибо еще раз... А в Минск милости просим. У нас тут весьма неплохо. :yeah: А по поводу знаний... У меня с детства сложилось такое отношение ко всем делам (наверное глупое) сначала сделать, а потом теорию изучать. Т.е. я по натуре чистейший практик. Но вот в последнее время начинаю понемногу и думать перед тем как сделать. :07: По поводу ваших объяснений как шим получается в экране... Ведь именно с этим у меня пока туговато, так ноги а контроллерах доргаю (там часы всякие табло спортивные и строки бегущие) а вот с математикой двоичной как то не получается пока дружить. :crying: Скажем так нет учителя по этим вопросам, а самому разбираться с 0 как то страшновато долго получится... Можно я буду задавать глупые вопросы? С надеждой на толковые ответы? :biggrin: В ранг учителя вас возведу... :twak:

Share this post


Link to post
Share on other sites

_LD
Может поделитесь с какими подводными камнями могу столкнуться?

 

Главное - изначально продумать иерархичную наращиваемую систему. Все остальное приложится :)

 

например нужна ли синхронизация всех модулей, минимальная частота кадров без потери качества видео, может драйверы посоветуете и ПЛИС...

 

Синхронизация модулей не нужна, правда, у меня она всегда получалась автоматически. Минимальная частота кадров - порядка 75 герц, но нелишним будет задрать ее до нескольких сотен герц. У китайских товарищей в основном 200-300 герц.

Лично я использую драйверы MBI5026 и ПЛИС Альтера (Циклон1/2), которая тянет модули размерностью порядка 64 на 32 полноцветные точки. Обычно хватает внутренней памяти, но иногда приходится ставить внешнюю.

 

Да, глубина цвета (разрядность ШИМ), что выбрана Вами (8 бит - 256 значений), абсолютно неприемлема (проблемы с воспроизведением "темных" полутонов). Минимум - 10 бит; опять-таки, у китайцев от 12 до 14 бит. Я делал не менее 12 бит для статической индикации.

 

Будут вопросы - милости просим.

Share this post


Link to post
Share on other sites

picman
Обычно хватает внутренней памяти, но иногда приходится ставить внешнюю.

 

Спасибо за советы. Очень помогает, на душе легче становится. А что означает обычно? Вы все время применяете для своих девайсов разную схемотехнику? :07:

 

Да, глубина цвета (разрядность ШИМ), что выбрана Вами (8 бит - 256 значений), абсолютно неприемлема (проблемы с воспроизведением "темных" полутонов). Минимум - 10 бит; опять-таки, у китайцев от 12 до 14 бит. Я делал не менее 12 бит для статической индикации.

 

А как данные о 10-12 разрядном шиме грамотно в памяти располагать? :05: 2 байта на пиксель занимать приходится?

Share this post


Link to post
Share on other sites

Ledmaster
Так делают любители, вроде ledmaster. Ковчег наверно тоже он делал. Зачем по 256 раз сравнивать один и тот же байт (яркость)? Берёте младший бит, отображаете его 1 такт. Берёте второй, отображаете 2 такта. ... Берёте 4-ый бит, отображаете его 16 тактов. ... Берёте старший 7-ой бит, отображаете его 128 тактов. Никаких сравнений не надо. Сразу после начала отображения 7-ого бита оперативка освобождается для перезагрузки новыми данными. То есть 1/2 времени она гарантированно не используется (реально 97%).

Уважаемый GetSmart, что-то не припомню, когда я Вам рассказывал, что и как я делаю :(

Я не отношу себя к числу людей, которые всегда и во всем считают себя суперпрофессионалами, но некоторые приемы построения экранов и мне доступны B)

Хотите подробностей, их есть у меня! :biggrin:

Share this post


Link to post
Share on other sites

GetSmart
Уважаемый GetSmart, что-то не припомню, когда я Вам рассказывал, что и как я делаю
Уже на раз слышал упоминание о Вас в контексте алгоритма с постоянным сравнением яркости точек на больших экранах.

А как данные о 10-12 разрядном шиме грамотно в памяти располагать? 2 байта на пиксель занимать приходится?
Ни в коем случае. Тем самым сразу увеличите поток данных от компьютера или чего-то ещё в экран. Внутри FPGA вообще проблем нет. Сразу можно поделить на 8..10 плоскостей. Хотя это не принципиально. Главное не передавать и не хранить лишние пустые ~6 бит. Только если памяти некуда девать.

 

ЗЫ. Для уличного экрана 8 бит на точку вполне приемлемо. Особенно если это сказывается на экономии чего-нибудь. Желательно конечно 10.

Share this post


Link to post
Share on other sites

Tehnoon

Господа, извините что вмешиваюсь... Но мне совершенно не понятно, в чем прелесть постройки экрана, с такой разверткой и шимом ? Почему все же, не DM163 и ей подробные ? :05: Грубо говоря, весь экран, это три длинных сдвиговых, с програмным управлением каждой точкой. Или я чего-то кардинально не понимаю ? :crying:

Share this post


Link to post
Share on other sites

picman
Господа, извините что вмешиваюсь... Но мне совершенно не понятно, в чем прелесть постройки экрана, с такой разверткой и шимом ? Почему все же, не DM163 и ей подробные ? :05: Грубо говоря, весь экран, это три длинных сдвиговых, с програмным управлением каждой точкой. Или я чего-то кардинально не понимаю ? :crying:

Где то в форуме я видел нелестные высказывания о работе данного драйвера. :-(

А я тоже начал было с ним работать. Более того, я вроде как посчитал, при одинаковых размерах и возможностях модуля, на классических драйверах значительно дешевле получается.

 

Ни в коем случае. Тем самым сразу увеличите поток данных от компьютера или чего-то ещё в экран. Внутри FPGA вообще проблем нет. Сразу можно поделить на 8..10 плоскостей. Хотя это не принципиально. Главное не передавать и не хранить лишние пустые ~6 бит. Только если памяти некуда девать.

 

Уважаемый GetSmart, а где я могу почитать или может даже посмотреть в картинках :) , как это в адресном пространстве делается. Я понимаю для 8 бит, 8х8 переворачиваю на 90 градусов вот у меня готовые байты на выдачу. а 10-12 бит???

 

ЗЫ. Для уличного экрана 8 бит на точку вполне приемлемо. Особенно если это сказывается на экономии чего-нибудь. Желательно конечно 10.

 

На сколько я понимаю приемлемо из-за того что общая освещенность бОльшая и "ньюансов" видно не будет?

Share this post


Link to post
Share on other sites

_LD
Вы все время применяете для своих девайсов разную схемотехнику?

 

Да. Все зависит от размерности управляемого объекта. Если два полных кадра лезут в память ПЛИС - нафига внешняя память?

А вот если не лезут, то приходится ее ставить.

 

А как данные о 10-12 разрядном шиме грамотно в памяти располагать? :05: 2 байта на пиксель занимать приходится?

 

Память ПЛИС может быть организована не байтами. Можно хоть 13 бит без потерь сделать :) 12 бит в Альтере - три блока памяти разрядностью 4 бита.

 

А если память внешняя, то ее обычно дофига, и не проблема потерять четверть 16-ти битного слова.

Share this post


Link to post
Share on other sites

picman
Если два полных кадра лезут в память ПЛИС - нафига внешняя память?

А вот если не лезут, то приходится ее ставить.

Память ПЛИС может быть организована не байтами. Можно хоть 13 бит без потерь сделать :) 12 бит в Альтере - три блока памяти разрядностью 4 бита.

 

А если память внешняя, то ее обычно дофига, и не проблема потерять четверть 16-ти битного слова.

 

Уважаемый _LD, может Вы поделитесь? :) чем (интерфейс, протокол) вы доставляете к блокам видеопоток (не сжимать же его, а то аппаратное сжатие стоит огогого, :07: а програмное мне не потянуть с моими знаниями это точно в ближайшее время :crying: ). Спасибо за разъяснения по поводу памяти альтеры, я как раз это изучил. Я думал про 2 байта ПОЛНЫХ с лишними битами в видеопотоке, как их там не передавать? (грамотно).

Вопрос к Вам (ибо вижу вы не просто любитель, а вроде как знающий человек ;) ), Вы тоже применяете способ ШИМа взвешиванием (тактированием) весовых коэффициентов разрядов или же у Вас иной способ? (и вообще какие еще бывают способы создания ШИМа без потери времени на прием данных и обслуживание ОЗУ без применения драйверов с шимом)?

З.Ы. Какую внешнюю память Вы применяете (если такая все же необходима)?

Share this post


Link to post
Share on other sites

picman
Да, глубина цвета (разрядность ШИМ), что выбрана Вами (8 бит - 256 значений), абсолютно неприемлема (проблемы с воспроизведением "темных" полутонов). Минимум - 10 бит; опять-таки, у китайцев от 12 до 14 бит. Я делал не менее 12 бит для статической индикации.

 

Будут вопросы - милости просим.

 

Вот еще перечитывал возник вопросик, Вы тут имели ввиду 12-14 бит на 1 ЦВЕТ?! Раз так то откуда их снимать? Ведь по тому же DVI прет по 8 бит на цвет, откуда лишние биты берутся? Неужели их приходится добавлять самому при преобразовании(так называемой гамма коррекции)?

Еще вопрос. :wacko: я наверное слишком много их задаю... в ПЛИСке у Вас организована память 2-х портовая? (если так то, тогда понятно как она успевает независимо и шим вывести и принять DVI, или что там еще...)

Share this post


Link to post
Share on other sites

_LD
Уважаемый _LD, может Вы поделитесь? :) чем (интерфейс, протокол) вы доставляете к блокам видеопоток

 

Китайские товарищи вовсю используют гигабитный ethernet, а я не захотел:)

В небольших поделках - манчестер 8 мбит по витой паре, в больших - 100 мбит ethernet.

 

Вопрос к Вам (ибо вижу вы не просто любитель, а вроде как знающий человек ;) )

 

Уже сменил род деятельности. Задолбало лампочками управлять :)

Но несколько лет просидел на этом.

 

Вы тоже применяете способ ШИМа взвешиванием (тактированием) весовых коэффициентов разрядов или же у Вас иной способ?

 

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

 

 

З.Ы. Какую внешнюю память Вы применяете (если такая все же необходима)?

 

Асинхронную статику Samsung.

 

Вот еще перечитывал возник вопросик, Вы тут имели ввиду 12-14 бит на 1 ЦВЕТ?! Раз так то откуда их снимать? Ведь по тому же DVI прет по 8 бит на цвет, откуда лишние биты берутся? Неужели их приходится добавлять самому при преобразовании(так называемой гамма коррекции)?

 

Именно так.

 

Еще вопрос. я наверное слишком много их задаю... в ПЛИСке у Вас организована память 2-х портовая? (если так то, тогда понятно как она успевает независимо и шим вывести и принять DVI, или что там еще...)

 

Конеюно, двухпортовая. Если два полных кадра в ПЛИС не лезут, идет прием во внешнюю память с перебросом ее во внутреннюю при смене кадров.

Share this post


Link to post
Share on other sites

GetSmart
Если быстродействие памяти и требуемые параметры позволяют - делаю "в лоб", вычитывая каждый раз значение яркости. Если поджимает - делаю смешанный вариант (младшие разряды стробом, остальные вычитыванием).
А в чём приемущества такого "гибрида"?

Share this post


Link to post
Share on other sites

GetSmart
На сколько я понимаю приемлемо из-за того что общая освещенность бОльшая и "ньюансов" видно не будет?
Именно из-за этого. При низком освещении уже будут видны "ступеньки" на малых яркостях. Кстати, если для уличного экрана не применяется изменение гаммы в зависимости от времени суток (день/ночь), то 10 и более битный экран всего-лишь "пыль в глаза". Другими словами - рекламный трюк.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.