|
Подключение LCD к ПЛИС |
|
|
|
Jul 17 2013, 15:40
|

Участник

Группа: Участник
Сообщений: 20
Регистрация: 30-03-12
Из: Дубна
Пользователь №: 71 111

|
Всем привет. Только начинаю изучать ПЛИС, в наличии Spartan 3E на отладочной плате. Хочется запустить LCD-дисплей, такой вот. Написал на VHDL все пункты инициализации, погонял на симуляторе, всё, вроде, работает. Осталось только один пункт выполнить, а именно, вывод изображения по SPI. Сам SPI уже организовал. А как изображение описать на VHDL, не знаю. Может кто знает?
|
|
|
|
|
Jul 17 2013, 17:56
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(the Devil incarnate @ Jul 17 2013, 18:40)  Всем привет. Только начинаю изучать ПЛИС, в наличии Spartan 3E на отладочной плате. Хочется запустить LCD-дисплей, такой вот. Написал на VHDL все пункты инициализации, погонял на симуляторе, всё, вроде, работает. Осталось только один пункт выполнить, а именно, вывод изображения по SPI. Сам SPI уже организовал. А как изображение описать на VHDL, не знаю. Может кто знает? на мой взгляд надо еще организовать в памяти (SRAM, DDR или какой-то другой) фрейм-буфер на 2 экрана. Из одного фрейм-буфера происходит постоянная вычитка (вывод на экран изображение - обновление экрана), в это время обновляется (перезаписывается в памяти) другой фрейм-буфер для другого изображения (следующий экран). Как только формирование нового экрана закончилось, т.е. второй фрейм-буфер переписался - переключается вычитка на второй фрейм-буфер. Начинает обновляться первый фрейм-буфер новым изображением, т.е. перезаписывается в памяти. И так далее по кольцу... Откуда и как будут формироваться/поступать изображения Вам решать...и как управлять Touch Screen Interface тоже... P.S. SPI serial для вывода изображения не очень хороший интерфес, лучше 18-bit parallel, 16-bit parallel, 8-bit parallel, но конечно все зависит какое обновление экрана Вы хотите т.е. от кадров/сек или частей кадра...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jul 18 2013, 06:23
|

Участник

Группа: Участник
Сообщений: 20
Регистрация: 30-03-12
Из: Дубна
Пользователь №: 71 111

|
Прочитал всё вышенаписанное и понимаю, что никто не подключал LCD-шку к ПЛИСине, у всех, как и у меня, только какие-то абстрактные идеи и ничего конкретного. Ну, ничего не поделать! Придётся самому бурить эту скважину. Буду пробовать, конечно сначала какое-то тестовое изображение, может просто точку (хотя, она слишком маленькая, на мой взгляд, и её можно не заметить), а потом уже и с динамикой можно разобраться. Главное, понять принцип, что писать, куда писать и как. А этого-то пока и не понятно. Видимо, сказывается нехватка знаний в области языка VHDL.
|
|
|
|
|
Jul 18 2013, 07:42
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Цитата(the Devil incarnate @ Jul 18 2013, 10:23)  Прочитал всё вышенаписанное и понимаю, что никто не подключал LCD-шку к ПЛИСине, у всех, как и у меня, только какие-то абстрактные идеи и ничего конкретного. Ну, ничего не поделать! Придётся самому бурить эту скважину. Буду пробовать, конечно сначала какое-то тестовое изображение, может просто точку (хотя, она слишком маленькая, на мой взгляд, и её можно не заметить), а потом уже и с динамикой можно разобраться. Главное, понять принцип, что писать, куда писать и как. А этого-то пока и не понятно. Видимо, сказывается нехватка знаний в области языка VHDL. Очень смелое предположение. На языке описания цифровых схем изображение никто не описывает, это очень странно и нерационально. Для тестирования вам выше советовали вывести изображение какой-нть периодической структуры, это простой, понятный и незатратный тест. Для вашего дисплея всё уже давно придумано. И память есть и интерфейс к ней, остаётся только использовать по назначению. Если хотите что-то интересное, возьмите LCD без контроллера с параллельным или lvds интерфейсом (подойдёт матрциа от ноута или же тот же VGA монитор). Прикрутите к нему фреймбуфер на двухпортовой памяти, добавьте разные интерфейсы для работы с этим фреймбуфером (SPI, I2C, UART). В плане обучения для начала будет полезно. На ПЛИС вообще очень много чего можно делать, лишь бы фантазия была. Удачи!
|
|
|
|
|
Jul 18 2013, 13:33
|

Участник

Группа: Участник
Сообщений: 20
Регистрация: 30-03-12
Из: Дубна
Пользователь №: 71 111

|
Цитата(Inanity @ Jul 18 2013, 11:42)  ...Для вашего дисплея всё уже давно придумано. И память есть и интерфейс к ней, остаётся только использовать по назначению... Вот именно, что придумано. Только на данный момент я не понимаю, как изображение (любое, даже тестовое) вывести на экран. Какой код написать. Мне бы с этого начать. В теории то я всё понимаю, а вот как эту теорию в код превратить, не понимаю. Ещё раз повторюсь, что я только начинаю изучать ПЛИС. А идей-то полно, это же ПЛИС, практически неисчерпаемый инструмент. Твари что угодно.
|
|
|
|
|
Jul 18 2013, 14:59
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(the Devil incarnate @ Jul 18 2013, 15:33)  это же ПЛИС, практически неисчерпаемый инструмент. Твари что угодно. Ох как много открытий вас ждет  . ИМХО - ПЛИС отличный, дорогой, специализированный инструмент который надо использовать когда нет другого выхода. Практически как девиз студии Лебедева Если что - мы используем, но если бы можно было - с удовольствием применил бы DSP.
|
|
|
|
|
Jul 18 2013, 15:30
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(the Devil incarnate @ Jul 18 2013, 16:33)  Вот именно, что придумано. Только на данный момент я не понимаю, как изображение (любое, даже тестовое) вывести на экран. Какой код написать. Мне бы с этого начать. В теории то я всё понимаю, а вот как эту теорию в код превратить, не понимаю. Ещё раз повторюсь, что я только начинаю изучать ПЛИС. А идей-то полно, это же ПЛИС, практически неисчерпаемый инструмент. Твари что угодно. так Вам может начать с теории как строиться изображение на экране/дисплее и как оно там выводиться? Цитата(flopix @ Jul 18 2013, 16:49)  Построение графики это не задача для ПЛИС. Хотите поэксперементировать - прошейте в вашу ПЛИС дополнительно какое нибудь ядро процессора и выводите изображение читая например с карты памяти. можно и без процессора. например для генерации какой-то тестовой картинки можно сделать и на логике с помощью небольшой FSM (какие-нибудь полосы- вертикальные, горизонтальные, наклонные), но начать наверно надо хотя бы с обычного закрашивания экрана... Наклонные полосы хорошо проверяют синхронизацию и все устнановки счетчиков схемы... Некоторые делают даже и вывод текста
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jul 18 2013, 15:45
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(DASM @ Jul 18 2013, 17:07)  Ну.. я вот жду такого же ПЛИС как Zynq (2 * Cortex A9 + FPGA) и плюс еще C64x ядро. Но вряд ли дождусь по лицензионным соображениям. А какие собственно DSP задачи не решить на ПЛИС то ? Ну медленне там МАК выходит, ну так их можно 200 штук в средненькой ПЛИСке загнать, уже кроет С64 с его 6-ю как бык овцу.. Я вот кстати не понимаю почему на него все так молятся. Пробовали примерить к своим задачам - ну никак. И процессор слабый (точнее периферии мало) и логики мало. Куда универсальнее связка CPU + FPGA на плате. А по теме - вы неправильно поняли. У нас задача которую можно решить только на ПЛИС. Можно бы было решить на DSP - выбрали бы его (что-то SC3850, мне больше нравится). Но приходится платить - долго, дорого, и ограниченные возможности конфигурации в процессе работы (а с partial reconfiguration ох как не хочется связывается).
|
|
|
|
|
Jul 18 2013, 16:30
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Видимо задачи разные. Какой перифирии мало? Ее же сам на фпга и делаешь. 50000 лутов это конечно не Стратиксы, но хватит на многое. Объясню, что привлекло меня. Шина. AXI . Она быстрая, она документирована, это АРМ. Даже два по 800 мгц с NEON SIMD блоками, с двойной точностью. Это 4 way cache (емнип у с64 2way). итого за сотку баксов чип, который поддерживается Линуксом и Андроидом. Плюс виртуальная мауетка в виде фпга, на которую я могу повесить какую угодно перифирию на быструю шину. Какие альтернативны? Ну да ,Циклон5, ну так он же брат близнец.
|
|
|
|
|
Jul 18 2013, 16:52
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(DASM @ Jul 18 2013, 18:30)  Видимо задачи разные. Какой перифирии мало? Ее же сам на фпга и делаешь. 50000 лутов это конечно не Стратиксы, но хватит на многое. Объясню, что привлекло меня. Шина. AXI . Она быстрая, она документирована, это АРМ. Даже два по 800 мгц с NEON SIMD блоками, с двойной точностью. Это 4 way cache (емнип у с64 2way). итого за сотку баксов чип, который поддерживается Линуксом и Андроидом. Плюс виртуальная мауетка в виде фпга, на которую я могу повесить какую угодно перифирию на быструю шину. Какие альтернативны? Ну да ,Циклон5, ну так он же брат близнец. "Ну а теперь со всем этим мы попробуем взлететь" (с)  Ну вот например мало мне интерфейсов сетевых - делать на дорогущей логике класса Kintex? Ну уж извините, у нас частная фирма, нам зарабатывать надо  АРМ который поддерживается Линуксом и Андроидом - ну окошки порисовать красиво, да, не спорю  . Да и не слишком он и быстрый... У нас половина инженеров себе ZedBoard купили поиграться, но задачи у нас несколько иные. А AXI мы используем - хорошая вещь, очень.
|
|
|
|
|
Aug 17 2013, 09:14
|
Местный
  
Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491

|
Цитата(the Devil incarnate @ Jul 18 2013, 10:23)  Прочитал всё вышенаписанное и понимаю, что никто не подключал LCD-шку к ПЛИСине, у всех, как и у меня, только какие-то абстрактные идеи и ничего конкретного. Мне кажется, что как раз именно конкретики было много, и ее вы как раз то и не поняли  На альтере вроде вашу задачу проще реализовать, т.к. имеются большие объемы памяти, с возможностью предварительной инициализации. Вот, например, в самый мелкий циклон2 помещается картинка для дисплея 320х240 с 24-х битным цветом! (здесь правда 24 битность не видна, т.к. картинка тестовая для подгонки RGB  но реально цвет именно 24 битный!)
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|