Ока в Новосибирске

Клуб Окаводов Новосибирска
Текущее время: 29 мар 2024, 04:51

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




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 09 ноя 2014, 22:33 
Не в сети
Уже был(а), и не раз, и не два
Аватара пользователя

Зарегистрирован: 05 мар 2013, 11:25
Сообщения: 68
Откуда: Тамбов
Авто: Hyundai Getz
Имя: Юрий
Ну если с авто, то наверное если взять максимум легковая без прицема и фура (днинномер).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 янв 2015, 21:56 
Не в сети
Новичок

Зарегистрирован: 04 янв 2015, 20:13
Сообщения: 3
Имя: Сергей
Доброго дня!
Вот сижу и пишу прогу для дисплейчика TFT1.8 для ATmega8. Заказал этого зверька для нового проекта. Проект этот, это контроллер для аквариума. Раньше делал их по разному, с дисплеями и без, но в этот раз захотелось сделать более красиво и информативно. Вот и решил вернуться к AVR для более простого изучения этой TFT-шки.

Библиотеками не пользуюсь. Иногда в них заглядываю что бы немного сориентироваться. Я пишу для AVR практически только на Assembler, так более надежно, но трудно конечно и гораздо дольше по времени. Но! За то, получается весьма малый код и быстродействие гораздо выше.

До этого я заводил дисплей TFT2.8 (такого же типа который был преподнесен в качестве подарка нашему герою этой темы), но заводил я его именно на STM32F103VET6. В ней 512Кб флеш и 64кб ОЗУ, а тактовая частота максимум 72МГц. Порты у него 16-ти разрядные. Штука мощная по сравнению с AVR, но освоение с нуля очень не простая, если учитывать, что с английским не очень. Очень развитая аппаратная часть, там (если перейти на ты с этим монстриком, а есть контроллеры у ARM еще более мощные), можно организовать некоторые потоки данных минуя процессор благодаря встроенному DMA (прямой доступ к памяти).

На моей практике с ARM (STM32F103VET6), на частоте 72МГц с параллельной организацией дисплея 240*320, прога писалась естественно на "С", картинка была не прессованная ни чем, просто массив из значений цвета пикселя, при этом картинка выводилась 0,5с*кадр.

Конечно, несомненно AVR забрасывать не стоит, но и параллельно стоит начинать изучать более развитую систему. Мало того, на ARM есть возможность использовать FreeRTOS (операционная система реального времени). Если освоить ее, то есть возможность реализовать многозадачность.

К чему я это все? Если уж зашла такая тема о цветных дисплеях, то AVR, я так считаю тут не уместно!
Я на AVR иногда отрабатываю какое-то новое железо. Пусть с тормозами, но на нем проще. )))

В приложении идет минимальный набор для изучение STM32
Все куплено в китае ))
так и ссылочки бы за одно? а?? )) модератор
Фото вложил файлами


Вложения:
2015104162616.jpg
2015104162616.jpg [ 544.42 КБ | Просмотров: 21601 ]
2015104162555.jpg
2015104162555.jpg [ 564.32 КБ | Просмотров: 21601 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 янв 2015, 22:00 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Доброго вечера!
Так и ссылочки бы сразу выложили на место, где это все купили?
Сразу вопрос: если при всех аппаратных фенечках, типа DMA, максимальная скорость заполнения экрана равна всего 1 кадр в 0.5 сек, то какое адовое железо надо, что бы выводить на дисплей видео, хотя бы со стандартной скоростью. 24 кадра/сек?

По поводу всего прочего, в частности, про "ASM vs Си" и прочее, оставлю без комментариев. Это вечный холивар и нет на свете золотой колбасы, которая бы всех и всем устраивала бы.

Что касается Вашего мнения про сращивание цветного дисплея с AVR - спасибо, мы услышали. Никто не собирается сращивать в ожидании чего то космического. Если не связываться с графикой особо, то AVR вполне обеспечит на графическом дисплее более информативное отражение происходищих процессов в устройстве. Например, то же самое зарядное устройство, или там FM-тюнер --- ну тесновато бывает в 16*2 текстовых дисплеях! Даже 16*4 не поможет - нужно больше и гибше, только без лишних рюшечек. Дисплей от нокии 3110 конечно хорош, но на мой личный вгляд он какой то убогий, квадратный и ни туды, и ни сюды - чемодан без ручки. А вот тот же 1.8", что в начале данной ветки, уже вполне ничего себе. Он хотя бы привычно (для меня) прямоугольный, да и сделан изначально на отдельной платке, а не на огрызке запчасти мобильного телефона. В общем, в моем тексте много ЛИЧНОГО МНЕНИЯ, не претендующего на истину. Но мне кажется, что я не один в своем мнении...

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 янв 2015, 02:26 
Не в сети
Новичок

Зарегистрирован: 04 янв 2015, 20:13
Сообщения: 3
Имя: Сергей
Простите, я что-то не подумал сразу ссылки выложить. Просто я в последнее время так увлекся этим китаем, что этот магазин воспринимаю, как должное :oops:
http://www.aliexpress.com/snapshot/6056 ... 1570814481
http://www.aliexpress.com/snapshot/6056 ... 1570714481

А так, я ни чего не имею против асьмы и си. В последнее время, яработаю над тем что-бы комбинировать эти вещи.
Кстати... По повожу железо для дисплеев... Я посчитал сколько тактов в среднем нужно для вывода одного пикселя на диспле в СИ и асьме... По грубым подсчетам, на асьме будет в пять раз быстрее!!!

И против АВР, я тоже ни чего не имею против. Я пользуюсь и тем, и тем в равной степени.
Вообще я проект собирать начинаю с того, что оцениваю масштаб выполняемой задачи и потребность в ресурсах. Разница в цене AVR и STM совсем минимальная.

Я тоже так же шел к цветным дисплеям. В свое время я начинал с семисегментного индикатора и тоже радости небыло предела, а потом 16*1, 16*2, SED1520 122*32 и вот тот дисплей, что идет с демо платай. Я выложу видео, демо ролик который залит при покупле этой платы.


Я тоже решил попробовать и маленький дисплейчик для своего очередного контроллера аквариума. Там тоже не будет ни какой анимации, но думаю должно получиться все равно красиво )))

Еще...! На счет того, что у меня выводился один кадр за пол секунды... Я полагаю, что возможно первый фактор, это СИ, второй - в STM32 система тактирования совершенно не похожая на AVR. Там тактовая частота процессора отдельно, порты отдельно, аппаратные модули отдельно тактируются. 72МГц там достигается умножением частоты внешнего кварца. На плате стоит 8 МГц, и ее можно умножить до 72МГц. Может я там что напутал?! А еще эти микроконтроллеры могут выполнять программу прямо из ОЗУ и при этом производительность снижается и вероятно я тогда эксперементировал и именно с ОЗУ. Я почти с первых попыток изучить, начал заливать программу в ОЗУ, что-бы флеш не жечь. Вот и получилось так медленно. Буду разбераться.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 янв 2015, 05:21 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Deny.Semenov писал(а):
Просто я в последнее время так увлекся этим китаем, что этот магазин воспринимаю, как должное :oops:

Дык магазин то знакомый. Просто лучше 1 раз увидеть (что называется) товар лицом - тут же сразу перейдя по ссылке! Там же можно сохранить этот товар в список желаемых, что бы не терять из виду. А так ищи-свищи по какой строке искать товар. А найдешь, то не всегда поймешь - оно или не оно. А если есть ссылка, то как правило никаких вопросов больше не возникает. И хоть какая то доп.гарантия того, что по конкретной ссылке высылают не фуфло (ну или не высылали на момент получения товара человеком, давшем эту ссылку). Видите сколько нюансов?

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

Дык, это вроде и понятно, как Божий день.

Deny.Semenov писал(а):
Я тоже так же шел к цветным дисплеям.

значит каждый должен пройти свой путь, вот и все :) Это как ребенку бесполезно говорить, что вот тут не делай так - ударишься. Хрена с два! И ударяются, и шишки набивают. А без шишек ну не идет наука в голову! Пример разумеется не нужно считать, что он на все случаи жизни - другой раз чужой опыт как раз сильно выручает! Но вот как то я пока не побежал заказывать себе демо-плату STM, потому как всему свое время.

Deny.Semenov писал(а):
Я выложу видео, демо ролик который залит при покупле этой платы.

Спасибо! Обалденно просто! В общем, я нашел ответ на свой вопрос - картинка движется на экране весьма динамично, никак не 2 кадра (обновления) в секунду. Я пока не представляю себе как работает эта демка, как строится изображение, как выводятся объекты и тд. Но если глянуть фрагмент 2:40 (движение карты), то карта движется ровно. На 0:53 увеличение фотографии тоже почти без задержек (или они организованы программно). В общем, для моих текущих задач такого функционала хватило было на 150%

В целом хочу поблагодарить за предоставленную информацию. Кое какие вопросы нашли свои ответы, будущее стало несколько прозрачней. Спасибо!!! Вы, кстати, как нашли этот ресурс то?

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 янв 2015, 17:46 
Не в сети
Новичок

Зарегистрирован: 04 янв 2015, 20:13
Сообщения: 3
Имя: Сергей
Доброго дня!!!
Забрел я на этот ресурс совершенно случайно. Как я говорил, я пишу прогу на асьме для более подробного, ну, или на сколько можно подробного освоения TFT1.8 стекляшечки. Впереди новый проект и вот в очередной раз сев за программу решил пошарить про просторам инета по этой тематике. Честно сказать, растрогало то, как наш герой написал, как у него получилось и его радости не было предела. Просто вспомнил себя с моими первыми открытиями. Тогда это были очень острые ощущения. В то время когда я начинал, а это было середина 80-х, сами представляете, всетодиод то было чудо, а тем более для меня в мои 7 лет. Начинал конечно в радиокружке. Потом все мое желание идти по пути электроники и вычислительной техники закрепил компьютер Yamaha MSX и далее ZX Spectrum. Мне очень нравился мой настольный конструктор РАДИО-РК86 на процессоре 580ВМ80. Именно тогда я освоил машинный код после бейсика. В начале 2000-х освоил AVR. Это было очень легко понимая архитектуру и имея подробное описание команд процессора.
Вто время когда у меня был РАДИО-РК86, ни каких дисплеев в то время не было, а если и были какие, то на них цена была просто заоблачная. У меня на тот момент на РК86 полетел знакогенератор символов и пришлось придумывать новый метод отображения информации. Вот так то все и понеслось.
По поводу того, что два кадра в секунду... ))) Я действительно не знаю, как написана демка для этого контроллера. Я скланяюсь, что там комбинировано. Сама процедура вывода на экран написана на асьме, а остальное конечно на СИ. У меня родилась идея запросить у поставщика код.
Еще...!
После того, как я начал писать хоть что то для ARM, я до сих пор кушаю шобаку... Дело все в том, что среды разработки очень капризные и с отладкой есть косяки. С JTAG работает так, а в симуляторе по другому. В одной среде прерывания симулируются, в другой могут просто взять и не отрабатываться. Очень много подводных камней и надо стать гуру в настройке среды разработки. Может я и освою когда нибудь STM как AVR :pardon:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 янв 2015, 18:49 
Не в сети
Уже был(а), и не раз, и не два
Аватара пользователя

Зарегистрирован: 05 мар 2013, 11:25
Сообщения: 68
Откуда: Тамбов
Авто: Hyundai Getz
Имя: Юрий
Deny.Semenov писал(а):
Я полагаю, что возможно первый фактор, это СИ, второй - в STM32 система тактирования совершенно не похожая на AVR.

Тут не просто Си, а использование библиотек SPL (которые от ST), они тормозные. Сам столкнулся с этим, порировал библиотеку для OneWire и DS18B20 с AVR на ARM (на тот момент на STM32f4Discovery), там тактовая 164 МГц и при использование стандартных библиотек SPL работало всё нормально, а вот потом делал тоже самое но на другой камень STM32F100, у него тактовая всего 24 МГц и для ногодрыга SPL оказались сильно тормознутыми, переключение пина со входа на выход доходило до 5-8 мкс, что в протокол onewire не укладывалось, а вот использование макросов для записи в регистры отвечающие за режим пина исправило сутуацию.
На счёт тактирования, это легко проверить осциллографом или на худой конец светодиодом.
У самого младшего STM больше флеша и ОЗУ, а стоимость сопостовима со старшими ATtiny, но дешевле младших Мег.
Про ASM и ARM, тут гиблое дело, особо заморачиваться. Ведь даже в тех же RTOS на асме для арма очень мало, только критические части. По поводу среды разработки, один из простых вариантов (если нужно бесплатные и GCC) Coocox, хотя можно и чистый эклипс, но прийдётся повозиться с настройкой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2015, 11:55 
Не в сети
Уже был(а), и не раз, и не два

Зарегистрирован: 11 июн 2014, 00:14
Сообщения: 61
Имя: Валерий
Алексей АВРки разные есть очень интересный вариант по крайней мере для экспериментов это Arduino DUE очень интересные параметры имеет 32-bit core, that allows operations on 4 bytes wide data within a single CPU clock. (for more information look int type page). CPU Clock at 84Mhz. 96 KBytes of SRAM. 512 KBytes of Flash memory for code. 12 битные АЦП и два ЦАП http://amperka.ru/product/arduino-due


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 сен 2015, 19:04 
Не в сети
Уже тут был(а)
Аватара пользователя

Зарегистрирован: 13 май 2013, 17:38
Сообщения: 24
Откуда: Пермь
Авто: ВАЗ-21907-42-013
Имя: Роман
oka275 писал(а):
Нет, я все таки сделал это!!! (оффтопик)
Человеку, который не в курсе тонкостей, может быть не понятно ради чего человек не спал всю ночь (лег покемарить часов только в 10 утра). Ну картинка, ну с SD-флешки, ну по проводам, ну на дисплей приходит, ну показывает. Ну меняется как фоторамка на другую фотку, спустя 5 секунд. Где сенсация?!! А вот в этом самом! Дисплей не лампочка, а SD-карта не батарейка.
:beer:
Как дела-то с ЗУ с графическим дисплеем ?
У меня первое знакомство с графическим дисплеем были такие -
Фотки,
видео:
Текст свернут










Я уж как год мечтаю сварганить ЗУ под управлением миниПК, типа Raspberry Pi, Banana Pi, ODROID-W, ODROID-C1/C1+, ODROID-XU3/XU4
ну типа пользуешься мини ПК для домашних дел, типа медиа приставки или ещё чего,
а надо стало подключил интерфейсом SPI или I2C к зарядному устройству и она сделает всё как надо,
бонусом управление по сети, блюпуп и даже видеокамера и т.д. и т.п.
А в самом ЗУ только сила и ЦАП/АЦП ...
даж обзавёлся всеми перечисленными перечисленными миниПК,
Линукс у них прекрасный и полноценный, есть IDE ардуины, компиляторы Си,
но Линуксы мне больше понравились как шлюзы/маршрутизаторы и линукс-сервера,
Текст свернут

Андроид только у ODROID-ов полноценный, как у стандартных планшетников,
Текст свернут



А вот подключить к ним ЦАП/АЦП всё чет как-то руки не доходят, мож у других людей что выйдет из этой затеи ?

_________________
Автоматическое Зарядное устройство - приставка, на МК


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 ноя 2015, 04:11 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
oka275 писал(а):
В общем, ввиду отсутствия всякого опыта работы с графическими дисплеями, вначале было все грустно. Дело в том, что дисплей - не светодиод, мигать которым можно просто так, одной командой. А для работы со сложными устройствами требуются библиотеки, которые сильно упрощают общение с ними. Например, для начала работы с дисплеем его надо правильно инициализировать.


Я вообще-то впечатлен, как вы не имея опыта смогли "справится" с цветным графическим дисплеем!!!
Я тоже решил освоить цветной дисплей, полон энтузиазма я перерыл весь интернет в поисках доступной информации, или примеров их реализации. Дело в том что полгода назад я увлекся микроконтроллерами и написанием программ на СИ в CodeVision AVR. К моей радости все шло успешно. Но после того как я освоил подключение монохромного графического ЖК дисплея, мне захотелось перейти на цветные. И тут я "уперся в стену", о которую продолжаю "бится гололвой" уже два месяца. При попытке реализовать пример из CodeVision AVR на ATXmega128a1 на ATmega128a с толкнулся с трудностями его реализации (проект не работает,не могу нарисовать даже пиксель, хотя компилятор ошибок не выдает). Блуждая на просторах Интернета я случайно наткнулся на вашу статью. И у меня возникла надежда что может вы мне поможете с моей проблеммой? Если конечно вас это не затруднит. Я бы был вам признателен за небольшой обучающий пример или подсказку в каком "направлении" действовать. Если вы конечно знакомы с средой CodeVision AVR. Если нет то со средой в которой писали программу вы. Если можно то с принципиальной схемой.
Буду весьма вам благодарен! Андрей.


Последний раз редактировалось oka275 24 ноя 2015, 09:17, всего редактировалось 1 раз.
Зачем же цитировать на половину страницы?..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 ноя 2015, 16:32 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
Здравствуйте, Андрей! Ну опыт не с полки берётся, а нарабатывается. Прекрасно понимаю ощущение, когда начинаешь с чистого листа что то изучать. У меня конечно были кое какие знания о том, как работает обычный 1602-LCD-дисплей и я знал, что примерно что-то вроде этого меня ожидает. Но в какие регистры, в какой последовательности, куда и чего заливать, я конечно не знал. Ясности не добавилось даже тогда, когда нашел даташит на свой дисплей, вернее, на его управляющий LCD чип. Языковой барьер для чтения даташитов тоже имеет место быть, потому нужен чей то пример, что бы убедиться в том, что ты всё правильно понимаешь и можно идти дальше. Без примеров, без опыта - почти гиблое дело, если только не какие то сверх возможности.

Пишу я тоже на CVAVR, но уже пора задуматься о переходе на более серьезную платформу типа AVR STUDIO - много для нее сейчас есть всяких интересных библиотек. И с USB там дружат, и прочее. CVAVR хорош по началу, но я еще с годик назад признался сам себе, что да - на выходе мы имеем плохо оптимизированный код. А это и скорость, и размер. Ну ладно об этом, а то налетят сейчас с советами, и дойдет до того, что лучше вообще ассемблер. Лучше то лучше, но кто как привык выражаться.

Кидаю исходник той самой программульки, что выводит "HELLO, WORLD!" на прошлой фотографии, а потом, спустя 2 секунды, перебирает значения сигналов R,G,B (дисплей меняет цвета). Электрическую схему подключения вставлю в это сообщение несколько позже - сейчас ее некогда рисовать, принесли срочный планшет на ремонт. В остальном чем могу - обязательно помогу. Это сайт и создан для того, что бы помогать. Только сначала это касалось только автомашинки.


Вложения:
Комментарий к файлу: Этого найденного в просторах Интернета стало достаточно, что бы мой дисплей хоть как то заработал.
JD-T1800_ST7735.zip [2.9 МБ]
Скачиваний: 483
Комментарий к файлу: Исходник
hello,world!.zip [140.94 КБ]
Скачиваний: 482
IMG_20151124_124945.jpg
IMG_20151124_124945.jpg [ 458.78 КБ | Просмотров: 20797 ]

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 ноя 2015, 17:58 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
Огромное спасибо Алексей!!!

Файлы закачал. Не все понятно, но буду разбираться, думаю что должно все получится, конечно понадобится время. В любом случае вам огромное спасибо еще раз! Я уже отчаялся найти что-то конкретное в И-нете. О результатах напишу на форуме.
Еще раз огромное спасибо!!!!

Кстати я обучался на этом сайте http://avr-start.ru/?page_id=918 (может найдете для себя что-то интересное), там доступно на примерах многое объясняют, а вот с цветными дисплеями не "дружат" (наверно не знают). Сколько не уговаривал выложить пример с цветным GLCD так и не добился результата. Задавал подобные вопросы на разных форумах, вы первый, кто откликнулся на мою просьбу.
P.S. Если у вас на форуме не принято выкладывать ссылки на другие сайты то удалите.


Последний раз редактировалось oka275 24 ноя 2015, 18:03, всего редактировалось 1 раз.
Андрей, не надо цитировать весь текст. Модератор.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 дек 2015, 08:34 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
Здравствуйте Алексей!

Наконец-то, вчера пришел дисплей из Китая. Я потихоньку начал разбираться с вашим примером и хотел бы, если вас не затруднит уточнить его подключение к МК. То есть как я понял управление дисплеем осуществляется по трем проводам? SPI_A0 PORTC.4, SPI_RST PORTC.5, SPI_DISP_CS PORTB.0, и все? У меня такое чувство, что я что-то пропустил, я не нашел в программе где прописаны выходы SDA, SCK? Я хотел бы запустить ваш пример, убедится что все работает, а затем "ковырять" программный код. Очень буду вам благодарен за подсказку.
А если можно посмотреть фото обратной стороны дисплея, где выходы подключения.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2015, 02:31 
Не в сети
Заслуженный участник Клуба ЗУ-ОКА275
Аватара пользователя

Зарегистрирован: 01 апр 2012, 16:43
Сообщения: 469
Откуда: Самое Популярное Болото ;)
Авто: 11113, Almera Classi
Имя: Владимир
V32301, здесь используется аппаратный SPI:
Код:
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 2*2000,000 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: High
// SPI Data Order: MSB First
SPCR=0x58;
SPSR=0x01;

Тогда вероятно для МК в корпусе DIP40 SDA (MOSI) = pin6 и SCK = pin8

_________________
КамАЗ 11113 для души, Nissan Almera Classic для остального


Последний раз редактировалось Aquinas 17 дек 2015, 02:55, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 дек 2015, 02:35 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
V32301 писал(а):
То есть как я понял управление дисплеем осуществляется по трем проводам? SPI_A0 PORTC.4, SPI_RST PORTC.5, SPI_DISP_CS PORTB.0, и все? У меня такое чувство, что я что-то пропустил,

Здравствуйте, Андрей! Судя по ответу, Вы пропустили теорию организации шины SPI. Сигнал различия "команда-данные" есть, аппаратный ресет для дисплея тоже, выбор дисплея для общения с ним по шине - есть (сигналы указаны по порядку). Что забыли? Разумеется сигнал MOSI и конечно самый главный сигнал - SCK.
По первому сигналу дисп различает что ему сейчас будут пихать по шине - данные, которые надо выводить тут же на дисплей потоком, или же служебные инструкции (переставить курсор, сменить цвет и тд);
второй обеспечивает аппаратный сброс дисплея, например, при инициализации (у меня и без него работает, только в случае отключения этого провода от МК, этот сигнал надо подтягивать к + питания. Штатная подтяжка у МК включена. Вернее, там постоянные лог.1 - порт то на OUT работает);
по третьему МК сообщает дисплею, что сейчас с ним будут говорить. Ибо на шине может сидеть много всяких устройств, но у каждого есть такой проводок "Chip Select". И если МК опрокидывает этот провод какому то устройству в землю, то это значит для него, что все данные по шине будут предназначаться только ему. Остальные устройства не могут быть вызваны таким образом одновременно, то есть общение по шине одномоментно возможно только с одним устройством!
по сигналу MOSI, который расшифровывается как Master Out - Slave Input, что дословно означает, что "Мастер говорит, а подчиненный слушает", подчиненное устройство (дисплей) бит за битом принимает данные от МК. Первый сигнал помогает дисплею отличить - это будущие данные или будущие команды;
а сигнал SCK - Serial ClocK все это дирижирует. То есть для передачи дисплею бита "1" МК сначала поднимает MOSI в 1, а затем поднимает сигнал SCK - дисплей это понимает как РАЗРЕШЕНИЕ считать бит с шины MOSI. Естественно там лог.1 и потому дисплей считает эту лог.1. Но считает не раньше, и не позже, как только SCK поднимется в 1 (разрешит чтение)*****. Потом SCK падает в ноль и до следующего такта у обоих устройств есть время - у МК подготовить следующий бит к передаче, выставить его на шину MOSI, а у дисплея - записать принятый бит в память и приготовиться к новому циклу. Затем SCK поднимается и считывание происходит повторно. И так - пока не передадутся все биты и не отпустится сигнал Chip Select, чем самым МК отпустит дисплей на свободу.

Как то так коротко. Подробней тут http://habrahabr.ru/post/123145/
Подключать SCK надо к одноименному выводу МК, равно как и MOSI. Для SCK это 8я ножка атмега32 DIP, а MOSI шестая. Если не заработает, то можно перекинуть на 7ю, или перекинуть на дисплее с SDO на SDI. Тут всего может быть 4ре варианта только. Фотографии к сожалению нету, и сделать не могу, потому как куда то задевал дисплей. И не могу найти же!


