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

 
 
> Intel PXA 270 CPU - кто-то с ним работал в плане LCD ?, Setup его встроенного LCD controllerа...
Саша Z
сообщение Feb 18 2008, 20:07
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Доводилось ли кому-либо работать с Интелловским (в прошлом) PXA270 ? Такие обычно шли в PDAи и подобные штуки помимо прочих вариантов.
В особенности интересует setup его встроенного LCD controllerа.
У нас в нем бежит Linux, программер на данный момент не доступен, все что известно пока так это несколько данных которые он ему давал через его APIи. Давал резолюцию, формат RGB данных требуемую частоту pixel clock на выходе в виде кол-ва ps (picoseconds) в периоде.
Что не понятно - как и где через те-же APIи задавать ему кол-во и местоположение пикселей в строке, кол-во и местоположение пустых строк в кадре.
Ессно у CPU есть релевантные регистры где это все устанавливается напрямую либо косвенно, но нет пямого доступа туда, только через APIи.

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

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Yuri T
сообщение Mar 11 2008, 13:24
Сообщение #2





Группа: Новичок
Сообщений: 5
Регистрация: 17-12-07
Из: Moscow
Пользователь №: 33 368



Количество пикселей в строке, если я правильно понимаю о чём идёт речь, однозначно определяется разрешением, или, по Вашему, "резолюцией".

Собственно в LCD-контроллере PXA270 количество пикселей в строке (для Base Screen) задаётся в LCCR1[PPL]. В это поле в драйвере пишется с помощью макроса LCCR1_DisWdth, которому в качестве параметра передаётся значение xres. Т.о. задавая разрешение - задаёте и этот параметр.

Что касается положения пикселей в строке - это margin параметры драйвера (внутри это делается аналогично DisWdth: например, LCCR1_BegLnDel(left_margin) -> LCCR1[LCCR1_BLW] - задаёт число так называемых dummy-пикселей в начале строки).

Подробней о поддерживаемые параметры видео-драйвера PXA270 описаны, например, в дереве Linux в Documentation/fb/pxafb.txt. Исходники можно взять, например, здесь: http://www.emcraft.com/technology.php .


--------------------
--
Yuri Tikhonov, Senior Software Engineer
Emcraft Systems, www.emcraft.com
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Mar 11 2008, 15:06
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(Yuri T @ Mar 11 2008, 17:24) *
Количество пикселей в строке, если я правильно понимаю о чём идёт речь, однозначно определяется разрешением, или, по Вашему, "резолюцией".

Собственно в LCD-контроллере PXA270 количество пикселей в строке (для Base Screen) задаётся в LCCR1[PPL]. В это поле в драйвере пишется с помощью макроса LCCR1_DisWdth, которому в качестве параметра передаётся значение xres. Т.о. задавая разрешение - задаёте и этот параметр.

Что касается положения пикселей в строке - это margin параметры драйвера (внутри это делается аналогично DisWdth: например, LCCR1_BegLnDel(left_margin) -> LCCR1[LCCR1_BLW] - задаёт число так называемых dummy-пикселей в начале строки).

Подробней о поддерживаемые параметры видео-драйвера PXA270 описаны, например, в дереве Linux в Documentation/fb/pxafb.txt. Исходники можно взять, например, здесь: http://www.emcraft.com/technology.php .


Спасибо.
Я за это время проштудировал datasheet процессора, нашел нужные регистры (LCCR1, 2, 3) и т.д.
Другое дело что не в курсе насчет драйверов, софта и т.д. ибо это делает программер а он был в отлучке последние несколько недель. Недавно вернулся, узнал у него что действительно наверняка ненужно будет напрямую задействовать регистры - скорее всего достаточно будет указать необходимые параметры через API/driver а он (драйвер) сам уже установить нужные settings в регистры.
Резолюция действотельно определается заданием кол-ва пикселей в строке + кол-во активных строк в кадре. А частота clockа должна по идее однозначно определятся резолюцией, + заданием кол-ва dummy/blank clocks в строке (в начале и/или в конце) + кол-во dummy/blank lines в начале и/или конце кадра + frame rate.
Т.е. я так понял (от программера) что задав вышеуказанные параметры драйверу (или через API), драйвер сам вычислит необходимую частоту клока и сделает необходимые settings в регистрах клоков.
Я ошибаюсь ?
Go to the top of the page
 
