ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้
-
- Вот-вот, первая же мысль при взгляде на фото модуля: на разъеме 7 контактов, а на шлейфе самого дисплея 12 контактов, может где-то там CS и зарыли? Вторая мысль: отпаять шлейф и перепаять дисплей на свою собственную плату, где на разъем вывести все необходимые сигналы. - reZident(Вчера, 22:24)
- Спасибо. Думал, что не вывели даже на шлейф, потому и не искал. Не
надо делать - это да. В обычном случае, проблем нет. А если
устройство серъёзное, с тестами ЭМС, то нужно с CS. - Nikolay_Po(Вчера, 21:56)
- Это, кстати, интересно. Чем CS поможет при сбое? Чем это лучше, чем
RESET? Кто будет определять сбой? Пользователь, смотрящий на
изображение? Много вопросов и мало ответов. - SciFi(Вчера, 22:17, +1)
- Моргнет дисплей и хусим, дальше поехали, а без CS перевключай.
Помню около эррозионного станка дисплей просто рябью покрывался при
полной мощще, зато работал. - Andreas(Вчера, 22:35, +1)
- Ага, щас, моргнёт. Картинка живёт в ОЗУ, которое в дисплее. Если
есть помеха, картинка уже испорчена. Надо заново перерисовывать.
Что там было в том станке, мне неведомо, но думаю, какой-то другой
дисплей. - SciFi(Вчера, 22:40)
- Ну так его постоянно обновляешь,ну я по крайней мере так делаю.
Дисплей другой был,но ссуть примерно та же. - Andreas(Вчера, 22:42, +1)
- В смысле? Прорисовываем все прямоугольники и тексты? Как часто? - SciFi(Вчера, 22:45)
- Можно оперативно выводить информацию как обычно. А фоновым процессом перерисовывать всю остальную площадь дисплея. По крайней мере, я так стараюсь делать в проектах, в которых устройство работает постоянно. - Nikolay_Po(Вчера, 23:18)
- Это он просто накидывает что в голову пришло. Реально там сбиваются цвета и прочее. Тупая перерисовка (с морганиями и прочим) не решает вопрос. - POV(Вчера, 22:48)
- 2 раза в секунду, но прямоугольников мало, текст в основном. - Andreas(Вчера, 22:47)
- DMA же почти не жрет ресурсы, а в прерываниях по заполнению буфера
выполняется достаточно небольшое количество действий. Так что,
можно и почаще обновлять. - Eddy_Em(Сегодня, 01:42)
- Ты посчитал, какого размера кадровый буфер для 240x240x16 бит? 450
полных килобайт. Не всякий МК мелкого контроллера (пока ещё) имеет
столько ОЗУ. - Nikolay_Po(Сегодня, 09:44)
- Считаю: 240х240х(1/8+1/32)=9000. Плюс 3х480=1440 байт на буфер DMA.
Ты откуда вообще 450кБ взял? - Eddy_Em(Сегодня, 12:05)
- 256к цветов это 18 бит (6+6+6) на пиксель. - reZident(Сегодня, 12:10)
- Ок, тогда для DMA на 2 строки понадобится ещё меньше памяти! - Eddy_Em(Сегодня, 12:16)
- там RGB565 - 2 байта на точку. 115 кбайт экран требует. Но и это:
1) дохрена, 2) долго выводить весь экран - POV(Сегодня, 12:13)
- По даташиту скорость SCL до 62,5МГц выходит (TSCYCW=16ns(Min)). При цветности 65К можно легко до 67Гц частоту обновления всего экрана (240*240) получать. - reZident(Сегодня, 13:04)
- 9000 байт на буфер + 960 байт на циклический DMA для двух строк. И на надо сотни килобайт на пустом месте выдумывать! - Eddy_Em(Сегодня, 12:18)
- 2 байта на точку это 65k цветов. Или я чего-то не понимаю? reZident(1 знак., Сегодня, 12:16, картинка)
- Я же говорю: индексированный цвет! По таблице (16 байт) 4-битовый
цвет превращается в нужный и помещается в очередную ячейку буфера
DMA. Eddy_Em(118 знак., Сегодня, 12:54)
- Ну вот я 3битный по таблице перевожу в 16, накапливаю 128 байт и вывожу. Можно выводить по дма и в это время новую пачку копить, но время не жмет. Но все равно весь экран не скинешь разом. - Andreas(Сегодня, 13:03)
- Я не про заполнение буфера в ОЗУ МК, а про вывод в буфер дисплея. - reZident(Сегодня, 12:57)
- Я же говорю: индексированный цвет! По таблице (16 байт) 4-битовый
цвет превращается в нужный и помещается в очередную ячейку буфера
DMA. Eddy_Em(118 знак., Сегодня, 12:54)
- 256к цветов это 18 бит (6+6+6) на пиксель. - reZident(Сегодня, 12:10)
- Угу, я 3 бита на пиксель использую и перекодирую. - Andreas(Сегодня, 11:20)
- Считаю: 240х240х(1/8+1/32)=9000. Плюс 3х480=1440 байт на буфер DMA.
Ты откуда вообще 450кБ взял? - Eddy_Em(Сегодня, 12:05)
- Ты посчитал, какого размера кадровый буфер для 240x240x16 бит? 450
полных килобайт. Не всякий МК мелкого контроллера (пока ещё) имеет
столько ОЗУ. - Nikolay_Po(Сегодня, 09:44)
- DMA же почти не жрет ресурсы, а в прерываниях по заполнению буфера
выполняется достаточно небольшое количество действий. Так что,
можно и почаще обновлять. - Eddy_Em(Сегодня, 01:42)
- Ерунда.. кто настройки дисплея после сбоя восстановит? - POV(Вчера, 22:44)
- Настройки в дисплей не так часто пишутся. Сбой, при наличии CS,
будет всего на одну трназакцию и приведёт только к порче
изображения, которое регулярно перерисовывается. С CS нет проблем -
перерисовал - и всё. И настройки можно профилактически
перезаписывать верные - моргать не должен, так как настойки те же. Nikolay_Po(347 знак., Вчера, 23:01)
- Повторяю. Вот я дисплей настроил и начал работать... POV(245 знак., Вчера, 23:06, картинка)
- Да, Олег, спасибо. Я уже согласился, что у тебя нормально сделаны настройки SPI: Nikolay_Po(34 знак., Вчера, 23:10, ссылка, ссылка)
- Повторяю. Вот я дисплей настроил и начал работать... POV(245 знак., Вчера, 23:06, картинка)
- Настройки в дисплей не так часто пишутся. Сбой, при наличии CS,
будет всего на одну трназакцию и приведёт только к порче
изображения, которое регулярно перерисовывается. С CS нет проблем -
перерисовал - и всё. И настройки можно профилактически
перезаписывать верные - моргать не должен, так как настойки те же. Nikolay_Po(347 знак., Вчера, 23:01)
- В смысле? Прорисовываем все прямоугольники и тексты? Как часто? - SciFi(Вчера, 22:45)
- Ну так его постоянно обновляешь,ну я по крайней мере так делаю.
Дисплей другой был,но ссуть примерно та же. - Andreas(Вчера, 22:42, +1)
- Ага, щас, моргнёт. Картинка живёт в ОЗУ, которое в дисплее. Если
есть помеха, картинка уже испорчена. Надо заново перерисовывать.
Что там было в том станке, мне неведомо, но думаю, какой-то другой
дисплей. - SciFi(Вчера, 22:40)
- CS инициализирует последовательный интерфейс, а не сам дисплей. В
даташите так и написано "When CSX is “high”, SCL clock is ignored. During the high period
of CSX the serial interface is initialized." - reZident(Вчера, 22:31)
- А без CS, после сбоя тактового сигнала, интерфейс остаётся
неинициализированным. И дисплей продолжает принимать биты с линии
SDA (MOSI) со сдвигом - часть с предыдущего байта, часть со
следующего. И без CS этого не исправить, только выключением питания
или, может, аппаратным RESETом. - Nikolay_Po(Вчера, 23:06)
- Так и нет ответа на вопрос: кто будет сообщать о сбое? - SciFi(Вчера, 23:08)
- Я делаю так, что не нужно сообщать. Мой любимый фокус - каждый раз инициализировать устройство заново и начинать с нуля. В таком случае, сбои не страшны. К дисплею этот фокус подходи плохо - моргает. Nikolay_Po(625 знак., Вчера, 23:25)
- А отдельную кнопку "сброс" нельзя предусмотреть? Не RESET от
дисплея вывести на кнопку, а именно пользовательскую команду
"реиницализация изображения" реализовать. - reZident(Вчера, 23:19)
- Просто делать переинициализацию при переключениях экранов меню или
при выходе из меню на главный экран. - Nikolay_Po(Вчера, 23:26)
- Насчет переинициализации при смене экрана это мысль, боюсь я
дисплеев, травма детства. ) - Andreas(Вчера, 23:42)
- Я тут накопал потенциальную проблему для переинициализации: Nikolay_Po(445 знак., Вчера, 23:51, ссылка)
- Не ну это перебор уже, где-то надо остановиться. Если шибануло так,
что внутренняя память слетела, то и защелкнуть может. - Andreas(Вчера, 23:54)
- Нет, сценарий сбоя прост: при подаче команды записи в память изображения, исказился код команды и получилась команда записи в регистр установки напряжения. Всё. Дисплей неработоспособен, не отображает нормальную картинку. Nikolay_Po(228 знак., Вчера, 23:58)
- Ещё можно попробовать фотовспышкой туда поморгать. Но настоящей, а не вот этими хилыми лампочками от смартфона. Чип на стекле может поймать зайчика :-) - SciFi(Вчера, 23:57, +1)
- Не ну это перебор уже, где-то надо остановиться. Если шибануло так,
что внутренняя память слетела, то и защелкнуть может. - Andreas(Вчера, 23:54)
- Возможно, ради этого даже имело бы смысл ввести переключение экранов туда-сюда, когда никто не трогает. Как Screen Saver. - SciFi(Вчера, 23:47)
- Я тут накопал потенциальную проблему для переинициализации: Nikolay_Po(445 знак., Вчера, 23:51, ссылка)
- Насчет переинициализации при смене экрана это мысль, боюсь я
дисплеев, травма детства. ) - Andreas(Вчера, 23:42)
- Просто делать переинициализацию при переключениях экранов меню или
при выходе из меню на главный экран. - Nikolay_Po(Вчера, 23:26)
- Угу. If CSX stays low after the last bit of command/data byte, the serial interface expects the D/CX bit (3-line serial interface) or D7 (4-line serial interface) of the next byte at the next rising edge of SCL. - reZident(Вчера, 23:08)
- Так и нет ответа на вопрос: кто будет сообщать о сбое? - SciFi(Вчера, 23:08)
- Лично наблюдал на ST7789 как по включении частотника рядом
сбивались через линии SPI (99% за это) настройки дисплея. Все линии
обвешивал RC пока не начало работать стабильно... на там шлейф
длинный, а если оп плате дорожки - то хрен собьёшь. - POV(Вчера, 22:32)
- Ну так если сбилась синхронизация интерфейса, то не сбросив/не
инициализировав его (последовательный интерфейс), как доступ к
регистрам с настройками самого дисплея получить? - reZident(Вчера, 22:36 - 22:38)
- Она не должна сбиваться! Да, раз на 1000 возможен, увы.. но это
именно вот так редко должно быть если нет способа диагностировать
сбой. - POV(Вчера, 22:37)
- Не должна??? Вы себя на роль Господа предполагаете? :-))) Можно и
без диагностики обойтись, если есть возможность без видимых
артефактов изображения время от времени реинициализировать все
настройки. Ну или как минимум 2-3 раза в секунду обновлять
содержимое экрана даже, если это статическое изображение без
изменений. - reZident(Вчера, 22:45)
- Этот ST7789 если сбивается, то отнюдь не просто теряет интерфейс.
Статистика (количество изделий) на моей стороне. - POV(Вчера, 22:46)
- В статистике дисплей с или без CS? - reZident(Вчера, 22:55)
- Масса - именно c CS. Сбиваются только в путь! Сначала начинают
рисовать не теми цветами, а затем может вообще отвалиться. RC на
линиях SPI, Reset, CS решают вопрос. Но нужно очень аккуратно. - POV(Вчера, 23:00)
- Регистры с настройками пробовали реинициализировать при сбоях? - reZident(Вчера, 23:04)
- Их нельзя идентифицировать, MISO нету на модуле! Но на моей плате
был еще PCA9575 - он синхронно сбоил - по его регистрам производил
переинициализацию, всё начинало работать. Сейчас сбоев нет,
подобрал фильтры на линиях. - POV(Вчера, 23:10)
- А! Понял! Есть проблема со специфическими настройками, например,
напряжениями матрицы, гамма-коррекцией и прочим, специфичным, что
прошивается производителем дисплея в OTP драйвера. Если в эти
настройки при сбое запишется мусор, то их не переписать, так как
неизвестны правильные значения, которые могли бы быть вычитаны, но
без SDO этого не сделать. Nikolay_Po(165 знак., Вчера, 23:46)
- Даже с SDO вовсе не очевидно, что вычитывание всего, что можно
вычитать, гарантирует обнаружение сбоя. Это тупиковое направление,
КМК. Зато делать скриншоты удобно, если можно вычитывать
видеопамять. - SciFi(Вчера, 23:49)
- У меня ключик сборки есть и по нему в уарт кидает вместе с выводом на дисплей, а потом питоном в BMP собирает, для паспорта генерил все экраны. А потом дезигнер маялся с нии. - Andreas(Вчера, 23:58, +1)
- Я не про обнаружение сбоя. А про постоянное, периодическое перезаписывание всех настроек верными значениями. Без SDO просто не узнаешь, какие значения верны для некоторых регистров, которые настраивает производитель дисплея для конкретной матрицы. - Nikolay_Po(Вчера, 23:53)
- Даже с SDO вовсе не очевидно, что вычитывание всего, что можно
вычитать, гарантирует обнаружение сбоя. Это тупиковое направление,
КМК. Зато делать скриншоты удобно, если можно вычитывать
видеопамять. - SciFi(Вчера, 23:49)
- Я имею в виду, что реинициализировать настройки = переписать значения регистров настроек теми же значениями, что были до сбоя. Предварительное чтение для "тупой" перезаписи не требуется. - reZident(Вчера, 23:15)
- А! Понял! Есть проблема со специфическими настройками, например,
напряжениями матрицы, гамма-коррекцией и прочим, специфичным, что
прошивается производителем дисплея в OTP драйвера. Если в эти
настройки при сбое запишется мусор, то их не переписать, так как
неизвестны правильные значения, которые могли бы быть вычитаны, но
без SDO этого не сделать. Nikolay_Po(165 знак., Вчера, 23:46)
- Их нельзя идентифицировать, MISO нету на модуле! Но на моей плате
был еще PCA9575 - он синхронно сбоил - по его регистрам производил
переинициализацию, всё начинало работать. Сейчас сбоев нет,
подобрал фильтры на линиях. - POV(Вчера, 23:10)
- Регистры с настройками пробовали реинициализировать при сбоях? - reZident(Вчера, 23:04)
- Масса - именно c CS. Сбиваются только в путь! Сначала начинают
рисовать не теми цветами, а затем может вообще отвалиться. RC на
линиях SPI, Reset, CS решают вопрос. Но нужно очень аккуратно. - POV(Вчера, 23:00)
- В статистике дисплей с или без CS? - reZident(Вчера, 22:55)
- Этот ST7789 если сбивается, то отнюдь не просто теряет интерфейс.
Статистика (количество изделий) на моей стороне. - POV(Вчера, 22:46)
- Не должна??? Вы себя на роль Господа предполагаете? :-))) Можно и
без диагностики обойтись, если есть возможность без видимых
артефактов изображения время от времени реинициализировать все
настройки. Ну или как минимум 2-3 раза в секунду обновлять
содержимое экрана даже, если это статическое изображение без
изменений. - reZident(Вчера, 22:45)
- Она не должна сбиваться! Да, раз на 1000 возможен, увы.. но это
именно вот так редко должно быть если нет способа диагностировать
сбой. - POV(Вчера, 22:37)
- Ну так если сбилась синхронизация интерфейса, то не сбросив/не
инициализировав его (последовательный интерфейс), как доступ к
регистрам с настройками самого дисплея получить? - reZident(Вчера, 22:36 - 22:38)
- А без CS, после сбоя тактового сигнала, интерфейс остаётся
неинициализированным. И дисплей продолжает принимать биты с линии
SDA (MOSI) со сдвигом - часть с предыдущего байта, часть со
следующего. И без CS этого не исправить, только выключением питания
или, может, аппаратным RESETом. - Nikolay_Po(Вчера, 23:06)
- CS можно в 1 выставить и надеяться, что контроллер перестанет ждать
данных, а при следующем переходе в 0 все будет хорошо. Eddy_Em(160 знак., Вчера, 22:19)
- Если сбой по линиями SPI более чем вероятен, то CS не поможет -
переинициализацию по какому признаку делать? Сбоев тупо быть не
должно по итогам представительного испытания. - POV(Вчера, 22:25)
- Тесты на ЭМС проходил? - Nikolay_Po(Вчера, 23:30)
- Нет, заказчик этими глупостями не озабочен, хотя я не раз озвучивал
вопрос )) .. до поры до времени это. - POV(Вчера, 23:31)
- Речь не идёт о том, чтобы делать устройство так, чтобы там были
помехи и сбоил дисплей, а CSом эти сбои парировать. Нет, речь о
том, что без CS, сбоя точно не устранить программно. Ты же пишешь,
что даже при возможности управлять дисплеем, после сбоя, его не
удаётся привести в нормальное состояние - попытки восстановить
настройки не помогают? Nikolay_Po(384 знак., Вчера, 23:37)
- Наличие CS как-то душу греет, сам бы хотел - вне зависимости от полезности (всё равно код предусмотрен.. картинко). Но если этого нет, и работает девайс в типичных для него условиях, то чего париться? Пусть заказчик сас проверяет устраивает его это или нет.. не об АЭС же речь идет! Я то зачем буду ресурсы тратить на никому ненужную супернадежность? POV(1 знак., Вчера, 23:42, картинка)
- Речь не идёт о том, чтобы делать устройство так, чтобы там были
помехи и сбоил дисплей, а CSом эти сбои парировать. Нет, речь о
том, что без CS, сбоя точно не устранить программно. Ты же пишешь,
что даже при возможности управлять дисплеем, после сбоя, его не
удаётся привести в нормальное состояние - попытки восстановить
настройки не помогают? Nikolay_Po(384 знак., Вчера, 23:37)
- Нет, заказчик этими глупостями не озабочен, хотя я не раз озвучивал
вопрос )) .. до поры до времени это. - POV(Вчера, 23:31)
- Тесты на ЭМС проходил? - Nikolay_Po(Вчера, 23:30)
- Если сбой по линиями SPI более чем вероятен, то CS не поможет -
переинициализацию по какому признаку делать? Сбоев тупо быть не
должно по итогам представительного испытания. - POV(Вчера, 22:25)
- Моргнет дисплей и хусим, дальше поехали, а без CS перевключай.
Помню около эррозионного станка дисплей просто рябью покрывался при
полной мощще, зато работал. - Andreas(Вчера, 22:35, +1)
- Это, кстати, интересно. Чем CS поможет при сбое? Чем это лучше, чем
RESET? Кто будет определять сбой? Пользователь, смотрящий на
изображение? Много вопросов и мало ответов. - SciFi(Вчера, 22:17, +1)