jcxz 243 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба 2 часа назад, k155la3 сказал: Может быть какая-то из задержек стоит на грани предела в ту или иную сторону. На одних платах эта грань "прокатывает", на других - нет. В моём проекте на ILI9340 при инициализации только в 2-х местах есть задержки: после "Software Reset" (0x01) = 6 мсек и после "Sleep Out" (0x11) = 121 мсек. Больше нигде нету. Весь инит идёт нормально на любой SCLK (вплоть до 45МГц пробовал). Хотя конечно не ILI9341. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 16 мая, 2022 Опубликовано 16 мая, 2022 · Жалоба 1 hour ago, jcxz said: В моём проекте на ILI9340 при инициализации . . . При снижении частоты CLK SPI задержки должны были увеличиться автоматически, но не помогло. ТС без схемы (хотябы узла с SPI-->TFT) оставил такой "полет фантазии", что ... Ж8)))) В документации ILI9341.pdf есть раздел 12. Power ON/OFF Sequence с диаграммой. (первое на что наткнулся) Но что там у ТС в HW-интерфейсе TFT/ILI9341 задействовано (кроме SPI) - трудно сказать. Я бы проверил ресетную линию, если она имеется, и успевает ли установиться питание. Может в этом экземпляре контроллера поставили бОльшую емкость и установка питания затягивается. Quote после "Sleep Out" (0x11) = 121 мсек. После аппаратного ~Reset также дб задержка 120 ms до первой операции-команды. Spoiler Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба Не забыть про ожидание окончания передачи данных на ILI9341 перед убиранием чипселекта и перед сменой состояния сигнала control/data. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 10 часов назад, k155la3 сказал: При снижении частоты CLK SPI задержки должны были увеличиться автоматически, но не помогло. Задержки, о которых я писал, даже близко не могут быть достигнуты тем снижением частоты SCLK, которое производил ТС. 10 часов назад, k155la3 сказал: ТС без схемы (хотябы узла с SPI-->TFT) оставил такой "полет фантазии", что ... Ж8)))) И без программы - тоже. Так как баг может быть программным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 (изменено) · Жалоба To jcxz 1. Я конечно прошу прощения, но я не знаю что означает "TC" 2. "без схемы (хотябы узла с SPI-->TFT) оставил такой ..." - Ну Вы конечно силен! Какая схема? Семь ножек микроконтроллера (MOSI;MISO;SCLK;CS;RS;RST;BACKLED) напрямую соединены с соответствующими ножками TFT! Ну и GND and VCC (3V3)... Вот и вся схема! 3. "И без программы - тоже" Ну если вы чувствуете силы и в этом - посылаю программу интерфейса SPI нижнего уровня... M1165_TFTSPI_Config.c To GenaSPB Да! Это существенное замечание! Я как раз этого и не делал! Спасибо за совет! Изменено 17 мая, 2022 пользователем onic777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 23 minutes ago, onic777 said: . . . 2. "без схемы (хотябы узла с SPI-->TFT) оставил такой ..." - Ну Вы конечно силен! Какая схема? Семь ножек микроконтроллера (MOSI;MISO;SCLK;CS;RS;RST;BACKLED) напрямую соединены с соответствующими ножками TFT! Ну и GND and VCC (3V3)... Вот и вся схема! . . . Ну, это как из старого военно-зеленого-бронированного анекдота "на чем радиостанция". Какая схема - принципиальная ! ! ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба void GLCD_SPI_Init (void) { GLCD_RESET(); ------------------------------------------- <<<<<<<<<<<< Delay( 120 ms ) //*** For 3.2" ILI9341 GLCD_WR_REG(0xCF); GLCD_WR_DATA(0x00); . . . . // ************************************** void GLCD_RESET(void) { TFT_RST (0); Delay(1200); TFT_RST (1); Delay(200); } Вроде тут дб задержка, которую здесь выше упоминали. Я бы проверил это. ps Delay(xxx) те что в коде это миллисекунды ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба Не совсем в тему, но про SPI. Был у меня случай. МК грузит ПЛИС через SPI. Есть две платы. До определенного момента обе работали нормально. Потом, после некоторой модернизации прошивки МК, вдруг перестала грузиться ПЛИС на одной из плат. Недели две наверное исследовал проблему. И на уровне исходников, и с помощью осциллографа... проблема решилась перепаиванием ПЛИС. Видимо отвалился контакт в BGA корпусе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба Delay in milliseconds; Time in microseconds; А на счет BGA корпусов - это конечно совсем отдельная песня! Лет 10 назад я делал GPS модули и микруха там была в BGA. Так я для надежности в каждом контакте опверстие по 03 сделал и паял теплым воздухом (~200C) сквозь них снизу платы! Ну и тестировать плату было одно удовольствие!!! Все контакты доступны... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 14 minutes ago, onic777 said: Delay in milliseconds; . . . Ресет длительностью 1.2 s. Что показывает построчное прохождение кода отладчиком ? Кстати, повторяю свой вопрос, в чем проявляется "неработа". У Вас есть контрольный LED, который подмигивает, что софт не ушел (куда-то) в "завес" ? Или все работает, кроме дисплея ? Или дисплей тоже подает признаки "жизни" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 (изменено) · Жалоба Прости! Не совсем понял! А что может в этом случае показывать отладчик! Все команды проходять, задержки отрабатываются... В чем проявляется неработа? Рабочий LCD ведет себя так - после сброса экран стирается (становится черным) и начинается формирование надписей... Не рабочий - после стирания остается белым, а программа правильно идет дальше (пытается выводить на экран тестовые строки и изображения) как положено подает сигналы контрольным LED и звуковые сигналы... После прохождения под отладчиком полного цикла вывода стартовой информации программа начинает правильно выполнять основную задачу... Если сообщишь EMail - пришлю видео загрузки! А то 4MB ограничения маловато... Видео 38МВ Мой EMail [email protected] Изменено 17 мая, 2022 пользователем onic777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 4 часа назад, onic777 сказал: 3. "И без программы - тоже" Ну если вы чувствуете силы и в этом - посылаю программу интерфейса SPI нижнего уровня... M1165_TFTSPI_Config.c 12 kB · 1 скачивание Я смотрю: GLCD_WR_REG(0x11); //Exit Sleep GLCD_WR_REG(0x29); //Display on Вы проигнорировали мой совет по необходимым задержкам: 20 часов назад, jcxz сказал: В моём проекте на ILI9340 при инициализации только в 2-х местах есть задержки: после "Software Reset" (0x01) = 6 мсек и после "Sleep Out" (0x11) = 121 мсек. Больше нигде нету. как и требования даташита ILI934x, в котором говорится о необходимости задержек. Возможно из-за этого и не работает у Вас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба Спасибо за напоминание, но я еще до этой работы не доехал! Где-то через пару часов приступлю к проверке... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 4 часа назад, onic777 сказал: To GenaSPB Да! Это существенное замечание! Я как раз этого и не делал! Спасибо за совет! Если не делаете, то может всё-таки стоит делать? По присланному огрызку кода невозможно понять - правильно ли работаете с SPI, так как самой работы с SPI (функция USART_SpiTransfer()) там нет. Так что - продолжаем гадать на кофейной гуще... Но мнение о том, что проблема именно в кривой прошивке - укрепилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
onic777 0 17 мая, 2022 Опубликовано 17 мая, 2022 · Жалоба 10 minutes ago, jcxz said: Если не делаете, то может всё-таки стоит делать? По присланному огрызку кода невозможно понять - правильно ли работаете с SPI, так как самой работы с SPI (функция USART_SpiTransfer()) там нет. Так что - продолжаем гадать на кофейной гуще... Но мнение о том, что проблема именно в кривой прошивке - укрепилось. Делать конечно стоит! Ну я еще сегодня не добрался до этой работы... У мнея, увы, есть и другие функции... Что касается гадания на кофейной гуще и поиска отсутствующей функции "как самой работы с SPI (функция USART_SpiTransfer()) там нет", то может все же стоит посмотреть внимательнее огрызок кода ?!!! // ************************************** // * Do One SPI Exchange // ************************************** byte TFT_SPI (byte data) { if (timeOut) { timeOut--; } return USART_SpiTransfer(TFT_USART, data); } Вся дальнейшая работа строится на использовании этой функции... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться