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

 
 
> подключение монитора к AT91SAM9261
ZAA
сообщение Dec 15 2009, 16:20
Сообщение #1


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

Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906



Всем добрый день)
Необходимо подключить обычный CRT монитор с разрешением 800х600 к отладочной плате AT91SAM9261. Какие параметры в исходниках u-boot'а нужно поменять, чтобы добиться появления изображения на мониторе (пробовали менять vl_clk и разрешение в файле board/atmel/at91sam9261/at91sam9261.c - не помогло).
Подскажите, пожалуйста, если кто-то сталкивался с подобным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Dec 16 2009, 22:37
Сообщение #2


Гуру
******

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



Цитата(ZAA @ Dec 15 2009, 19:20) *
пробовали менять vl_clk и разрешение в файле board/atmel/at91sam9261/at91sam9261.c - не помогло

Хоть бы написали, к чему это привело в результате.

Цитата(ZAA @ Dec 15 2009, 19:20) *
Подскажите, пожалуйста, если кто-то сталкивался с подобным?

Глянул исходники - фреймбуфер для LCD под платформу 9261EK расположен в SRAM, поэтому просто поменять разрешение нельзя, нужно сначала перенести его в SDRAM, как это сделано для 9G10.

Цитата(Jury093 @ Dec 16 2009, 21:48) *
А разве 9261 умеет VGA?

Умеет.
Go to the top of the page
 
+Quote Post
ZAA
сообщение Dec 17 2009, 15:55
Сообщение #3


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

Группа: Участник
Сообщений: 141
Регистрация: 10-02-08
Из: Екб
Пользователь №: 34 906



Цитата(aaarrr @ Dec 17 2009, 01:37) *
Хоть бы написали, к чему это привело в результате.

Опишу проблему подробнее. smile3046.gif
Задача - подключить к отладочной плате AT91SAM9261-EK VGA монитор с разрешением 800x600 и на 60 ГЦ. Глубина цвета - 8 бит на пиксель. Цифровые сигналы RGB, DCLK и LCDEN перехватываются и посылаются на конвертер TFT-VGA, реализованный на микросхеме ADV7125(самодельный переходник).
Проблемы:
1) Не можем получить частоту выше 18 Мгц на линии DCLK. Для разрешения 800x600@60Hz необходимо F=800*600*60*0.8 = 36Mhz (данная формула взята из описания на микросхему ADV7125).
В файле board/atmel/at91sam9261/at91sam9261.c меняем настройки:
Изначально:
Код
vidinfo_t panel_info = {
    vl_col:        240,
            vl_row:        320,
    vl_clk:        4965000,
    vl_sync:    ATMEL_LCDC_INVLINE_INVERTED |
            ATMEL_LCDC_INVFRAME_INVERTED,
    vl_bpix:    3,
    vl_tft:        1,
    vl_hsync_len:    5,
    vl_left_margin:    1,
    vl_right_margin:33,
    vl_vsync_len:    1,
    vl_upper_margin:1,
    vl_lower_margin:0,
    mmio:        AT91SAM9261_LCDC_BASE,
};

Мы сделали:
Код
vidinfo_t panel_info = {

    vl_col:        800,        
    vl_row:        600,        
    //vl_clk:        25175000,
    vl_clk:        39720000,
    vl_bpix:        4,
    vl_tft:        1,

    vl_hsync_len:    96,    //HPW    
    vl_left_margin:    48,    //HBP
    vl_right_margin:    16,    //HFP

    vl_vsync_len:    2,    //VPW
    vl_upper_margin:    31,    //VBP
    vl_lower_margin:    12,     //VFP

    mmio:        AT91SAM9261_LCDC_BASE,
};

В файле 'atmel_lcdfb.c' делитель (CLKVAL) подбирается автоматически:
Код
            /* Set pixel clock */
    value = get_lcdc_clk_rate(0) / panel_info.vl_clk;
    if (get_lcdc_clk_rate(0) % panel_info.vl_clk)
        value++;
    value = (value / 2) - 1;

    if (!value) {
        lcdc_writel(panel_info.mmio, ATMEL_LCDC_LCDCON1, ATMEL_LCDC_BYPASS);
    } else
        lcdc_writel(panel_info.mmio, ATMEL_LCDC_LCDCON1,
                value << ATMEL_LCDC_CLKVAL_OFFSET);

где:
Код
static inline unsigned long get_lcdc_clk_rate(unsigned int dev_id)
    {
        return AT91_MASTER_CLOCK;    
    }

AT91_MASTER_CLOCK определен в файле include/configs/at91sam9261ek.h
Код
#define AT91_MAIN_CLOCK        198656000    /* from 18.432 MHz crystal */
#define AT91_MASTER_CLOCK    99328000    /* peripheral = main / 2 */

