ARM7TDMI Podłączenie kontrolera TFT do EBI

Forum pasjonatów mikrokontrolerów ARM.
ODPOWIEDZ
Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

ARM7TDMI Podłączenie kontrolera TFT do EBI

Post autor: Tranzystor » 20 wrz 2010, 15:10

Witajcie koledzy,
posiadam wyświetlacz RFC35B (TME - RFC35B). W chwili obecnej jest on podłączony do mikroprocesora LPC2148 przez IO. Wyświetlacz posiada kontroler FSA506 (NOTA), który ma możliwość podłączenia w trybie 8080 lub 6800. Mój panel pracuje w trybie 8080, a szynę rozszerzyłem do 9-bitów (standardowo jest 8-bitów). Całość działa mi poprawnie na LPC-ku. Jednak, aby niewidoczne było wypisywanie pixeli na ekranie zrobiłem jakby dwa wyświetlacze w pamięci kontrolera. Wówczas, gdy dane wysyłane są do wyświetlacza to kontroler wyświetla obraz z drugiej części pamięci. Niestety do płynnego wyświetlania obrazu na ekranie taka "zabawa" z wyświetlaczem się nie nadaje. Korzystam oczywiście z szybkich rejestrów FastIO, a taktowanie procesora jest ustawione poprzez pętlę PLL na 72MHZ, czyli maksymalną możliwą w tym modelu.

Planuję jednak zbudować urządzenie na mikroprocesorze ATMEL'a, dokładnie nie zastanawiałem się jeszcze jaki to będzie mikroprocesor. Jedno wiem na pewno, będzie to procesor posiadający EBI. Z tego względu, że chciałbym przyśpieszyć komunikację między kontrolerem, a mikroprocesorem. Równocześnie też zwolnić procesor z żmudnego wysyłania danych do kontrolera, to zadanie chciałbym powierzyć właśnie jednostce EBI. Niestety nie za bardzo wiem, z której strony ugryźć problem połączenia EBI z wyświetlaczem.

Właśnie dlatego kieruję do Was prośbę, aby ktoś wytłumaczył mi w jaki sposób podłączyć wyświetlacz do ARM7TDMI przy użyciu EBI.

Z góry dziękuję za pomoc ;)
Pozdrawiam ;)

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 21 wrz 2010, 16:22

Samo EBI nie wystarczy - musisz skorzystać jeszcze z DMA. Bez DMA i tak procesor będzie zaabsorbowany wysyłaniem danych do wyświetlacza.

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 21 wrz 2010, 17:26

Ok, ale na razie chciałbym zająć się samym podłączeniem kontrolera do EBI, nie za bardzo wiem jak wykonać takie podłączenie. Troszeczkę to EBI jest zagmatwane. DMA w każdej chwili mogę wykorzystać bez zmiany ścieżek na płytce ;) A dopóki nie wiem jak podłączyć EBI do kontrolera to nawet nie mogę sobie poeksperymentować :grin:

Poza tym pomysł z EBI nie ma całkowicie odciążyć procesora. Jasne DMA może pomóc. Ale głównie chodzi mi o to, że zamiast wysyłać 9-bitów w 3 cyklach zegarowych, wyślę je w jednym cyklu. Poprzez odniesienie się do konkretnej komórki w pamięci. Dzięki temu mogę znacznie zwiększyć liczbę klatek wysyłanych do wyświetlacza.

EBI ma możliwość współpracowania z kontrolerami LCD, tyle udało mi się wyczytać z noty. I nie wiem w jaki sposób mam teraz podłączyć taki kontroler, jak zwykłą pamięć Static RAM czy jakoś inaczej. Jak z adresowaniem :?:

Pozdrawiam ;)

atelszewski
Użytkownik
Posty: 143
Rejestracja: 12 sie 2005, 9:36
Lokalizacja: Banie

Post autor: atelszewski » 21 wrz 2010, 20:58

Witam,

Co prawda do xmega, ale może pomoże: AVR1312: Using the XMEGA External Bus Interface

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 22 wrz 2010, 18:30

