Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR и Siemens M55
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
sonycman
Там, у немцев, попалась интересная прога для конвертирования картинок в 16-битный формат для S65 плюс компрессия.
Вот ссылка:
http://www.mikrocontroller.net/topic/31403#460994
Там дальше идёт исходник для, как я понял, распаковки картинки.
А на словах никто не мог-бы объяснить, какой алгоритм используется для сжатия? Я понял только, что используется цветовая таблица для картинок с кол-вом цветов меньшим 65к.

В принципе, сам думаю над компрессором. 65к цветов надо не всегда, мне будет достаточно и 256. Может, стоит брать картинки в GIF или PNG формате, а дальше распаковывать контроллером при печати? Интересно, как много времени это займёт?

ЗЫ: Вот вроде даташит на L2F50 дисплей: http://www.mikrocontroller.net/attachment/...e_01_110902.pdf
А на LS020 так и нет... sad.gif
skripach
Народ можеткто нить пробовал разобраться с диспам у которого разрешение больше чем 132х176, например 240х320???????????
Nanobyte
Цитата(skripach @ Feb 10 2007, 02:10) *
Народ можеткто нить пробовал разобраться с диспам у которого разрешение больше чем 132х176, например 240х320???????????

А какой это телефон? Если это просто LCD с известным контроллером, то что с ним разбираться?
skripach
экран от телефона я имел ввиду, от кокого я не знаю
Nanobyte
Вот кое-что по Nokia7650 (176*208):
http://www.qsl.net/dk7nt/lcd7650/lcd7650index.html
011119xx
Вопрос по библиотеке glcd. В чем суть понятия Clipping?
Kenshin
Цитата(011119xx @ Feb 12 2007, 11:46) *
Вопрос по библиотеке glcd. В чем суть понятия Clipping?


clipping - отсечение полигонов, не входящих в конечный кадр
sonycman
Цитата(Kenshin @ Feb 14 2007, 13:57) *
clipping - отсечение полигонов, не входящих в конечный кадр

Вероятнее всего, применительно к ЖКИ - отсечение всего того, что не попадает в рамки заданного окна.
sonycman
Нашёл кусок даташита на модуль LS020B8UD06 (у меня именно такой), полезного там только одна страница (прикрепил).
Так вот, там пару пинов - RS и CS - похожи на двунаправленные.
Надо бы их помониторить, может какие сигналы есть?
Меня, в частности, интересует вопрос вертикальной синхронизации.
Если определить момент начала формирования (сканирования) кадра, то тогда можно будет избавиться от фликера при обновлении даже всего экрана (при скорости SPI в 12-13 МГц).
011119xx
К sonycman

На немецком сайте вы говорите, что закончили написание текстовых подпрограмм. Покажете?
sonycman
Цитата(011119xx @ Feb 16 2007, 08:23) *
К sonycman

На немецком сайте вы говорите, что закончили написание текстовых подпрограмм. Покажете?


Почему нет? smile.gif
Вы тоже "мучаете" такой дисплей?
Ищите исходники? У немцев ведь целая библиотека есть.
Я не стал пользоваться, потому что влом разбираться с чужим кодом, сам напишу то, что надо.
А что не получится - спрошу, как сделать smile.gif
Хаген просто душка - помогает smile.gif

Не знаю, может ли это кому-то пригодиться smile.gif
Всё пока сыроватое (особенно инициализация дисплея), но печатать текст с различным выравниванием можно.
Шрифты рисовал сам, не стал пользоваться редактором Хагена, хотя хотел сначала.
Структура похожая, только добавил lookup table (не знаю, правда, зачем - жалко было время тратить на перебор байтиков во флешке, тем более памяти достаточно sad.gif ).
И компрессию не использовал - двухцветным шрифтам это не надо.

ЗЫ: проц используется ARM, а не AVR...
Kenshin
вчера щупал RS и CS на наличие сигнала. ничего не нашел. но на дисплейчике есть одна контрольная точка с которой идут какието импульсы.
Георгий
RS - это признак команда/ данные
CS - это сигнал выбор кристалла.
Странно, что в табличке они двунаправленные, обычно они идут от внешнего управления к контроллеру дисплея
sonycman
Цитата(Kenshin @ Feb 17 2007, 12:30) *
вчера щупал RS и CS на наличие сигнала. ничего не нашел. но на дисплейчике есть одна контрольная точка с которой идут какието импульсы.

Тоже проверил RS и CS - пусто. sad.gif
А где именно эта точка? И дисплей у вас какой? LS020?
Если существуют синхроимпульсы, то они должны идти с частотой около 60 герц. Или где-то рядом.
Цитата(Георгий @ Feb 17 2007, 12:50) *
RS - это признак команда/ данные
CS - это сигнал выбор кристалла.

Это понятно всё. Да только в даташитах мелькают слова типа Vert. sync. или Frame start strobe, как же до них добраться?
Nanobyte
Цитата(sonycman @ Feb 17 2007, 17:28) *
Если существуют синхроимпульсы, то они должны идти с частотой около 60 герц. Или где-то рядом.

Синхроимпульсов как таковых нет. В доступных даташитах есть туманные описания того, как контроллер ждёт начала развёртки перед выполнением некоторых команд. По всей видимости, содержимое некоторых регистров из контроллера как-то считывается. Ну а аппаратный синхросигнал вряд-ли можно найти. ИМХО, конечно.
sonycman
Кстати, кто как подсветку сделал?
Как у немцев что-то не хочется.
Я пока спаял бустер на LM2578 (с 3.3 до 11 вольт).
Эффективность получилась не очень - при потреблении светодиодами всего 20 ма по линии 3.3 вольт забирается аж ~120 ма... sad.gif

Вроде есть специальные микросхемы для запитывания именно белых светодиодов, только их ещё достать надо...
Nanobyte
Цитата(sonycman @ Feb 17 2007, 23:11) *
... Я пока спаял бустер на LM2578 (с 3.3 до 11 вольт).
Эффективность получилась не очень - при потреблении светодиодами всего 20 ма по линии 3.3 вольт забирается аж ~120 ма... sad.gif

Я поступил наоборот. Питаю всю конструкцию от 11-12 вольт, подсветка включена через резистор, а МК и дисплей питаются от 78L03, она даёт 3.3 вольта.
sonycman
Цитата(Nanobyte @ Feb 18 2007, 02:45) *
Я поступил наоборот. Питаю всю конструкцию от 11-12 вольт, подсветка включена через резистор, а МК и дисплей питаются от 78L03, она даёт 3.3 вольта.

Понятно. Я тоже раньше так делал, но сейчас плата от Олимекса (SAM7-P256) питается от USB, есть 5 и 3.3 вольта. Проц от 3.3 запитан, поэтому планирую и всю обвеску далее вешать на 3.3...

Нашёл неплохие м/сх. для подсветки: MAX1698 и LM2705. Заказал smile.gif
Nanobyte
Цитата(sonycman @ Feb 18 2007, 01:59) *
... Нашёл неплохие м/сх. для подсветки: MAX1698 и LM2705. Заказал smile.gif

1) Цены у них blink.gif
2) Энергетический баланс Iвх/Iвых будет примерно тот-же, ну а КПД, конечно, получше.
sonycman
Цитата(Nanobyte @ Feb 18 2007, 04:45) *
1) Цены у них blink.gif

Цена такая-же, как и на LM2578 ~80 руб smile.gif
011119xx
sonycman спасибо за пример. Честно говоря я пока мало и с трудом понимаю Хагена. Кое-что из его библиотеки использовал, что понял как работает. Редактор шрифтов использовал его, но шрифт взял высотой 16, это привело к упрощению рисования символа. Нет необходимости перебирать биты, а работаю сразу с байтами. И вывожу сразу биты символа, а фон остается не тронутым. Шрифты пока одноцветные. Собираюсь работать с картинками, разбираюсь с форматами.

Кто знает есть ли возможность после преобразования цвета из 8-8-8 в 5-6-5 произвести обратное преобразование. Так 8-8-8 преобразуется с помощью (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3)), а как обратно?
Kenshin
Цитата(sonycman @ Feb 17 2007, 17:28) *
А где именно эта точка? И дисплей у вас какой? LS020?
Если существуют синхроимпульсы, то они должны идти с частотой около 60 герц. Или где-то рядом.


вот она точка.
Георгий
Дело в том, что контроллеры кроме последовательного интерфейса имеют еще и параллельный, но чаще всего параллельный интерфейс наружу не отдается (по крайней мере в сотовых телефонах). Параллельный интерфейс имеет гораздо больше возможностей, но чтобы до них добраться, надо доковыряться до самого контроллера (физически). Но смысла большого в этом нет, я сомневаюсь, что удасться прицепиться к микроскопическим ногам контроллера. Тем более, что сам телефон успешно справляется по последовательному.
sonycman
Цитата(011119xx @ Feb 19 2007, 08:07) *
И вывожу сразу биты символа, а фон остается не тронутым. Шрифты пока одноцветные. Собираюсь работать с картинками, разбираюсь с форматами.

Я вот тоже картинки выводить собираюсь.
Скажи, а как ты выводишь биты, чтобы не трогать фон? Там же последовательно все биты выводятся?
011119xx
Цитата(sonycman @ Feb 19 2007, 15:43) *
Цитата(011119xx @ Feb 19 2007, 08:07) *

И вывожу сразу биты символа, а фон остается не тронутым. Шрифты пока одноцветные. Собираюсь работать с картинками, разбираюсь с форматами.

Я вот тоже картинки выводить собираюсь.
Скажи, а как ты выводишь биты, чтобы не трогать фон? Там же последовательно все биты выводятся?

Можно выводить первый пиксель, но сначала указать его адрес. Потом выводить второй пиксель, но сначала указать его адрес. Т. е. попиксельно с предварительной установкой адреса. Это несколько замедляет вывод. но для ARM это ведь не страшно.
sonycman
Цитата(011119xx @ Feb 19 2007, 15:01) *
Можно выводить первый пиксель, но сначала указать его адрес. Потом выводить второй пиксель, но сначала указать его адрес. Т. е. попиксельно с предварительной установкой адреса. Это несколько замедляет вывод. но для ARM это ведь не страшно.

Понятно. Установка адреса вот этой командой - 0xEF90, 0x05OR, 0x06YS, 0x07XS?
Есть ещё другая форма - но она длиннее на два слова.
Я думал над этим. Это может серьёзно замедлить печать. Но может пригодиться при печати текста поверх фона (картинки и т.п., но только если это статичный текст).
Цитата(Георгий @ Feb 19 2007, 13:34) *
Тем более, что сам телефон успешно справляется по последовательному.

Да, но мы-то не знаем команд для синхронизации... вот и ковыряемся smile.gif
Цитата(Kenshin @ Feb 19 2007, 12:58) *
вот она точка.

Спасибо. А сами-то не пробовали замерить частоту импульсов?
BelTech
Тут речь шла о параллельном интерфейсе, так вот к сведению, в версии экрана LPH88.... стоит контроллерHD66766.Ещё он исполюзуется в жки sony ericsson T610( в T630 стоит HD66773). Там всё по параллели идёт,но можно и по SPI. По идее если использовать его в SPI режиме,то должны подойти библиотеки от LCD S65.Вообще он поддерживает 262000 цветов.У самого валяется T630,так вот думаю куда-нибудь применитьот него жки. Кстати где-то на китайских форумах видел про управление жки от SE K700(HD66789(176x240)).
P.S. Есть даташиты на hd66766,HD66773 если надо поделюсь.
sonycman
Цитата(BelTech @ Feb 20 2007, 05:48) *
Тут речь шла о параллельном интерфейсе, так вот к сведению, в версии экрана LPH88.... стоит контроллерHD66766.