Функция get_lcdc_clk_rate() возвращает #define-частоту. Но какая частота при этом реальная?
После прошивки U-Boot'а и запуска контроллера сигнала DCLK нет вообще. Есть подозрение, что МК не может обеспечить такую частоту,так как работает от SLCK (Low-power 32768 Hz Slow Clock Oscillator ). Возможно, плохо искали, но ни в одном файле мы не нашли места, в котором бы устанавливался Master Clock (MCK). А MCK может быть и 200Мгц.
В чем может заключаться проблема и как получить рабочую частоту в 36 МГц и более???

2)Также есть путаница с параметрами INVVD, INVFRAME, INVLINE, INVCLK, INVVDVAL. В разных примерах их настаривают по-разному. Плюс еще нужно учесть параметры VGA-режима.
И еще - DMABDDR1 - это адрес, по которому находится выводимая на экран картинка??

Спасибо, сорри за обилие вопросов)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 17 2009, 16:33
Сообщение #4


Гуру
******

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



Цитата(ZAA @ Dec 17 2009, 18:55) *
1) Не можем получить частоту выше 18 Мгц на линии DCLK.
...
После прошивки U-Boot'а и запуска контроллера сигнала DCLK нет вообще. Есть подозрение, что МК не может обеспечить такую частоту,так как работает от SLCK (Low-power 32768 Hz Slow Clock Oscillator ). Возможно, плохо искали, но ни в одном файле мы не нашли места, в котором бы устанавливался Master Clock (MCK). А MCK может быть и 200Мгц.
В чем может заключаться проблема и как получить рабочую частоту в 36 МГц и более???

Так и не понял, DCLK есть, но не выше 18МГц, или же ее нет вообще?
Судя по наличию дефайна CONFIG_SKIP_LOWLEVEL_INIT U-boot в этой конфигурации тактирование не настраивает, а пользуется тем, что получено от bootstrap'а - к нему и вопросы.
Кроме того, в вашем случае DCLK будет равна MCK/2, т.к. нечетные делители не предусмотрены.

Цитата(ZAA @ Dec 17 2009, 18:55) *
2)Также есть путаница с параметрами INVVD, INVFRAME, INVLINE, INVCLK, INVVDVAL. В разных примерах их настаривают по-разному. Плюс еще нужно учесть параметры VGA-режима.

Все в 0. Монитор поймет.

Цитата(ZAA @ Dec 17 2009, 18:55) *
И еще - DMABDDR1 - это адрес, по которому находится выводимая на экран картинка??

Да.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ZAA   подключение монитора к AT91SAM9261   Dec 15 2009, 16:20
- - Jury093   Цитата(ZAA @ Dec 15 2009, 19:20) Необходи...   Dec 16 2009, 18:48
|- - ZAA   Цитата(aaarrr @ Dec 17 2009, 01:37) Хоть ...   Dec 17 2009, 03:50
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 17 2009, 21:33) Так и...   Dec 21 2009, 09:11
|- - aaarrr   Цитата(Viatcheslav_CPU @ Dec 21 2009, 12...   Dec 21 2009, 15:10
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 21 2009, 20:10) Полос...   Dec 21 2009, 16:40
|- - aaarrr   Цитата(Viatcheslav_CPU @ Dec 21 2009, 19...   Dec 21 2009, 17:02
|- - singlskv   Цитата(aaarrr @ Dec 21 2009, 20:02) И при...   Dec 21 2009, 21:29
||- - Viatcheslav_CPU   Вот сам правленный код: файл : at91sam9261ek.c CO...   Dec 22 2009, 09:37
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 21 2009, 22:02) Каков...   Dec 22 2009, 06:14
|- - aaarrr   Цитата(Viatcheslav_CPU @ Dec 22 2009, 09...   Dec 22 2009, 15:54
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 22 2009, 21:54) Схема...   Dec 23 2009, 08:41
|- - aaarrr   Цитата(Viatcheslav_CPU @ Dec 23 2009, 11...   Dec 23 2009, 08:49
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 23 2009, 13:49) Очеви...   Dec 23 2009, 10:36
|- - aaarrr   Цитата(Viatcheslav_CPU @ Dec 23 2009, 13...   Dec 23 2009, 11:02
|- - Viatcheslav_CPU   Цитата(aaarrr @ Dec 23 2009, 17:02) Да не...   Dec 23 2009, 11:05
|- - AlexN   Цитата(Viatcheslav_CPU @ Dec 23 2009, 18...   Dec 23 2009, 14:46
- - aaarrr   Как почему? Если не задействуете два старших бита,...   Dec 23 2009, 11:20
|- - Viatcheslav_CPU   Все исправил. Теперь цвета насыщенные и похоже на ...   Dec 24 2009, 05:50
- - Snegovik86   Доброго времени суток! С образованием у нас де...   Jun 8 2010, 10:51


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:32
Рейтинг@Mail.ru


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