Выбор LCD 4-4.3" для ардуино DUE

maxsvt
Offline
Зарегистрирован: 08.11.2016

Всем привет. Вот задался этим вопросом. Есть DUE, надо под него дисплей с тачем и шилд, очень желательно, что бы шилд оставил максимум 'места' для периферии. Дисплей хочу 480x272 или 480x320. За все готов отдать до 40 долларов. Присмотрел пару месяцев назад на SaintSmart подходящий комплект 480x272 + шилд, но сейчас там только дисплей в продаже остался. Предлагают на замену комплект дисплей 800x600 + шилд, но дисплей без тача и дороже выходит. Да и не хочу 800x600, будет тормозить для моей идеи. В общем полез искать по известным ресурсам. За нормальный комплект либо цена конская, либо если цена нормальная цена, то куча отрицательных отзывов. Жду помощи от местных спецов :) И, если не сложно, лучше на пальцах все обьяснить, бо я нуб пока

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

maxsvt пишет:
... Дисплей хочу 480x272 или 480x320. За все готов отдать до 40 долларов...

Надеюсь же Вы в курсе уже что у DUE логическая единица = 3.3v, а не 5v, как у большинства ардуин? Тут, конечно, согласующий шилд будет очень кстати.

maxsvt пишет:
...не хочу 800x600, будет тормозить для моей идеи...
Если планируете там крутую графику рисовать, сразу хочу огорчить: 85mHz, конечно больше чем 16, но еще очень мало для удобоваримых графических изысков. Есть несколько способов обмена данными между дисплеем и ардуино и у каждого свои преимущества: SPI - последовательная шина: занимает мало контактов, но и быстродействием не блещет. Параллельная шина: много занятых контактов, но быстродействие немного шустрее. Однако все равно недостаточно для приличной анимации на экране.
maxsvt пишет:
...За нормальный комплект либо цена конская, либо если цена нормальная цена, то куча отрицательных отзывов...
Так это всегда так. Помните же поговорку про дешёвую рыбку? ))))

maxsvt
Offline
Зарегистрирован: 08.11.2016

Buzzer2010 пишет:
Надеюсь же Вы в курсе уже что у DUE логическая единица = 3.3v, а не 5v, как у большинства ардуин?

Я нуб, но не ламер :)

Buzzer2010 пишет:
Если планируете там крутую графику рисовать, сразу хочу огорчить: 85mHz, конечно больше чем 16, но еще очень мало для удобоваримых графических изысков

Сдается мне, что процессор тут ни при чем. Cortex на DUE имеет производительность около 105 MIPS. Что почти в десять раз выше старого Intel i486DX и чуть менее, чем в 2 раза меньше первого пня 100Mhz, на котором когда-то первая квака в 480x320 весьма шустро бегала. Причем с учетом того, что все 3D тогда считалось на самом проце. А тут просто 2D картинку вывести. Поэтому, по моему нубскому мнению, тут дело либо в скорости обмена между платой DUE и платой дисплея, либо в кривых библиотеках. В любом случае, вот есть видео https://www.youtube.com/watch?v=JXcVw8dwxPw

Если не обновлять весь экран, а только то, что нужно, должно получится быстро. Надеюсь :)

Buzzer2010 пишет:
Так это всегда так. Помните же поговорку про дешёвую рыбку? ))))

Не, ну был же комплект подходящий на SaintSmart. Шилд + дисплей 4.2 420x272 чуть больше 30 баксов. Всегда же есть что-то не сильно дорогое и нормального качества. Может тут кто знает

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

maxsvt пишет:

Buzzer2010 пишет:
Надеюсь же Вы в курсе уже что у DUE логическая единица = 3.3v, а не 5v, как у большинства ардуин?

Я нуб, но не ламер :)

Значит из нас двоих, ламер это я ))))

maxsvt пишет:
Buzzer2010 пишет:
Если планируете там крутую графику рисовать, сразу хочу огорчить: 85mHz, конечно больше чем 16, но еще очень мало для удобоваримых графических изысков

Сдается мне, что процессор тут ни при чем. Cortex на DUE имеет производительность около 105 MIPS. Что почти в десять раз выше старого Intel i486DX и чуть менее, чем в 2 раза меньше первого пня 100Mhz, на котором когда-то первая квака в 480x320 весьма шустро бегала. Причем с учетом того, что все 3D тогда считалось на самом проце. А тут просто 2D картинку вывести. Поэтому, по моему нубскому мнению, тут дело либо в скорости обмена между платой DUE и платой дисплея, либо в кривых библиотеках. В любом случае, вот есть видео https://www.youtube.com/watch?v=JXcVw8dwxPw

Если не обновлять весь экран, а только то, что нужно, должно получится быстро. Надеюсь :)

Это всё в идеале так, что Cortex лучше 486DX... А на деле всё гораздо... реальнее ))))) Много узких мест, подводных камней, но при этом мало памяти и ее быстродействие никак не расчитано не то что на первую кваку, а даже на первого "Принца Персии" ))))

Видео правдивое, да. Но стрничный обмен на микроконтроллере -  Are You NUTS?

Обновлять отдельные участки экрана, можно только в случае если размеры "окон" или кадров чётко совпадают. Я разбирал небольше видео на отдельные файлы, с последующим приведением их в вид, понятный для IDE, и так же считывал этот набор напрямую с SD-карты. Вот в первом случае получалось намного быстрее чем читать с SD. Но расход памяти... Тех 512k ни на что не хватает!

maxsvt пишет:
Buzzer2010 пишет:
Так это всегда так. Помните же поговорку про дешёвую рыбку? ))))

Не, ну был же комплект подходящий на SaintSmart. Шилд + дисплей 4.2 420x272 чуть больше 30 баксов. Всегда же есть что-то не сильно дорогое и нормального качества. Может тут кто знает

Да я там видел много интересных моментов по сладким ценам, но, как показывает практика, тут вступает в силу другая народная мудрость: о бесплатном сыре ))))))

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

maxsvt пишет:

Сдается мне, что процессор тут ни при чем. Cortex на DUE имеет производительность около 105 MIPS. Что почти в десять раз выше старого Intel i486DX и чуть менее, чем в 2 раза меньше первого пня 100Mhz, на котором когда-то первая квака в 480x320 весьма шустро бегала. Причем с учетом того, что все 3D тогда считалось на самом проце.

Тут есть несколько моментов:

1. Не смотря на заявленные MIPS, по моим измерениям на логика+целочисленка ARM проигрывает Intel примерно вдвое на одинаковой тактовой частоте.

2. Как у i486DX, так и пня есть встроенный FPU. В этом случае коэффициент надо еще умножить примерно на 50. Итого - сотня!

3. На ПК картинку показывает видеоконтроллер, а не процессор - а это отдельная специализированная железка.

Цитата:

А тут просто 2D картинку вывести. Поэтому, по моему нубскому мнению, тут дело либо в скорости обмена между платой DUE и платой дисплея, либо в кривых библиотеках. 

4. И - да, скорость обмена. Если мне не изменяет память у VLB (486) она была порядка 130 Мбайт/с (33 МГц х 4 байта). У AGP - вчетверо выше (66 МГц х 4 байта по переднему и заднему фронтам). Есть ли у Cortex интерфейсы, обеспечивающие сравнимую скорость обмена с периферией?

 

PS. Дисплей 1920х1080, подключенный к специализированном разъему Raspberry Pi, обновляется совершенно незаметрно для глаза - десятки раз в секунду, а вот дисплейчик 480х272, посаженный на 40-контактную гребенку работает уже намного медленнее, обеспечивая порядка 2-3 обновлений в секунду.

maxsvt
Offline
Зарегистрирован: 08.11.2016

Buzzer2010 пишет:
Это всё в идеале так, что Cortex лучше 486DX... А на деле всё гораздо... реальнее ))))) Много узких мест, подводных камней, но при этом мало памяти и ее быстродействие никак не расчитано не то что на первую кваку, а даже на первого "Принца Персии" ))))

Ну давайте посчитаем. Мне надо 320x480 16 bit, где-то 20 кадров в секунду

320x480x2x20 это порядка 6 МБайт в секунду поток. В реальности же надо обновлять где-то треть экрана. Неужели на современном DUE такие проблемы с доступом к памяти и LCD,  что это не реально?

Buzzer2010 пишет:
Видео правдивое, да. Но стрничный обмен на микроконтроллере

Почему нет? Я вам больше скажу - в планах еще и многопоточность сделать :) Один поток читает с АЦП и пишет во входящий буфер, второй работает с буфером, считает разную математику, организовывает исходящий буфер, третий анализирует исходящий буфер и подготавливает буфер для графики, четвертый обрабатывает буфер графики и выводит на LCD только то, что нужно обновить. Быстрое гугление показало, что через одно место на ардуино это можно сделать. Даже пример есть для 2 потоков

http://robocraft.ru/blog/985.html

Buzzer2010 пишет:
Я разбирал небольше видео на отдельные файлы, с последующим приведением их в вид, понятный для IDE, и так же считывал этот набор напрямую с SD-карты. Вот в первом случае получалось намного быстрее чем читать с SD. Но расход памяти... Тех 512k ни на что не хватает

А в досе как было? :) На тех 512к чудеса творили

ps: ну капец. я просто за шилд + LCD хотел проверенные узнать :)

maxsvt
Offline
Зарегистрирован: 08.11.2016

andriano пишет:
Как у i486DX, так и пня есть встроенный FPU. В этом случае коэффициент надо еще умножить примерно на 50. Итого - сотня

Ну мне FPU не нужен. Можно по таблицам все считать. Не будем умножать на 50 :)

andriano пишет:
На ПК картинку показывает видеоконтроллер, а не процессор - а это отдельная специализированная железка

В те времена обычная видеокарта (а 3D вообще существовало только несколько штук) была весьма примитивным устройством. Так что тут можно провести аналогию. Как тогда, так и тут мы просто пишем куда-то блок уже подготовленной графики

andriano пишет:
И - да, скорость обмена. Если мне не изменяет память у VLB (486) она была порядка 130 Мбайт/с (33 МГц х 4 байта). У AGP - вчетверо выше (66 МГц х 4 байта по переднему и заднему фронтам)

Мне нужно сильно меньше. Я выше даже посчитал

andriano пишет:
PS. Дисплей 1920х1080, подключенный к специализированном разъему Raspberry Pi, обновляется совершенно незаметрно для глаза - десятки раз в секунду, а вот дисплейчик 480х272, посаженный на 40-контактную гребенку работает уже намного медленнее, обеспечивая порядка 2-3 обновлений в секунду

Я где-то так и предполагал. Но надеюсь все-таки выше будет скорость. Вот у человека 5.7 фреймов

https://www.youtube.com/watch?v=x41LDqGanEk