Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/47: Рейтинг темы: голосов - 47, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 102

CPLD+S(D)RAM+TFT LCD

03.07.2017, 23:07. Показов 9157. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Очень хочется мне большой экран. Есть штук 10 от планшетов. Пара из них TVDS, поэтому их я не рассматриваю. Остальные - TTL, на некоторые даже есть даташиты. Я прекрасно понимаю, что МК не справится с выводом 16 бит цвета при таком разрешении, поэтому купил EPM240T100C5 и программатор, нарыл в закромах LV SROM на 512 КБ и сделал плату для тестирования. Первым (и последним на данный момент) тестировался дисплей LB080WV3 от какого-то огромного принтера Kyocera. Даташит тоже есть. Кварцевый генератор на плате 100МГц, внутри ПЛИС делитель на 3. Для начала SROM я даже не запаивал - решил просто цветные полоски выдать, но и этого не смог. Дисплей требует сигналы DCLK и DE. Первый - синхронизация точки, второй - разрешение отображения. Второго нет.
Так как мои познания в области Verilog более чем скромны, все мои "прошивки" делаются схемным вводом, кроме тех, которые я у кого-то позаимствовал. И при всей кажущейся "правильности" схемы, сигнала DE на выходе нет. Я переназначал пин, менял делители, менял схему и переписывал проект - нифига. Мерил осциллом на 200МГц на работе - DCLK есть 33,33 МГц, а DE - нет.
Запускал ли кто-нибудь дисплеи от планшетов? Именно с написанием всей логики собственноручно. Помогите пожалуйста, а то уже месяца 4 периодически возвращаюсь к проекту, и так безрезультатно закидываю его обратно.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.07.2017, 23:07
Ответы с готовыми решениями:

Какой TFT-LCD дисплей на 3-4" лучше использовать для STM32
Всем привет! Вопрос такой, у кого есть опыт подключения различных дисплеев к STM32 (особенно STM32F4xx) с использованием fsmc,...

MSP430: output to TFT LCD
Вопрос один: что сможет сделать MSP430 с такой железкой? 7ymsh TFT LCD Module Dysplay Touch Panel + SSD1963 <Изображение...

Вывод текста на tft.lcd 2.4
Привет, ребят :) Такая проблемка, имеется мега с дисплеем tft.lcd 2.4 с библиотекой Adafruit, на дисплей выводится динамическая...

32
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 102
28.08.2017, 12:36
Студворк — интернет-сервис помощи студентам
Это да, понимаю. Просто пример от альтеры на verilog, поэтому вносить изменения проблемно - во-первых не уверен, что SDROM будет работать так, как я хочу, а во-вторых, как я уже упоминал, с verilogом у меня пока сложные отношения.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
28.08.2017, 19:47
В SDROM команды передаются через комбинации сигналов на линиях /CS, /CAS (выбор столбца), /ROS (выбор строки), /WE.
Так же, в отличие от статической, адресация представляет собой матрицу строк и столбцов, помноженные на 4 (обычно) банка. Сначала выбирается номер строки (адресные входы) и номер банка (входы BA0, BA1) - при низком сигнале на ROS считывается значение с адресных входов и входов выбора банка. При этом вся строка открывается (активируется) для доступа. Это команда Active.
Затем выбирается номер столбца при низком уровне на CAS. Одновременно с этим на входе WE должен быть установлен низкий или высокий уровень. Это называется командой Read или Write. Через некоторое время - задержку CAS latency, определяемую в циклах тактовой частоты, на шине данных появится выходные данные. Или наоборот, будут приняты данные.
После всех операций в диапазоне строки, строка должна быть закрыта для доступа (деактивирована) и заряжена - это команда Precharge, выбираемая низкими уровнями на ROS и WE.
Периодически все операции с памятью должны прерываться командой для обновления (outo refresh) заряда конденсаторов, которые и являются носителями информации в SDROM. Период обновления обычно 64 мс, но может быть и другой.

Помимо этого есть и другие команды типа загрузки регистра конфигурации (Load Mode Reg), команд авторегенерации, автопредзаряда, команды низкого потребления.
Есть режимы пакетной передачи, когда после выбора номера строки и номера столбца можно пакетом пересылать несколько слов (определяется в конфиг.регистре).
Так же необходимо соблюдать последовательность инициализации памяти - выполнить команды предзарядки, выдержать тайминги, подать команды авторефреша, загрузить регистр конфига... И только после этого SDROM может использоваться.

