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

 
 
> MicroBlaze & XPS_TFT, Вывода на VGA монитор
xor.kruger
сообщение Nov 27 2012, 15:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 17-08-08
Из: Чернигов
Пользователь №: 39 647



Доброго времени суток!

Решил к платке Spartan3E StarterKit (spartan3e500) прикрутить стандартную корку XPS_TFT от Xilinx.
Судя по документации данная корка умеет работать как с DVI интерфейсом (используя все навороты и конфигурацию по шине I2C) так и с простыми VGA дисплеями.

В опциях корки указал следующие параметры:
Код
BEGIN xps_tft
PARAMETER INSTANCE = xps_tft_0
PARAMETER HW_VER = 2.01.a
PARAMETER C_DCR_SPLB_SLAVE_IF = 1
PARAMETER C_TFT_INTERFACE = 0
PARAMETER C_DEFAULT_TFT_BASE_ADDR = 0x47000000
PARAMETER C_SPLB_BASEADDR = 0x86e00000
PARAMETER C_SPLB_HIGHADDR = 0x86e0ffff
BUS_INTERFACE MPLB = mb_plb
BUS_INTERFACE SPLB = mb_plb
PORT SYS_TFT_Clk = clock_generator_0_CLKOUT3
PORT TFT_HSYNC = xps_tft_0_TFT_HSYNC
PORT TFT_VSYNC = xps_tft_0_TFT_VSYNC
PORT TFT_VGA_R = xps_tft_0_TFT_VGA_R
PORT TFT_VGA_G = xps_tft_0_TFT_VGA_G
PORT TFT_VGA_B = xps_tft_0_TFT_VGA_B
PORT IP2INTC_Irpt = xps_tft_0_IP2INTC_Irpt
END

На плате также имеется банка DDR памяти размером в 64 МБайта. Адресное пространство у нее составляет 0x44000000 - 0x47ffffff.
Соответственно базовый адрес для видеопамяти в ОЗУ составляет - 0x47000000
Так как каждый из трех каналов является 6ти разрядным - то пины в ucf файле прописаны следующим образом:
Код
# VGA

Net xps_tft_0_TFT_HSYNC_pin LOC=F15 |  IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
Net xps_tft_0_TFT_VSYNC_pin LOC=F14 |  IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;

Net xps_tft_0_TFT_VGA_R_pin<5> LOC=H14 | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
Net xps_tft_0_TFT_VGA_R_pin<*>  IOSTANDARD = LVTTL;
Net xps_tft_0_TFT_VGA_G_pin<5> LOC=H15 | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
Net xps_tft_0_TFT_VGA_G_pin<*>  IOSTANDARD = LVTTL;
Net xps_tft_0_TFT_VGA_B_pin<5> LOC=G15 | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
Net xps_tft_0_TFT_VGA_B_pin<*>  IOSTANDARD = LVTTL;


В общем суть проблемы следующая - на разъем "валят" hsync и vsync с нужными таймингами (монитор отлично определяет режим), а вот картинки нету вообще, то есть на линиях данных постоянно находится лог. ноль (проверял осциллографом). Данная проблема имеет место быть если вывод осуществляется как с помощью Standalone так и при использовании GNU/Linux (Framebuffer и все дела...)

Кто нибудь использовал данную кору? Были бы какие нибудь проблемы, или же наоборот - успех? sm.gif
Заранее спасибо за любой ответ sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xor.kruger
сообщение Nov 29 2012, 09:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 17-08-08
Из: Чернигов
Пользователь №: 39 647



Добился вывода на монитор standalone приложением. Проблема была в том (хотя как бы проблемой это не совсем можно назвать), что кэшировалась область ОЗУ, по которой была "расположена" видеопамять.

Теперь буду добиваться вывода консоли линукса через фреймбуфер (драйвер xilinxfb)
Go to the top of the page
 
+Quote Post



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

 


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


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