Marek_Skalski napisał: A ja z uporam maniaka będę powtarzał:
- XMEGA128A1 obsługuje tylko 4-bitowy SDRAM;
- XMEGA128A1U obsługuje 4-bit i 8-bit SDRAM, ponieważ obsługuje EBI 4-port (porty E/F).
Ale nawet jeżeli wybierzesz pamięć 8-bit, to zysk prędkości jest niewielki (<20%) ze względu na wszystkie dodatkowe czynności związane z adresowaniem i obsługą SDRAM.
Zgodzę się natomiast, że podłączanie 16-bit SDRAM do AVR jest z założenia błędne. Brak wsparcia sprzętowego dla takiej szyny powoduje marnowanie zasobów i tworzenie sobie dodatkowych problemów.
A ja z uporem maniaka będę powtarzał, że żadna XMEGA nie obsługuje 8-bitowej SDRAM. Noty katalogowe to niestety często pobożne życzenia producenta. Tak, w nocie jest sekcja o 4-portowym EBI, jest nawet opisany rejestr EBIOUT, który niby umożliwa remapowanie 4-tego portu EBI, ale to najzwyczajniej nie istnieje.
Wystarczy przejrzeć pliki nagłówkowe do XMEGA128A1U, żeby zobaczyć, że definicja rejestru konfiguracji portu wygląda tak:
Zaloguj się, aby zobaczyć kod
Rejestr EBIOUT, który wg noty ma offset 0x05 jest tu opisany jako reserved. Nie ma też żadnych definicji bitów z nim związanych. Błąd w nagłówku? Być może. To idźmy dalej, odpalmy symulację 128A1U, okazuje się, że PORTCFG też nie posiada EBIOUT. Jako, że pliki symulacji urządzeń w AS6 i generalnie cała symulacja w AS6 chipów opiera się na plikach syntezy mikrokontrolerów, czyli z danych opisujących ich działanie, jednoznacznie to wskazuje, że możliwość 4-portowej pracy EBI w XMEGA
nie istnieje. Może w kolejnej rewizji chipu się pojawi, może nigdy.
Oczywiście mimo wszystko dopuszczam, że się mylę, ale byłbym wdzięczny w takiej sytuacji za wskazanie konkretnych danych Atmela, gdzie taka możliwość jest wymieniona, lub przykładowego kodu, który to odblokuje na A1U.
Dodano po 6 [minuty]: feriar napisał: więc moje początkowe założenia są takie:
ATXMega128A1U @ 32MHz
LCD TFT 4,3" 480x272 SSD1963
transmisja danych via BT/RS/Irda ewt. 433MHz
czytnik kart SD
klawiatura qwerty
itp.
i właśnie chodziło mi o wyświetlanie czy matryca nie będzie pobierać dużo zasobów procesora, żeby go nie "zmulało". Ale po twojej odpowiedzi Marek sądzę że powinno być dobrze, a jak nie to wtedy dołoży się ramu

RAM to nie panaceum na tego typu problemy. Możesz dołożyć 8 MB, ale co to zmieni? Kontroler LCD ma własny RAM, jeśli będziesz trzymał gdzieś grafiki to raczej w pamięci FLASH/DataFLASH, bo przecież do tego RAM muszą jakoś zawędrować?
Z drugiej strony SDRAM jest kuszący ze względu na pojemność, ale jest na XMEGA o wiele wolniejszy niż SRAM, lepiej więc dodać zewnętrzną pamięć statyczną (jeśli istotnie jest taka potrzeba), dostęp do niej jest 3-6 razy szybszy, już nawet nie mówię o dostępie do losowych danych położonych w różnych bankach SDRAM, co wymaga czasochłonnych operacji deaktywacji i aktywacji banków.