Полная версия этой страницы:
AVR + цветной ЖК-дисплей
Oleg Victorovich
Oct 20 2011, 10:58
Нужен цветной ЖК-дисплей 320х240 (или что-нибудь близкое) с простым интерфейсом, который будет легко управляться от микроконтроллера AVR Mega. Частота обновления картинки составляет 20 мс. Задача оцифровать сигнал, запомнить и вывести на ЖК-индикатор. Желательно не дороже 3.5 - 4 т.р. Что можете посоветовать?
AlexFTF
Oct 20 2011, 11:28
M_Andrey
Oct 20 2011, 15:24
Тогда-уж лучше
это. Цветной ведь нужен.
AlexFTF
Oct 21 2011, 03:00
Цитата(M_Andrey @ Oct 20 2011, 22:24)

Тогда-уж лучше
это. Цветной ведь нужен.
Согласен
Цитата(Oleg Victorovich @ Oct 20 2011, 17:58)

Нужен цветной ЖК-дисплей 320х240 (или что-нибудь близкое) с простым интерфейсом, который будет легко управляться от микроконтроллера AVR Mega. Частота обновления картинки составляет 20 мс. Задача оцифровать сигнал, запомнить и вывести на ЖК-индикатор. Желательно не дороже 3.5 - 4 т.р. Что можете посоветовать?
Если выбор по цене - нужно брать дисплей от китайского телефона - дешевле не найдете, цена вопроса 400 рублей. А что за сигнал оцифровывать? Видео?
Oleg Victorovich
Oct 21 2011, 04:59
На вход схемы приходит сигнал с трансформатора (длительность сигнала 20 мкс), далее на АЦП и т.д. и в конечном итоге данные в цифровом виде будут храниться в памяти микроконтроллера (AVR). Вот их и собираюсь выводить на ЖК-дисплей. Цена, особой роли не играет (в разумных пределах, т.е. как уже писал 3.5-4 т.р. если есть дешевле, то это только плюс). Главное, чтобы ЖК-индикатор был цветным, 320x240 но самое главное, чтобы интерфейс связи был как можно более простым (соответственно интерфейс д.б. цифровым). Т.е. легко управляться от AVR. Может кто знает, как называется такой (цифровой) интерфейс для ЖК-индикаторов?
hd44780
Oct 21 2011, 05:49
Цитата(Oleg Victorovich @ Oct 21 2011, 07:59)

Может кто знает, как называется такой (цифровой) интерфейс для ЖК-индикаторов?
У дисплеев от мобил обычно SPI + доп. сигналы типа CS. В интернете даже встречаются готовые проекты с такими дисплеями.
Я делал, правда для ч/б дисплея LPH7733 (если правильно название помню). Управлял легко с Mega32, но там была ужасно неудобная карта соответствия видеопамяти на пиксели экрана. Пришлось здорово корячиться, чтобы что-то на нём изобразить...
Поэтому и на этот аспект обращайте внимание.
Также видел в магазине цветной TFT 320x240 с тачскрином. У него параллельный интерфейс, что-то типа LPT. Подробностей не знаю, не изучал его.
Но дорогущий, зараза. Год назад стоил 300-400 украинских денег.
См.
http://radiocom.dn.ua/index.php там сразу есть ссылка на архив с доками.
Sergey_Aleksandrovi4
Oct 21 2011, 10:18
Если ищите дисплей не для серийного устройства, а для радиолюбительской конструкции, тогда да, дисплей от телефона самое оно. Для работы с AVR нужен дисплей со встроенным контроллером и собственной видеопамятью, иначе у Вам не хватит ресурсов его регенерировать. Имел опыт использования дисплея от Siemens S65 (здесь есть громадная тема, посвящённая этому дисплею). Обычный SPI-интерфейс (до 12 МГц), 16-битный цвет. Стоит ~ 10-15$. Но разрешение меньше требуемого (132x176). Хотя люди на таких дисплеях и осциллографы и спектроанализаторы и много чего ещё делали.
Oleg Victorovich
Oct 21 2011, 10:35
Нужен дисплей для серийного производства со встроенным контроллером. От телефона не нужен.На сайте Компэла представлены графические индикаторы со следующими интерфейсами:
- TTL
- LVDS
- CPU 8bit
- CPU 8/16bit
- RGB, CCIR656/601
- RGB 24bit, CCIR
- RGB 24bit
- analog RGB
- RGB 18 bit
- RGB
- Digital
- RGB 24bit
каой из этих интерфейсов подойдет для управления от 8-разрядного AVR?
Цитата(Oleg Victorovich @ Oct 21 2011, 13:35)

Нужен дисплей для серийного производства со встроенным контроллером. От телефона не нужен.На сайте Компэла представлены графические индикаторы со следующими интерфейсами:
- CPU 8bit
- CPU 8/16bit
Только прежде посчитайте требуемые для вывода ресурсы.
И что Вы понимаете под частотой обновления картинки.
На цену влияет размер.
Если 5,6" устроит, то по цене за дисплей с контроллером вполне уложитесь, посмотрите в питерской ООО "Гамма" или в MT-system.
P.S. В вашем списке все в куче.
Вам надо смотреть варианты дисплеев со встроенным контроллером. И выбор делать анализируя удобство работы с контроллером для вашей задачи.
Так же как и выбор микроконтроллера для удобной работы с дисплеем, если это возможно.
Oleg Victorovich
Oct 21 2011, 11:09
Под частотой обновления картинки я понимаю следующее. Перерисовывать картинку на индикаторе необходимо каждые 20 мс.
skripach
Oct 21 2011, 11:24
Цитата
Под частотой обновления картинки я понимаю следующее. Перерисовывать картинку на индикаторе необходимо каждые 20 мс.
Зачем fps 50? Да и не реально это на AVR думаю. Да и дисплей такой(в смысле шустрый) еще поискать надо будет.
Это ж >7 Мбайт/с при 16 бит цвете.
AlexFTF
Oct 21 2011, 11:44
Цитата(Oleg Victorovich @ Oct 21 2011, 18:09)

Под частотой обновления картинки я понимаю следующее. Перерисовывать картинку на индикаторе необходимо каждые 20 мс.
Зачем МК-ру перерисовывать картинку, если эту функцию выполняет встроенный контроллер жк-дисплея?
Oleg Victorovich
Oct 21 2011, 12:45
c 20мс я погорячился. Но во встроенный контроллер ЖК-дисплей я же должен записать данные(графические) со своего МК(ФМК)
Цитата(Oleg Victorovich @ Oct 21 2011, 15:45)

c 20мс я погорячился. Но во встроенный контроллер ЖК-дисплей я же должен записать данные(графические) со своего МК(ФМК)
Если у Вас должна перерисовываться вся картинка экрана, да еще с достаточно высокой частотой, то, я думаю, что придется сменить контроллер.
Или выводить только отдельные изменения. Если Вам надо строить график, то часто выводить придется только отдельные точки.
Причем, имея два теневых экрана в таком дисплее, Вы можете формировать новое представление, затем переключать экраны с частотой комфортного восприятия.
ILYAUL
Oct 21 2011, 14:46
QUOTE (gte @ Oct 21 2011, 18:04)

Причем, имея два теневых экрана в таком дисплее, Вы можете формировать новое представление, затем переключать экраны с частотой комфортного восприятия.
Этож сколько ему памяти надо иметь на борту дисплея.
Цитата(ILYAUL @ Oct 21 2011, 17:46)

Этож сколько ему памяти надо иметь на борту дисплея.
Так 2011 год

.
Нажмите для просмотра прикрепленного файла
Oleg Victorovich
Oct 21 2011, 20:10
В общем, на сколько я понял для управления ЖК-индикатора от 8-разрядного AVR должен быть внутренний видеоконтроллер. При этом на ЖК-индикаторе в разделе интерфейс должно быть указано CPU 8/16 bit.
Цитата(Oleg Victorovich @ Oct 21 2011, 23:10)

В общем, на сколько я понял для управления ЖК-индикатора от 8-разрядного AVR должен быть внутренний видеоконтроллер. При этом на ЖК-индикаторе в разделе интерфейс должно быть указано CPU 8/16 bit.
Да.
Oleg Victorovich
Oct 22 2011, 07:16
В начале темы рекомендовали ЖК-индикатор WF57B. Он имеет встроенный контроллер S1D13A04. В PDF на него указано следующее:
2.2 CPU Interface
•Direct support of the following interfaces:
Generic MPU bus interface with programmable ready (WAIT#).
Hitachi SH-4 / SH-3.
Motorola M68K.
Motorola MC68EZ328/MC68VZ328 DragonBall.
Motorola “REDCAP2” - no WAIT# signal.
•“Fixed” low-latency CPU access times.
•Registers are memory-mapped - M/R# input selects between memory and register
address space.
•The complete 160k byte display buffer is directly and contiguously available through
the 18-bit address bus.
Для сопряжения с 8-разрядным микроконтроллером AVR какой из вышеперечисленных интерфейсов подойдет????
Цитата(Oleg Victorovich @ Oct 22 2011, 10:16)

В начале темы рекомендовали ЖК-индикатор WF57B. Он имеет встроенный контроллер S1D13A04. В PDF на него указано следующее:
2.2 CPU Interface
•Direct support of the following interfaces:
==
Для сопряжения с 8-разрядным микроконтроллером AVR какой из вышеперечисленных интерфейсов подойдет????
Здесь нет перечисления, описаны некоторые возможности.
Прежде чем выбрать, посмотрите внимательно описание протокола обмена по тех описанию, популярность встроенного контроллера, наличие подробного описания, примеров инициализации. Плюсом будет наличие команд для рисования графических примитивов.
Ресурсы МК у Вас ограничены.
M_Andrey
Oct 23 2011, 12:17
Контроллер судя по PDF
Нажмите для просмотра прикрепленного файла SSD1963
Нажмите для просмотра прикрепленного файла. У меня есть исходники под WF43ATIBEDB (контроллер тот-же, но размер дисплея 480*272) правда писаные под ARM LPC2387, да и на
http://starterkit.ru/ где-то видел.
И да, не забудьте что AVR это 5В (3.3В с буквой L но медленнее в 2 раза), а WF57B это только 3.3В!
Oleg Victorovich
Oct 24 2011, 04:35
То есть, я смогу управлять индикатором WF57B от 8-разрядного AVR по параллельному интерфейсу (хватит ли ресурсов)????
Если есть возможность, то скиньте исходники под WF43ATIBEDB (aspir_sushko.ru@mail.ru).
Цитата(hd44780 @ Oct 21 2011, 07:49)

См.
http://radiocom.dn.ua/index.php там сразу есть ссылка на архив с доками.
Там хрен чего найдёшь.
Dog Pawlowa
Oct 24 2011, 13:41
Цитата(Oleg Victorovich @ Oct 24 2011, 07:35)

(хватит ли ресурсов)????
Ресурсов на что? Закрасить экран одним цветом и вывести несколько цифр другим цветом за 100 мс?
Может и хватит.
Может, пора открыть истину? - Из г. конфетка не получится.
Oleg Victorovich
Oct 24 2011, 14:33
На сколько я понял, чтобы подключить графический индикатор к микроконтроллеру должен быть интерфейс MCU INTERFACE 8080 или 6800 ( находится в микросхеме управления ЖК-индикатором). Как вариант можно поставить ATxmega128A1. Буду обновлять экран раз всекунду.Вроде должен потянуть.
Oleg Victorovich
Oct 25 2011, 14:41
Подскажите, если указан интерфес для ЖК-дисплея CPU 8/16 bit (и имеется встроенная SRAM в видеоконтроллере, который идет вместе с ЖК-индикатором), то для вывода статической картинки можно записать данные в память видеоконтроллера ЖК-индикатора, а далее сам видеоконтроллер будет выводить картинку. А внешний микроконтроллер, которым записали данные в этот самый ЖК-индикатор может заниматься другими процессами?????
ILYAUL
Oct 25 2011, 15:24
QUOTE (Oleg Victorovich @ Oct 25 2011, 18:41)

Подскажите, если указан интерфес для ЖК-дисплея CPU 8/16 bit (и имеется встроенная SRAM в видеоконтроллере, который идет вместе с ЖК-индикатором), то для вывода статической картинки можно записать данные в память видеоконтроллера ЖК-индикатора, а далее сам видеоконтроллер будет выводить картинку. А внешний микроконтроллер, которым записали данные в этот самый ЖК-индикатор может заниматься другими процессами?????
Может , заниматься чем угодно или просто спать
SortoVaritu
Oct 26 2011, 13:52
Можно использовать контроллер с DMA. А вообще 8 бит для цветного ЖКИ 320x240 это очень мало. КОнтроллер будет занят постоянно отрисовкой... На что-то другое ресурсов не останется.
Это, как уже ранее писали, смотря что рисовать. Если постоянно меняющаяся картинка на весь экран(типа видеоизображения)- то тут и 32битный МК не всякий справится, а если что то типа осциллограммы, то 50 кадров в секунду даже атмега потянет, хотя и с напрягом.
Другое дело что такая частота обновления изображения не только не нужна, но и, в случае со встроенным контроллером дисплея, даже вредна т.к. контроллер регенерирует изображение на дисплее со своей частотой, как правило не сильно стабильной (стабильность тут не важна, зато позволяет сильно упростить схему тактирования этого самого контроллера) и уж наверняка будет не синхронной по отношению к частоте перерисовки экрана, что вызовет т.н.
tearing, что смотрится мягко скажем некрасиво. Выходом тут может быть либо принудительное тактирование генератора контроллера так, чтобы он работал с нужной частотой, что не всегда возможно, либо регенерировать картинку самостоятельно, что подразумевает под собой смену МК, на другой, с аппаратным модулем контроля дисплея. Ну или поумерить пыл, и обновлять картинку пореже - 10 раз в секунду обычно хватает с головой, все равно глаз не в состоянии уследить за более частыми изменениями, да и сам дисплей имеет конечное (и для мелких дисплеев с относительно малым потреблением питания, довольно большое) время реакции. Ну и в некотрых контроллерах дисплеев есть специальный выход, позволяющий синхронизировать отрисовку с выходом картинки.
Oleg Victorovich
Oct 27 2011, 05:11
Рисовать необходимо записанные ранее осциллограммы (по очереди выводить на экран). Поэтому, старую осциллограмму буду закрашивать в цвет экрана(т.е. как бы стирать) а новую заново прорисовывать, соответственно весь экран перерисовывать не нужно. 10 раз в секунду обновлять картинку.
Цитата.
"КОнтроллер будет занят постоянно отрисовкой... На что-то другое ресурсов не останется."
При обновлении картинки 10 раз в секунду, необходимо прорисовывать каждые 100 мс. Для того, чтобы закрасить старую и нарисовать новую осциллограмму необходимо не более 2 мс (наверное). И того, остается 98 мс на остальные процессы. Вроде так?
SortoVaritu
Oct 27 2011, 07:53
Цитата(Oleg Victorovich @ Oct 27 2011, 08:11)

Рисовать необходимо записанные ранее осциллограммы (по очереди выводить на экран). Поэтому, старую осциллограмму буду закрашивать в цвет экрана(т.е. как бы стирать) а новую заново прорисовывать, соответственно весь экран перерисовывать не нужно. 10 раз в секунду обновлять картинку.
Цитата.
"КОнтроллер будет занят постоянно отрисовкой... На что-то другое ресурсов не останется."
При обновлении картинки 10 раз в секунду, необходимо прорисовывать каждые 100 мс. Для того, чтобы закрасить старую и нарисовать новую осциллограмму необходимо не более 2 мс (наверное). И того, остается 98 мс на остальные процессы. Вроде так?
Если стирать все с экрана, то эта функция ляжет на контроллер ЖКИ, но это так же будет заниммать какое-то время (в зависимости от контроллера).
К примеру ЖКИ работает на частоте в 12МГц, то есть один такт примерно 83нс. Получаем, что для отрисовки всего экрана контроллеру ЖКИ нужно
83*320*240=6374400=6,4 мс
Oleg Victorovich
Oct 27 2011, 08:31
А зачем стирать весь экран, ведь можно перерисовать отдельные точки (например, которые формировали осциллограмму), не трогая полностью экран. Такой вариант в графических дисплеях доступен? Или в графических индикаторах для смены картинки надо полностью перерисовывать весь экран?
ILYAUL
Oct 27 2011, 08:35
Не предметный разговор. Выбрать LCD и тогда уже обсудить их возможности. А так это
SortoVaritu
Oct 27 2011, 08:59
Цитата(Oleg Victorovich @ Oct 27 2011, 11:31)

А зачем стирать весь экран, ведь можно перерисовать отдельные точки (например, которые формировали осциллограмму), не трогая полностью экран. Такой вариант в графических дисплеях доступен? Или в графических индикаторах для смены картинки надо полностью перерисовывать весь экран?
6,4 мс занимает время для прорисовки ЖКИ контроллером ЖКИ. Атмега управляет лиш контроллером ЖКИ.
ЖКИ так же имеетт свою предельную скорость работы. Как я привел к примеру 12МГц. Что бы обновить весь экран 320х240 контроллеру ЖКИ необходимо
320*240=76800 тактов. Когда вы формируете своей атмегой картинку(в вашем случае график) то формируете его только в памяти контроллера ЖКИ.
Иными словами как быстро вы бы не формировали картинку в памяти контроллера ЖКИ - вы всегда будете ограничены скоростью самого ЖКИ. в моем примере это 6,4 мс. В реальности скорость формирования вами картинки будет зависеть от вашего процессора, я так понимаю атмега, и контроллера ЖКИ. Для отрисовки осцилограммы нужен расчет координат пикселей, которые должны прорисовываться, что тоже будет есть ресурс процессора.
В зависимости от контроллеров есть разный функционал. Есть контроллеры в которых есть рисование примитивов типа как точка, прямая, окружность и так далее.
Oleg Victorovich
Oct 27 2011, 18:37
Для начала попробую ЖКИ TM028HDZ30 (встроенный контроллер ILI9335B) + ATXMEGA128A1.
Цитата(SortoVaritu @ Oct 27 2011, 11:59)

Для отрисовки осцилограммы нужен расчет координат пикселей, которые должны прорисовываться, что тоже будет есть ресурс процессора.
И передача этой координаты в контроллер ЖК-дисплея перед стиранием и передачей цвета очередной точки.
SortoVaritu
Oct 28 2011, 09:23
У Renesas есть решение как рисовать на ЖКИ без использования контроллера ЖКИ. Достаточно дешевое решение.
Смотрицкий Алексей
Apr 25 2012, 22:37
Цитата
Для начала попробую ЖКИ TM028HDZ30 (встроенный контроллер ILI9335B) + ATXMEGA128A1.
Если не секрет, чем дело кончилось, удалось прикрутить дисплей? А то я тоже сейчас перед выбором стою, хотелось бы определиться
Dog Pawlowa
Apr 26 2012, 12:47
Потратив недели на ускорение ARM7 в работе с дисплеем, читаю про АВР и недоумеваю.
На что можно рассчитывать? Просто прикрутить? А потом?
skripach
Apr 26 2012, 13:42
Цитата(Dog Pawlowa @ Apr 26 2012, 15:47)

Потратив недели на ускорение ARM7 в работе с дисплеем, читаю про АВР и недоумеваю.
На что можно рассчитывать? Просто прикрутить? А потом?
А потом сделать
такое.
s_black
Jun 11 2012, 11:42
Если ещё актуально,
здесь можете посмотреть.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.