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

 
 
> Схемотехника и алгоритм работы видеоэкрана, Схемотехника и алгоритм работы видеоэкрана
yagger
сообщение Feb 16 2008, 13:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Прошу (как обычно при таких вопросах говорят на форумах) сильно не пинать...
Поправьте меня пожалуйста если я где то ошибся: имеем панель 24х32 пиксела, 3 цвета > итого у нас есть 24*32*3=2304 физических точки. Идем далее => необходимо развернуть картинку из озу 100 раз (100 Гц), но при этом!!!! требуется создать еще и градации серого ШИМом для каждой точки (8 битный шим, т.е. 256 градаций), отсюда вытекает мне необходимо разворачивать картинку 1 сек/100 Гц=10 мСек => 10 мСек/256 (1 такт ШИМа)=39 мкСек , т.е. на разворот 2304 бита мне надо это время. Далее: пусть у меня стоит ПЛИС опрашивает озу (в озу зашиты данные о шим каждого пиксела) сравнивает с счетчиком и выставляет соответствующие данные на шине данных для регистров (если регистры 16-разрядные их требуется всего 2304/16=144 шт) стробит и в конце цикла защелкивает. Значит для того чтобы считать данные о шим для каждой точки требуется 39 мкСек/2304 бита=16-17 нСек. Справится ли современная электроника с этим бредом? или все же ЭТИ дела делают таким же способом но не 24х32 а поменьше???
Go to the top of the page
 
+Quote Post
6 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 75)
Dog Pawlowa
сообщение Feb 16 2008, 13:45
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(yagger @ Feb 16 2008, 17:15) *
Справится ли современная электроника с этим бредом? или все же ЭТИ дела делают таким же способом но не 24х32 а поменьше???

ЭТИ дела делаются на драйверах светодиодов с возможностью управления током каждого выхода.
ШИМ - это решение для табло в пионерском кружке smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 16 2008, 13:53
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



ммммм.... Т.е. китайцы до сих пор пионеры и строят по такой технологии тоже?
Просто я сколько видел на выставках на таких драйверах как DM163 совсем нет экранов, а вот на простых mbi почти все!!!! и при чем статическая индикация. Так как они ими управляют?

И кстати мне почему то кажется, что именно на этом принципе строит (или строил) уважаемый ledmaster. Как я посмотрел на форумах он вроде как хорошо отзывался о драйверах TI, а они почти аналоги MBI5026 к примеру. (и при этом он упоминал о тысячах используемых этих драйверов в его разработках).
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Feb 16 2008, 14:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(yagger @ Feb 16 2008, 17:53) *
Просто я сколько видел на выставках на таких драйверах как DM163 совсем нет экранов, а вот на простых mbi почти все!!!! и при чем статическая индикация. Так как они ими управляют?

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 16 2008, 14:04
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Т.е. ГРУБО говоря у них обновление как ШИМ так и КАДРОВ идет к примеру с частотой 100 Гц???? sad.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 16 2008, 15:59
Сообщение #6


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Dog Pawlowa)
Большинство табло так не работают, они равномерно изменяют яркость всего табло.
Не верьте ему! Он фальшивый smile.gif
yagger
У вас расчёт верный. Только умные люди перезагружают эти регистры по параллельной шине, а не через одну линию. Например через 24 линии и по каждой будет передано 32 бита для перезагрузки всех регистров табло. Таким образом длительность одного бита вырастет в 24 раза и будет 400 нс. Все подобные вещи уже давно можно было делать на уже состарившейся элементной базе. Сейчас база озволяет делать всё в десятки раз круче.

Ошибся. По каждой из 24 линий будет передано 32*3 бит. То есть 6 регистров MBI5026 (16-разрядных) в цепочке.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Feb 16 2008, 20:20
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(GetSmart @ Feb 16 2008, 19:59) *
Не верьте ему! Он фальшивый smile.gif

А тут все фальшивые, настоящие только (оглянувшись) модераторы. smile.gif

Я говорил, с чего бы я начал такой проект. Но я его никогда не буду делать - нет шансов сделать сложное табло дешевле, чем в Китае. Простое - запросто smile.gif
По Дискавери недавно показывали, "Как это делается", но тонкости электроники конечно не затрагивали.
Посмотрю в понедельник, может фотки найду.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 16 2008, 21:25
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



GetSmart дело в том что я пока в расчете и не затрагивал "загон" в регистры меня на самом деле интересует время считывания из озу... Даже если взять озу с временем доступа 5-10 нс (а я расчитывал на 12-20) то за 16-17 мс необходимо сделать все остальное (записать с другой строны байты(я имею ввиду со стороны приемника потока 25-30 кадров), далее загнать в регистр текущий бит, но перед этим сравнить в счетчике шима и т.д. не говоря уже о том что я наверное еще что то упускаю)
Я кстати на параллельную шину сразу и расчитывал, ввиду многих причин...
Но что то я не понял как это время вырастет до 400 нс???? мне то разницы на самом деле нет выставлять бит на параллельную шину или на последовательную (если бы БАЙТ это другое дело)...

Да и еще, Dog Pawlowa, в одном форуме видел хорошее замечание " Титаник делали профессионалы, а ковчег - любитель!" и если придерживаться позиции что китайцы всех победят, то можно завтра закрывать почти все фирмы и производства и у нас и у вас в стране...(хотя на самом деле я не знаю откуда вы). Просто есть такая вещь как маркетинг или например личные договоренности в особых кругах сбыта, где ни какие китайцы не пробьются.
Go to the top of the page
 
