Перейти к содержанию
    

Не, коль добавили LTDC, то и памяти могли бы добавить

Добавили FMC с возможностью подключения SDRAM. Чего еще надо? Внутренняя SRAM огромного объема будет стоить огромных денег.

Кста, 1МБ - это не так уж и много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, коль добавили LTDC, то и памяти могли бы добавить - было бы от 1М внутренней SRAM, цены бы им не было. Если же юзать с внешним контроллером дисплеи, то нет смысла ни в DMA2D, ни в LTDC.

ДА поймите они думаны под свой круг тех задач, и не более. Оч не желательно раздувать их применение на те области куда ресурсов нехватит гарантировано и точно.

Почему не добавили, могу ответить со слов их STM чела.

 

...мы вычислили сегмент рынка сделали с учетом этого чип, и получаем неплохой результат теперь. Ваши требования больше внутренней SRAM мы знаем, также как и желание повыше задрать тактовую частоту. Сделав это мы не имели бы успеха, по причине того что эта память, один из дорогоих ресурсов при производстве и стоимость чипа была бы много дороже. К тому же сильно возросло потребление и мы станем не привлекательны на рынке. На сегоднешний день решение оптимально, используйте его с успехом конкурируйте на рынки продуктов с использованием процессоров от STM ...

 

Внеший контролер есть и без GRAM дешевые, не все так плохо с DMA2D.

 

Добавили FMC с возможностью подключения SDRAM. Чего еще надо? Внутренняя SRAM огромного объема будет стоить огромных денег.

Кста, 1МБ - это не так уж и много.

да, согласен и это можно считать за счастье.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не зная софт задачи, как вы определите достаточно своей набортной памяти или нет? Да никак. Да у меня задача конкретная по ТЗ, и ваши все советы как то мимо.

 

Ну хорошо, какая такая мегазадача на проце 200мег требует больше 384-512к памяти?? Наворочнную графику в расчет не беру.

 

Кста, 1МБ - это не так уж и много.

 

До 1 мега думаю вскоре добавят, больше вряд-ли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...мы вычислили сегмент рынка сделали с учетом этого чип ...

 

думаю это всё маркетинговые отмазки, и не только у них, т.к с каждым годом потихоньку наращивают частоту и память. Им нужно напродавать то, что уже нашлёпали и по обещаниям должны шлёпать. И не создавать конкуренцию раньше времени другим чмпам или технологии. Пипл хавает, бабки идут, всё нормуль :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю это всё маркетинговые отмазки, и не только у них, т.к с каждым годом потихоньку наращивают частоту и память. Им нужно напродавать то, что уже нашлёпали и по обещаниям должны шлёпать. И не создавать конкуренцию раньше времени другим чмпам или технологии. Пипл хавает, бабки идут, всё нормуль :)

Менталитет там далек от вашего. Промышленность электронная нам трудится как часики, не то что тут. То что менеджеры другие 100%. То что наращивают, это новые технологии пиления камня появляются, тоже не дешевые. Их не заботит то что нашлепали и продавать им точно ни чего не нужно, по одной простой причине - заказы уже набраны, стоки заряжены, ну а далее конвейер капиталистической машины движется до первых булыжников.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опаньки... И почему статика стала медленней динамики?? Шины по 16 бит, или у статики 8?

Ну да. Я исходил из шины. Наверное есть и с 16-ти битной шиной, но подороже будет. Да и в плане доступности. Отходит это всё уже.

 

А посчитать?

 

480х272xRGB565 TFT минимальная частота PCLK 5.1МГц, при этом будет 30 с чем-то FPS, для LTDC потребуется 4.5MTps на 16битной шине. Теперь берем медленную SRAM память (у меня в чулане нашлась K6X8016T3C-55), на 15МГц по идее ее запустить не составит труда. У нас остается 10MTps на рисование. Для двойной буферизации потребуется 480х272=130560 транзакций на одну прорисовку, для отрисовки каждой точки пусть будет два обращения к памяти, тогда на отрисовку всего экрана потребуется еще столько же. Итого 10MTps/261120 = 38fps. Как по мне вполне прилично (мне хватило бы и 10..15fps). Вот для 800х480, да будет слабовата (впрочем SRAM и намного быстрее бывает, даже у меня в чулане 10нс SRAM была какая-то). :)

Прошу прощения. А что есть "двойная буферизация" в данном контексте? Почему 2 выборки на точку? О каком цвете ведём речь, 16 бит?

Я сравниваю со старым процом типа LPC2478, на котором делал пару проектов. Там для 24-ёх битной графики требовалось 32 бита памяти. Впрочем, достаточно удобно в плане обращения. STM32F4 хранит упакованный цвет. 3 байта на точку. Таким образом при полноцвете и 16-ти битной памяти, у вас 1.5 обращения на точку.

Но для данного контроллера я рассматриваю только "офисную" графику. Поэтому 16-ти бит на цвет вполне достаточно. Таким образом будет лишь одно обращение на точку.

При этом если рассматривать 2 слоя, то надо считать примерно среднее значение. То есть - основное окно 480*272 плюс диалоговое примерно 1/3. И того 174080 выборок, за время отрисовки экрана, при "чистом" отображении. При обновлении изображения, в "пике" вам надо, как минимум двойную пропускную. То есть 480*272*2. Если ещё оттуда же брать и примитивы, ну например кнопки подготовленные, то это ещё увеличит.

Что есть четырехбитный цвет? Или Вы про шрифты?

Я тут поэкспериментировал - если преобразовать все (по части графики), что у меня в проекте под формат перевариваемый DMA2D (т.е. рисунки не паковать, палитры 4 или 8бит, шрифты по 4бита на пиксель), то из 93кБ в флеше получается около 300кБ. В принципе можно так и сделать, при 2МБ флеша это не столь критично.

Да я тоже к этому склоняюсь. Я уже написал конвертер. Получается 10.5к на шрифт. Таким же макаром сделать кнопки и другие примитивы. Таким образом вывод = копированию DMA2D с разворотом цвета. Скажем для кнопки - 2 операции. 1 - вывод самой кнопки, 2 - вывод надписи/ либо рисунка.

Неудобство в том, что не масштабируется. То есть надо для разных разрешений экрана отрисовывать свои виджеты. Преимущества - по красивее виджет получится, скорость вывода, простота отрисовки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавили FMC с возможностью подключения SDRAM. Чего еще надо? Внутренняя SRAM огромного объема будет стоить огромных денег.

Кста, 1МБ - это не так уж и много.

Вы так и не поняли мою мысль. Во многих случаях нет смысла в связке микроконтроллер+SDRAM, т.к. подобное решение по цене/сложности практически равно более продвинутым вариантам на Cortex-Ax+внешняя память. Для очень многих применений не нужно много МБ ОЗУ - достаточно обычного объема присутствующего в таких МК (128..256К) + объем требующийся для фреймбуффера небольшого дисплея. Теперь ответьте на вопрос имея выбор из двух МК - один в котором все вмещается внутри, а второй с необходимостью обвеса SDRAMом, что бы Вы выбрали под свою задачу?

 

Может быть у стм32 все маркетологи предусмотрели, но почему-то тот же Renessas и Freescale делает МК с намного бОльшим объемом набортной памяти, а там наверное маркетологи тоже деньги не просто так получают.

 

Прошу прощения. А что есть "двойная буферизация" в данном контексте?

Обновления (перерисовка) происходят в неотображаемой области памяти, когда все готово делается копирование в отображаемую область. Чтобы скопировать нужно точку прочитать и записать = два обращения.

 

Почему 2 выборки на точку?

Если Вы про рисование, то для многих случаев из-за прозрачности нужно прочитать, изменить и записать каждую точку = два обращения на точку.

 

О каком цвете ведём речь, 16 бит?

Естественно 16бит цвет, 16бит шина данных памяти. Если бы ДМА2Д поддерживал 8бит индексированный цвет, то использовал бы его, ибо 256цветов мне достаточно (да и для 99% проектов на этих МК думаю тоже вполне достаточно).

 

То есть - основное окно 480*272 плюс диалоговое примерно 1/3. ....

Ну у каждого свой интерфейс. У меня нет диалоговых окон в традиционном понимании - интерфейс заточен под узкоспециализированную задачу.

 

По итогам поставлю медленную SRAM на 1МБ :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть у стм32 все маркетологи предусмотрели, но почему-то тот же Renessas и Freescale делает МК с намного бОльшим объемом набортной памяти, а там наверное маркетологи тоже деньги не просто так получают.

 

По итогам поставлю медленную SRAM на 1МБ :)

 

