Shedon
Jan 18 2005, 08:20
Как подключить S1D13705 к LPC2214, в даташите на контроллер(S1D13705), есть несколько схем подключения к разным контроллерам, но того, что надо нет!
one_man_show
Jan 18 2005, 09:27
Что именно Вас интересует, как организовать шину, прерывания или что? По примеру других процессоров разве нельзя?
Shedon
Jan 18 2005, 11:13
Интересует, как организовать шину.
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
Jan 18 2005, 22:23
Я бы попробовал использовать 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
Jan 19 2005, 18:29
Остаётся вопрос с линией Wait, вроде как она должна читаться контроллером после установки, адреса, перед установкой данных, как это реализовать ???
lvitaly
Jan 19 2005, 20:13
Линией WAIT управляет контроллер дисплея. Процессор должен ее читать.
Если у Вас вызывает некоторое затруднение тот факт, что LPC не имеет входной линии WAIT# - не огорчайтесь. Повесьте ее к pullup резистору.
А в настройке memory controller у LPC установите в bank configuration register
значения полей WST1 и WST2 с запасом. Если есть осциллограф или логический анализатор - тогда легко, а если нет - поставить по максимуму и уменьшать, пока не станет сбоить тест видеопамяти.
one_man_show
Jan 19 2005, 20:57
Уважаемый
lvitalyСудя по всему Вы хорошо знакомы с подобной проблемой

, так может раз у других это вызывает вопросы, выложите какую-нибудь схемку, а может и примеры инициализации (все равно для какого процессора). всем будет полезно.
lvitaly
Jan 20 2005, 01:05
Я попробую организовать что-то подобное
Хотя чаще мне приходилось подключать видеоконтроллеры
к ARM от CirrusLogic и от Atmel
Но если имеется в виду инициализация видеоконтроллера - то
imho неоценимую помощь могут составить исходники драйверов
от uC/GUI (данный случай рассмотрен в драйвере LCD13XX.C)
Наверняка тут есть дистрибутив uC/GUI. Настоятельно рекомендую
для изучения. Хотя Windows-like (WM и Widgets) часть в uC/GUI при
этом глючная и убогая, в отличии от очень хорошо написанной core
(2D, шрифты и т.п.)
one_man_show
Jan 20 2005, 04:28
uC/GUI есть на фтп
Shedon
Jan 20 2005, 15:54
Цитата(lvitaly @ Jan 20 2005, 05:05)
Хотя Windows-like (WM и Widgets) часть в uC/GUI при
этом глючная и убогая, в отличии от очень хорошо написанной core
(2D, шрифты и т.п.)
А можно тут по-подробнее, я предрологаю использовать в новом проекте как раз uC с гуи, что вы имеете ввиду на счёт его убогости, и второй вопрос, что за core, где её можно достать, идёт ли на с исходниками...
lvitaly
Jan 20 2005, 21:03
Под core я подразумевал ядро uc/GUI (2D примитивы, текст, фонты и т.п.)
К этой части претензий нет вообще никаких. А после того, как написал аналог ихнего FontConverter (не сумел достать родную не демку) - так не нарадуюсь.
Под Win-частью подразумавались Windows manager и Widgets.
У меня вообще создалось впечатление, что Win-часть была дописана другими людьми как навеска на core. Много ошибок и недоделок. Например - Вы никак не сможете вызвать из одного диалога (из его DialogProc) другой (например - по нажатии на кнопку или вызвать MessageBox для сообщения о ошибке).
Не совсем правильно сделано размещение констант во флэш-памяти (для AVR было очень актуально). Короче говоря - ничего смертельного, но попахать придется. Я эту часть очень серьезно правил, и процесс далеко не завершен.
Сейчас все больше и больше смотрю на PEG, но нет времени начать с ним работу всерьез. Но для LPC22xx без внешней памяти PEG может быть жирноват.
lvitaly
Jan 20 2005, 21:33
Уж извините за лишнее сообщение - но о глючности написал, а вот под убогостью я понимал относительную бедность API как WM, так и Widgets.
Да и самих Widgets можно было бы побольше (посмотрите на список widgets в PEG). Короче говоря - если нацелились сделать красоту как в современных
Windows - не выйдет. Все в стиле Win3x. Или дописывать самому.
И еще просьба учесть вот что - в документации не описано очень много полезных функций (причем это не какие-то странные недокументированные функции, а явно просто забыли описать), так что надо подробно изучать .h файл.
Кстати - еще совет: освойте симулятор для x86. Если процессор имеет приличную RAM для кода и в наличии есть хотя бы J-Link - это не актуально.
Но если Вы будет работать с флэшовым процессором типа LPC22XX и будете исполнять код из флэша - упаритесь при отладке все время шить флэшку.
Если работа планируется серьезно - я бы сделал вариант платки с большой внешней RAM специально для отладки или отлаживал бы GUI на безфлэшном ARM (или на худой конец - на симуляторе)
Несмотря на критический тон вышесказанного - я все-таки считаю, что uC/GUI - лучшее, что есть из продуктов "среднего веса".
Прикинули два варианта подключения контроллера индикатора к процессору, не подскажите какая из них более правильная.
ЗЫ Схемы в аттаче.
lvitaly
Feb 4 2005, 09:13
Лично мне как-то ближе схема, где generic #1. В ней все прозрачно, чего не могу сказать о второй схеме.
Дык они обе Generic #1.
Просто разница в том что в первой схеме видеоконтроллер подключен как 16 битная память, с OE и WE, без BLS[1:0].
А во второй как 8 битная, с OE и BLS[1:0], но без WE.
lvitaly
Feb 4 2005, 09:40
Пардон, не посмотрел
Мне больше нравится тот вариант, где подключается 16-битная память из 8-битных чипов (без WE). Впрочем - кто мешает попробовать оба?
Пробывать можно всё, что угодно, но, просто , не хочется переделывать если один из вариантов не заработает...
Цитата(lvitaly @ Jan 21 2005, 02:03)
А после того, как написал аналог ихнего FontConverter (не сумел достать родную не демку) - так не нарадуюсь.
Можно взглянуть на эту программку?
lvitaly
Apr 19 2005, 17:53
Можно. Напишите мне в e-mail.
Sdrawstwuite Shedon
Dobilis li wi resultatow?
Esli da to naskolko stabilno rabotaut LPC i S1D
Nelsa li posmotret' sxemu
Spasibo
oleg
Shedon
Sep 12 2005, 07:47
Так мы еще ничего не добились...
может через пару недель...
bombastic
Oct 7 2005, 06:01
Вобщем первые результаты получены...
Собрали всё по схеме 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
Jan 17 2006, 08:47
2 Катя
Если у LPC2106 есть EMC, то думаю можно...
C LPC2214 S1D работает без проблем.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.