+Quote Post
vetal
сообщение Feb 16 2008, 21:54
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Что-то вы не то насчитали. У вас 24*32*3*8*100 бит/с для приведенных вами условий, иными словами - 542,5 нс/бит.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 17 2008, 01:15
Сообщение #10


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger)
Даже если взять озу с временем доступа 5-10 нс (а я расчитывал на 12-20) то за 16-17 мс необходимо сделать все остальное (записать с другой строны байты(я имею ввиду со стороны приемника потока 25-30 кадров),
Начните уже сразу мыслить широко. У вас что однобитное ОЗУ ? Тогда вам труба! Профи всё это делают внутри FPGA. Там и ОЗУ бывают по 10 КБ и логики выше крыши. Да и скорости еденицы нансек. Я конечно разжёвывать всё до мелочей в схемотехнике и алгоритмах не буду, так, пару советов могу дать.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Feb 17 2008, 02:14
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(yagger @ Feb 17 2008, 01:25) *
Да и еще, Dog Pawlowa, в одном форуме видел хорошее замечание " Титаник делали профессионалы, а ковчег - любитель!"

Хм, это не форум сантехников? Всякий уважающий себя инженер должен пахать широко smile.gif

Цитата(yagger @ Feb 17 2008, 01:25) *
Просто есть такая вещь как маркетинг или например личные договоренности в особых кругах сбыта, где ни какие китайцы не пробьются.

Угу.
"Зато мы делаем ракеты..." (с) Ю.Визбор
Тогда договориться можно и с президентом.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 17 2008, 09:35
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(vetal @ Feb 17 2008, 01:54) *
Что-то вы не то насчитали. У вас 24*32*3*8*100 бит/с для приведенных вами условий, иными словами - 542,5 нс/бит.

??? что то мне подсказывает что у вас не то что то... 05.gif
хотя я все же могу ошибаться.
24*32*3=2304 физических точки.
теперь следую алгоритму: берем из озу 1 байт(8 бит) сравниваем его со счетчиком (к примеру в ПЛИС) и по результату сравнения выставляем 0 или 1 на шине данных, стробим, читаем след байт(8 бит) и так 2304 шт, после этого подаем строб LE. На этом этапе первый такт ШИМа загружен в регистры. И таких разворотов нам надо 256 (так как шим 8 битный). И вот эта последовательность и есть картинка за 10 мСек так как 1 сек/100 Гц=10 мСек. а Если так, то 10 мСек/256=39 мкСек на 2304 байта, а соответственно 39 мкСек/2304~17 нСек на выборку 1 байта (который сравнивается с счетчиком) и установку 1 бита на шине данных. Где ошибка???
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 17 2008, 09:57
Сообщение #13


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Так делают любители, вроде ledmaster. Ковчег наверно тоже он делал. Зачем по 256 раз сравнивать один и тот же байт (яркость)? Берёте младший бит, отображаете его 1 такт. Берёте второй, отображаете 2 такта. ... Берёте 4-ый бит, отображаете его 16 тактов. ... Берёте старший 7-ой бит, отображаете его 128 тактов. Никаких сравнений не надо. Сразу после начала отображения 7-ого бита оперативка освобождается для перезагрузки новыми данными. То есть 1/2 времени она гарантированно не используется (реально 97%). Что бы не париться и не читать из ОЗУ байт ради одного бита, делается так:
Заранее в ОЗУ записываются не байты яркости пикселей друг за другом, а уже разрезанные на 8 плоскостей данные. Таким образом если память байтовая, то чтение одного байта извлечёт данные для 8-ми пикселей и должно длиться 17*8 ==> 136 нс. Однако, уже подчёркивал, что делать это на рассыпухе - школьное подельничество. FPGA или ARM-проц. Они же могут раскрутить в 10 раз большее табло.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 17 2008, 10:40
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



GetSmart, огромное спасибо за достаточно подробное описание алгоритма, я прошу прощения, возможно бестактно с моей стороны будет спросить, Вы строили данные девайсы? Конечно можете не отвечать, просто я сколько читаю форумы там чуть ли не 90 процентов теоретики и философы. А по поводу ledmaster я просто видел его высказывания в форуме ledforum.ru и у меня сложилось о нем некоторое мнение.(я его не считаю любителем). Любитель это я точно... Правда стараюсь выбраться повыше. Как говорится "Завтра начну жить с нуля. Только до него еще добраться надо." smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 17 2008, 10:45
Сообщение #15


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Да, строил. Знаю там каждую крупинку. Поверьте мне, никаких побочных эффектов на неподвижном табло не наблюдается. Даже на не сильно подвижном тоже.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 17 2008, 10:56
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Не сочтите за назойливость, а почему СТРОИЛ? сейчас это, как говорилось выше, китайцами задавлено, или все же есть другие причины? Может поделитесь с какими подводными камнями могу столкнуться? например нужна ли синхронизация всех модулей, минимальная частота кадров без потери качества видео, может драйверы посоветуете и ПЛИС... При случае проставлюсь в Минске. beer.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 17 2008, 11:10
Сообщение #17


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 17 2008, 11:22
Сообщение #18


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



GetSmart,Спасибо еще раз... А в Минск милости просим. У нас тут весьма неплохо. yeah.gif А по поводу знаний... У меня с детства сложилось такое отношение ко всем делам (наверное глупое) сначала сделать, а потом теорию изучать. Т.е. я по натуре чистейший практик. Но вот в последнее время начинаю понемногу и думать перед тем как сделать. 07.gif По поводу ваших объяснений как шим получается в экране... Ведь именно с этим у меня пока туговато, так ноги а контроллерах доргаю (там часы всякие табло спортивные и строки бегущие) а вот с математикой двоичной как то не получается пока дружить. crying.gif Скажем так нет учителя по этим вопросам, а самому разбираться с 0 как то страшновато долго получится... Можно я буду задавать глупые вопросы? С надеждой на толковые ответы? biggrin.gif В ранг учителя вас возведу... twak.gif
Go to the top of the page
 
+Quote Post
_LD
сообщение Feb 17 2008, 21:55
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837



Цитата(yagger @ Feb 17 2008, 13:56) *
Может поделитесь с какими подводными камнями могу столкнуться?


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

Цитата(yagger @ Feb 17 2008, 13:56) *
например нужна ли синхронизация всех модулей, минимальная частота кадров без потери качества видео, может драйверы посоветуете и ПЛИС...


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

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

Будут вопросы - милости просим.
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 18 2008, 06:10
Сообщение #20


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(_LD @ Feb 18 2008, 01:55) *
Обычно хватает внутренней памяти, но иногда приходится ставить внешнюю.


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

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


А как данные о 10-12 разрядном шиме грамотно в памяти располагать? 05.gif 2 байта на пиксель занимать приходится?
Go to the top of the page
 
+Quote Post
Ledmaster
сообщение Feb 18 2008, 06:54
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 18-02-08
Из: Челябинск
Пользователь №: 35 141



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

Уважаемый GetSmart, что-то не припомню, когда я Вам рассказывал, что и как я делаю sad.gif
Я не отношу себя к числу людей, которые всегда и во всем считают себя суперпрофессионалами, но некоторые приемы построения экранов и мне доступны cool.gif
Хотите подробностей, их есть у меня! biggrin.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 18 2008, 07:42
Сообщение #22


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Tehnoon
сообщение Feb 18 2008, 14:22
Сообщение #23





Группа: Новичок
Сообщений: 6
Регистрация: 9-07-07
Пользователь №: 28 988



Господа, извините что вмешиваюсь... Но мне совершенно не понятно, в чем прелесть постройки экрана, с такой разверткой и шимом ? Почему все же, не DM163 и ей подробные ? 05.gif Грубо говоря, весь экран, это три длинных сдвиговых, с програмным управлением каждой точкой. Или я чего-то кардинально не понимаю ? crying.gif
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 18 2008, 17:28
Сообщение #24


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(Tehnoon @ Feb 18 2008, 18:22) *
Господа, извините что вмешиваюсь... Но мне совершенно не понятно, в чем прелесть постройки экрана, с такой разверткой и шимом ? Почему все же, не DM163 и ей подробные ? 05.gif Грубо говоря, весь экран, это три длинных сдвиговых, с програмным управлением каждой точкой. Или я чего-то кардинально не понимаю ? crying.gif

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

Цитата(GetSmart @ Feb 18 2008, 11:42) *
Ни в коем случае. Тем самым сразу увеличите поток данных от компьютера или чего-то ещё в экран. Внутри FPGA вообще проблем нет. Сразу можно поделить на 8..10 плоскостей. Хотя это не принципиально. Главное не передавать и не хранить лишние пустые ~6 бит. Только если памяти некуда девать.


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

Цитата(GetSmart @ Feb 18 2008, 11:42) *
ЗЫ. Для уличного экрана 8 бит на точку вполне приемлемо. Особенно если это сказывается на экономии чего-нибудь. Желательно конечно 10.


На сколько я понимаю приемлемо из-за того что общая освещенность бОльшая и "ньюансов" видно не будет?
Go to the top of the page
 
+Quote Post
_LD
сообщение Feb 19 2008, 22:23
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837



Цитата(yagger @ Feb 18 2008, 09:10) *
Вы все время применяете для своих девайсов разную схемотехнику?


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

Цитата(yagger @ Feb 18 2008, 09:10) *
А как данные о 10-12 разрядном шиме грамотно в памяти располагать? 05.gif 2 байта на пиксель занимать приходится?


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

А если память внешняя, то ее обычно дофига, и не проблема потерять четверть 16-ти битного слова.
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 20 2008, 06:37
Сообщение #26


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(_LD @ Feb 20 2008, 02:23) *
Если два полных кадра лезут в память ПЛИС - нафига внешняя память?
А вот если не лезут, то приходится ее ставить.
Память ПЛИС может быть организована не байтами. Можно хоть 13 бит без потерь сделать smile.gif 12 бит в Альтере - три блока памяти разрядностью 4 бита.

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


Уважаемый _LD, может Вы поделитесь? smile.gif чем (интерфейс, протокол) вы доставляете к блокам видеопоток (не сжимать же его, а то аппаратное сжатие стоит огогого, 07.gif а програмное мне не потянуть с моими знаниями это точно в ближайшее время crying.gif ). Спасибо за разъяснения по поводу памяти альтеры, я как раз это изучил. Я думал про 2 байта ПОЛНЫХ с лишними битами в видеопотоке, как их там не передавать? (грамотно).
Вопрос к Вам (ибо вижу вы не просто любитель, а вроде как знающий человек wink.gif ), Вы тоже применяете способ ШИМа взвешиванием (тактированием) весовых коэффициентов разрядов или же у Вас иной способ? (и вообще какие еще бывают способы создания ШИМа без потери времени на прием данных и обслуживание ОЗУ без применения драйверов с шимом)?
З.Ы. Какую внешнюю память Вы применяете (если такая все же необходима)?
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 20 2008, 12:51
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



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

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


Вот еще перечитывал возник вопросик, Вы тут имели ввиду 12-14 бит на 1 ЦВЕТ?! Раз так то откуда их снимать? Ведь по тому же DVI прет по 8 бит на цвет, откуда лишние биты берутся? Неужели их приходится добавлять самому при преобразовании(так называемой гамма коррекции)?
Еще вопрос. wacko.gif я наверное слишком много их задаю... в ПЛИСке у Вас организована память 2-х портовая? (если так то, тогда понятно как она успевает независимо и шим вывести и принять DVI, или что там еще...)
Go to the top of the page
 
+Quote Post
_LD
сообщение Feb 21 2008, 00:11
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837



Цитата(yagger @ Feb 20 2008, 09:37) *
Уважаемый _LD, может Вы поделитесь? smile.gif чем (интерфейс, протокол) вы доставляете к блокам видеопоток


Китайские товарищи вовсю используют гигабитный ethernet, а я не захотелsmile.gif
В небольших поделках - манчестер 8 мбит по витой паре, в больших - 100 мбит ethernet.

Цитата(yagger @ Feb 20 2008, 09:37) *
Вопрос к Вам (ибо вижу вы не просто любитель, а вроде как знающий человек wink.gif )


Уже сменил род деятельности. Задолбало лампочками управлять smile.gif
Но несколько лет просидел на этом.

Цитата(yagger @ Feb 20 2008, 09:37) *
Вы тоже применяете способ ШИМа взвешиванием (тактированием) весовых коэффициентов разрядов или же у Вас иной способ?


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


Цитата(yagger @ Feb 20 2008, 09:37) *
З.Ы. Какую внешнюю память Вы применяете (если такая все же необходима)?


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

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


Именно так.

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


Конеюно, двухпортовая. Если два полных кадра в ПЛИС не лезут, идет прием во внешнюю память с перебросом ее во внутреннюю при смене кадров.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 21 2008, 06:50
Сообщение #29


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 21 2008, 08:08
Сообщение #30


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 21 2008, 09:31
Сообщение #31


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(Tehnoon @ Feb 18 2008, 17:22) *
Господа, извините что вмешиваюсь... Но мне совершенно не понятно, в чем прелесть постройки экрана, с такой разверткой и шимом ? Почему все же, не DM163 и ей подробные ? 05.gif Грубо говоря, весь экран, это три длинных сдвиговых, с програмным управлением каждой точкой. Или я чего-то кардинально не понимаю ? crying.gif

Был бы благодарен за информацию о том, чем плохи DM163.

У нас сделали 2 экрана на этих драйверах - один с SMD светодиодами, шаг 10мм, другой с колбочками, шаг 28мм. Так вот, плата с SMD диодами - это один длинный сдвиговый регистр на 96 последовательно включенных DM163. Никаких сбоев не наблюдается, что меня сильно порадовало, даже на это и не рассчитывал, думал, придется распараллеливать. Правда, плата вышла 4-хслойная.

Поскольку тупую работу ШИМ выполняют сами драйверы, снижена нагрузка на ПЛИС, один Cyclone управляет 4-мя такими платами, снимая данные с LVDS линии.

Вот, хотелось бы узнать, чем действительно плохи DM, может, я рано обрадовался?
Go to the top of the page
 
+Quote Post
at90
сообщение Feb 21 2008, 14:44
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



а какого разрешения модули и экран?


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 21 2008, 15:56
Сообщение #33


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(at90 @ Feb 21 2008, 18:44) *
а какого разрешения модули и экран?


07.gif ну если я правильно понимаю, то исходя из соображений что DM163 24 канала(8 пикселей RGB) то в итоге получается 96 микросхем это 32х24 это если статика конечно... (кстати я как раз где то читал , что именно при динамике у этих микросхем всякие пошлости... только вот не помню где читал 05.gif )

GetSmart, может Вы можете поделиться секретом: какие еще бывают способы создания ШИМа без потери времени на прием данных и обслуживание ОЗУ без применения драйверов с шимом.(я как буратино - хочу все знать. smile3046.gif
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 21 2008, 19:35
Сообщение #34


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 21 2008, 18:56) *
07.gif ну если я правильно понимаю, то исходя из соображений что DM163 24 канала(8 пикселей RGB) то в итоге получается 96 микросхем это 32х24 это если статика конечно... (кстати я как раз где то читал , что именно при динамике у этих микросхем всякие пошлости... только вот не помню где читал 05.gif )

Абсолютно правильно подсчитали - плата именно 32х24 и именно статика. Из 4-х плат собран блок, управляемый контроллером. А размерность экрана - по количеству блоков.

Что касается динамики, ее даже и не рассматривали, хотя теоретически можно прилично сэкономить на числе драйверов. Если исходить из среднего тока диода 20мА и макс токе 60мА на выход, можно одним выходом без потери в яркости управлять тремя диодами, т.е. использовать в 3 раза меньше драйверов. Если же речь идет о ярких диодах и табло используется в помещении, достаточная яркость может быть получена при меньшем токе и число драйверов можно еще уменьшить. Однако это чревато мерцанием экрана, пока это не обдумывали.

Сообщение отредактировал Галстук - Feb 21 2008, 19:38
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 22 2008, 18:51
Сообщение #35


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(Галстук @ Feb 21 2008, 13:31) *
У нас сделали 2 экрана на этих драйверах - один с SMD светодиодами, шаг 10мм, другой с колбочками, шаг 28мм. Так вот, плата с SMD диодами - это один длинный сдвиговый регистр на 96 последовательно включенных DM163. Никаких сбоев не наблюдается, что меня сильно порадовало, даже на это и не рассчитывал, думал, придется распараллеливать. Правда, плата вышла 4-хслойная.

Поскольку тупую работу ШИМ выполняют сами драйверы, снижена нагрузка на ПЛИС, один Cyclone управляет 4-мя такими платами, снимая данные с LVDS линии.

А ШИМ чем создаете? Я имею ввиду на PWC вход что подаете на каждой плате свой отдельный генератор? и какова частота его у Вас? LVDS - это вы прямо DVI в блок пихаете или свое что то? Да кстати, на смд диодах экран не греется? как охлаждение сделали?
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 23 2008, 08:29
Сообщение #36


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Ребята, А может расскажите принцип масштабирования? 05.gif или у Вас в программе на компе есть область куда и сгружается все видео, и эта область по масштабу (по пикселам) соответствует экрану. В DVI по-моему минимально 60 Гц кадры бегут, какой принцип получения 25 кадров? 07.gif ну я так понимаю 30 кадров можно через кадр забирать из потока, а вот 25? неужели через 1, а иногда через 2? wacko.gif

Сообщение отредактировал yagger - Feb 23 2008, 08:31
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 23 2008, 16:34
Сообщение #37


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Масштабирование мы не применяли. У нас делалось так. На мониторе проигрыватель видео жёстко привязан к координатам экрана. А из потока DVI просто "вырезается" это окно и загоняется в ОЗУ FPGA. С кадровой частотой всё проще. Две страницы видеопамяти переключаются друг за другом. После полного заполнения пассивной, она становится активной и отображается, но обязательно синхронно со сменой кадров экрана. В другом варианте, когда видеопоток идёт не с DVI там можно по запросу заполнять единственную страницу ОЗУ. (если используется тот алгоритм с "взвешиванием" разрядов)

Сообщение отредактировал GetSmart - Feb 23 2008, 16:34


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 24 2008, 09:11
Сообщение #38


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 22 2008, 21:51) *
А ШИМ чем создаете? Я имею ввиду на PWC вход что подаете на каждой плате свой отдельный генератор? и какова частота его у Вас? LVDS - это вы прямо DVI в блок пихаете или свое что то? Да кстати, на смд диодах экран не греется? как охлаждение сделали?