Фрисковый вибрид VF6 не рассматривали, там ваш заветный мег быстрой набортной оперативы и графика с ускорением и аппаратной прозрачностью, проц А5 на 500 мег + М4 на 170. Корпус бга, но если не делать внешнюю ДДр, то вполне разводимый на 4х слоях. Софта грузится с спи-флеш или сд-карты

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фрисковый вибрид VF6 не рассматривали

Рассматривал, более того если делать "с нуля" экономически более оправдано может быть было бы даже взять готовый модуль процессор+память+флеш, но stm32f439, SRAM и все остальное есть в наличии, и мои потребности должна перекрыть, потому пока будет так.

 

Кстати, еще подумал - учитывая наличие QSPI, VF3xx под мою задачу очень неплохо подходит (пожалуй даже плату намного проще под него сделать) :), вот только что-то не возят их к нам :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рассматривал, более того если делать "с нуля" экономически более оправдано может быть было бы даже взять готовый модуль процессор+память+флеш

 

Я так и делал, ибо ваять платы самому, при потребности <50 плат в месяц нецелесообразно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Менталитет там далек ...

 

OFF: это менталитет капитализма, с тем, что написал сталкивался не раз и с различными фирмами, когда говорят, то что им выгодно на данный момент. И не нужно давать мне оценку, я Вам её не давал. Не по теме больше не пишу, извините.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы так и не поняли мою мысль. Во многих случаях нет смысла в связке микроконтроллер+SDRAM, т.к. подобное решение по цене/сложности практически равно более продвинутым вариантам на Cortex-Ax+внешняя память. Для очень многих применений не нужно много МБ ОЗУ - достаточно обычного объема присутствующего в таких МК (128..256К) + объем требующийся для фреймбуффера небольшого дисплея. Теперь ответьте на вопрос имея выбор из двух МК - один в котором все вмещается внутри, а второй с необходимостью обвеса SDRAMом, что бы Вы выбрали под свою задачу?

На STM32f4 / f7 при размере дисплея 480*272, в принципе на небольших задачах можно обойтись без внешних компонентов. Если вас устроит 256 цветов из палитры 65к, то можно использовать LUT. Объём экрана при этом 130500 (без теневого). А объём озу у stm32f746 320+. Как видим - явно достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На STM32f4 / f7 при размере дисплея 480*272, в принципе на небольших задачах можно обойтись без внешних компонентов. Если вас устроит 256 цветов из палитры 65к, то можно использовать LUT. Объём экрана при этом 130500 (без теневого). А объём озу у stm32f746 320+. Как видим - явно достаточно.

Если внимательно прочитать название темы, и посмотреть доки на DMA2D, то можно увидеть, что он не работает с индексированным цветом на выходе, потому применять DMA2D к такому варианту придется с некоторыми извращениями и очень, очень большими ограничениями.

 

А вот используя 16битный цвет на выходе и пожертвовав определенным объемом флеш памяти или ОЗУ можно весьма эффективно использовать DMA2D (возвращаясь к истокам темы, применительно к своему проекту фактически я смогу получить бОльшую производительность, чем с сейчас с Эпсоном и 8битным цветом и даже применить DMA2D к тем вещам которые прорисовываются сейчас без ускорения :)). Резюмируя (после более подробного изучения DMA2D и обдумывания каким образом его можно применить) могу сказать, что DMA2D не так убог, как казалось на первый взгляд, но чтобы его эффективно использовать придется отказаться от некоторых приемов экономии памяти (запакованные картинки, 1битные шрифты и т.п.). В принципе, учитывая 2МБ флеша на борту на такие "жертвы" вполне можно пойти.

Изменено пользователем Шаманъ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если внимательно прочитать название темы, и посмотреть доки на DMA2D, то можно увидеть, что он не работает с индексированным цветом на выходе, потому применять DMA2D к такому варианту придется с некоторыми извращениями и очень, очень большими ограничениями.

А зачем ему работать с индексированным цветом, если с ним работает сам LCD контроллер? Ему просто надо копировать любые байтовые форматы. Насколько я понимаю.

 

All the classical color coding schemes are supported from 4-bit up to 32-bit per pixel with

indexed or direct color mode. The DMA2D has its own dedicated memories for CLUTs (color

look-up tables).

 

 

Вопрос - DMA2D работает ли с flash памятью?

Да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...