реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> LPC2478, Работа с внешней памятью и LCD
SasaVitebsk
сообщение Dec 16 2010, 11:00
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Доброго времени суток.
У меня возник вопрос. В некоторых топиках проскакивали различные мнения, поэтому хотелось бы проконсультироваться у знающих.

Итак имеется LPC2478 + SDRAM + TFT. SDRAM подключено ч/з шину 16 бит. Читал мнение, что в таком случае нет смысла подключать TFT по 8-8-8, так как шина 16 бит. Возникает и другой вопрос. Целесообразно ли обрабатывать одновременно 2 точки в варианте 5-6-5? Вроде как всё равно операция будет выполнена не одновременно. Но с другой стороны, я читаю в даташите, что есть буферизация на запись/ чтение. С учётом параллельной работы TFT, всё это сложно оценить теоретически. А аппаратно можно, но нехочется заморачиваться, наверняка кто-то это уже проделывал и может быть подскажет?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
skripach
сообщение Dec 16 2010, 19:10
Сообщение #2


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Целесообразно ли обрабатывать одновременно 2 точки в варианте 5-6-5?

Что есть обрабатывать? и Что есть одновременно?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 16 2010, 19:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(SasaVitebsk @ Dec 16 2010, 17:00) *
Читал мнение, что в таком случае нет смысла подключать TFT по 8-8-8, так как шина 16 бит.

Странное мнение. Если хватает пропускной способности шины, то всё можно.
Калькулятор загрузки шины
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 17 2010, 03:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(skripach @ Dec 17 2010, 02:10) *
Что есть обрабатывать? и Что есть одновременно?

При работе в режиме 5-6-5 точка занимает 2 байта. Я могу записывать 4 байта одной операцией. То есть сразу 2 точки.
Например при выводе изображения, при заливке, при выводе линии и т.п.
В целом, в GUI придётся переписать некоторые примитивы графические.
Вопрос какой выигрыш это даст?

При работе с графикой во внутренней памяти на другом контроллере с аналогичным ядром (без контроллера TFT), это даёт существенный выигрыш.


Цитата(scifi @ Dec 17 2010, 02:18) *
Странное мнение. Если хватает пропускной способности шины, то всё можно.
Калькулятор загрузки шины

Спасибо большое. Весьма наглядно. a14.gif
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 18 2010, 09:28
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Пробовал и 16 и 24 битный цвет.
Разница по скорости на ТЕСТАХ - ожидаемая.

А вот в реальном приложении доля графики очень низкая. Скажем, 24 битный цвет - 5%, 16 битный - 2.5% (Очень грубо). Как бы не стоит борьбы такой выигрыш. А вот картинки все кругом 24 битные. И градиент намного лучше 24 битный.

Разумеется, если мультики крутить - то да. А так - я бы оставил 24 бита.

Память у меня тоже 16 разрядов.

----

ЗЫ. Графика такого рода. 4 штуки индикатора типа бар на 256 градаций, цифровые часы, аналоговые часы с секундной стрелкой, число на экране, которое постоянно меняется - 8 разрядов шрифта 40 на 35 точек со сглаживанием.



--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 18 2010, 14:45
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Непонятно в чем вы хотите получить выигрыш.
Если в скорости ,то мне хватало прочитать из внешней памяти по SPI ,распаковать делая целую кучу битовых операций и загнать тоже по SPI в индикатор.
Если паралель то вообще проблем со скоростью не должно быть,хотя размер экрана по точкам пока тоже мне не ясен. laughing.gif
Если проблемы с памятью ,дарю свою программку,сможете оценить все на месте,и качество картинки и обьемы,
сжатие дает возможность распаковки картинки "на лету".
Рисованую графику жмет конкретно,причем для "рисовалки" не обязательно нужно высокое разрешение,а вот с фотками дело хуже.
У меня допустим графики полно ,плюс звук,так что не зря когда то пыхтел. smile3046.gif
Прикрепленные файлы
Прикрепленный файл  ScreenBin9.zip ( 17.24 килобайт ) Кол-во скачиваний: 106
 
Go to the top of the page
 
+Quote Post
yarunt
сообщение Dec 19 2010, 18:40
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 215
Регистрация: 13-12-06
Из: fghgfh
Пользователь №: 23 476



Цитата(bodja74 @ Dec 18 2010, 20:45) *
Непонятно в чем вы хотите получить выигрыш.
Если в скорости ,то мне хватало прочитать из внешней памяти по SPI ,распаковать делая целую кучу битовых операций и загнать тоже по SPI в индикатор.
Если паралель то вообще проблем со скоростью не должно быть,хотя размер экрана по точкам пока тоже мне не ясен. laughing.gif
Если проблемы с памятью ,дарю свою программку,сможете оценить все на месте,и качество картинки и обьемы,
сжатие дает возможность распаковки картинки "на лету".
Рисованую графику жмет конкретно,причем для "рисовалки" не обязательно нужно высокое разрешение,а вот с фотками дело хуже.
У меня допустим графики полно ,плюс звук,так что не зря когда то пыхтел. smile3046.gif

Подтверждаю,ваш сжиматель очень даже работает на ура, делал в двух проектах ,хамелеон и термометр с песиком. Даже запускал картинку на lpc 2478, когда подключал ее к ТВ. Но вот на армах нужно разрешение картинки от 320*240, а мне уже и стыдно у вас laughing.gif просить.


--------------------
Нельзя впихнуть,невпихуемое?МОЙ БЛОГ
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 21 2010, 11:09
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Качайте с предыдущего топика последний релиз ,будет Вам 320*240
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Dec 21 2010, 11:48
Сообщение #9


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(DpInRock @ Dec 18 2010, 07:28) *
Как бы не стоит борьбы такой выигрыш. А вот картинки все кругом 24 битные. И градиент намного лучше 24 битный.

ЗЫ. Графика такого рода. 4 штуки индикатора типа бар на 256 градаций, цифровые часы, аналоговые часы с секундной стрелкой, число на экране, которое постоянно меняется - 8 разрядов шрифта 40 на 35 точек со сглаживанием.

Для такой графики как вас палитрового цвета хватило бы с запасом. У меня аналогичная система, плюс еще несколько статических картинок. Для шрифтов со сглаживанием достаточно 5-6 уровней, а если 8 сделать, то дальнейшее увеличение никакого улучшения не дает.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 22 2010, 04:32
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(bodja74 @ Dec 18 2010, 20:45) *
Непонятно в чем вы хотите получить выигрыш.
Если в скорости ,то мне хватало прочитать из внешней памяти по SPI ,распаковать делая целую кучу битовых операций и загнать тоже по SPI в индикатор.
Если паралель то вообще проблем со скоростью не должно быть,хотя размер экрана по точкам пока тоже мне не ясен. laughing.gif
Если проблемы с памятью ,дарю свою программку,сможете оценить все на месте,и качество картинки и обьемы,
сжатие дает возможность распаковки картинки "на лету".
Рисованую графику жмет конкретно,причем для "рисовалки" не обязательно нужно высокое разрешение,а вот с фотками дело хуже.
У меня допустим графики полно ,плюс звук,так что не зря когда то пыхтел. smile3046.gif

Размер в пикселях, простите упустил. 480х272. Дисплей 4.3".

В первом варианте использовался стартеркитовксий комплект. Там стояла 8-бит SRAM. Я не додумался, что можно реализовать 5-6-5, так как дисплей физически был подключён 8-8-8. Я его и ввалил как 8-8-8. Согласно расчётов на предложенном калькуляторе загрузка шины при этом превышает 100%. ))
В графике у меня пару самопальных (требование) слайдеров, тексты меняющиеся и 3 ряда картинок 48х48. Это на основном экране. На следующем - полноценная гуёвина со всеми атрибутами, только без TS.
Часть пиктограм расположена на фиксированном месте экрана - часть как бы с вставлением (то есть, кпримеру, при удалении картинки перерисовываются все последующие). Есть картинки, которые могут "моргать", по принципу светодиода, с частотой 1Гц.

Была реализована первая часть. Вот это моргание и выглядит х@..., короче плохо. Пока первое изделие катается на новом навороченном автобусе МАЗ, я приобрёл второй комплект стартеркит и делаю на нём гуёвину. Там уже стоит SDRAM 16 бит. Дисплей подключил 5-6-5. При такой конфигурации загрузка шины составляет ~30%. Гуёвина работает отлично. Пока лишь мелкие претензии. Я её очень сильно перелопатил. Нашёл и устранил некоторые ошибки. Написана в лоб. Я думаю что смогу оптимизировать вывод картинок ~ на 30%, текста более чем на 50% и примитивов ~ 15-20%. Времени на работу мало. Первая часть написана за 2 месяца, при том, что графика там совсем не основное. Вот я и оцениваю насколько нужна такая работа. И насколько она нужна сейчас. ))
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 22 2010, 06:29
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



8-8-8 более удобно. Ибо там пиксель 32 разрядный на самом деле.
В 16 разрядном надо будет тратить время на упаковку распаковку. Небольшое, мизерное, но придется.

Чтоб не моргало (в моем случае секундная стрелка часов), вставил перед обновлением ожидание обратного хода луча.
У меня тоже 480 на 272.

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


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 23 2010, 05:39
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(DpInRock @ Dec 22 2010, 13:29) *
8-8-8 более удобно. Ибо там пиксель 32 разрядный на самом деле.
В 16 разрядном надо будет тратить время на упаковку распаковку. Небольшое, мизерное, но придется.

У меня данные не поступают извне. Таким образом никаких упаковок/ распаковок делать не придётся. Картинки хранятся в виде монохромных. При выводе я оцвечиваю. Также и с гуёвиной, что в общем стандартно. То есть упаковка цвета осуществляется на этапе компиляции и при исполнении не влечёт доп расходов. При формировании картинки я могу одной операцией выводить 2 точки.
Цитата
Чтоб не моргало (в моем случае секундная стрелка часов), вставил перед обновлением ожидание обратного хода луча.
У меня тоже 480 на 272.

Можно пример ожидания, пожалуйста.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.02803 секунд с 7
ELECTRONIX ©2004-2016