В LPH вроде стоит как раз HD66773, а не 766. Хотя они похожи.
BelTech
и вправду на сайте http://www.superkranz.de/christian/S65_Dis...splayIndex.html сказано что в экране LPH88xxxx стоит Hitachi HD66773 controller,хотя у меня еть PDF by Benjamin Metz(pdf по материалам сайта superkranz)и там сказано что применён HD66766. Что-то непонятно,...где правда?
011119xx
Кто как использует дисплей?

Я собираюсь собрать MP3 player на ММС и VS1001. Разработал примерно такой дизайн оформления меню. Под дисплеем у меня будет 4 кнопки управления. Какие могут быть соображения и кто как оформляет? Какие могут быть функции MP3 playera?
Какие будут предложения?
sonycman
Цитата(011119xx @ Feb 22 2007, 10:26) *
Кто как использует дисплей?

Я собираюсь собрать MP3 player на ММС и VS1001. Разработал примерно такой дизайн оформления меню. Под дисплеем у меня будет 4 кнопки управления. Какие могут быть соображения и кто как оформляет? Какие могут быть функции MP3 playera?
Какие будут предложения?

Симпатичная картинка smile.gif
Дисплей можно юзать как угодно.
Я тоже, наверное, попробую мп3 плеер сделать. Ради процесса, так сказать smile.gif
Тоже MMC/SD и VS1033.
Только кнопок будет больше и энкодер (валкодер) добавлю - удобная штука.

ЗЫ:Кстати - в сети где-то видел немецкий ресурс, там прямо на AT91SAM7 (без VS10xx) плеер собран.
011119xx
В режиме воспроизведения примерно так.

Цитата(sonycman @ Feb 22 2007, 13:38) *
Только кнопок будет больше и энкодер (валкодер) добавлю - удобная штука.


А для чего больше кнопок и для чего энкодер. Вот джойстик можно было бы, но где его взять?
sonycman
Цитата(011119xx @ Feb 22 2007, 12:49) *
А для чего больше кнопок и для чего энкодер. Вот джойстик можно было бы, но где его взять?


Шесть кнопок минимум, а можно и до восьми (легко на 1 вывод АЦП). Вправо/влево/вниз/вверх/меню/ещё что-нибудь.
А энкодером удобно прокручивать файлы/регулировать громкость/баланс/яркость подсветки - да что угодно. Я уже привык к нему просто smile.gif

ЗЫ: для портативных девайсов это не подходит, конечно smile.gif
Nanobyte
Цитата(sonycman @ Feb 22 2007, 11:38) *
ЗЫ:Кстати - в сети где-то видел немецкий ресурс, там прямо на AT91SAM7 (без VS10xx) плеер собран.

Это, наверное, вот это:
http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player
Spider
Цитата(011119xx @ Feb 22 2007, 14:49) *
Вот джойстик можно было бы, но где его взять?
От тогоже х65 сименса можно взять 5ти позиционный джойстик.
BelTech
Наверное вместо MMC лучше взять винчестер от ноута, ведь как-то не хорошо получается , такой экран и хранилище музыки всего-лишь на 1-2 гб.
Вот чтобы как в YAMPP3 плеере, было бы ничего.Кстати это неплохой источник исходников для повторения MP3 плеера.
sonycman
Цитата(Nanobyte @ Feb 22 2007, 17:15) *
Это, наверное, вот это:
http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player

Да, да. Спасибо за ссылку.
Посмотрел внимательнее - и не знаю, что лучше. Всё равно внешний чип необходим - так лучше VS1033 поставлю (пусть висит на SPI вместе с MMC), а на SSC у меня дисплей.
Цитата(BelTech @ Feb 22 2007, 23:05) *
Наверное вместо MMC лучше взять винчестер от ноута, ведь как-то не хорошо получается , такой экран и хранилище музыки всего-лишь на 1-2 гб.
Вот чтобы как в YAMPP3 плеере, было бы ничего.Кстати это неплохой источник исходников для повторения MP3 плеера.

Мне и 2-ух гиговой флеш карты хватит. smile.gif

Вывожу картинки (иконки) на дисплей по методу Хагена, используя его конвертер. Действительно, компрессия получается (в основном) немного получше GIF или PNG smile.gif
Только вот цветопередача у дисплея чуть-чуть хромает - цвета получаются светлее, чем должны быть sad.gif
Изменение яркости подсветки ситуацию не улучшает...
В принципе, не стоит, конечно, ждать от маленького дисплейчика точной цветопередачи smile.gif
Nanobyte
Цитата(sonycman @ Feb 24 2007, 14:38) *
... В принципе, не стоит, конечно, ждать от маленького дисплейчика точной цветопередачи smile.gif

Ну, цветопередача у него отменная, всё-таки 65К цветов. Этот дисплей позволяет рулить контрастность, но как - мы этого пока не знаем sad.gif
sonycman
Цитата(Nanobyte @ Feb 24 2007, 17:27) *
Ну, цветопередача у него отменная, всё-таки 65К цветов.

По сравнению с моим монитором - очень и очень посредственная.
Эх, придётся мириться с осветлёнными цветами...

Если я не ошибаюсь, у вас L2F50 дисплей?
Так ведь на него есть даташит, и вот что там написано про контрастность:
In the LCD module, the liquid crystal voltage is a factor that can be used to adjust the contrast, and VOLCTR
is a command used to adjust the liquid crystal voltage.
Не пробовали?
Nanobyte
Даташита, как такового нет, есть всякие подобия, команды совпадают только частично.
PS. А какой DS вы цитируете?
sonycman
Цитата(Nanobyte @ Feb 24 2007, 21:46) *
Даташита, как такового нет, есть всякие подобия, команды совпадают только частично.
PS. А какой DS вы цитируете?

Вот этот: http://www.sonycman.newmail.ru/els/L2F50.rar
Разве что-то не совпадает?
Nanobyte
Спасибо, такой у меня, оказывается есть. У меня не получалась инициализация. Позже запустил, (пришлось изучать WinAVR smile.gif ), но последовательности не совсем совпадают. Позже переписал на ASM. Попробую разбираться дальше.
sonycman
Цитата(Nanobyte @ Feb 24 2007, 22:08) *
Спасибо, такой у меня, оказывается есть. У меня не получалась инициализация. Позже запустил, (пришлось изучать WinAVR smile.gif ), но последовательности не совсем совпадают. Позже переписал на ASM. Попробую разбираться дальше.

Незачто smile.gif
Ссылка на этот даташит проскакивала ранее в этой теме.
Я бегло сравнил команды инициализации с кодом немцев - вроде всё совпадает.
Блин, везёт вам, хоть какой-то даташит имеете smile.gif
Nanobyte
Цитата(sonycman @ Feb 24 2007, 21:17) *
... Блин, везёт вам, хоть какой-то даташит имеете smile.gif

А вам какой нужен? Может, найду ...
sonycman
Цитата(Nanobyte @ Feb 24 2007, 22:48) *
А вам какой нужен? Может, найду ...

Так у меня обычный LS020, как у немцев.
В поисковике нашёл вот это: http://www.sonycman.newmail.ru/els/LS0208UD06.rar
Но там нет самого главного - даташита на LR38826. И даже нет подробного кода инициализации (как в других мануалах на LCD).
Зато там написано, что этот дисплей поддерживает до 262к цветов, так что 65к это не предел smile.gif

Вот если бы найти хоть что-то на LR38826 или его аналоги, это было-бы здорово smile.gif
_sR_
давно мониторю тему и здесь и у немцев
тоже вот кулибничеством решил позаниматься...
только успеха пока нет.
была у меня платка с Mega128L решил попробовать подключить туда дисплейчик на LS020...
уже все примеры что мог найти просмотрел, осциллом потыкался - все как доктор прописал, а он зараза молчит как пленный партизан.
посему вопрос к тем у кого этот дисплейчик заработал
при выдачи блоков инициализации на экране что-нибудь должно происходить? ну хоть что-нибудь чтоб понять что он работает.
А то у меня вообще 0 реакции.
немного о железе на чем пробую: ATMega128L 8Мгц (сейчас на 12Мгц, вроде работает) индикатор висит
на SPI вместе с другим (разные CS, другой индикатор работает). Пробовал все скорости SPI - никакой реакции. Паузы между блоками инициализации контроллировал на осциллографе - все как надо.
вобщем уже не знаю что еще пробовать...
sonycman
Цитата(_sR_ @ Feb 25 2007, 00:03) *
давно мониторю тему и здесь и у немцев
тоже вот кулибничеством решил позаниматься...
только успеха пока нет.
была у меня платка с Mega128L решил попробовать подключить туда дисплейчик на LS020...
уже все примеры что мог найти просмотрел, осциллом потыкался - все как доктор прописал, а он зараза молчит как пленный партизан.
посему вопрос к тем у кого этот дисплейчик заработал
при выдачи блоков инициализации на экране что-нибудь должно происходить? ну хоть что-нибудь чтоб понять что он работает.
А то у меня вообще 0 реакции.
немного о железе на чем пробую: ATMega128L 8Мгц (сейчас на 12Мгц, вроде работает) индикатор висит
на SPI вместе с другим (разные CS, другой индикатор работает). Пробовал все скорости SPI - никакой реакции. Паузы между блоками инициализации контроллировал на осциллографе - все как надо.
вобщем уже не знаю что еще пробовать...

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

Во время инициализации на экране ничего не происходит. Только после неё появляется цветной "мусор".
Проверьте тайминги после/перед всеми сигналами на SPI - у меня был затык с сигналом CS, я его поднимал сразу после передачи, а надо после небольшой паузы (1 мкс достаточно).
Также между передачей команд/данных надо поднять CS.

Длина проводов к дисплею должна быть минимальной (несколько сантиметров).

Можно попросить работающий код у тех, у кого всё работает.

По железу всё-ли подключено правильно?
_sR_
Цитата(sonycman @ Feb 24 2007, 23:17) *
Проверьте тайминги после/перед всеми сигналами на SPI - у меня был затык с сигналом CS, я его поднимал сразу после передачи, а надо после небольшой паузы (1 мкс достаточно).
Также между передачей команд/данных надо поднять CS.

По железу всё-ли подключено правильно?

проверить негде, у одного знакомого есть такой тел, но представляю его реакцию типа "дай телефон я счас в него свой дисплей воткну проверю" smile.gif
подключено вроде правильно благо проводов то немного.
а про паузы сейчас попробую...

увы паузы после поднятия CS не помогли...
sonycman
Цитата(_sR_ @ Feb 25 2007, 00:35) *
увы паузы после поднятия CS не помогли...

Не после поднятия - а перед поднятием CS, то есть так:
Выставили RS, опускаем CS (low), передаём команды, пауза 1 мкс, поднимаем CS, меняем RS, опускаем CS, передаём данные, пауза 1 мкс, поднимаем CS.

Как у вас RESET управляется?
Провода к дисплею не длинные?
Питание 3.3 вольта и у меги, и у дисплея?

Фото монтажа нет?
И осциллограммы сигналов нельзя сделать?
_sR_
Цитата(sonycman @ Feb 25 2007, 00:07) *
Не после поднятия - а перед поднятием CS, то есть так:
Выставили RS, опускаем CS (low), передаём команды, пауза 1 мкс, поднимаем CS, меняем RS, опускаем CS, передаём данные, пауза 1 мкс, поднимаем CS.

Как у вас RESET управляется?
Провода к дисплею не длинные?
Питание 3.3 вольта и у меги, и у дисплея?

Фото монтажа нет?
И осциллограммы сигналов нельзя сделать?

Ну да перед поднятием...
сегодня сделал програмный SPI - без толку
ресет генерится монитором питания (1171СП20) общий и на контроллер и на индикатор, честно говоря есть на него подозрения что фронт там длинноват, но проверить только завтра на работе смогу.
провода сантиметров 20 с разъемом (програмному SPI не должны быть помехой)
питание 3,1 общее для меги и индикатора
выглядит все так
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.