На каждой плате контроллера, управляющего до 8ми светодидных плат, свой генератор GCK 1.25 МГц, на более низких частотах заметно мерцание.
LVDS получается из DVI соответствующим преобразователем от TI.
А вот с охлаждением вопрос непростой. В модулях стоят блоки питания с вентиляторами, они обеспечивают какой-то принудительный обдув, на платы все равно заметно теплые. Спасает, что в помещении не надо выводить максимальную яркость, а на улице придется ставить дополнительные вентиляторы.
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 24 2008, 10:47
Сообщение #39


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 23 2008, 20:34) *
Масштабирование мы не применяли. У нас делалось так. На мониторе проигрыватель видео жёстко привязан к координатам экрана. А из потока DVI просто "вырезается" это окно и загоняется в ОЗУ FPGA.

Ага, я как раз именно так и представлял этот процесс и это, на сколько я понимаю, на много проще чем применять какие то ни было масштабирования, будь они программные или аппаратные...
Цитата(GetSmart @ Feb 23 2008, 20:34) *
С кадровой частотой всё проще. Две страницы видеопамяти переключаются друг за другом. После полного заполнения пассивной, она становится активной и отображается, но обязательно синхронно со сменой кадров экрана.

Я очередной раз прошу прощения crying.gif если я правильно понимаю, в этом варианте используется 2 страницы памяти озу с разным адресным пространством??? ну то есть дабы иметь одновременный НЕЗАВИСИМЫЙ доступ к своей памяти (активной/пассивной) как со стороны драйверов, так и со стороны потока видео? и в момент заполнения памяти пассивной со стороны потока, выжидаем пока не "отстреляет" до последнего бита активная часть и переключаем памяти??? я правильно рассуждаю? Если так, то как я и писал получается все равно из 60 кадров входных, я исскуственно должен забирать только 25-30 кадров пропуская некоторые из них? smile3046.gif