+Quote Post
Yuri T
сообщение Mar 12 2008, 10:39
Сообщение #4





Группа: Новичок
Сообщений: 5
Регистрация: 17-12-07
Из: Moscow
Пользователь №: 33 368



Цитата(Саша Z @ Mar 11 2008, 18:06) *
Резолюция действотельно определается заданием кол-ва пикселей в строке + кол-во активных строк в кадре. А частота clockа должна по идее однозначно определятся резолюцией, + заданием кол-ва dummy/blank clocks в строке (в начале и/или в конце) + кол-во dummy/blank lines в начале и/или конце кадра + frame rate.
Т.е. я так понял (от программера) что задав вышеуказанные параметры драйверу (или через API), драйвер сам вычислит необходимую частоту клока и сделает необходимые settings в регистрах клоков.
Я ошибаюсь ?


Не уверен, что частота как-то связана с разрешением. Вернее даже уверен, что она совсем с ним не связана smile.gif

Драйвер pxafb действительно задаёт частоту Pixel Clock с помощью делителя (позволяя обеспечивать Pixel Clock от LCLK/2 до LCLK/512, где в свою очередь LCLK варьируется от 13МГц до 104Мгц), но значение pixclock определяется отдельным, независимым, параметром драйвера: pixclock. Или через FrameBuffer API: fb_set_var(info, var), полем var->pixclock.


--------------------
--
Yuri Tikhonov, Senior Software Engineer
Emcraft Systems, www.emcraft.com
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Mar 12 2008, 12:10
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(Yuri T @ Mar 12 2008, 14:39) *
Не уверен, что частота как-то связана с разрешением. Вернее даже уверен, что она совсем с ним не связана smile.gif

Драйвер pxafb действительно задаёт частоту Pixel Clock с помощью делителя (позволяя обеспечивать Pixel Clock от LCLK/2 до LCLK/512, где в свою очередь LCLK варьируется от 13МГц до 104Мгц), но значение pixclock определяется отдельным, независимым, параметром драйвера: pixclock. Или через FrameBuffer API: fb_set_var(info, var), полем var->pixclock.


ОК, спасибо за инфу.
Что я уверен так это то что базовая частота дисплея (pixel clock) 100% завязана на запрограммированое кол-во клоков в строке (total), кол-во строк в кадре (total) и требуемый frame rate. Три этих параметра вместе дают частоту pixel clockа при параллельной передаче данных (т.е. при формате когда по одному клоку передается цельный пиксель). Ну а резолюция есть ведь часть определения total clocks in line, total lines in frame.

Честно говоря не понял что вы имеете ввиду: ежели драйвер сам вычисляет и задает частоту pixel clockа устанавливая делители (скажем исходя из кристала 13 MHz), то почему нужно еще раз отдельно указываеть ему частоту параметром ?
Либо имелось ввиду что я задаю частоту драйверу параметром pixelclock а он сам вычисляет факторы делителей и их устанавливает ?
Но тогда не совсем логично получается, ибо что ежели я ему задам частоту которую невозможно точно получить цельными делителями в рамках 2-512 ? Кроме того, что ежели я ему задам частоту которая не сходиться с общим кол-вом пикселей в кадре ?

Я не знаком с програмными аспектами драйвера, но мне кажется вполне логично было-бы для драйвера задать ему параметры кадра (общее кол-во клоков в строке, общее кол-во строк в кадре, frame rate, кол-во пустых клоков в строке до/после активной части, кол-во пустих строк до/после активной части, ширины HSYNC/VSYNC пульсов) а также исходную частоту его кристалла, и тогда драйвер однозначно сможет вычислить необходимые делители...
Хотя стоп....кажется и тут не все однозначно - ведь можно указать параметры видео под которые невозможно получить точный pixel clock исходя из 13 MHz кристалла и 2-512 делителей....
Значит видимо данное соответствие лежит на совести проэктировщика...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 03:16
Рейтинг@Mail.ru


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