Там еще есть с полтора десятка таймингов, которые нужно соблюдать. На высоких скоростях они имеют важное значение.
Основная проблема SDROM - задержки после ROS и CAS. Там всё это довольно хитро замучено, и от подбора оптимальных величин между частотой памяти, CAS и способами доступа (одиночный, пакетный) будет зависеть общее быстродействие памяти.
Вообще, SDROM при одиночных запросах по произвольным адресам работает гораздо медленнее, чем при пакетных передачах.
Есть нюансы при переходе между строками, между банками.. Вобщем, сделать так, чтобы внешний контроллер не замечал что там SDROM, а не SROM - занятие хлопотное, да и нафик не нужное, как мне кажется. В принципе, для этого есть PSROM с динамической структурой но статическим интерфейсом.
0
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 102
28.08.2017, 20:54
Спасибо, что разжевали! С английским нормально, но из нескольких даташитов не почерпнул и половины того, что Вы рассказали. Там всё в кучу. Про латентность тоже читал. На медленных скоростях некоторые SDROM из имеющихся выдают данные сразу, если не burst доступ. PSROM, вроде, нету у меня. Есть еще пара мегабайт (в сумме) SSROM (опять же синхронная и данные выдает не сразу(((), и несколько SROM 32K*8. Это если для 3.3 вольтовых поделок. Остальное (8К*8 - 512К*8) на 5 вольт...
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
28.08.2017, 22:09
Еще есть одна такая фишка.
Шину данных SDROM не получится объединить с шиной интерфейса RGB.
Дисплей с HV-синхронизацией и пиксельным тактированием не подразумевает остановки тактирования и интерфейса. Иначе изображение пропадет. Динные по интерфейсу RGB должны идти непрерывно и равномерно в течение активной области кадра. В даташите дисплея прописаны длительности сигналов и они не позволяют сильно изменять равномерность. Минимальная пиксельная частота так же ограничена по соображениям заметности мерцания. И для дисплея с большим размером пиксельная частота получается довольно высокой - порядка 25 МГц для размера 800*480.
По каждой стороне дисплея есть неотображаемые (неактивные) области вне дисплея, на которых пиксельное тактирование и счет пикселей и/или строк продолжает идти, но данные по интерфейсу не пересылаются. Эти области называются Horizontal Back Porch, Horizontal Front Porch, Vertical Back Porch, Vertical Front Porch - вертикальные и горизонтальные площадки перед и после активной области кадра. Они предназначены для подготовки данных и уравнивания скоростей.

Так вот, а сама по себе SDROM будет давать довольно неравномерную скорость поступления данных. Неравномерность обусловлена задержками выбора строки и столбца, необходимыми таймингами операций, переходами через строки и банки. Незря ведь в микроконтроллере STM есть FIFO-буферы как на SDROM, так и на модуле дисплея. FIFO-буферы позволяют уравнять неравномерности и скорости передачи данных.
Со статической SROM-памятью проще, она не имеет подобных задержек, но зато гораздо дороже. Но SROM можно использовать как буфер на одну строку, загружая извне во время HF(B)P.

Таким образом, высокая частота интерфейса дисплея вкупе с большими задержками произвольного доступа SDROM не позволит эффективно совместить шины памяти и дисплея в одну физическую.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
29.08.2017, 00:51
Имхо при начальном уровне знаний лучше никакие шины не совмещать. Я как то хотел совместить rgb и ацп (по тактам проходило), но в итоге так и забросил - очень нудная конструкция получалась.
Также и sdram - тормозная память, с очень сложным контроллером. Sram вполне приемлемо стоит, даже если делать два буфера для настольного монитора с обычным разрешением. (Ну ладно, 8-ми битных :) )
Как вот, грубо говоря, провести вертикальную линию в sdram или повернуть картинку?
Есть опасность потратить массу времени и сил безрезультатно и получить на выходе отрицательный результат, что сильно испортит вам настроение. А маленький простой девайсик, созданный быстро и с удовольствием, принес бы вам массу позитивных эмоций, развивая и мотивируя на большой :)
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
29.08.2017, 00:56
Цитата Сообщение от otm604
SSROM (опять же синхронная и данные выдает не сразу(((
Не сразу, зато каждый такт. Это фактически аналог внутренней памяти плис, самой удобной и быстрой памяти. Сначала научиться работать с внутренней памятью, потом перенести тот же самый алгоритм на внешнюю.
0
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 102
29.08.2017, 15:07
bw429 про совмещение нескольких шин согласен, тоже попадал...
To BusMostir Для меня было удивительным открытием, что имеющийся дисплей работает при пиксельклоке в 50 Гц)))) Проводок отпал, я его взял и заметил, как на дисплее рисуется точка за точкой. Забавно. Насчет мерцания согласен. 10 МГц уже заметно. Но такое отклонение от стандарта может кому-то пригодиться. Медленным МК отрисовывать ненагруженный малодинамичный интерфейс. У меня пока опять всё встало. Надо делать платку, а дома детский сад почти, поэтому и некогда и негде. Вчера еще нашел 4 мегабайта асинхронной DROM на 3.3 вольта. Может с ней получится. Там, вроде, сильно проще. И, помнится, где-то в закромах лежат 30- и 72-ногие симмы. Только не помню где. Там в сумме, наверное, пол-гига)))
Короче, как продвинусь в этом вопросе - отпишу. Может кому еще понадобится, а то дисплеи с контроллером маловаты, а платить 2500-3000-5000 деревянных за NEXTION и дисплеи на SSD1963 не все хотят.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
29.08.2017, 18:03
cpld с памятью это конечно хорошо, особенно если надо из говна и палок старых symmов собрать буфер.
но вот для небольших экранов до 800х600, просто информация для размышления: adsp-bf706 с мегабайтом памяти на борту и человеческим параллельным видеоинтерфейсом, в qfn88 корпусе стоит дешевле чем один только epm570.
не говоря про готовые контроллеры FT81x, которые ещё и в jpg/png могут. блэкфин конечно тоже может, и не только jpg, дури у него хватит, но реализовывать это самому придётся.
и да, я знаю что на алиэкспрессе можно найти epm570 и дешевле и возможно даже нормальные чипы. я про цены от fymdchips.som.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
30.08.2017, 03:36
adsp-bf706 стоит порядка 15-20 долл, и столько же стоит 3-4 циклон с около 480 и более кбит памяти. А это уже позволяет получить двухцветную картинку 800*600 или 16 цветную 400*300 без внешней памяти.
Я читал документацию на блекфины, она мне показалась довольно сложной, тогда как с плис удалось довольно быстро разобраться. У плис порог вхождения гораздо ниже.