Цитата(GetSmart @ Feb 23 2008, 20:34) *
В другом варианте, когда видеопоток идёт не с DVI там можно по запросу заполнять единственную страницу ОЗУ. (если используется тот алгоритм с "взвешиванием" разрядов)

В таком варианте я понимаю тоже можно, в принципе, использовать не 2х портовое а 1портовое озу???
А по поводу алгоритмов без "взвешивания" разрядов. Я действительно осознаю что в варианте с взвешиванием >95% времени свободно. В других алгоритмах так же дела с свободным временем обстоят, и сколько вообще можно насчитать таких алгоритмов?
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 24 2008, 11:52
Сообщение #40


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 24 2008, 13:47) *
как я и писал получается все равно из 60 кадров входных, я исскуственно должен забирать только 25-30 кадров пропуская некоторые из них? smile3046.gif

а кто вам мешает работать с родной частотой 60 Гц, зачем ее искусственно снижать?
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 24 2008, 12:35
Сообщение #41


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(Галстук @ Feb 24 2008, 15:52) *
а кто вам мешает работать с родной частотой 60 Гц, зачем ее искусственно снижать?

05.gif хм. сам дурак. действительно зачем. Но почему тогда все производители пишут типа 25-30 кадров? зачем они тогда снижают? или все же есть затык в чем то? 'Галстук' а у Вас какова частота кадров?
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 24 2008, 14:28
Сообщение #42


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 24 2008, 15:35) *
05.gif хм. сам дурак. действительно зачем. Но почему тогда все производители пишут типа 25-30 кадров? зачем они тогда снижают? или все же есть затык в чем то? 'Галстук' а у Вас какова частота кадров?

Ну 60Гц. У нас экран работает от компа, 60 Гц. Будет источник 25 Гц - можно и 25 Гц.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 24 2008, 14:55
Сообщение #43


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger)
если я правильно понимаю, в этом варианте используется 2 страницы памяти озу с разным адресным пространством??? ну то есть дабы иметь одновременный НЕЗАВИСИМЫЙ доступ к своей памяти (активной/пассивной) как со стороны драйверов, так и со стороны потока видео?
Это не чтобы иметь одновременный и независимый доступ, а чтобы при начале отображения младших бит текущего кадра старшие биты не сменились внезапно данными из нового кадра, иначе по экрану будут "бегать глюки".

А по поводу кадровой частоты, так в начале темы вообще был расчёт на 100 Гц. Какие проблемы? У мониторов тоже частота не 25, а 60 и выше герц. Они прекрасно показывают 25 Гц фильмы. При желании можно вообще сделать автосинхронизацию экрана с идущей от DVI потока.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 24 2008, 15:11
Сообщение #44


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



http://www.leds.ru/forum/viewtopic.php?t=26
тут давненько немного обсуждали тему?
что означает фраза (для меня пока слегка загадочная) crying.gif "Сейчас буду пробывать MEGA128 с внешним сумматором (для вычисления уровня ШИМ) в адресном пространстве. Думаю смогу из нее 256 градаций на модуль 16х16 RGB вытянуть. у мастера дениса?"
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 24 2008, 18:38
Сообщение #45


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 23 2008, 20:34) *
В другом варианте, когда видеопоток идёт не с DVI там можно по запросу заполнять единственную страницу ОЗУ. (если используется тот алгоритм с "взвешиванием" разрядов)

'GetSmart' этот ДРУГОЙ алгоритм секрет? 05.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 24 2008, 19:21
Сообщение #46


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger)
что означает фраза (для меня пока слегка загадочная)
Это к афтору фразы. Судя по всему проц только адреса перебирает, а данные из рамы сразу через сумматор идут на линию данных сдвигового регистра.

Цитата
'GetSmart' этот ДРУГОЙ алгоритм секрет?

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 24 2008, 20:07
Сообщение #47


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 23 2008, 20:34) *
В другом варианте, когда видеопоток идёт не с DVI там можно по запросу заполнять единственную страницу ОЗУ. (если используется тот алгоритм с "взвешиванием" разрядов)

Я так понял, алгоритм с постоянным сравнением с счетчиком уже вообще не рассматривается... Но в фразе есть слово ЕСЛИ (если используется тот алгоритм с "взвеш........), по-этому я и подумал, что все же имеется ввиду еще какой то способ. Но ледмастер писал в ледфоруме, что все же у него есть ноу-хау. Может и Вам известна эта военная тайна? beer.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 24 2008, 21:00
Сообщение #48


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger)
Но ледмастер писал в ледфоруме, что все же у него есть ноу-хау.
Ссылку можно? Попробую силой мысли угадать что он от всех "скрывает" smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 25 2008, 09:20
Сообщение #49


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 25 2008, 01:00) *
Ссылку можно? Попробую силой мысли угадать что он от всех "скрывает" smile.gif


http://www.d-sign.com/viewtopic.php?t=626&...asc&start=0
Добавлено: Пн Фев 18, 2008 2:49 pm
"хотя правды я тоже не скажу, это ноу-хау."
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 25 2008, 15:43
Сообщение #50


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(ledmaster)
Алгоритм весов разрядов, который он описал, вещь хорошая, только выигрыша во времени не дает, те же 256 тактов. Просто для справки, у меня один контроллер на базе Altera EPM3256 обеспечивает время цикла порядка 4мс, управляя матрицей 64*48 полноцветных пикселей (256 градаций по каждому цвету).

Для справки, на 200-рублёвом АРМе без какой-либо внешней обвязки (простые буфера не в счёт) можно сделать "мозг" RGB модуля 96*96 кластеров с кадровой 60 Гц. Или 85*64 100 Гц. Или вообще любое разрешение. Только такие большие платы (на весь модуль) вроде как нереально изготовить.

Выигрыш по времени... Конечно же не 256 тактов, а только 8. Хотя цена минимального такта действительно 1/256-ая. Я в этом не вижу никакой проблемы, ведь 100 Гц * 256 = 26 КГц. Разве это много? Вся хитрость только в том, как за этот период обновить все сдвиговые регистры новыми данными. Как уже говорилось - мысли "шире" - грузи как можно больше параллельных данных.

Есть ещё теоретически другой вариант, когда яркость регулируется не только временным интервалом, но и регулировкой тока. Это в теории легко, а на практике почти нереально. Во всяком случае на дешёвых драйверах MBI5026. Вобщем байт яркости делится на два полубайта. Оба полубайта выводятся вобщем одинаково друг за другом. Либо просто сравнением, либо 4-мя плоскостями со взвешиванием. Только электрическая схема позволяет при выводе младшего полубайта уменьшить ток через светодиоды ровно в 16 раз. Если она уменьшит не в 16, а в 15 или 17, то на экране будут наблюдаться "глюки". Таким образом кол-во так называемых (ledmaster-ом) тактов уменьшается до 16+16 = 32 тактов.

У меня ещё есть оч. красивый вариант полу-динамической RGB-индикации. Он позволяет в 3 раза уменьшить количество драйверов MBI5026 или любых других. Дело в том, что каждый выход драйвера цепляется сразу к трём катодам светодиодов R,G и B. А вот аноды через мощные ключи (R, G и B канала) подключаются к питанию по очереди. Плюсы - экономия большого кол-ва регистров, места на плате и большая надёжность из-за меньшей длины цепочек регистров их емкостей и токов потребления. Однако драйвер MBI5026 должен будет выдавать на каждый свой выход утроенный ток, но он легко это делает, т.к. расчитан до 90 мА. Скорость перезагрузки регистров остаётся та же, т.к. кол-во регистров в цепочках уменьшилось втрое. Минус мне видется только в том, чтобы качественно сделать последовательное переключение питания R-G-B цветов. Чем реже переключаются эти ключи тем лучше. Если частота кадров 100 Гц, то 1/300 сек выводится цвет R, потом столько же G и B. Общий период будет как раз 1/100 сек. При желании можно переключение RGB увеличить в 2,4,8 раз.

Теперь что касалось вопроса "а что же делать 90% времени если нечё делать?". Ну с DVI-ем действительно нечего делать. А вот если канал передачи видео не DVI, то можно слать сжатый поток и декодировать его в рилтайме.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 25 2008, 18:40
Сообщение #51


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 25 2008, 19:43) *
Для справки, на 200-рублёвом АРМе без какой-либо внешней обвязки (простые буфера не в счёт) можно сделать "мозг" RGB модуля 96*96 кластеров с кадровой 60 Гц. Или 85*64 100 Гц. Или вообще любое разрешение. Только такие большие платы (на весь модуль) вроде как нереально изготовить.


Я просто все на пиках да на пиках, а вот в последнее время чего то кошусь на плисы. А по вашему мнению что полезнее изучить плис или арм? (думаю ответ очевиден smile.gif ) Просто в плисах почти все процессы идут "параллельно", а в арме чем достигается производительность, скоростью работы и командным аппаратом? или у него не конвейерная обработка команд?

Цитата(GetSmart @ Feb 25 2008, 19:43) *
У меня ещё есть оч. красивый вариант полу-динамической RGB-индикации.


biggrin.gif я еще до написания своего первого вопроса по экранам именно так и хотел строить...но смотрю как бы мне вообще с простой статикой разобраться. Пока еще кстати не все понятно. В частности: изучать надо DVI - там куча вопросов, как синхронизировать смену активной и пассивной страницы (т.е. когда ее менять то надо, когда очередной кадровый импульс пришел? но тогда может быть не завершен процесс выдачи шима! или это по барабану?)ну и другие моменты. 05.gif
Кстати, не подскАжите? если для переноса потока видео взять Ethernet, то как там аппартаный или тоже программный 07.gif надо воротить?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 25 2008, 19:44
Сообщение #52


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger)
А по вашему мнению что полезнее изучить плис или арм? (думаю ответ очевиден smile.gif)
Но не Вам smile.gif Ответ - оба. Ни один из них не сможет всё, что может другой. Так что под конкретную задачу будет и ответ.

Цитата
изучать надо DVI - там куча вопросов, как синхронизировать смену активной и пассивной страницы (т.е. когда ее менять то надо, когда очередной кадровый импульс пришел? но тогда может быть не завершен процесс выдачи шима! или это по барабану?)
Заполняете пассивную страницу одним кадром из DVI и устанавливаете флаг готовности. Больше из DVI данные не брать, до переключения страниц. Как тока кадр светодиодного экрана закончится, страницы поменяются. И далее по кругу.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 25 2008, 20:55
Сообщение #53


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Feb 25 2008, 23:44) *
Так что под конкретную задачу будет и ответ.

smile.gif так на данный момент задача стоит конкретная! принять видео выдать шим... просто почитав ветку http://www.microchip.su/showthread.php?t=661 я как то растерян после "разгона" Alex B. (а он, как я понимаю, почитав его посты, есть спец.)!!! может мне действительно подучить пики постарше и плис выучить, тогда и задачи разнообразней можно решать? А по поводу езернета что нить напИшете?
З.Ы. Спасибо за ответы, beer.gif очень помогают. А по поводу "дальше не принимать DVI", я как то застопорился 05.gif думал все как это сделать так чтобы ни одного кадра не пропустить, а с вашим ответом понимаю что в действительности то все равно кадров "поймаю" больше чем реально в видеороликах отображается (25-30). Честно говоря я впервые залез на форум и действительно получил неоценимую информацию, сам я точно в елках да березах блуждал бы еще дооолго! smile.gif
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 26 2008, 11:11
Сообщение #54


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 25 2008, 23:55) *
понимаю что в действительности то все равно кадров "поймаю" больше чем реально в видеороликах отображается (25-30).

Вы вот периодически упоминаете эти 25-30 кадров в секунду, те самые 25 fps из телевизора. Только вы учтите, что если ваш ШИМ работает по простому принципу - открыть на часть времени кадра ключ - на оставшееся время закрыть - то у вас светодиоды будут мерцать с частотой смены кадров. И чтобы глаз не замечал мерцания, эта частота должна составлять не меньше 60Гц, лучше 85Гц. На малых яркостях, когда время открытого состояния значительно меньше времени закрытого, даже и 60 Гц заметно.

Физиология зрения, знаете ли...

Поэтому вы либо забудьте про 25fps, либо делайте более изощренный ШИМ.
Go to the top of the page
 
+Quote Post
adc
сообщение Feb 26 2008, 12:51
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836



Цитата(GetSmart @ Feb 25 2008, 18:43) *
У меня ещё есть оч. красивый вариант полу-динамической RGB-индикации. Он позволяет в 3 раза уменьшить количество драйверов MBI5026 или любых других.

Вот кстати ссылочка, эта тема как раз обсуждалось на обсуждаемую тему динамики на три.. http://electronix.ru/forum/index.php?showt...mp;#entry347961


--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 26 2008, 13:48
Сообщение #56


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(adc)
Вот кстати ссылочка, эта тема как раз обсуждалось на обсуждаемую тему динамики на три.. http://electronix.ru/forum/index.php?showt...mp;#entry347961
Оказывается не только у меня рождаются идеи. Хотя в той теме я признАюсь ниразу не был. Честно, сам догадался smile.gif

Цитата(yagger)
так на данный момент задача стоит конкретная! принять видео выдать шим...
Тут надо решить, с чем легче разобраться. Рисовать схемы (для FPGA) и писать программу (для проца) разные вещи. Желательно уметь и то и другое.

Цитата(yagger)
просто почитав ветку http://www.microchip.su/showthread.php?t=661 я как то растерян после "разгона" Alex B. (а он, как я понимаю, почитав его посты, есть спец.)!!! может мне действительно подучить пики постарше и плис выучить, тогда и задачи разнообразней можно решать? А по поводу езернета что нить напИшете?
Он такооой спец, что я молчу. Тут ещё один такой же есть - почитал эррату и выдал что АРМы (или только LPC) самые глючные. А вообще, я на стороне автора той темы. Могу только сказать что с dsPIC я не знаком и сравнить его с АРМом не могу. Я процы оцениваю не только по "мощности", но и по цене. Выше 300 руб я пока не применял процы и не вижу в этом необходимости. Что я писал по 200-рублёвый АРМ мне вполне достаточно.

По езернету вроде ничего сложного нет. Ставится спец микруха - интерфейс езернета и она сама поддерживает протокол. Проц или FPGA только данные из неё забирает и ответы передает.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 26 2008, 19:05
Сообщение #57


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(Галстук @ Feb 26 2008, 15:11) *
либо делайте более изощренный ШИМ.

это типа симметричный? smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 27 2008, 08:42
Сообщение #58


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Бывает ещё дельта-сигма ШИМ. Его несложно реализовать на FPGA, а вот на проце сложно.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Галстук
сообщение Feb 28 2008, 20:03
Сообщение #59


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 5-12-05
Из: Москва, Россия
Пользователь №: 11 818



Цитата(yagger @ Feb 26 2008, 22:05) *
это типа симметричный? smile.gif

Не знаю, что в точности значит "симметричный", хочу пояснить суть проблемы.
Допустим, вы хотите передавать 25 кадров в секунду. В кино получается все гладко, потому что статические картинки меняются "мгновенно". Если же яркость меняется с помощью ШИМ типа 1 раз за кадр включил - 1 раз выключил, мерцания делают картинку несмотрибельной, извините за выражение.

Теперь напрашивается просто взять, и прокрутить ту же форму сигнала ШИМ, допустим, 4 раза за кадр - частота повысится до 100Гц, мерцания должны стать незаметными. Очень хорошо.

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

Посмотрите даташит DM163, там описано их ноу-хау - некий ШИМ со специальным непоследовательным счетчиком, который обеспечивает псевдослучайное заполнение интервала кадра коротенькими импульсами. Осциллоскопом смотреть по-началу даже страшно, что делается. Что, вроде бы, решает эту проблему. Во всяком случае, никаких грубых артефактов при движении не наблюдаем.
Go to the top of the page
 
+Quote Post
yagger
сообщение Feb 29 2008, 07:03
Сообщение #60


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(Галстук @ Feb 29 2008, 00:03) *
Теперь напрашивается просто взять, и прокрутить ту же форму сигнала ШИМ, допустим, 4 раза за кадр - частота повысится до 100Гц, мерцания должны стать незаметными. Очень хорошо.

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

Т.е. в экранах, которые сейчас расставлены по нашим странам в основном частота кадров более 100 Гц? соответственно шим для них получается 100*256=25,6 кГц? а где я могу почитать про ЭТИ явления? 'Галстук', а Вы делали экраны на "классических" драйверах? или только на DM163?

З.Ы. Странно, но делают же люди 100 Гц(и даже меньше) и 8 разрядный шим. и ни кто об этих проблемах ни разу не написал. 05.gif Может это тайна? 07.gif
Go to the top of the page
 
+Quote Post
yagger
сообщение Nov 26 2008, 09:11
Сообщение #61


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



При эксперементах наткнулся на проблемку. Даже если рассматривать 1 канал то получается при 8 битном шиме (рассматриваемым алгоритмом) я поочередно, как писали, выставляю биты в порт и тактирую их нужным кол-вом тактов.(0ой бит 1 такт, 1ый бит 2 такта и так до 7го) а 7ой как только выставил, запускаю 128 тактов ожидания и сам делаю что мне требуется (к примеру изменение переменной шима в программе)... но вот что заметил, при некоторых переходах, а особенно это заметно при переходе 127-128 или 128-127 получается всплеск 255 тактов или провал 255 тактов, на светодиоде это заметно отражается... В частности я сделал программку плавно изменяющую яркость посредством ТАКОГО шима и вот ЭТО вылезло такими эффектами неравномерности. НатолкнЁте на мысль какими способами победить сие? Есть идеи поднять скорость, т.е. уменьшить время 1го такта и этот эффект станет почти незаметен, или все же есть какие то варианты решения такой проблемы? Как это сделано в экранах, если в ролике вдруг применяется плавное затухание?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 26 2008, 09:27
Сообщение #62


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



То что Вы описали, вполне "законный" глюк такого управления светодиодами. Хотя сам я почему-то за 3 года разработки экранов его не заметил :-( Возможно потому что частота экранов была 100 Гц, а частота видеороликов не превышала 25. Кроме того, большие или маленькие "глюки" будут в любом алгоритме формирования яркости, кроме дельта-сигма. Дельта-сигма сложный с аппаратной точки зрения и требует большую пропускную способность канала вместе с высоким (динамическим) потреблением цифрового канала передачи. Но зато самый помехоустойчивый. Не знаю на какой элементной базе (проц, FPGA) сделана Ваша схема, но если на FPGA, то я бы переделал её на дельта-сигму. Алгоритм с весовыми коэффициентами битов оптимально подходит для процессора, да и то для некоторых относительно шустрых типа LPC. Он имеет свои небольшие глюки, но и большие достоинства.

Теперь как избавиться от глюков. Можно например переставлять очерёдность вывода бит. Выводить 0,1,2,3,4,5,7,6. Или разбить старший бит пополам и выводить 7-0,0,1,2,3,4,5,6,7-1. Или 0,1,2,3,4,5,7-0,6,7-1. Достаточно поднапрячь фантазию и возникает масса способов. Тут главный вопрос, важно ли сохранить приемущества именно весового алгоритма, потому как с другого "краю" возможных алгоритмов стоит дельта-сигма вообще без глюков в визуальном восприятии, но требующем больших аппаратных затрат на уровне спартанов и циклонов.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Nov 26 2008, 09:42
Сообщение #63


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Самое интересное я сейчас пересмотрел даташит на DM634 (одна из последних микрух макроблока) там как бы они не мешали свои биты выводимые, как я понял тоже по весовым разрядам, а все равно 0-ой бит и 15-ый бит выводятся "скраев", т.е. я так понимаю у них ЭТОТ баг тоже присутствует но как Вы уже написали выше он не виден скорее всего из-за разности частот вывода картинки и ее изменения... А может быть и из-за того, что предполагал я - частота то их шима (PWM free-running capability (refresh rate ~275 Hz with internal oscillator ~18 MHz)).
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 21 2009, 15:41
Сообщение #64


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Протестировал я глюки "весового" алгоритма на новой своей процессорной железке с градациями. При правильном управлении глюки очень-очень слабые даже когда кадровая частота 50 Гц. Ниже уже сильно заметно мерцание светодиодов. Заметить их нереально если не знать когда и где их ожидать. Если у Вас они сильно заметны, то дело возможно в неправильном алгоритме.

Ну и заодно бонусом опишу здесь простейший (для FPGA) алгоритм дельта-сигма. Есть байт - яркость пикселя. Есть кадровая частота. Кадр делится на 255 (или 256) тактов (порций). Старший бит яркости (7-ой от нуля) отображается каждый второй такт, то есть в 1,3,5,7...253,255 тактах. 6-ой бит яркости отображается каждый 4-ый такт, то есть в 2,6,10..250,254 тактах. 5-ый бит яркости отображается каждый 8-ой такт, то есть в 4,12..,244,252 тактах. Ну там так далее. 0-ой бит отображается только 1 такт ровно в середине кадра на 128-ом такте. Проще говоря, яркостные биты распределяются равномерно по кадру. Младший - в центре. Чуть более старший (1-ый) по бокам от него на 64 и 192 тактах. Никаких счётчиков, сумматоров и прочих сложностей персонально каждому пикселю не требуется. Чистая логика и один общий для всех счётчик. Никаких глюков при таком отображении не будет заметно, даже на кадровой частоте 25 Гц и ниже. Будет очень похоже на статический алгоритм развёртки. Хотя не совсем. На малых яркостях (буквально от 1 до 5) будет заметно мерцание если кадровая частота ниже 50 Гц. Но когда картинка более яркая уже ничего заметно почти не будет.

Сообщение отредактировал GetSmart - Jan 21 2009, 16:24


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 21 2009, 16:33
Сообщение #65


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Jan 21 2009, 19:41) *
Ну и заодно бонусом опишу здесь простейший (для FPGA) алгоритм дельта-сигма.


Спасибо. cheers.gif Действительно интересный алгоритм. Для меня это просто неоценимая информация. (думаю не только для меня). Я вообще по инету ничего по этой теме вообще не нашел, вот только по вашим ответам уважаемый GetSmart и ориентируюсь - как это работает. Огромное спасибо еще раз.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 21 2009, 16:49
Сообщение #66


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Всегда пожалуйста.

Да, и сдаётся мне, что при таком алгоритме можно прямо на лету обновлять видеопамять (даже медленно) без глюков на экране. Процентов на 90 уверен в этом. Но руку на отсечение не дам smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 21 2009, 17:03
Сообщение #67


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Jan 21 2009, 20:49) *
Но руку на отсечение не дам smile.gif


smile.gif
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 22 2009, 16:22
Сообщение #68


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Jan 21 2009, 19:41) *
Ну и заодно бонусом опишу здесь простейший (для FPGA) алгоритм дельта-сигма.


Сразу не просек. В этом алгоритме получается для каждого такта шима надо будет перезагружать все регистры. Я правильно понимаю? Ну и соответственно для каждой точки читать заново данные в озу.

