Часовой пояс: UTC + 3 часа




Куратор(ы):   zauropod   



Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 399 • Страница 3 из 20<  1  2  3  4  5  6 ... 20  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Первое знакомство с микроконтроллерами Atmel, STM и другими.

Первый рассказ
Предэксплуатационный ремонт отладчика Atmel AVR Dragon
Цветное изображение на монохромном LCD
Конвертер растровой графики для монохромного LCD (128х64)
Дизеринг для монохромных LCD и конвертер растровых изображений
ZP-STM32 и беспроводной последовательный порт
Куда уходят миллисекунды? Способ повышения FPS
Open Logic Sniffer в действии
AVR XMEGA – разгон, вольтмод и производительность SDRAM


Последний раз редактировалось zauropod 15.12.2010 0:33, всего редактировалось 6 раз(а).


Партнер
 

Member
Статус: Не в сети
Регистрация: 13.03.2009
Откуда: Новокузнецк
zauropod писал(а):
Fallout 13 писал(а):
с чем связано ограничение по размеру картинки 128*64?

С ленью делать изменения в интерфейсе или сделать командную строку. Программе какая разница - она перебирает в один проход все пикселы от 0 до DX по горизонтали и от 0 до DY по вертикали. Хоть двойной ulong по каждой стороне. А мне пока не надо больше. Поэтому я и пояснял в статье, как это делается, чтобы тот, кому надо, сделал себе сам. Кто не может - я не виноват.



тут речь не о может - не может :D :lol:, оно в общем то, лично мне, глубоко фиолетово. Просто скажем сделали вы ножик - это ножик только для батонов шириной 12 см, для хлеба и прочего ищите другой.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Fallout 13 писал(а):
Просто скажем сделали вы ножик - это ножик только для батонов шириной 12 см, для хлеба и прочего ищите другой

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

Во-вторых, бОльшие размеры - это должны быть и новые возможности, работа с цветом, разные форматы, произвольные вырезки с исходника и выходного файла, dsp процессинг и еще много чего. Пока этого делать в планах нет. А такие пакеты готовые есть - открытый AForge и несколько платных. Так что, есть альтернативы.

В третьих - много людей работают и сегодня с монохромом, и с размером 128х64. Может, кому и пригодится моя безделушка.


 

Junior
Статус: Не в сети
Регистрация: 12.12.2008
Откуда: Москва
а конвертер 122 на 32 можно как нить заполучить ? )


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
r0cket111
Не вопрос.

В ближайшем времени выложу новую версию, без ограничения входного и выходного размера, входной и выходные файлы сохраняются на экране, из входного файла, если он большой, можно будет вырезать кусок нужного размера (вернее, выделять маркером, как на первом фото внизу, - красная рамка определяет в данном случае картинку 128х64, для генерации кода в программу разработки)

#77
Увеличить

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

Переделал алгоритм пересчета, пока без оптимизации, файл 5000х4000 точек в формат 1bpp конвертируется на семпроне 3100+ за 1с, на 6750 = за 300мс, мелкие файлы вроде 128х64 за 0 мс с микросекундными копейками. Это не очень важно в моем случае, просто по ссылке в моей статье автор упоминал, что его программа 5000х4000 конвертирует за 2.2с (я ее проверял на семпроне, тоже получил 2.2с). Так что у меня быстрее. К тому же там автор перемудрил с сохранением в файл, нагородил черта лысого (наверняка тяжелое наследие языков высокого уровня надавило на мозг). Все делается тремя строчками и вообще без кучи вызовов WinApi и примешивания GDI.


 

Junior
Статус: Не в сети
Регистрация: 12.12.2008
Откуда: Москва
спасибо ) ждемс


 

Junior
Статус: Не в сети
Регистрация: 12.12.2008
Откуда: Москва
а можно хотя бы границы первой программы изменить под 122 на 32 )) что бы легче ждалась финальная версия )


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
r0cket111
Как же ты раньше жил без этого? :)

r0cket111 писал(а):
можно хотя бы границы первой программы изменить под 122 на 32

Там не все так просто. Прибавление или убавление пикселов к размеру ведет за собой необходимость добавления переменного числа паддинговых битов и байтов для выравнивания по 4-х байтному слову. К тому же предыдущая реализация, использующая в цикле методы GetPixel/SetPixel, медленная и не рассчитана на большие размеры, поэтому она больше модернизироваться не будет.

В принципе, уже почти все сделано, ETA next week.


 

Junior
Статус: Не в сети
Регистрация: 12.12.2008
Откуда: Москва
раньше я не занимался графическими ЖКИ ))


 

Member
Статус: Не в сети
Регистрация: 13.03.2009
Откуда: Новокузнецк
r0cket111 писал(а):
раньше я не занимался графическими ЖКИ ))


попробуйте corel photo paint - входит в пакет corel draw - там довольно удобно сделан перевод цветного в ч/б есть выбор метода, просмотр результата и не только.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
r0cket111
Конвертер графики переехал сюда.


 

Junior
Статус: Не в сети
Регистрация: 12.12.2008
Откуда: Москва
спасибо большое


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Мой самый первый модуль из серии ZP Proto Boards на ATMega8U2 в корпусе QFN. На нем я впервые потренировался с пайкой подобного конструктива, заодно и кварц маленький попробовал. МК пришлось пять раз переставлять, криво выходило (или с перекосом по высоте). Аж шелкография в районе МК пожелтела. Зато последующие безделушки получаются с первого раза. Зря я на платах полный периметр для QFN так близко шелкографией отмечал (0.2мм от корпуса на плате проводник, линия шелгографии на миллиметре, надо минимум полтора или вообще отмечать только уголки:

#77

Но работает:

#77

Вообще-то пора уже с 8-битными заканчивать играться. Хотя у меня еще собран модуль на ATXMega, хорошие штучки, но поздновато их выпустили. Конкурентов много у них в лице тех же кортексов, цена поменьше и толку побольше. Но мой собственный кортекс пока пылится, руки не дошли еще (а есть несколько разных готовых китов):

#77

А скоро у меня будет и несколько ARM926 (одна будет в BGA, буду извращаться на двухслойке). Да и CPLD пока пылятся.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Близится наступление эры цветных дисплеев в моей деревне...

Хотел еще напоследок на монохроме тачскрин отработать, но не судьба, на сделанной PCB под LCD+тачскрин+многочегоеще промахнулся с установочным размером и в результате применения чрезмерного училия к тачскрину он треснул :). Дисплей не пострадал. Кстати, треснутое стекло дает очень мелкую гадостную крошку.

Пришлось покупать еще один тач к DOGM-128е за бешеные деньги (почти $20). Правда, достанется он уже новому, цветному LCD. Приехала пробная партия моих "цветнячков":

#77

Слева вверху: 800х480 + тачскрин, 24 евро
Слева внизу: 320х240 + тачскрин, 20 евро
Справа вверху: 176х132, 8 евро, на нем примерен разбитый тачскрин от DOGM-128е

Разрешение 320х240 и тем более 800х480 не для атмеги, не вытянут они (хотя, конечно, несложный текст на красивом фоне можно и с ними показать), а вот 176х132 с интерфейсом SPI подсуну в проект ZP3 c ATmega32U4.


 

Member
Статус: Не в сети
Регистрация: 13.03.2009
Откуда: Новокузнецк
zauropod писал(а):
Хотел еще напоследок на монохроме тачскрин отработать, но не судьба, на сделанной PCB под LCD+тачскрин+многочегоеще промахнулся с установочным размером и в результате применения чрезмерного училия к тачскрину он треснул :).


У меня тоже раз такая фигня случилась, главное давил то аккуратно и по всей площади - в результате при включении паутинка :weep:. Хлипкие они :-)


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Подключил для пробы последовательный SPI дисплей (S65 на Epson L2F50) к своему ZP3 (на ATMega32U4 8MHz).

#77

Подсветка на времянке MAX662, но она с 3.3В дает только 9.5В, что маловато. Зато ест всего 5.5мА. Питание линий IO от 3.3В, сам контроллер дисплея пожалел, пустил на него 3.3В через резистор 2.2К, около 1.8В получилось.

На нормальной плате подсветку питать будет 2951 с индуктором, в нестандартном включении, на контроллер свой стабилизатор 2В. На плате еще будет контроллер тачскрина 1020, флэш на 16/32/64 Мбит, слот под микро SD и ИК приемник, правда, не шарповский (по даташиту он от 4.5), а трехвольтовый Vishay.

#77

На изготовление платы уйдут в конце следующей недели, так как опять штук 20 различных плат выдумываю. Вернее пяток из них - исправление предыдущих ошибок, ну и новые, конечно. Четыре платы только под разные LCD. Зато время появится софт под дисплеи подогнать, шрифты надо перетранспонировать и драйвера написать.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Впечатления одного дня от SPI LCD 176x132 пиксела на базе контроллера Epson L2F50126

Очень простое подключение и управление. Насыщенность цветов по умолчанию недостаточна (даже с учетом временно слабой подсветки), но в целом впечатления от картинки положительные. Смотреть можно, даже фотки (уж по крайней мере по сравнению с монохромными LCD, с которыми до сих пор игрался).
К примеру, исходное изображение 160х80 точек:

#77

Вот как оно получилось:

#77

На самом деле, картинка в жизни намного лучше смотрится, сетка образовалась за счет сжатия исходного изображения, да и цветопередача деградирована съемкой.

Плохо, что дисплей работает только в режиме 16-битного цвета (5-6-5), можно только изменить RGB на BGR. Для Epson L2F50560 есть команды переключения на 8 битный формат, но L2F50126 их не воспринимает. Поэтому и картинка не в фулскрине, а 160х80, это уже более 25КБ. Но это ограничение (чтобы не всю встроенную флэш употребить на картинки) можно снять внешним интерфйсом или дополнительной памятью RAM/Flash/SD card.

Хуже другое, при тактовой частоте 8Мгц максимальная частота SPI 4МГц, на осциллограмме это выглядит примерно так:

#77

То есть, 4 байта (две точки изображения) передаются за 13 мкс, что дает чуть больше 6 фпс при полноэкранном выводе. Смена изображений хорошо прослеживается по границе изменения видеопамяти. LCD этого типа могут работать и от такта 16МГц, то есть для полноскоростной работы нужен ARM или AT32UC3 или хотя бы ATXMega. Тогда достижим и фпс ближе к 30 фпс. В принципе, даже и на 8МГц атмелке можно поднять скорость, используя параллельный вывод в сдвигающий регистр PISO (им может служить и дешевый МК типа 2313 с тактовкой 20МГц или 27Мгц с оверклокингом), но это уже извращение.

Для моих нужд вполне подойдет частичное оконное обновление, и, с размерами площади до трети экрана, будет вполне приемлимая фпс для окна с динамичной картинкой.
Но, независимо от частоты SPI, в динамике проявляется нехороший визуальный эффект от внутреннего рефреша дисплея, а обычного сигнала "tearing", которым оснащаются LCD с полновесным параллельным интерфейсом, с этого дисплея не получить. Видимо, придется маскироваться подбором фона и частотой обновления окна для минимизации вредных проявлений.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
В апнотах AVR (1909 и 1913) обнаружил, что дисплейный модуль для XPLAIN (под ATMega, XMega и UC32) строится на базе LCD 240х320 с контроллером HIMAX HX8347, а у меня один из LCD модулей как раз делается точно на таком же контроллере, правда, дисплей от другого производителя. Так что по нему мне делать нужно будет гораздо меньше (по крайней мере, для SPI режима). Вот несколько иконок из графических библиотек от XPLAIN на дисплее S65 L2F50:

#77

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


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Проблему маленького объема встроенной флэш памяти решил кардинально.
На микроконтроллере поднята файловая система FATFS в режиме FAT32, на моей игрушке ZP3 будут два "диска" - несъемная флэшпамять типа AT45DB... и съемная микро SD (до 32ГБ).

FATFS выбрана потому, что самому писать долго (хотя, возможно, к этому придется вернуться), а у нее лицензия "делай абсолютно все, что хочешь", в отличие от большинства других подобных проектов. Поэтому из нее выброшена поддержка ATA и некоторые другие ненужности и пока она еще не причесана до конца. Но все внутри МК монтируется - демонтируется и пишется-читается. Контроллер ATMega32U4 поднимает и устройство класса Mass Storage для Windows, поэтому при подсоединении к ПК оба диска также видны, пишутся-читаются-форматируются стандартными средствами Windows.

В перспективе нужно Попробовать убрать код FS на AT45DB.., а все фонты, картинки, иконки туда и так идут без проблем.
Кучка новоразработанных плат уже в производстве, в понедельник-вторник получу на руки. Как всегда, в спешке допустил промашку - для платы дисплея на L2F50 добавил котактную полосу под рамку-держатель и развел под AT45DB... в корпусе TSOP (так как купил по случаю, а то в корпусах SOIC они в нашей деревне только 16Мбитные,а на Фарнелле уже долгое время стоят в ожидании поставок) а при обратном копировании на общую плату забыл поставить на ней скрытый слой контуров элементов верхнего ряда. Но там всего-то их ничего.

Рабочий прототип на макетке:

#77

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

Теперь надо добавить в свой проект конвертера битмап файлов запись картинок в цвете RGB 5-6-5 с любым транспонированием, чтобы не загружать ненужной работой микроконтроллер. Прототипы читалки и смотрелки сделаны уже давно, надо на ZP3 довести их до конца и бегом бежать на 32-х разрядные МК :).


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Лавры BolgenOS не дают покоя. Запустил на МК WindowsXP, назову-ка я это все BolgenOS2 :)

#77

На самом деле просто в конвертер графики добавил конвертацию 32-битного цвета в RGB 5-6-5 для повернуто-транспонированного формата дисплея s65 на L2F50, чтобы полноцветные картинки во весь экран (весом>44КБ) можно было хранить на внешних по отношению к микроконтроллеру носителях, это касается и прочей статичной графики в виде иконок и фонтов. В данном случае файл находился на SD карте, на МК поднята FATFS, хотя на несъемной карте можно обойтись без файловой системы.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Дисплей 240х320 на базе контроллера НХ8347D понравился, вчера дошли руки написать под него драйвер. Отлично задокументирован и все подробно описано в даташите. Только дисплей от MULTI-INNO не поддерживает все режимы контроллера, я поначалу губы раскатал на обычный SPI(у меня не сразу появился тугомент от MULTI-INNO) , а там оставлен (наряду с параллельным подключением и RGB) только SPI, работающий наподобие I2C, но без ACK-ов.
Вот дисплей в действии на специально сделанной под него плате, с обратной стороны - два восьмиканальных микропереключателя для выбора интерфейса и режимов, плюс контроллер тача:

#77

Подключен к ATmega16 для отработки интерфейсов и тача.
Уже купил еще один такой LCD, он пойдет в проект на связку STM103F103ZDT6 + VLSI1053, там будет RGB подключение.

У дисплея все параметры оптики и геометрии регулируются, заморачиваться с подсветкой не надо - встроенный PWM, димминг, питание от одного источника 3.3В. Яркий желтый цвет по настоящему желтый, а не грязно-песочный как у L2F50, подсветка равномерная и никаких боковых свечений в щели от подсветки. Обшее потребление на статике подсветка 100% около 50мА, несколько режимов энергосбережения.

Скоро на ватероте обещали драйвер под Arduino, кому это интересно. Да и на микрое тоже скоро будет что-то из софта.
Самое трудное в драйвере - написать заголовочный файл и битовые поля регистров. Четыре часа угробил на это дело :).

Приобрел еще и маленький OLED цветной экранчик, для ZP3, L2F50 там великоват.


Показать сообщения за:  Поле сортировки  
Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 399 • Страница 3 из 20<  1  2  3  4  5  6 ... 20  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  



Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan