Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение Epson S1D13705 к LPC2214
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Shedon
Как подключить S1D13705 к LPC2214, в даташите на контроллер(S1D13705), есть несколько схем подключения к разным контроллерам, но того, что надо нет!
one_man_show
Что именно Вас интересует, как организовать шину, прерывания или что? По примеру других процессоров разве нельзя?
Shedon
Интересует, как организовать шину.
S1D13705 вешается на внешнюю шину данных LPC2214.
По примеру других процессоров чегото не получается.
Непонятно следующее:
1. Как подключать адреса, A:1 к A:0 или A:0 к A:0?
2. Куда подключать BS# RD/WR# и др. подобные ноги S1D13705?
3. Как подключать BCLK, к задающему генратору или куда то к LPC2214?
4. Какой host bus interface установить ногами CNF?
SH-4 interface Big Endian
SH-4 interface Little Endian
SH-3 interface Big Endian
SH-3 interface Little Endian
MC68K #1, 16-bit Big Endian
MC68K #2, 16-bit Big Endian
Generic #1, 16-bit Big Endian
Generic #1, 16-bit Little Endian
Generic #2, 16-bit Little Endian
lvitaly
Я бы попробовал использовать Generic #1 Little Endian
А в LPC банк объявить, как 16-битный
В этом случае адреса подключать, как на рисунке
16 bit wide memory bank interfaced to 8 bit memory chips
из мануала на LPC (адреса, начиная с A1 на дисплей с адреса 0)
BLS[1:0] подать на WE1 WE0
А сигнал OE от LPC подать на RD1 и на RD0
Shedon
Остаётся вопрос с линией Wait, вроде как она должна читаться контроллером после установки, адреса, перед установкой данных, как это реализовать ???
lvitaly
Линией WAIT управляет контроллер дисплея. Процессор должен ее читать.
Если у Вас вызывает некоторое затруднение тот факт, что LPC не имеет входной линии WAIT# - не огорчайтесь. Повесьте ее к pullup резистору.
А в настройке memory controller у LPC установите в bank configuration register
значения полей WST1 и WST2 с запасом. Если есть осциллограф или логический анализатор - тогда легко, а если нет - поставить по максимуму и уменьшать, пока не станет сбоить тест видеопамяти.
one_man_show
Уважаемый lvitaly
Судя по всему Вы хорошо знакомы с подобной проблемой biggrin.gif , так может раз у других это вызывает вопросы, выложите какую-нибудь схемку, а может и примеры инициализации (все равно для какого процессора). всем будет полезно. a14.gif
lvitaly
Я попробую организовать что-то подобное
Хотя чаще мне приходилось подключать видеоконтроллеры
к ARM от CirrusLogic и от Atmel
Но если имеется в виду инициализация видеоконтроллера - то
imho неоценимую помощь могут составить исходники драйверов
от uC/GUI (данный случай рассмотрен в драйвере LCD13XX.C)
Наверняка тут есть дистрибутив uC/GUI. Настоятельно рекомендую
для изучения. Хотя Windows-like (WM и Widgets) часть в uC/GUI при
этом глючная и убогая, в отличии от очень хорошо написанной core
(2D, шрифты и т.п.)
one_man_show
uC/GUI есть на фтп
Shedon
Цитата(lvitaly @ Jan 20 2005, 05:05)
Хотя Windows-like (WM и Widgets) часть в uC/GUI при
этом глючная  и убогая, в отличии от очень хорошо написанной core
(2D, шрифты и т.п.)
*

А можно тут по-подробнее, я предрологаю использовать в новом проекте как раз uC с гуи, что вы имеете ввиду на счёт его убогости, и второй вопрос, что за core, где её можно достать, идёт ли на с исходниками...
lvitaly
Под core я подразумевал ядро uc/GUI (2D примитивы, текст, фонты и т.п.)
К этой части претензий нет вообще никаких. А после того, как написал аналог ихнего FontConverter (не сумел достать родную не демку) - так не нарадуюсь.
Под Win-частью подразумавались Windows manager и Widgets.
У меня вообще создалось впечатление, что Win-часть была дописана другими людьми как навеска на core. Много ошибок и недоделок. Например - Вы никак не сможете вызвать из одного диалога (из его DialogProc) другой (например - по нажатии на кнопку или вызвать MessageBox для сообщения о ошибке).
Не совсем правильно сделано размещение констант во флэш-памяти (для AVR было очень актуально). Короче говоря - ничего смертельного, но попахать придется. Я эту часть очень серьезно правил, и процесс далеко не завершен.
Сейчас все больше и больше смотрю на PEG, но нет времени начать с ним работу всерьез. Но для LPC22xx без внешней памяти PEG может быть жирноват.
lvitaly
Уж извините за лишнее сообщение - но о глючности написал, а вот под убогостью я понимал относительную бедность API как WM, так и Widgets.
Да и самих Widgets можно было бы побольше (посмотрите на список widgets в PEG). Короче говоря - если нацелились сделать красоту как в современных
Windows - не выйдет. Все в стиле Win3x. Или дописывать самому.

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

Кстати - еще совет: освойте симулятор для x86. Если процессор имеет приличную RAM для кода и в наличии есть хотя бы J-Link - это не актуально.
Но если Вы будет работать с флэшовым процессором типа LPC22XX и будете исполнять код из флэша - упаритесь при отладке все время шить флэшку.
Если работа планируется серьезно - я бы сделал вариант платки с большой внешней RAM специально для отладки или отлаживал бы GUI на безфлэшном ARM (или на худой конец - на симуляторе)

Несмотря на критический тон вышесказанного - я все-таки считаю, что uC/GUI - лучшее, что есть из продуктов "среднего веса".
Shedon
Прикинули два варианта подключения контроллера индикатора к процессору, не подскажите какая из них более правильная.

ЗЫ Схемы в аттаче.
lvitaly
Лично мне как-то ближе схема, где generic #1. В ней все прозрачно, чего не могу сказать о второй схеме.
Shedon
Дык они обе Generic #1.
Просто разница в том что в первой схеме видеоконтроллер подключен как 16 битная память, с OE и WE, без BLS[1:0].
А во второй как 8 битная, с OE и BLS[1:0], но без WE.
lvitaly
Пардон, не посмотрел
Мне больше нравится тот вариант, где подключается 16-битная память из 8-битных чипов (без WE). Впрочем - кто мешает попробовать оба? smile.gif
Shedon
Пробывать можно всё, что угодно, но, просто , не хочется переделывать если один из вариантов не заработает...
Rius
Цитата(lvitaly @ Jan 21 2005, 02:03)
А после того, как написал аналог ихнего FontConverter (не сумел достать родную не демку) - так не нарадуюсь.
*
Можно взглянуть на эту программку?
lvitaly
Можно. Напишите мне в e-mail.
olegk
Sdrawstwuite Shedon
Dobilis li wi resultatow?
Esli da to naskolko stabilno rabotaut LPC i S1D
Nelsa li posmotret' sxemu
Spasibo
oleg
Shedon
Так мы еще ничего не добились...
может через пару недель...
bombastic
Вобщем первые результаты получены...
Собрали всё по схеме Generic #1 (см. прикрепленый файл).

Испытывали S1D с цветным STN дисплеем на частотах вплоть до 60 МГц (60 МГц на BCLK и CLKI) всё нормально работает,
НО чем выше частота на CLKI, тем хуже картинка на дисплее, а чем ниже CLKI тем медленнее скорость работы
(возможно чтобы картинка была хорошей нужно изменять соответсвенно FrameRate... х.з.)

В результате пока остановились на 30 МГц на BCLK и CLKI, но CLKI поделено на 2 внутренним делителем S1D,
т.е. CLKI фактически 15 МГц, при этом задержки в циклах чтения и записи у LPC максимальные.

В принципе за скоростью сейчас не гонимся, поэтому все пока устраивает, позже поэксперементируем ещё.

ЗЫ: При оживлении этой кучки железа, возникла всего одна проблема, но зато какая...
Вобщем почитав описание на LPC и посоветовавшись с народом, мы нарисовали в схеме подключение
адресной шины A1 LPC к A0 S1D (16 bit wide memory bank interfaced to 8 bit memory chips или to 16 bit memory chips),
но потом оказалось что всётаки нужно было делать A0 к A0 ("cпасибо" Shedon'у негодяю, что был в Москве,
когда я три дня разбирался с этим гемороем), в результате адресную шину пришлось перепаивать.
Катя
Скажите, а можно ли этот S1D прикрутить к LPC2106 ?
bombastic
2 Катя
Если у LPC2106 есть EMC, то думаю можно...
C LPC2214 S1D работает без проблем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.