Сообщение отредактировал yagger - Jan 22 2009, 16:23
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 22 2009, 16:39
Сообщение #69


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger @ Jan 22 2009, 22:22) *
Сразу не просек. В этом алгоритме получается для каждого такта шима надо будет перезагружать все регистры. Я правильно понимаю? Ну и соответственно для каждой точки читать заново данные в озу.

Да. Но скорость перезагрузки не выше чем была у младшего бита в весовом алгоритме. В алгоритме со счётчиками на каждый пиксель тоже приходится перезагружать все регистры каждый такт. Для FPGA это не проблема, а вот для проца этот алгоритм не подходит. Хотя можно и проц нагрузить процентов на 90. А остальные 10% он будет делать что-то ещё. Зависит от кол-ва регистров и пикселей на экране. Если их не очень много, то и 50% проц может отдыхать.

В FPGA логика не сложная. Есть счётчик 8 бит. Делит кадр на 256. По коду на нём выбирается код 0..7 в мультиплексоре 8-1, стоящем на выходе ОЗУ и выбирающем текущий бит из байта яркости. Ещё есть счётчик адреса в ОЗУ, который должен пробежать всю видеопамять за 1 такт первого счётчика. Пока он будет перебирать адреса с выхода мультиплексора будут идти биты на выход FPGA, а далее на сдвиговые регистры/драйвера к примеру MBI5026. Таких мультиплексоров и однобитовых выходом можно сделать много для разных плат со светодиодами.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
add
сообщение Jan 23 2009, 09:50
Сообщение #70


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата(GetSmart @ Jan 21 2009, 19:49) *
Всегда пожалуйста.

Да, и сдаётся мне, что при таком алгоритме можно прямо на лету обновлять видеопамять (даже медленно) без глюков на экране. Процентов на 90 уверен в этом. Но руку на отсечение не дам smile.gif

Где-то я такой алгоритм у нас на форуме уже видел biggrin.gif
http://electronix.ru/forum/index.php?showt...37510&st=75


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 23 2009, 19:14
Сообщение #71


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Уважаемый GetSmart, тут еще пара вопросов возникла... rolleyes.gif
(дело в том, что я как раньше писал с ПЛИС пока на ВЫ, да наверное это еще и круто сказано, думаю если уж и учиться, то на толковом проекте wacko.gif )

Если использовать плис без собственной внутренней ОЗУ и учитывая, что ОЗУ требуется в принципе незначительно (32х32 пикселя 3 цвета = 3072 байта всего) такое кол-во байт адресуется 12 битами, можно ли (в качестве эксперимента, а может и так тоже делают?) использовать 2 независимые микросхемы памяти? как на картинке внизу.[attachment=29030:______RGB.jpg]

Сообщение отредактировал yagger - Jan 23 2009, 19:17
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 24 2009, 10:40
Сообщение #72


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Зачем две? Ram Buffer и Video Ram ? Лишние 22 минимум сигнала/ноги от FPGA ко кторой раме. Узкое место - копирование из одной рамы во вторую. Проще уж сделать две видеостраницы в одной раме. Неактивная будет буфером для принимаемых по кабелю данных. А вообще, с внешней микросхемой байтовой памяти получается неудачно. При кадровой 50 Гц поток данных только на чтение видеопамяти будет 40 МБ/сек. Если 16 битная рама, то 20 МБ/сек. Но тоже очень много, хотя уже более реально для дешёвых микросхем. Но это без учёта приёма в них новых данных по линии связи. Не самый плохой вариант - сразу поступаемые видеоданные разделить на битовые плоскости по 384 байта и так передавать в экран. Тогда нагрузка на внешнюю раму будет в 8 раз меньше, то есть 5 МБ/с на отображение и ещё сколько-то на перезагрузку данных. Часто на перезагрузку делают столько же, то есть ещё 5.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 24 2009, 10:47
Сообщение #73


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Jan 24 2009, 13:40) *
Проще уж сделать две видеостраницы в одной раме. Неактивная будет буфером для принимаемых по кабелю данных.


Брр. А как тогда во времени в таком случае делается адресация? доступ то к памяти должен быть фактически независимый! unsure.gif одна сторона в память (например с 0 по 100 адрес) пишет, а вторая сторона в то же время (с адреса 101-по 201) читает и выдает данные в регистры. Или я что то опять не так понимаю? wacko.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 24 2009, 14:43
Сообщение #74


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(yagger @ Jan 24 2009, 16:47) *
Брр. А как тогда во времени в таком случае делается адресация? доступ то к памяти должен быть фактически независимый! unsure.gif одна сторона в память (например с 0 по 100 адрес) пишет, а вторая сторона в то же время (с адреса 101-по 201) читает и выдает данные в регистры. Или я что то опять не так понимаю? wacko.gif

Самое простое - по очереди с мультиплицированием адреса. Ещё есть интересные варианты, но надо знать предельную скорость поступления данных из вне.
Например так. За 1 такт (яркостный, которых 256) требуется перезагрузить 3Кбит регистров. На самом деле скорость обращения к раме выбирается 4К. Когда по каналу связи данных нет, то из рамы считываются данные и идут на сдвиговые регистры. Когда поступает байт по связи, то сдвиг регистров приостанавливается на 1 такт, а в это время происходит запись в раму принятого байта. Ну а перезагрузка (Load, ~LE) сдвиговых регистров должна происходить строго синхронно, то есть после 4К тактов.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 24 2009, 15:04
Сообщение #75


Гуру
******

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



Цитата(yagger @ Jan 24 2009, 15:47) *
Брр. А как тогда во времени в таком случае делается адресация? доступ то к памяти должен быть фактически независимый!
Поскольку независимый доступ во втором случае не выходит делают временнОе разделение доступа. Циклы доступа к памяти чередуются.
Go to the top of the page
 
+Quote Post
yagger
сообщение Jan 24 2009, 15:19
Сообщение #76


Участник
*

Группа: Новичок
Сообщений: 70
Регистрация: 3-02-08
Из: Minsk
Пользователь №: 34 717



Цитата(GetSmart @ Jan 24 2009, 17:43) *
Самое простое - по очереди с мультиплицированием адреса. Ещё есть интересные варианты, но надо знать предельную скорость поступления данных из вне.
Например так. За 1 такт (яркостный, которых 256) требуется перезагрузить 3Кбит регистров. На самом деле скорость обращения к раме выбирается 4К. Когда по каналу связи данных нет, то из рамы считываются данные и идут на сдвиговые регистры. Когда поступает байт по связи, то сдвиг регистров приостанавливается на 1 такт, а в это время происходит запись в раму принятого байта. Ну а перезагрузка (Load, ~LE) сдвиговых регистров должна происходить строго синхронно, то есть после 4К тактов.



Вай... rolleyes.gif Нееее, мне видится все же проще будет использовать внутреннюю память для обеих страниц... rolleyes.gif и просто переключаться между ними. А то с этим разделением адресов я чувствую зависну и не начав. biggrin.gif

А жертвой, я так понимаю, будет просто напросто максимально возможное разрешение блока управляемого 1ой плиской?
Кстати, а в алгоритме дельта-сигма не требуется перетасовка байт побитно! Это радует. rolleyes.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 12:19
Рейтинг@Mail.ru


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