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

 
 
> TFT LCD дисплей.
Jenya7
сообщение Oct 7 2016, 09:44
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Хотелось узнать принцип работы такого дисплея. Он принимает следующие сигнальные линии
RED – 8 lines, GREEN – 8 lines, BLUE – 8 lines, CLK, VSYNC, HSYNC, DataEnable.
Допустим мы хотим поставить точку по координатам x = 10, y = 20 тогда
Выставляем цвет на RGB линиях, VSYNC тикает 10 раз, HSYNC тикает 20 раз, активируем DataEnable. Так ли это или я ошибаюсь?

Прикрепленные файлы
Прикрепленный файл  NL4827HC19_05A.pdf ( 947.52 килобайт ) Кол-во скачиваний: 54
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andrew Su
сообщение Oct 7 2016, 13:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Добрый день.
Приведенный вами фрагмент программы записывает в ячейку видеопамяти значение пиксела(точки) на экране.
Если установлено D4D_COLOR_SYSTEM_RGB565, то
пиксел имеет 16 бит, из них
5 бит red составляющей цвета, 6 бит - green составляющей цвета и 5 бит blue составляющей цвета.
Если установлено D4D_COLOR_SYSTEM_RGB888, то все составляющие по 8 бит и пиксел, соответственно 24 бита.
Сигналами VSYNC, HSYNC, DE управляет видеоконтроллер, к которому подключен дисплей. Он же выдает CLK.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Oct 7 2016, 15:03
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(Andrew Su @ Oct 7 2016, 18:35) *
Добрый день.
Приведенный вами фрагмент программы записывает в ячейку видеопамяти значение пиксела(точки) на экране.
Если установлено D4D_COLOR_SYSTEM_RGB565, то
пиксел имеет 16 бит, из них
5 бит red составляющей цвета, 6 бит - green составляющей цвета и 5 бит blue составляющей цвета.
Если установлено D4D_COLOR_SYSTEM_RGB888, то все составляющие по 8 бит и пиксел, соответственно 24 бита.
Сигналами VSYNC, HSYNC, DE управляет видеоконтроллер, к которому подключен дисплей. Он же выдает CLK.

спасибо. понемногу проясняется. а адресс? как мы выбираем адрес? и как мы передаем его? у нас ведь нет адресных линий.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 7 2016, 15:11
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Jenya7 @ Oct 7 2016, 18:03) *
а адресс? как мы выбираем адрес? и как мы передаем его? у нас ведь нет адресных линий.

У вас есть буфер в ОЗУ. Адрес точки есть <адрес начала буфера> + (Y * <количество точек в строке> + X) * <размер точки в байтах>
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Oct 7 2016, 15:20
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(aaarrr @ Oct 7 2016, 20:11) *
У вас есть буфер в ОЗУ. Адрес точки есть <адрес начала буфера> + (Y * <количество точек в строке> + X) * <размер точки в байтах>

По моему до меня дошло. Мы обращаемся в адрес микроконтроллера, то есть по сути дела обращаемся к координате пикселя и передаем дату – цвет, который мы хотим записать в данный пиксель. А микроконтроллер сам разруливает сигнальные линии на основе данных которые мы ему записали. Я прав? Единственно что не понятно – эти адресса это адреса регистров?
Есть такое определение
Код
#define FRAME_START_ADDRESS 0x80400000  //Screen in DDR

Куда код обращается? К внешней памяти? Или внутренний RAM?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 7 2016, 15:30
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Jenya7 @ Oct 7 2016, 18:20) *
Единственно что не понятно – эти адресса это адреса регистров?

Это адреса в памяти контроллера. Контроллер осуществляет непрерывную развертку LCD,
данные для развертки берутся из памяти контроллера.

Со стороны программы экран - это просто участок памяти.

Цитата(Jenya7 @ Oct 7 2016, 18:20) *
Есть такое определение
Код
#define FRAME_START_ADDRESS 0x80400000  //Screen in DDR

Куда код обращается? К внешней памяти? Или внутренний RAM?

Комментарий как бы намекает, что это адрес во внешней DDR.
Go to the top of the page
 
+Quote Post



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

 


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


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