Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.05.2023, 16:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Пытаюсь третий день работать с экранчиком. На печатной плате сзади написано: "QVGA 2.2TFT SPI 240x320". Гугол подсказал мне, что там скорей всего чип ILI9341.
Третий день уже мучаюсь с этой заразой: не могу ни одного регистра считать! Хоть 0x04, хоть 0xD3 (где как раз и должно быть записано 0x9341). Здесь можно осциллограммы глянуть на фоне CLK: нога reset у меня постоянно к +3.3В подсоединена, CS поджимаю к земле на каждой передаче (хоть в даташите и не сказано, что CS нельзя напрямую на землю посадить - сначала у меня так и было), D/C поджимаю к земле для команды и к +3.3В для данных. Однако, на MOSI постоянно какой-то мусор в районе 0В (если подтянуть резистором к +3.3В, ситуация практически не меняется, только мусор теперь в районе питания).
Подозреваю, что внутри таки не ILI9341.
Оторвал экран от печатной платы. А там.. Думал, будет чип, но там тупо шлейф подпаян к печатной плате (а где же сам чип?). На шлейфе написано QD2201, на задней стороне экрана - "BL22019-D JS22003E180926". Ни то, ни другое в поисковиках не обнаруживается.
И как же это опознать?
Блин, нашел похожий, пишут, что там ILI934 0! Сейчас скачаю даташит и буду пытаться что-нибудь считать, если это 9340...
Не, оказалось, что протокол там такой же.
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 09.05.2023 в 01:32.
Причина: 6.6
|
|
|
|
08.05.2023, 16:53
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как определить, на каком чипе экран?
ILI и не обязан только по SPI работать. У него этих интерфейсов - доталова. Даже SPI в двух вариациях представлен.
Сообщение от eddy
|
а где же сам чип?
|
Как где? В экране, на стекле конечно же.
|
|
|
|
09.05.2023, 01:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
В общем, вручную ввел в терминал команды: 0x11, 0х29. Экранчик из белого стал серым. Ввел команду 0x2c, а потом стал вводить данные - по экрану стали ползти пиксели.
Сейчас попробовал другие регистры прочитать. Вуаля! 0x09 (display status) читается, 0x0a (power mode) - тоже. А вот 0х04 и 0xD3 - нет.
Так и не понял, что там за чип: ILI9341 или ILI9340 - у них набор команд практически одинаковый, а различающиеся все равно не использую. Получилось заливать разными цветами (кстати, в доках еще одну ошибку нашел: там бит регистра MADCTL, отвечающий за порядок цветов, обозвали BGR, хотя на самом деле он RGB, т.к. установка его в 1 и дает цвет RGB). Еще в доках не указано, что обязательно нужно стробировать CS, опытным путем это было установлено. Ну и вообще, читая эту "книгу", реально там местами видишь "фигу": описание некоторых флагов пропущено, а многие вещи описаны так, что вообще хрен поймешь, что хотел сказать автор (как будто плохо знающий английский язык китаец пытался перевести, но забил в тех местах, где не знал, что написать)!
Обновил репозиторий. Теперь можно уже конкретно заняться разработкой экранного буфера и перенести свои наработки по менюшкам/шрифтам. Боюсь, шрифт 8 пикселей высотой здесь мелковат будет, нужно будет 16-битный использовать (а там у меня кириллица не нарисована ввиду моей лени; ну и пофиг: пущай по-английски менюшка будет).
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 09.05.2023 в 01:33.
Причина: 6.6
|
|
|
|
09.05.2023, 13:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,985
Сказал спасибо: 3,007
Сказали Спасибо 3,182 раз(а) в 2,160 сообщении(ях)
|
Re: Как определить, на каком чипе экран?
Фото подопытного - не помешало бы. Может кто уже видел такой. А будущие исследователи - смогут убедиться, что имеют дело с чем-то подобным.
И ссылка на магазин?
__________________
Экзорцист 40-го уровня.
|
|
|
|
09.05.2023, 14:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Как определить, на каком чипе экран?
Похож вот на такой: https://aliexpress.com/item/1005005515322696.html
Ссылку на магазин дать не могу, т.к. купил его коллега на али вместе с толпой прочей комплектухи еще пару лет назад "чтобы было", а сейчас вот разрабатываем очередную железяку - понадобился экранчик.
Жаль, конечно, что с него считать ничего не выходит. Я думал было сделать сам экран хранилищем пиксельной графики (а если что-то нужно дорисовать, скачиваешь небольшую область, дорисовываешь, и отправляешь обратно). Придется просто спрайтовую делать. В этом случае мне "всего лишь" 9600 байт понадобится для хранения пиксельной информации + 1200 байт на индексированную таблицу цвета + 1280 байт на буфер для передачи данных по SPI в экран (при помощи DMA).
Время обновления, правда, очень большое: полностью экран перерисовывается за примерно одну секунду. Попытаюсь, конечно, SPI тактировать от f/8, а не f/16, но уже на f/16 фронты заваливаются и выбросы появляются (тем более через резисторы по 330 Ом для хоть какой-то защиты микроконтроллера)…
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 09.05.2023 в 22:06.
Причина: 7.19.1
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:55.
|
|