Вот, вспомнил, где я видел перевод документации на sdram.
http://www.dsioffe.narod.ru/my... nSDROM.htm

PS: самый дешевый бф на дижикее 15.87, самый дорогой макс5 - 14.9 :)
0
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 102
30.08.2017, 06:07
Воу-воу, вы чего? Я с stm32 на вы, а тут блэкфин и адсп предлагаете. Мне уж тогда сильно проще 1963 заказать и плату развести. Не уверен в скорости обновления картинки, но, думаю, не медленнее моей задумки cpld+ram.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
30.08.2017, 11:42
документация у блэкфинов и вообще периферия организована куда лучше и проще чем у того же stm32. какое там внутри ядро вообще без разницы, не на ассемблере же писать будете.

если сравнивать с циклонами, у которых 60кБ памяти для однобитной картинки, то тогда сравнивать надо bf700 или вообще bf592, который 5$ стоит.

Цитата Сообщение от bw429
PS: самый дешевый бф на дижикее 15.87, самый дорогой макс5 - 14.9 :)
и сколько у того макс5 мегабайт памяти на борту?
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
30.08.2017, 19:30
А какие аппаратные модули есть у bf700 и bf592, позволяющие получать не просто 1 битную картинку, а 2 цвета из полноценной палитры. И не только 1 битную, но и 4 битную с палитрой или градациями серого.
и сколько у того макс5 мегабайт памяти на борту?
Сорри за занудство, просто чисто формально вы были не правы по цене :)
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
30.08.2017, 20:05
там человеческий 16ти разрядный порт на 60МГц с синхроимпульсами, куда подключается дисплей, а быстродействия процессора более чем достаточно чтобы палитру сделать какую угодно - перелопатить строку руками и отправить в дма.

ну и если уж занудствовать, то речь шла про второй макс, а не про пятый. так что формально-то как раз прав,
а уж если брать блэкфины без встроенного мегабайта памяти так тем более :)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2017, 20:05

LCD 2.8" TFT Помогите опознать контроллер
С Новым Годом Всех! Так как не пью :), сижу разбираюсь с платкой заказал на ебее...

Подключение TFT LCD к ..., например cubieboard A1
есть у меня матрица sharp TFT LCD LQ084S1DH10, задался вопросом о подключении ее к недавно приобретенному cubieboard2. Конечно, можно...

RE: Освоение STM32F103VE + TFT LCD + touch screen
Всем доброго утра. Читая статью "Освоение STM32F103VE + TFT LCD + touch ssreen", решил попробовать на своём stm32f4discovery сделать...

Как прикрутить Touch Screen TFT LCD к stm32f4discovery
Нашел экранчик 2.8" Touch Screen TFT LCD wyth 16 bit parallel interfosi SPFD5408B (HY28A-LCDA) <Изображение удалено> ...

LCD TFT 128*160 и его подключение к AVR ATmega2560
Выковырял из плеера дисплейчик 128*160, теперь думаю как его прикрутить к плате с AVR ATmiko2560. Пожалуйста, кто понимает в схемах,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru