|
Управление ЖКИ, управление контроллером SPFD5408 |
|
|
|
Jun 5 2008, 11:07
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 3-05-08
Из: Minsk
Пользователь №: 37 240

|
привет всем! Люди добрые помогите кто чем может. Есть ЖКИ с контроллером SPDF5408. В даташите контроллера нашел таблицу кода инициализации, запрограммировал, В результате после инициализации на экране появляется шум. Вроде значить система работает ( были подозрения, что сжег). Но никак не могу точку или последовательность точек вывести. Загоняю данные в память ЖКИ через регистр R22h, а этот гребанный ЖКИ нифига не отображает. Уже третий день на месте стою, может кто подскажет куда копать. ARM LPC2468. Плату под него сами разрабатывали.
|
|
|
|
|
 |
Ответов
|
Feb 3 2009, 08:03
|
Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 25-07-05
Пользователь №: 7 079

|
Извини было много работы, некогда было отписаться. Есть несколько вопросов: 1. Где настройка PLL, скорости памяти и тд.?(Надеюсь вынесено в low_level_init) 2. #define BUFFER_ADDR 0xA0000000 это хорошо, но как ты собираешся формировать там изображение. Тебе нужно выделить массив размером 240*320*2 байт, а точнее два таких массива. Пока из одного будет выводится картинка, ты во второй пишеш новую, а потом меняеш указатель из какого масива выводить. 3. Для чего задержки for(i=0;i<50000;i++);
А по поводу вывода на экран нет ничего проще! Отведите 307200(0x4B000) байт видеопамяти начая с адреса 0xA0000000 и разбейте на две части размером 320*240*2 байт, тоесть столько сколько необходимо на один экран. Далее используя Next base address update interrupt(введи в поиске по usermanual на LPC2478), подсовываеш ему то 0xA0000000, то 0xA0025800 в регистр LCD_UPBASE. А сам в это время в другой части буфера формируй изображение.
Если совсем просто, выведи статическую картинку, выдели в рам массив unsigned short LCD_Frame[76800] забей его чем нибуть осмысленным, и передай на вывод LCD контроллеру в LPC : LCD_UPBASE = &LCD_Frame[0];
Далее микроконтроллер сам выплюнет всё в экран.
Сообщение отредактировал kovz - Feb 3 2009, 08:04
|
|
|
|
|
Feb 3 2009, 17:48
|
Участник

Группа: Новичок
Сообщений: 64
Регистрация: 7-11-08
Пользователь №: 41 437

|
Цитата(kovz @ Feb 3 2009, 12:03)  Извини было много работы, некогда было отписаться. Есть несколько вопросов: 1. Где настройка PLL, скорости памяти и тд.?(Надеюсь вынесено в low_level_init) 2. #define BUFFER_ADDR 0xA0000000 это хорошо, но как ты собираешся формировать там изображение. Тебе нужно выделить массив размером 240*320*2 байт, а точнее два таких массива. Пока из одного будет выводится картинка, ты во второй пишеш новую, а потом меняеш указатель из какого масива выводить. 3. Для чего задержки for(i=0;i<50000;i++); Я уже заждался.  . По поводу заданных вопросов: 1. PLL не использую, настройка памяти есть(запись, чтение проходит успешно) 2. Для видеобуфера использую SRAM, начиная с адреса 0х80000000. 3. Часть кода брал из другого источника, который сам уже и коректировал, там и была данная задержка. Если она не нужна, то я уберу? Как выводить изображение вроде разобрался, но проблема в настройках развертки - выводит не то что хотелось бы. Цитата(kovz @ Feb 3 2009, 12:03)  7:2 PPL = 0x140(320) количество пикселей данных В ДШ к контроллеру (как я понял) написано, что (320/16)-1 = 19 Так что я щас мучаюсь с настройкой LCD_TIMH, LCD_TIMV. Если будут советы, то с удовольствием выслушаю
|
|
|
|
|
Feb 4 2009, 13:00
|
Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 25-07-05
Пользователь №: 7 079

|
Цитата(Anatrulij @ Feb 3 2009, 19:48)  Как выводить изображение вроде разобрался, но проблема в настройках развертки - выводит не то что хотелось бы. В ДШ к контроллеру (как я понял) написано, что (320/16)-1 = 19 Так что я щас мучаюсь с настройкой LCD_TIMH, LCD_TIMV. Если будут советы, то с удовольствием выслушаю  Опиши что выводит и что хочется. В чём именно проблема синхронизации? и по поводу установки количества точек в линии ты прав, я не досмотрел.
|
|
|
|
|
Feb 5 2009, 06:07
|
Участник

Группа: Новичок
Сообщений: 64
Регистрация: 7-11-08
Пользователь №: 41 437

|
Цитата(kovz @ Feb 4 2009, 17:00)  Опиши что выводит и что хочется. В чём именно проблема синхронизации? и по поводу установки количества точек в линии ты прав, я не досмотрел. Уже выводит куда я хочу. НО!!! Я вывожу белый квадратик на черном фоне в центре экрана, а выводит светло желтый квадратик на феолетовом. в чем может быть причина такого безобразия. Люди говорят, что дело в настройках LCD_TIMH, LCD_TIMV. Значение данных регистров я изменяю, а реакции ноль.
|
|
|
|
|
Feb 5 2009, 13:18
|
Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 25-07-05
Пользователь №: 7 079

|
Цитата(Anatrulij @ Feb 5 2009, 08:07)  Уже выводит куда я хочу. НО!!! Я вывожу белый квадратик на черном фоне в центре экрана, а выводит светло желтый квадратик на феолетовом. в чем может быть причина такого безобразия. Люди говорят, что дело в настройках LCD_TIMH, LCD_TIMV. Значение данных регистров я изменяю, а реакции ноль. Тут не подскажу, но мне кажеться копать нужно в направлении представлений цветов поиграйся в регистре LCD_CTRL с настройками битов LcdBpp(3:1). LCD_CTRL = ((1<<5) | (6<<1)); в этой строке замени 6 на 4
Сообщение отредактировал kovz - Feb 5 2009, 13:27
|
|
|
|
Сообщений в этой теме
Anatoly_P Управление ЖКИ Jun 5 2008, 11:07 Liderr Цитата(Anatoly_P @ Jun 5 2008, 14:07) при... Jan 24 2009, 20:54 rezident Liderr, обращаю ваше внимание, что Anatoly_P разме... Jan 24 2009, 21:43 at90 Liderr, а экран от оригинальной N95 или от китайск... Jan 25 2009, 10:18 Anatrulij Здраствуйте. Щас разбираюсь с понелью G057QN01 V0.... Jan 28 2009, 08:49 kovz Цитата(Anatrulij @ Jan 28 2009, 10:49) Зд... Jan 28 2009, 09:12  Anatrulij Цитата(kovz @ Jan 28 2009, 12:12) в инете... Jan 28 2009, 09:35   kovz Цитата(Anatrulij @ Jan 28 2009, 11:35) Я ... Jan 28 2009, 09:41    Anatrulij Цитата(kovz @ Jan 28 2009, 12:41) нет при... Jan 28 2009, 09:58     kovz Цитата(Anatrulij @ Jan 28 2009, 11:58) Да... Jan 28 2009, 10:36      Anatrulij Цитата(kovz @ Jan 28 2009, 13:36) да в эт... Jan 28 2009, 11:16       kovz Цитата(Anatrulij @ Jan 28 2009, 13:16) Бу... Jan 29 2009, 09:44        Anatrulij Цитата(kovz @ Jan 29 2009, 12:44) Если бу... Jan 29 2009, 11:53        Anatrulij Цитата(kovz @ Jan 29 2009, 12:44) Если бу... Jan 29 2009, 13:42     Anatrulij Цитата(kovz @ Feb 5 2009, 17:18) Тут не п... Feb 5 2009, 14:44      Wano Цитата(Anatrulij @ Feb 5 2009, 16:44) Да,... Feb 5 2009, 21:42 Jurdens Цитата(kovz @ Feb 3 2009, 12:03) Извини б... Aug 11 2009, 02:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|