|
TFT LCD дисплей. |
|
|
|
Oct 7 2016, 09:44
|
Профессионал
    
Группа: Участник
Сообщений: 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. Так ли это или я ошибаюсь?
|
|
|
|
|
 |
Ответов
|
Oct 7 2016, 15:03
|
Профессионал
    
Группа: Участник
Сообщений: 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. спасибо. понемногу проясняется. а адресс? как мы выбираем адрес? и как мы передаем его? у нас ведь нет адресных линий.
|
|
|
|
|
Oct 7 2016, 15:20
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(aaarrr @ Oct 7 2016, 20:11)  У вас есть буфер в ОЗУ. Адрес точки есть <адрес начала буфера> + (Y * <количество точек в строке> + X) * <размер точки в байтах> По моему до меня дошло. Мы обращаемся в адрес микроконтроллера, то есть по сути дела обращаемся к координате пикселя и передаем дату – цвет, который мы хотим записать в данный пиксель. А микроконтроллер сам разруливает сигнальные линии на основе данных которые мы ему записали. Я прав? Единственно что не понятно – эти адресса это адреса регистров? Есть такое определение Код #define FRAME_START_ADDRESS 0x80400000 //Screen in DDR Куда код обращается? К внешней памяти? Или внутренний RAM?
|
|
|
|
|
Oct 7 2016, 15:30
|
Гуру
     
Группа: Свой
Сообщений: 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.
|
|
|
|
Сообщений в этой теме
Jenya7 TFT LCD дисплей. Oct 7 2016, 09:44 x893 Ошибаетесь
стр 15 и далее Oct 7 2016, 10:04 Jenya7 Цитата(x893 @ Oct 7 2016, 15:04) Ошибаете... Oct 7 2016, 10:25  yuravg Цитата(Jenya7 @ Oct 7 2016, 13:25) судя п... Oct 7 2016, 10:41   x893 Цитата(yuravg @ Oct 7 2016, 13:41) VSYNC ... Oct 7 2016, 10:55 Jenya7 Если я смотрю на драйвер со стороны контроллера т... Oct 7 2016, 12:36 aaarrr Цитата(Jenya7 @ Oct 7 2016, 15:36) Это за... Oct 7 2016, 14:02  Jenya7 Цитата(aaarrr @ Oct 7 2016, 19:02) Это дл... Oct 7 2016, 14:45   aaarrr Цитата(Jenya7 @ Oct 7 2016, 17:45) я не з... Oct 7 2016, 14:52     Jenya7 Цитата(aaarrr @ Oct 7 2016, 20:30) Это ад... Oct 7 2016, 15:39
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|