Wnioskuję w takim razie, że połączyć wyświetlacz jak pamięć Static RAM.
OK, w takim razie linie danych procesora do linii kontrolera TFT, WR i RD podobnie (procesor NWR i NRD). Tyle, że procesor posiada dwa NWR (NWR[0:1]). Linia adresowa A0 do RS-a, a jeden z chip select-ów procesora do CS kontrolera. Wtedy co prawda tracę 1MB pamięci na rzecz kontrolera, ale i tak nic tak nie podłączę, chyba że w późniejszej fazie SDRAM. Pytanie co z liniami NUB i LUB oraz NWE :?:

Pozdrawiam ;)

atelszewski
Użytkownik
Posty: 143
Rejestracja: 12 sie 2005, 9:36
Lokalizacja: Banie

Post autor: atelszewski » 22 wrz 2010, 18:58

Witam,

Dla jasności, nie wiem jak się za to zabrać, tylko z ciekawości szukam czegoś w sieci dla ciebie;) Może zerknij tutaj na stronę 163.
Pytanie co z liniami NUB i LUB oraz NWE
Zamiast LUB powinno być chyba NLB. Z tego co widzę, to piny NUB i NLB nie będą cię interesowały. Odnośnie NWE chyba jest inaczej, bo z tego, co widzę, to ten pin może też pełnić rolę NWR0, czyli pinu, z którym już wiesz, co robić;)

Swoją drogą nie możesz przeprowadzić jakichś eksperymentów pająkowo-breadboard-owych przed wykonaniem płytki? Myślę, że będzie to lepsze, niż w razie jakiejś nieścisłości, dochodzenie, co jest grane.

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 22 wrz 2010, 19:06

Jeśli chodzi o pająka. To nie bardzo, z tego względu, że wyświetlacz posiada złącze na taśmę plastikową (że tak pozwolę sobie to nazwać), a procesory produkowane są w SMD. A więc dość kłopotliwe, a przy okazji nie chciałbym za bardzo psuć tego wyświetlacza, ponieważ chciałbym go wykorzystać jak najlepiej, bo to kosztuje. W zasadzie już chyba wszystko wiem. Zastanawia mnie tylko jeszcze jak wygląda konfiguracja EBI, ale myślę, że jakoś sobie dam z tym radę.

Prawdopodobnie za jakiś czas spróbuję wykonać prototyp mam nadzieje, że w ten sposób uruchomię ten wyświetlacz i że mój pomysł w ogóle "wypali". Nie jestem do końca pewny czy wszystko będzie działać tak jak to sobie wyobrażam. Chodzi o widoczne "printowanie", jak to nazywam na TFT-ku.

A co do nóżek NUB i NLB to dalej nie jestem pewny. Zobacz, że wykorzystuję transmisję 9-bitową, a nie 8-bitową. A zerkając na notę przy użyciu magistrali danych o szerokości 16-bitów są wymagane te podłączenia.

Dziękuję i pozdrawiam ;)

atelszewski
Użytkownik
Posty: 143
Rejestracja: 12 sie 2005, 9:36
Lokalizacja: Banie

Post autor: atelszewski » 22 wrz 2010, 20:58

Witam,
A zerkając na notę przy użyciu magistrali danych o szerokości 16-bitów są wymagane te podłączenia.
To zależy, gdzie zerkasz;) Na stronie 167 masz konfigurację, w której te linie nie są wykorzystane, a szyna ma 16 bitów. Swoją drogą, nie widzę, żeby ten wyświetlacz miał jakieś piny, do których można by podłączyć te linie. Z tego co wykopałem (i się domyślam), wynika, że służyć mogą one do odczytu dolnego lub górnego bajtu z 16-bitowej danej, jeśli urządzenie umożliwia takie operacje (np. ta pamięć). A twój wyświetlacz nie umożliwia;)

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 23 wrz 2010, 6:09

Aha, już rozumiem ;)
Te linie służą do odczytania pojedynczego bajtu danych z pamięci. W podłączeniu mojego wyświetlacza z procesorem, nie jest to nie możliwe, ale niepotrzebne. A nawet sprawiałoby to czasami problem. Bardzo rozbudowany jest ten kontroler EBI, ale za to można podłączyć z wieloma pamięciami.

Bardzo dziękuję za pomoc ;)
Pozdrawiam ;)

ODPOWIEDZ