Jump to content

    

Подключение Epson S1D13705 к LPC2214

Как подключить S1D13705 к LPC2214, в даташите на контроллер(S1D13705), есть несколько схем подключения к разным контроллерам, но того, что надо нет!

Share this post


Link to post
Share on other sites

Что именно Вас интересует, как организовать шину, прерывания или что? По примеру других процессоров разве нельзя?

Share this post


Link to post
Share on other sites

Интересует, как организовать шину.

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

Share this post


Link to post
Share on other sites

Я бы попробовал использовать 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

Share this post


Link to post
Share on other sites

Остаётся вопрос с линией Wait, вроде как она должна читаться контроллером после установки, адреса, перед установкой данных, как это реализовать ???

Share this post


Link to post
Share on other sites

Линией WAIT управляет контроллер дисплея. Процессор должен ее читать.

Если у Вас вызывает некоторое затруднение тот факт, что LPC не имеет входной линии WAIT# - не огорчайтесь. Повесьте ее к pullup резистору.

А в настройке memory controller у LPC установите в bank configuration register

значения полей WST1 и WST2 с запасом. Если есть осциллограф или логический анализатор - тогда легко, а если нет - поставить по максимуму и уменьшать, пока не станет сбоить тест видеопамяти.

Share this post


Link to post
Share on other sites

Уважаемый lvitaly

Судя по всему Вы хорошо знакомы с подобной проблемой :biggrin: , так может раз у других это вызывает вопросы, выложите какую-нибудь схемку, а может и примеры инициализации (все равно для какого процессора). всем будет полезно. :a14:

Share this post


Link to post
Share on other sites

Я попробую организовать что-то подобное

Хотя чаще мне приходилось подключать видеоконтроллеры

к ARM от CirrusLogic и от Atmel

Но если имеется в виду инициализация видеоконтроллера - то

imho неоценимую помощь могут составить исходники драйверов

от uC/GUI (данный случай рассмотрен в драйвере LCD13XX.C)

Наверняка тут есть дистрибутив uC/GUI. Настоятельно рекомендую

для изучения. Хотя Windows-like (WM и Widgets) часть в uC/GUI при

этом глючная и убогая, в отличии от очень хорошо написанной core

(2D, шрифты и т.п.)

Share this post


Link to post
Share on other sites
Хотя Windows-like (WM и Widgets) часть в uC/GUI при

этом глючная  и убогая, в отличии от очень хорошо написанной core

(2D, шрифты и т.п.)

А можно тут по-подробнее, я предрологаю использовать в новом проекте как раз uC с гуи, что вы имеете ввиду на счёт его убогости, и второй вопрос, что за core, где её можно достать, идёт ли на с исходниками...

Share this post


Link to post
Share on other sites

Под core я подразумевал ядро uc/GUI (2D примитивы, текст, фонты и т.п.)

К этой части претензий нет вообще никаких. А после того, как написал аналог ихнего FontConverter (не сумел достать родную не демку) - так не нарадуюсь.

Под Win-частью подразумавались Windows manager и Widgets.

У меня вообще создалось впечатление, что Win-часть была дописана другими людьми как навеска на core. Много ошибок и недоделок. Например - Вы никак не сможете вызвать из одного диалога (из его DialogProc) другой (например - по нажатии на кнопку или вызвать MessageBox для сообщения о ошибке).

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

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

Share this post


Link to post
Share on other sites

Уж извините за лишнее сообщение - но о глючности написал, а вот под убогостью я понимал относительную бедность API как WM, так и Widgets.

Да и самих Widgets можно было бы побольше (посмотрите на список widgets в PEG). Короче говоря - если нацелились сделать красоту как в современных

Windows - не выйдет. Все в стиле Win3x. Или дописывать самому.

 

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

 

Кстати - еще совет: освойте симулятор для x86. Если процессор имеет приличную RAM для кода и в наличии есть хотя бы J-Link - это не актуально.

Но если Вы будет работать с флэшовым процессором типа LPC22XX и будете исполнять код из флэша - упаритесь при отладке все время шить флэшку.

Если работа планируется серьезно - я бы сделал вариант платки с большой внешней RAM специально для отладки или отлаживал бы GUI на безфлэшном ARM (или на худой конец - на симуляторе)

 

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

Share this post


Link to post
Share on other sites

Прикинули два варианта подключения контроллера индикатора к процессору, не подскажите какая из них более правильная.

 

ЗЫ Схемы в аттаче.

post-1262-1107506484.jpg

post-1262-1107506493.jpg

Share this post


Link to post
Share on other sites

Лично мне как-то ближе схема, где generic #1. В ней все прозрачно, чего не могу сказать о второй схеме.

Share this post


Link to post
Share on other sites

Дык они обе Generic #1.

Просто разница в том что в первой схеме видеоконтроллер подключен как 16 битная память, с OE и WE, без BLS[1:0].

А во второй как 8 битная, с OE и BLS[1:0], но без WE.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this