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

 
 
> LPC2468, как прикрутить графический ЖКИ
haker_fox
сообщение Nov 15 2011, 02:33
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Здравствуйте, уважаемые коллеги!
В LPC2468 нет графического контроллера. Однако, очень хочется попробовать подключить к нему LCD TM12864 (128x64 точки). Монохромный. Интерфейс ЖКИ параллельный (8 бит данных, выбор кристалла и строб записи + еще пара сигналов). Контроллер ЖКИ HD61202.
В выводе данных на дисплей особых-то проблем нет. Да и те аппаратные - согласование 3,3 с 5 В. А вот строб формировать программно на ARM как-то не камильфо.
Вопрос: возможно ли для этого дела использовать модуль EMC, если на плате уже запаяна ОЗУ 512 Кб? И вообще, можно ли мучать контроллер памяти такими задачами? Может быть есть другие варианты, которых я не замечаю? Внешний контроллер абсолютно исключается. Проще отказаться от идеи, либо заменить дисплей на двухстрочный на основе HD44780, задействовать на него лишнюю AVR и довольствоваться малым)))
З.Ы. Графики не будет. По сути текстовый режим.

Благодарен заранее!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
maksimp
сообщение Nov 16 2011, 02:53
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Ещё вариант: выводить данные по DMA в порт общего назначения. По 64 байта за раз - одна строка на одной половине индикатора (половины раздельно управляются). DMA работает по таймеру - по каждому окончанию счёта выводится следующий байт (если DMA LPC2468 поддерживает такой режим работы, в STM32 так можно).
Синхросигнал - от того же таймера от выхода ШИМ. Если ШИМ не удобен - то ещё один канал DMA выводит синхросигнал через порт общего назначения, из буфера где записано 0, 1, 0, 1, 0, 1, ..., всего 128 байт, по таймеру который считатет в 2 раза быстрее первого. Если работать только от одного таймера, то буфер данных нужно скопировать в другой буфер, записав каждый байт данных 2 раза подряд, так что тоже будет 128 байт.

Цитата(toweroff @ Nov 15 2011, 13:12) *
а почему аппаратный EMC не пользовать?
у LPC2468 четыре банка, на одном висит RAM, на втором - индикатор
В силу специфики выставляем R/W, D/I и совершаем просто обращение к банку, в качестве E будет выступать /CSx контроллера

Шина данных на все банки вероятно общая. Поэтому пока идёт отведённое на обмен с индикатором время, и он неспеша берёт данные с шины, пользоваться этой RAM нельзя.

Сообщение отредактировал maksimp - Nov 16 2011, 02:59
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 16 2011, 04:24
Сообщение #3


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (maksimp @ Nov 16 2011, 10:53) *
Ещё вариант: выводить данные по DMA в порт общего назначения.

Вот, про DMA тоже думал. Он может работать с памятью и с некоторой периферией, но не портами общего назначения (GPIO). Если к портам можно обращаться как к ОЗУ, то вполне все будет работать. А держать два байта данных (в которых записан строб) это даже проще для меня.
Уважаемый, maksimp, спасибо за идею!!! Будем думать)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post



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

 


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


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