Перейти к содержанию
    

LPC2478 + LCD = cтранные проблемы с синхронизацией.

Подключил к плате от Олимекс другой ЖКИ (800 480 вместо 320 240) с соответствующей корректировкой инициализации. На экране мельтешение.

post-18823-1220356551_thumb.jpg

Можно было бы списать на строчную синхронизацию, но круглый курсор в центре экрана стоит как вкопанный. Значит, нет синхронизации от кадра к кадру между содержимым ОЗУ и контроллером ОЗУ. То есть при окончании кадра данные берутся с другого места (но незначительно, т.к. общие полосы по кадрам отображаются похоже).

Вот я и думаю, как это может быть вообще и что это нужно еще подправить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень похоже, что у Вас полосы памяти не хватает, а курсор хардварный, вот и стоит на месте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень похоже, что у Вас полосы памяти не хватает, а курсор хардварный, вот и стоит на месте.

Точно!

Уменьшил частоту вдвое(до 12 MHZ) - все стоит жестко. На 16 MHZ картинка стоит, пока программа ходит внутри контроллера, но при записи данных теста в видеопамять картинка опять срывается.

Признаюсь, документацию смотрел поверхностно, но данный факт существенно ограничивает расписанные в мануале LPC2478 возможности, на самом деле 24 bpp && display resolution >= 640x480, 800x600, and 1024x768 работать не могут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Признаюсь, документацию смотрел поверхностно, но данный факт существенно ограничивает расписанные в мануале LPC2478 возможности, на самом деле 24 bpp && display resolution >= 640x480, 800x600, and 1024x768 работать не могут.

Ну, на странице продукта в Block Diagram контроллер называется "LCD controller for QVGA STN and TFT displays" :)

 

А 800x480x24bpp - это больше 118Мбайт/с в пике. Да и силами ARM7 @ 72MHz с таким экраном мало что сделаешь :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А 800x480x24bpp - это больше 118Мбайт/с в пике. Да и силами ARM7 @ 72MHz с таким экраном мало что сделаешь :(

Ну, разве специфических задач нет? Вывести красотку на экран, а потом долго рассматривать :)

 

Буду на 5-6-5 переходить, судя по таблицам в мануале, перераспределения контактов не требуется, достаточно переконфигурирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16bpp тоже не сахар, ARM9 @ 200MHz с кэшами только-только хватает тянуть 640x480x16bpp без тормозов. 8bpp - более реальное значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16bpp тоже не сахар, ARM9 @ 200MHz с кэшами только-только хватает тянуть 640x480x16bpp без тормозов. 8bpp - более реальное значение.

Спасибо, учту.

Применение права специфическое - для медицинского прибора. Видео не требуется. Статические картинки GUI можно показывать с хорошим качеством, а в динамике можно будет и до 4 bpp снизить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, разве специфических задач нет? Вывести красотку на экран, а потом долго рассматривать :)

 

Буду на 5-6-5 переходить, судя по таблицам в мануале, перераспределения контактов не требуется, достаточно переконфигурирования.

 

5-6-5 Vas vse ravno ne spaset, t.k. nado ponigat` chastotu obnovleniya i kol-vo "vykachivaemyh" baitov iz pamayati - a eto delaetsya putem umensheniya razrescheniya i bpp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5-6-5 Vas vse ravno ne spaset, t.k. nado ponigat` chastotu obnovleniya i kol-vo "vykachivaemyh" baitov iz pamayati - a eto delaetsya putem umensheniya razrescheniya i bpp

Почему же?

5-6-5 это означает 16 bpp, а исходно было 24bpp, из которых я брал аппаратно только 8-8-8.

То есть как минимум я уменьшил количество "выкачиваемых" байтов на треть.

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

 

Самое интересное, что про проблему с полосой шины читал, но не ожидал, что именно так она проявляется визуально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Применение права специфическое - для медицинского прибора. Видео не требуется. Статические картинки GUI можно показывать с хорошим качеством, а в динамике можно будет и до 4 bpp снизить.

Может быть подойдет готовое решение: ТФТ-Компаньон

Кроме SPI порта для него практически ничего не надо...

7" матрица 800х480 поддерживается.

Плюсом решается проблема несоответствия времени выпуска конкретного TFT-модуля и вашего конечного изделия. В медтехнике то жизненный цикл изделия 10 лет - норма.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть подойдет готовое решение: ТФТ-Компаньон

Кроме SPI порта для него практически ничего не надо...

7" матрица 800х480 поддерживается.

Плюсом решается проблема несоответствия времени выпуска конкретного TFT-модуля и вашего конечного изделия. В медтехнике то жизненный цикл изделия 10 лет - норма.

Спасибо за предложение. Конечно же, Ваше решение рассматривалось.

Достоинства очевидны, а недостатки ... Они тоже есть, кроме первого, недостатки - это скорее отсутствие этих достоинств :)

1) Более дорогое решение.

2) Если Вы будете адаптировать решение под другие модули, то и мы в общем то в состоянии. Первый опыт показал, что проблем особых нет.

3) Объем памяти для GUI откуда брать? Все равно ядро прибора должно быть продвинутое, графическими примитивами не обойтись. А тут ARM c USB хостом, да я весь GUI как битмапы во флэшку накидаю, а многопроцессорность в системе имеет свои недостатки.

 

Давайте наоборот? Я немного наблатыкаюсь с NXP и замутим "TFT-Брателло" на LPC-2478 ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте наоборот? Я немного наблатыкаюсь с NXP и замутим "TFT-Брателло" на LPC-2478 ? :)

"TFT-Брателло" лучше замутить на Fujitsu Jade - вот это будет вещь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"TFT-Брателло" лучше замутить на Fujitsu Jade - вот это будет вещь.

BGA-484 Package ? Не, это уже неподъемно.

Не говоря уже о программировании.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BGA-484 Package ? Не, это уже неподъемно.

Не говоря уже о программировании.

BGA детский, pitch 1.0mm. А программирование пугать не должно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Более дорогое решение.

А вы какой модуль используете?

2) Если Вы будете адаптировать решение под другие модули, то и мы в общем то в состоянии. Первый опыт показал, что проблем особых нет.

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

3) Объем памяти для GUI откуда брать? Все равно ядро прибора должно быть продвинутое, графическими примитивами не обойтись. А тут ARM c USB хостом, да я весь GUI как битмапы во флэшку накидаю, а многопроцессорность в системе имеет свои недостатки.

Зато не надо хранить две страницы видеобуфера, а для 800х480х16 bpp это полтора метра памяти. Хотя со SDRAM контроллером это не проблема :)

Давайте наоборот? Я немного наблатыкаюсь с NXP и замутим "TFT-Брателло" на LPC-2478 ? :)

Брателло больше чем 480х272 врядли потянет с нормальной скоростью, не стоит мучить 2478 :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...