***** Есть 4 варианта организации протокола SPI, среди которых есть ситуация, когда поведение сигнала SCK происходит в точности наоборот. То есть подчиненному устройству разрешается считывать бит не по поднятию этого сигнала, а по падению.

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 дек 2015, 03:07 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
Здравствуйте Алексей!
Спасибо огромное! Все заработало! У меня что-то заработало из дисплеев за последние 2 месяца! Также хочу поблагодарить Aquinas, зо что тоже откликнулся на мою просьбу о помощи. По поводу теории передачи данных через шину SPI, вы полностью правы, я что-то пропустил этот момент, благодарю за подсказку. Теперь начну подробно разбираться с кодом. Еще раз всем вам спасибо!!!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2015, 16:47 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
Здравствуйте Алексей!

Не подскажите есть ли программа генератор кодов шрифтов, и рисунков для данного дисплея? И если вас не затруднит скажите где вы брали код шрифтов? Да его можно сократить удалив все строки где прописаны только 0x00. Все работает. Еще раз спасибо за пример, и за помощь.
P.S. Если у кого есть желание среди радиолюбителей, то могу подсказать как с помощью ЛУТ (нюансы) добиться такого результата как на фото.


Вложения:
P1020484.JPG
P1020484.JPG [ 635.09 КБ | Просмотров: 20594 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2015, 17:11 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 10 апр 2007, 22:36
Сообщения: 11206
Откуда: Новосибирск, Дзержинский
Авто: ВАЗ-21043
Имя: Алексей
V32301 писал(а):
И если вас не затруднит скажите где вы брали код шрифтов?

Я это все брал из примера. Сам никаких шрифтов не создавал, потому как меня понесло немного в другую сторону и я временно забросил эксперименты. Но интерес не пропал, тем более встала необходимость сделать домой удобный термометр с радио-термодатчиком и радио-измерителем влажности (по задумке эти датчики находятся за окошком и раз в 5-20сек вещают на 433мгц - в каждой комнате дисплей и информация с датчиков. Как то так.). А в инете меж тем есть масса проектов метеостанций на основе таких вот дисплеев, с достаточно интересным оформлением (не чета обычному символьному дисплею). Но пока руки не дошли до этого всего. А сейчас пока вообще не до программирования из за завала на работе. А вообще по шрифтам в инете можно чёрта найти. Главное, что бы они совпадали по методу вывода изображения на дисплей. Будете разбираться - поймете о чем я говорю.

V32301 писал(а):
Да его можно сократить удалив все строки где прописаны только 0x00

я бы не стал рисковать, а всё всем спокойно бы разобрался. 0х00 закрашивают уже высвеченные ранее пикселы. Кроме того: в массиве шрифтов принят единый стандарт, например, на один символ 7*5 выделяется ровно 35 байт. А 36й байт это уже следующий символ. Если из этого массива изъять строчки, от он может "поехать" и будет белиберда.


V32301 писал(а):
P.S. Если у кого есть желание среди радиолюбителей, то могу подсказать как с помощью ЛУТ (нюансы) добиться такого результата как на фото.

хоть и оффтопик в этой теме, но имею мнение: сколько не говори про нюансы, а все равно идеально получится только в случае, если крепко повезет (с тонером, с бумагой/плёнкой/подложкой/калькой/etc, с принтером, с растворителем, с зернистостью шкурки и прямизной рук). Все это должно совпасть в идеальной пропорции, как лампочки в гирлянде при последовательном подключении. Только одно упустил и привет - не горит. Фоторезист на порядок проще, а гарантированность результата приближается к 100% И п..й на тонер и на то, что он отваливается от платы. :) Это мое мнение, основанное на личном опыте. ЛУТ - скорее исключение или артефакт, а фоторезист - специально придуманное людьми для данных целей! и это основное различие. Метод засвечивания по шаблонам применяется почти везде, даже в шелкографии. Попробуйте шелкографию сделать по ЛУТ? :)

_________________

Поблагодарить автора:
Контакты:
Телеграмм: alexSh154
Вконтакте
Одноквассники
Instagram
Skype: искать oka275 (в англ.раскладке)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2015, 23:28 
Не в сети
Уже тут был(а)

Зарегистрирован: 24 ноя 2015, 03:40
Сообщения: 16
Имя: Андрей
В моем случае получите по ЛУТ почти 100% результат, вдобавок проще, а главное дешевле фоторезиста, я не занимаюсь шелкографией, и пришел к данному результату не сразу. Изготавливал плату разных размеров. Поскольку я очень много паяю, фоторезист - для меня дороговат, плюс дополнительная операция. Для ЛУТ пришлось кое-что сделать из оборудования. Использовал много вариантов пока не добился данного результата. Почти всегда получается все с первой попытки. И ничего не отваливается. И что бы не тянуть "кота за хвост", поясню:
1. Нужно подобрать бумагу, я использую от само-клеящихся обоев, ну знаете где на обороте в овале написана цифра "333", мне рулона хватает на 2 года. Кусок бумаги нужных размеров, нужно приклеить к листу А4, иначе принтер "зажует". Все описание технологии есть в интернете.
2. Может самое главное, это точное поддержание температуры утюга. Причем это требование весьма жестко. Если температура ниже "нормы" тонар останется на бумаге (или часть его). Ели выше то "спечется", то есть дорожки будут неровными и некрасивыми. На моем опыте отличный результат получается при температуре +158 гр. (если конечно я правильно откалибровал термопару).
3. Плату необходимо хорошо прогреть при заданной температуре чуть поглаживая утюгом, со стороны рисунка.
Далее технология традиционна.
Поскольку штатный терморегулятор в утюге поддерживает температуру от заданной с разбросом плюс-минус 25 гр. всего 50 гр., то и результат получается "как карта ляжет".
Вывод: в утюг нужно "воткнуть" терморегулятор, на худой конец П - регулирование, лучше ПИ - рег., а еще лучше ПИД - регулятор.
Дискретный тоже можно, но вам придется самому следить чтобы не перегреть плату, что весьма утомляет. Я использую ПИД регулятор (если интересно и будет желание, схемы, программу, выложу чуть позже). Я просто жду когда температура утюга достигнет 158 гр., "устаканится", потому-что при первом разогреве утюга от 20 гр. до 158 гр. будет проскок температуры, особенность ПИД регуляторов, затем ложу утюг на плату (температура упадет на 5-7 гр.) и жду когда температура снова достигнет и "выровняется" 158 гр., жду еще 3 минуты (несущественно можно и больше), все - готово. Дожидаться остывания нужно до того уровня чтобы не обжечь себе пальцы. Взять за края платы и аккуратно отделить бумагу. Все!

P.S. Могу ли я Алексей, в дальнейшем обращаться к вам за помощью с вопросами по программе с дисплеем?
Спасибо за подсказку со шрифтами!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2015, 03:01 
Не в сети
Заслуженный участник Клуба ЗУ-ОКА275
Аватара пользователя

Зарегистрирован: 01 апр 2012, 16:43
Сообщения: 469
Откуда: Самое Популярное Болото ;)
Авто: 11113, Almera Classi
Имя: Владимир
V32301 писал(а):
Не подскажите есть ли программа генератор кодов шрифтов, и рисунков для данного дисплея?

Возможно, для шрифтов подойдет LCD Vision из свежих версий CVAVR. Картинки тоже может, но вроде бы только моно.

Немного пишу на Lazarus/Delphi (соответственно, и скомпилить могу и под Винду, и под Linux). Если смогу понять принцип генерации массивов со шрифтом, наверное, и утилиту-генератор смогу сварганить. Увы, с графическими индикаторами я еще не разбирался.

V32301 писал(а):
бумагу, я использую от само-клеящихся обоев

Это которая липкий слой защищает? Пробовал защитную бумагу от пленки D-C-fix и этикеток Raflatac, тоже подклеивал к листу обычной бумаги, чтобы принтер не "зажевал". Всегда получались проводники порядка 0.3 мм и никогда не было проблем с отклеиванием от проутюженной заготовки. Но сейчас тоже ушел на резист из-за повышения требований к точности и необходимости многократной печати с одного шаблона.

V32301 писал(а):
отличный результат получается при температуре +158 гр

Боюсь, для тонеров иных марок оптимальная температура может отличаться. Может быть не сильно, но все же. Надо пробовать.

V32301 писал(а):
если интересно и будет желание, схемы, программу, выложу чуть позже

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

_________________
КамАЗ 11113 для души, Nissan Almera Classic для остального


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 6


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB