Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите определиться с камнем, дисплеем и пр.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3
zheka
Помогите определиться с камнем дисплеем и пр....

Господа!
Планируется мелкосерийное полукустарное устройство, для друзей и, что называется, "для сэбе".

Включает в себя дисплей 400х240 с тачскрином, SD карту, DataFlash для хранения картинок, возможно SDRAM и какой-нибудь камень.

Камень преткновения - дисплей. Если брать промышленный TFT с RGB интерфейсом - дороговато, да и камни интерфейсом LCD зело многоногие, да и частоты у них от 200 МГц, а я во-первых слаб в высокочастотной разводке, во-вторых боюсь как бы не пришлось на многослойке городить..

По цене, простоте освоения я пока склоняюсь к варианту дисплея от мобильного телефона Samsung S5230. Интерфейс у него параллельный (D[0.7], CS, RD, WR....). Управляется ногодрыганьем. Камень хочу взять LPC1768, c ядром Cortex M3 с его 100 МГц и FastGPIO скорости за глаза.

Теперь собственно вопросы:
1. Имеются ли промышленные дисплеи 400х240 со встроенным контроллером с параллельным интерфейсом? Если да, то я готов рассмотреть их пусть, даже они и дороже. Ведь если рассчитывать на экран от мобильного, лет через 5 его уже не найдешь. Впрочем отсюда следующий вопрос - как нынче с моральным устареванием промышленных дисплеев? Они так же держдатся на рынке в течение 5 лет, а потом становятся дефицитом?

2. Не подскажут ли люди знающие, какой частоты ногодрыганья можно достичь на 100 МГц c FastGPIO? Общение с дисплеем идет по простому протоколу - выдал данные, включил CLK, выключил CLK, следующие данные. По предварительной прикидке - 400х320*24бит*30fps =8 640 000 операций выдачи данных и передергивания CLK в секунду. Справится ли контроллер?

3. Стоит ли заморачиваться с видеостраницами на внешней памяти? Насколько я знаю, они нужны для мгновенного появления на экране заранее нарисованного кадра, во избежание нежелательного видеоэффекта. В связи с этим вопрос - с какой скоростью нормальные дисплеи выводят один кадр? Не с какой частотой, а с какой скоростью? И будет ли мой контроллер рисовать его с такой скоростью при условиях, указанных в п.2?

4. Можно ли сгородить это на ядре ARM7? Оно как-то попривычней...

В общем, я на распутье, наставьте на путь истинный.


Ну и конечно же шкурный вопрос - хочется чтобы каушек был не дороже 300 рублей. LPC1768 видел за 240 руб.
EugenyAM
Цитата(zheka @ Nov 29 2011, 14:28) *
По цене, простоте освоения я пока склоняюсь к варианту дисплея от мобильного телефона Samsung S5230. Интерфейс у него параллельный (D[0.7], CS, RD, WR....). Управляется ногодрыганьем.

STM32F103 с контроллером FSMC поддерживает ногодрыгание по параллельному интерфейсу аппаратно. Для пересылки данных из памяти поддерживается DMA.
Тактовая частота камня 72 МГц, цена до 300р
если надо до 120МГц, можно взять серию STM32F2xx, правда цена уже >400.
Dron_Gus
Возьмите контроллер с LCD интерфейсом / внешней паралельной шиной и сэкономьте кучу нервов. Напрмер такой http://starterkit.ru/html/index.php?name=s...=view&id=66 . Если дисплей со встроенным флеймбуфером (например такой http://starterkit.ru/html/index.php?name=s...=view&id=46 ) то гемороя еще меньше. Двойной фреймбуфер имеет смысл городить, если Вы хотите выводить анимацию, трехмерную графику, видео и т.д. Если это просто юзер интерфейс - это лишнее.
zheka
Цитата
STM32F103 с контроллером FSMC поддерживает ногодрыгание по параллельному интерфейсу аппаратно
Тактовая частота камня 72 МГц, цена до 300р


Тема частоты ногодрыганья не раскрыта.

Цитата
Двойной фреймбуфер имеет смысл городить, если Вы хотите выводить анимацию, трехмерную графику, видео и т.д. Если это просто юзер интерфейс - это лишнее.

Недавно работал с дисплеем 800х480 точек. Картинки выводились из DataFlash. Кадр выводился примерно за 0.5-0.8 сек. Правда это был Jpeg. С бинарником быстрее, но он очень много памяти жрал. Даже несколько мелких картинок с кнопками при их прорисовке вызывали неприятный фликер. Приходилось грузить их в 2 из 4-х видеостраниц и оттуда выводить.

Посему все же акцентирую внимание на ранее заданном вопросе - за какой промежуток времени дисплеи обычно рисуют кадр? Точнее говоря, за какой промежуток времени контроллеры с LCD рисуют кадр? Они ведь рисуют его 30 раз в секунду, выводя содержимое видеопамяти. Сможет ли контроллер 100 МГц используя FastGPIO нарисовать 400х240 точек за тот же период времени? А то, может быть мне и не стоит заморачиваться и грузить картинки прямо из DataFlash?



Спасибо за ссылки на StarterKit. Но не подойдет по компактности. Как я писал - хочу от мобильника дисплей. Корпус тоже от него хочу использовать.
AlexandrY
Цитата(zheka @ Nov 29 2011, 09:28) *
2. Не подскажут ли люди знающие, какой частоты ногодрыганья можно достичь на 100 МГц c FastGPIO? Общение с дисплеем идет по простому протоколу - выдал данные, включил CLK, выключил CLK, следующие данные. По предварительной прикидке - 400х320*24бит*30fps =8 640 000 операций выдачи данных и передергивания CLK в секунду. Справится ли контроллер?


Нынче редкий дисплей найдешь без параллельного 8080 интерфейса и видеопамяти.
Уже давно нет необходимости городить собственные протоколы на GPIO и с динамической разверткой.

Вот демопроект на обычном дисплее:

Подключение LCD к STM32F10x

Дисплеи такие производятся от силы по полгода и дальше новый надо искать. Но интерфейс типа 8080 неизменен и живет уже десятилетиями.
Переписать драйвер дисплея занимает не больше одного дня при известной сноровке.
zheka
Цитата
STM32F103R6T6A

вообще 100 рублей стоит. Надо задуматься.

Цитата
Уже давно нет необходимости городить собственные протоколы на GPIO и с динамической разверткой


Дисплей хочется дешевый, от мобильного.
Может быть есть что-то китайское недорогое, рублей за 300?
AlexandrY
Цитата(zheka @ Nov 29 2011, 10:24) *
Дисплей хочется дешевый, от мобильного.
Может быть есть что-то китайское недорогое, рублей за 300?


Делать для себя и ставить дешевый дисплей? ... biggrin.gif

Кстати STR32F2xx аккурат 60 МГц выдает на GPIO если линейная последовательность операторов.
Но на ветвлениях под 60 нс задержки могут быть.
Dron_Gus
Ищите китайские фоторамки. Дешевле купить их и раздербанить. Но вот документацию на них Вам никто не даст.
Axel
Цитата(zheka @ Nov 29 2011, 11:04) *
... за какой промежуток времени дисплеи обычно рисуют кадр? Точнее говоря, за какой промежуток времени контроллеры с LCD рисуют кадр?...


Часто используемый контроллер TFT-матрицы HX8352 имеет время обращения менее 150ns при ширине шины 16 бит. Кадр дисплея 240х400 в формате 5-6-5 можно загрузить быстрее 20ms. Проверено с экраном DLC0320BMG-T.
zheka
Ды господи...
Причем здесь фоторамки?
Я же написал что у меня был выбор - дисплей от мобильного , дешевый, с документацией, с примером кода, но живущий не более 5-ти лет, после чего его не найдешь, либо промышленный дисплей, с контроллером, окучиваемый ногодрыганьем, который, как выяснилось тоже быстро морально устаревает.
Кроме того, насколько я знаю, может быть я ошибаюсь, но здесь же на форуме кажется читал, что дисплеи от мобильных хоть и хуже промышленных, но не намного, а дешевые они потому что производство их массовое, в тиражах, куда больших, чем у отдельных моделей промышленных. Так что почему бы не воспользоваться.

Цитата
Кстати STR32F2xx аккурат 60 МГц выдает на GPIO если линейная последовательность операторов.


Это что - по одному такту на изменение состояние порта?
AlexandrY
Цитата(zheka @ Nov 29 2011, 13:01) *
Это что - по одному такту на изменение состояние порта?


Точно. GPIO же там теперь на 120 MHz AHB шине сидит.
Dron_Gus
Цитата(zheka @ Nov 29 2011, 15:01) *
Ды господи...
Причем здесь фоторамки?


Вы спросили:
Цитата(zheka @ Nov 29 2011, 12:24) *
Дисплей хочется дешевый, от мобильного.
Может быть есть что-то китайское недорогое, рублей за 300?


Я вам ответил.
Цитата(Dron_Gus @ Nov 29 2011, 13:55) *
Ищите китайские фоторамки. Дешевле купить их и раздербанить. Но вот документацию на них Вам никто не даст.

-=Женек=-
Хм.. изучаю линейку этих STM'ов - какие-то порты у них 16-тибитные. В AT91SAM7 вроде бы был порт A[0..31]. А как здесь быть? Если я закапризничаю и захочу 32-битное число за 1 такт записать.


Цитата
Точно. GPIO же там теперь на 120 MHz AHB шине сидит.


Линейка F2хх не подойдет - излишне, да и дорого.
Присматриваюсь к F103хх. Там как дела обстоят с GPIO? Пока не нашел информации на этот счет.



Вот теперь нашел - 18 MHz toggling speed....
Получается 3 такта на пиксель - 6 Мпикселей в секунду... короче 50 мсек на заливку экрана. Скажите, визуально это будет восприниматься как мгновенная смена цвета или будет видна заливка?
aaarrr
Цитата(-=Женек=- @ Nov 29 2011, 18:10) *
Получается 3 такта на пиксель - 6 Мпикселей в секунду... короче 50 мсек на заливку экрана. Скажите, визуально это будет восприниматься как мгновенная смена цвета или будет видна заливка?

Будет видна. Чтобы не было никаких tearing-эффектов, нужно уложиться в 15мс с синхронизацией по началу кадра. Или использовать страницы памяти экрана, если они есть.
-=Женек=-
Цитата
tearing-эффектов,


Спасибо за ключевое слово. Вот даташит на экранчик. ТАм объясняется, как этот эффект побороть. Стр.110-111 - хоть ты тресни не пойму, как его избежать, если данные пишутся дольше чем рисуется кадр..

Уж извините за размер файла.

Еще вопрос - у меня сложилось впечатление, что равновесные LPC дороже чем STM. Чем это объясняется - ценовая политика?
aaarrr
Можно обновить экран за время, близкое ко времени развертки 2-х кадров: т.е. начинаем писать с задержкой относительно начала первого кадра (т.е. пишем в ту область, которую "луч" уже прошел) и продолжаем во время развертки второго.
Но все равно, 50мсек - это слишком долго.
-=Женек=-
Блин... А ведь есть решение. Я подобрал контроллер серии F2, но с меньшим количеством ног и памяти , за счет чего он в принципе недорогой - stm32f205rb
Итого имеем 120 МГц, 60 МГц переключения, тогда получаем ровно 15 мсек на заполнение экрана!

Но блин.... частота предъявляет требования. Скажите, на 120 МГц-х уже есть проблема гонки сигналов? Какой длины должны быть дорожки, чтобы гонка сигналов не влияла?
aaarrr
Цитата(-=Женек=- @ Nov 29 2011, 20:19) *
Итого имеем 120 МГц, 60 МГц переключения, тогда получаем ровно 15 мсек на заполнение экрана!

Заполнения одним цветом - да, но если нужно рисовать что-то осмысленное, то добавьте к этому еще время обращения к памяти.

Цитата(-=Женек=- @ Nov 29 2011, 20:19) *
Но блин.... частота предъявляет требования. Скажите, на 120 МГц-х уже есть проблема гонки сигналов? Какой длины должны быть дорожки, чтобы гонка сигналов не влияла?

Что такое "гонка сигналов"?
Aner
Может что-то готовое устроит за ~$70...$100 на 1ГГц 9-ом арме? Тамже точскрин хотите резистивный, или емкостной. И + всего прочего много.
-=Женек=-
Цитата
Заполнения одним цветом - да, но если нужно рисовать что-то осмысленное, то добавьте к этому еще время обращения к памяти.


Я знаю об этом. Но ведь оценивать надо по базовым и более предсказуемым нагрузкам не так ли?
Цитата
Может что-то готовое устроит за ~$70...$100 на 1ГГц 9-ом арме?


Нет, не подойдет.
aaarrr
Цитата(-=Женек=- @ Nov 29 2011, 20:39) *
Я знаю об этом. Но ведь оценивать надо по базовым и более предсказуемым нагрузкам не так ли?

Так базовая нагрузка это как раз "нарисовать что-то из памяти", разве нет?
-=Женек=-
Ааа.. ну если только нарисовать из памяти полный кадр, тогда вы правы.

Ну я думаю, если подключить SDRAM и окучить ее ногодрыганьем, организовать прямую передачу данных в дисплей, то скорость будет такая же.
goodwin
Цитата(-=Женек=- @ Nov 29 2011, 19:39) *
Нет, не подойдет.


Ну да. Какой интерес в автонафигаторе/планшете за 60-70$, подточенном под задачу при помощи C#...
То ли дело купить дисплей с тачем почти за эту же цену, камень, присопливить к нему SDRAM, изготовить плату-многослойку, выпилить лобзиком корпус из фанеры с благородными вставками из стеклотекстолита и главное натрахаться всласть до изнеможения sm.gif Красота!
-=Женек=-
goodwin, если написать по делу нечего, если мысли ваши неадекватны обсуждаемой теме, может быть лучше помолчать?
Dron_Gus
Подключить все на ногодрыгвнье это пункт ТЗ? Или все же рассматриваете адекватные варианты?
-=Женек=-
Dron_Gus, Dataflash и SD-карта -по SPI.
А дисплей и SDRAM без ногодрыганья никак.
Надесюь не будете предлагать мне искать ARM9 со SDRAM интерфейсом? К тому же, SDRAM'ом я рулил даже с помощью AVR.
Dron_Gus
LPC1788 имеет интерфейс к SDRAM.
Дисплей (если со встроенным контроллером) прекрасно вешается на паралельную шину 8080, 6800. Или даже на SPI. Да и безконтроллерный можно с извратами навесить на паралельный интерфейс. Всяко быстрее ногодрыгства.
-=Женек=-
Ударим конкретикой по буржуазно-контрреволюционной абстракции, товарищи:
Цитата
Или даже на SPI.

Не знаю, какова частота SPI в LPC, в STM32F2 она 30 мбит/сек. А ногодрыганьем с параллельным интерфейсом получается 20- мБАЙТ/сек При 3 операциях на пиксел и 120 МГц тактовой, 60 МГц чатоты переключения GPIO.


Цитата
Да и безконтроллерный можно с извратами навесить на паралельный интерфейс. Всяко быстрее ногодрыгства.


Учитывая вышесказанное, мне сложно представить себе какой либо интерфейс в STM32, обеспечивающий, скажем так частоту смены состояния пинов более чем 60 МГц.
-=Женек=-
Вот скажите - это 8080 ? Можно этим управлять с помощью упомянутого параллельного интерфейса?
aaarrr
Да, это 8080.
-=Женек=-
Цитата
Да, это 8080.


Очень хорошо.
Только что-то я не могу в 1312-страничном даташите найти информацию. По ключевому слову 8080 поиск результатов не дает. Слово parallel выдает кучу мусора. Хоть подскажите, где примерно искать описание этого интерфейса.
M_Andrey
Цитата(-=Женек=- @ Nov 30 2011, 19:56) *
Очень хорошо.
Только что-то я не могу в 1312-страничном даташите найти информацию. По ключевому слову 8080 поиск результатов не дает. Слово parallel выдает кучу мусора. Хоть подскажите, где примерно искать описание этого интерфейса.


Дисплей 480 x RGB x 272(TFT) с течскрином. Нажмите для просмотра прикрепленного файла


Его контроллер. Нажмите для просмотра прикрепленного файла

aaarrr
Static Memory Controller, FSMC он у ST называется, если не путаю.
-=Женек=-
Цитата
Дисплей 480 x RGB x 272(TFT) с течскрином. WF43ATIBEDB.pdf ( 428.54 килобайт ) Кол-во скачиваний: 1

Как насчет цены в 2200 рублей?
Jury093
Цитата(zheka @ Nov 29 2011, 10:28) *
Планируется мелкосерийное полукустарное устройство, для друзей и, что называется, "для сэбе".
Включает в себя дисплей 400х240 с тачскрином, SD карту, DataFlash для хранения картинок, возможно SDRAM и какой-нибудь камень.

по экранам - полистайте тыц, там разнообразные экраны.. и SPI, и 8080 и RGB..
по STM32Fxxx - на сайте st.com была аппнота, как рулить rgb-экраном через gpio - поищите.. хотя это заведомо тупиковый вариант. толку от stm32+rgb-lcd столько же, как и от Atmega8+TV out, т.е. ноль..
чем гадать, купите один камень, подключите осцилл и все сами измерите..
и поотчетливее с начальными условиями - необязательно расписывать что будет делать ваш мегадевайс, достаточно дать базовые вводные "с датафлеша битмапы размером Х будут пересылаться на экран, с SD карты будет считываться поток со скор не менее 3МБ/с и тыпы"
scifi
Цитата(-=Женек=- @ Nov 30 2011, 20:56) *
Только что-то я не могу в 1312-страничном даташите найти информацию. По ключевому слову 8080 поиск результатов не дает. Слово parallel выдает кучу мусора. Хоть подскажите, где примерно искать описание этого интерфейса.

Эх, молодёжж... :-)
Вроде бы это называется Intel/Motorola или 8080/6800.
Описание можно тут: 8080, 6800.
Самая заметная разница - сигналы RD, WR.
-=Женек=-
ну блин... мнения ученых разошлись.. кто-то бьет себя в грудь про 60 МГц, кто-то говорит - купи камень и пощупай осциллографом. Ну а с моей стороны спросить - мож у кого есть камень, может кто уже мерял - это разве хамство?

Цитата
толку от stm32+rgb-lcd столько же, как и от Atmega8+TV out, т.е. ноль..


Рулил AT90SAM7S и экраном 320х240. Получил 60 мс ногодрыганьем. Неужели с STM32 все будет так плохо? В конце концов кто-то тут писал что если не собираешься видео гонять, ради бога...
Я прекрасно понимаю, что результат меня устроит в любом случае, просто хочу наиболее рационально и по средствам и по возможностям подобрать колмбинацию компонентов. ОДнажды я уже поторопился и купил SAM7S, даже не зная, что пины у него не быстрее чем у АВР,
scifi
Если не секрет, что за нездоровое пристрастие к ногодрыганию? Бывают ведь интерфейсы внешней памяти (у STM32 - FSMC) или графические контроллеры для формирования сигналов RGB.
Ну а в семействах STM32F2xx, STM32F4xx частота FSMC - это Fcpu/2. GPIO там сидит на AHB, то есть может менять состояние с частотой Fcpu. В STM32F1xx GPIO сидит на APB2, что должно быть медленнее, чем AHB, но на сколько именно - хз.
-=Женек=-
Цитата
В STM32F1xx GPIO сидит на APB2, что должно быть медленнее, чем AHB, но на сколько именно - хз.


в 2 раза медленней. 18 МГц при 72 МГц.

Цитата
Если не секрет, что за нездоровое пристрастие к ногодрыганию?

Наличие готовой библиотеки. Шутка.

Цитата
Бывают ведь интерфейсы внешней памяти (у STM32 - FSMC)


ОБъясните мне пожалуйста - использование FSMC для управления дисплеем по протоколу 8080 - это какое-то не совсем стандартное его применение? Просто в даташите ни слова не сказано ни про LCD ни про 8080. Насколько я понял при беглом просмотре, эту штуку при соответствующей настройке регистров можно приспособить под что угодно?

Цитата
на сайте st.com была аппнота, как рулить rgb-экраном через gpio - поищите

Нашел. Еще бы аппликуху по интерфейсу 8080 для управления LCD
aaarrr
Цитата(-=Женек=- @ Dec 1 2011, 18:26) *
ОБъясните мне пожалуйста - использование FSMC для управления дисплеем по протоколу 8080 - это какое-то не совсем стандартное его применение?

Стандартнее не придумать.
-=Женек=-
Отлично. Нашел аппликуху с примером кода на STM32F1xx для интерфейса 8080.

Вот только на распутье я. Что за память поставить - SRAM или SDRAM. С одной стороны SRAM проще будет подключить, FSMC под нее заточен. С другой стороны - нужно минимум 512 Кб, да и то - они пойдут на одну видеостраницу. А вот ежели захочется сохранить фрагмент экрана в памяти - не получится.
SDRAM - можно порулить ей столь ненавистным всем ногодрыганьем, зато получим несколько видеостраниц, куда можно будет грузить все что захочешь.

Что в данной ситуации разумней?
blackfin
Цитата(-=Женек=- @ Dec 2 2011, 06:59) *
Что в данной ситуации разумней?

SDRAM, ессно.. ;)
-=Женек=-
Спасибо. К тому же со SDRAM может вообще выйти 2 операции на байт - CLK=1 и CLK=0, если гнать данные напрямую в дисплей, а контроллер будет просто управлять CLK.

Аналогичный вопрос -для хранения картинок, для создания подобия файловой системы что лучше - DataFlash или NANDFlash ?
aaarrr
Цитата(-=Женек=- @ Dec 2 2011, 07:59) *
Что в данной ситуации разумней?

А я скажу, что лучше PSRAM без "ногодрыганья".
-=Женек=-
Скажите чем она лучше ?

Она как-то слабодоставабельна. Недорогая за мегабайт, но малообъеных, дешевле 200 руб не сыщещь
Уж лучше SDRAM.

Так что насчет Флеши?
Dron_Gus
NAND дешевле за единичу объема, но сложнее в использовании. Для нормальной работы с НАНДом большого обьема необходимо достаточно большое количество РАМа.
-=Женек=-
ну если мне надо всего 1 мбайт, наверное DataFlash предпочтительней будет.
aaarrr
Цитата(-=Женек=- @ Dec 2 2011, 16:47) *
ну если мне надо всего 1 мбайт, наверное DataFlash предпочтительней будет.

Тогда уж лучше M25P(E).

P.S. А вообще, лучше нормальный процессор с контроллером SDRAM и TFT + экран без контроллера. Дешевле, мощнее и нет нужды в извратах.
-=Женек=-
Цитата
P.S. А вообще, лучше нормальный процессор с контроллером SDRAM и TFT + экран без контроллера. Дешевле, мощнее и нет нужды в извратах.


Дисплей - 290 руб
Подходящий именно под этот дисплей корпус от мобильника - 100 руб.
Тачскрин - 60 руб
Проц STM32F2 - 290 руб
SDRAM - 110 руб.

Итого 850 руб


Приведите Вашу смету для сравнения.
aaarrr
Цитата(-=Женек=- @ Dec 2 2011, 17:16) *
Проц STM32F2 - 290 руб

За те же деньги (286.4 руб) можно взять LPC1788 с контроллерами SDRAM, TFT и прочими плюшками.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.