kategoria:
[#31] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #30

Pisząc ten temat nie zakładałem, że będę budował taką kartę, ale może czas zacząć się bawić z CPLD... W związku z tym, jako że macie większe doświadczenie z CPLD mam pytanie, czy układ XC9536XL-10 nadawał by się do tego zastosowania i ew. jaką częstotliwością trza by go było popędzić? ;)
[#32] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #31

To zależy jak bardzo będzie rozbudowany wsad, jeśli potrafisz sobie wszystko ułożyć wirtualnie, to możesz sprawdzić w środowisku dla CPLD, czy się zmieści, lepiej wziąć na poczatek większy, np z 72 makrocelami, a potem można dać mniejszy w finalnej fazie projektu jeśli da radę. CPLD to nie procesor i się go nie taktuje, chyba, że stworzysz układ który wymaga taktowania.
[#33] Re: Budowa kart pamięci SRAM na PCMCIA

@rafgc, post #32

A dzięki za odpowiedź. Faktycznie CPLD realizuje tylko zaprogramowaną funkcję logiczną... Zmyliło mnie hasło reklamowe: "System frequency up to 178 MHz" w nocie katalogowej. Ach ci początkujący i ich pytania... :)
[#34] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #31

Ja dodam tylko, że jeśli jesteś elektronikiem to CPLD nie będzie dla Ciebie jakimś skomplikowanym tematem, bo co robi w zasadzie tego typu układ, to zastępuje logikę, którą normalnie zaimplementowałbyś za pomocą osobnych układów TTL (np. bramek, przerzutników, liczników). Choć można też zrobić więcej, lub rzeczy które byłyby trudne do zrobienia na osobnych układach.

Jeśli chodzi o taktowanie, może być ono potrzebne, gdyby logikę dla tej karty zrealizować jako maszynę stanową. Przy pewnym stopniu komplikacji użycie maszyny stanowej jest wskazane. Wtedy potrzebny jest wystarczająco szybki zegar, żeby maszyna stanowa mogła na czas zareagować na zmianę pewnych wejść.
[#35] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #34

Trochę wczoraj pogrzebałem w necie i znalazłem gotowy sterownik SRAM "SD1321". Trochę on drogi, a do karty 4MB potrzebne były by dwa takie układy. Przy 2 MB wystarczy jeden.
Mniej więcej już wiem jak logika tej karty powinna wyglądać. Mam jeszcze pewne niejasności, ale najbardziej zastanawiam się, gdzie zapisane są te metadane CIS. Raczej nie w tej opcionalnej pamięci EEprom atribute, bo jest ona opcjonalna i nie wszystkie karty ją mają. Jeśli na początku w pamięci SRAM, to będzie ona jednak wymagać zasilania. Muszę jeszcze trochę postudiować dokumentację.
[wyróżniony] [#36] Re: Budowa kart pamięci SRAM na PCMCIA

@jarob, post #35

Cytując stronę:

Attribute memory is used for Card Information Structure (CIS) storage. CIS describes the characteristics and capabilities of SRAM PCMCIA card so the host system can automatically configure it. Some devices need this optional attribute memory for CIS.


Więc tak, zapisane są w EEPROMie. Podejrzewam, że niektóre urządzenia (np. jakieś wbudowane), które obsługują tylko pamięci SRAM nie potrzebują tej informacji. Ale Amiga, która ma slot PCMCIA ogólnego przeznaczenia musi na jakiejś podstawie wiedzieć jaki typ karty włożono w slot. Wie to (zapewne) na podstawie CISu. Tajemnicą jest na razie to jaką rolę odgrywa program PrepCard w tym wszystkim, bo chyba nie modyfikuje EEPROMu...

EDIT: Ha, ten wątek zawiera sporo informacji. Wygląda na to, że PrepCard jednak modyfikuje EEPROM. Są nawet dołączone zrzuty tej pamięci.

Ostatnia aktualizacja: 05.01.2014 14:16:49 przez strim_
[#37] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #36

Wygląda na to, że Toni Willen w końcu zaimplementował emulację tych kart w WinUAE, więc zapewne można go zapytać jak powinna wyglądać ta struktura i które bajty w niej mają znaczenie dla wykrywania karty.

Funkcja initsramattr generuje CIS odpowiedni dla karty SRAM.

Ostatnia aktualizacja: 05.01.2014 14:32:46 przez strim_
[#38] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #37

Niektórzy producenci byli tak mili, aby załączyć w datasheecie karty CIS wraz z opisem.

Jeśli link nie działa to google cache.

Jeszcze jedna godna uwagi specyfikacja karty, włącznie z timingami, CISem.

Ostatnia aktualizacja: 05.01.2014 15:22:28 przez strim_
[#39] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #38

Tak, ewidentnie jesteśmy w domu. Te informacje to podstawa, reszta to "banał". W takim razie jestem tu za rok z moją własną kartą :)
[#40] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #39

Nie zamykaj się z tą pracą w 4 ścianach, jestem pewien że wspólnymi siłami można osiągnąć więcej cool
[#41] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #40

Nie no ja się nie zamykam, choć nie jestem dziewczyną to jestem otwarty ;)
[wyróżniony] [#42] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #36

No fakt, więc jeśli jest to w eepromie, to wszystko staje się jaśniejsze i prostrze do wykonania.
Struktura CIS już też jest jasna - no to do roboty :)
[#43] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #41

Ta publikacja jest świetna.

Na stronie 175 mamy przykład opisujący implementację karty SRAM na PCMCIA (który nie różni się zbytnio od diagramu, który już znamy). W dodatku A (str 351) jest przykład CISu dla karty SRAM wraz z opisem.


Ostatnia aktualizacja: 06.01.2014 17:37:46 przez strim_
[#44] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #43

Taaa, czyli dokumentacji to już mamy po sufit. Teraz pora na konkretne działania. W związku z tym odczekam jakieś kilka miesięcy i ruszę z pracą ;) A tak na serio to pierwszym krokiem, jaki zrobię będzie ściągnięcie środowiska projektowego ISE WebPACK Classic firmy Xilinx. Po wstępnym zaprojektowaniu logiki, będę wiedział w jakim układzie CLPD to pomieszczę. Następne kroki skieruję w stronę sklepu elektronicznego w celu zakupu wybranego CLPD, SRAM'u i EEPROM'u. Jeśli ktoś w tym czasie zrobi już z 10 takich kart, to się nie obrażę ;) Następnie narysuję schemat ideowy i zaprojektuję PCB. Następnie wykonam płytkę i wlutuję elementy... LOL
Aha i jeszcze ciekawostka: chyba w żadnym temacie nie padło tyle razy słowo "sram" :)
[#45] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #44

W związku z tym odczekam jakieś kilka miesięcy


Ale czy w naszym Amigowym środowisku zawsze musimy czekać X tygodni czy miesięcy przed podjęciem działań?

ISE WebPACK Classic


A czemu akurat classic? Ściągnij najnowszą wersję WebPACKa jaka jest. Układy XC9500XL są dalej obsługiwane.

Po wstępnym zaprojektowaniu logiki, będę wiedział w jakim układzie CLPD to pomieszczę.


Proponuje, żeby tworzyć ten kod wsadu na otwartych zasadach, np. na jakimś GitHubie czy czymś takim. Wtedy wszyscy będą mogli uczestniczyć w tym procesie...

Ostatnia aktualizacja: 06.01.2014 19:04:35 przez strim_
[#46] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #45

Ale czy w naszym Amigowym środowisku zawsze musimy czekać X tygodni czy miesięcy...

Zawsze, tak się przyjęło.

A czemu akurat classic?

Jestem za klasycznymi rozwiązaniami.

Proponuje, żeby tworzyć ten kod wsadu na otwartych zasadach, np. na jakimś GitHubie czy czymś takim. Wtedy wszyscy będą mogli uczestniczyć w tym procesie...

Jak zrobię całość to udostępnię każdemu, kto wpłaci mi... ekhmm... a nie, o tym to nie teraz ;) Jak chcesz to zacznij robić wsad i go udostępnij. Pewnie zrobisz to szybciej ode mnie. Jednocześnie wątpię, aby ktokolwiek chciał uczestniczyć w tym projekcie :)
[#47] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #46

Jestem za klasycznymi rozwiązaniami.


Akurat w przypadku ISE te "klasyczne" można raczej nazwać "archaicznymi" ;).

Jak chcesz to zacznij robić wsad i go udostępnij. Pewnie zrobisz to szybciej ode mnie.


Jasne, mogę zacząć go robić, ale nie jestem takim ekspertem w tej dziedzinie, żeby "na czuja" bez prototypu zrobić taki wsad (wrecz przeciwnie dalej uważam się za początkującego). Może mi się wydawać, że rozumiem jak to ma działać, ale w rzeczywistości wszystko wychodzi w praniu.

Stąd potrzebny jest prototyp z zainstalowanymi komponentami, w wyprowadzonym JTAGiem do programowania CPLD, oraz punktami w które można wpiąć się analizatorem stanów logicznych. Wg. mnie pierwszym krokiem powinno być zrobienie schematu takiego wczesnego prototypu.

Prototyp musiałby mieć duży CPLD, żeby nie było problemu "że się nie zmieści". Wersja produkcyjna mogłaby mieć rozmiar CPLD taki jak potrzeba. Jeśli chodzi o wybór rodziny CPLD, to chyba nie masz za dużego wyboru, wydaje mi się, że XC9500XL to jedyna seria która spełnia wymagania tego projektu.

Jednocześnie wątpię, aby ktokolwiek chciał uczestniczyć w tym projekcie :)


Mamy na tym forum conajmniej kilka osób, które znają się na elektronice... Poza tym, ktoś kto chciałby zrobić coś takiego w przyszłości nie będzie musiał wymyślać koła na nowo.

Ostatnia aktualizacja: 06.01.2014 19:55:26 przez strim_
[#48] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #47

Archaiczne to takie do których używasz nieprodukowanych częsci.

Ciekawi mnie jak to wyjdzie z tym wszystkim.
[#49] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #47

Zrobiłem mały research co do układu CPLD.

Od strony slotu PCMCIA do układu muszą wejść 22 linie adresowe (A0-A21) i sygnały kontrolne (CE1, CE2, OE, WE, REG, WP, BVD1, BVD2). CD1/CD2 mogą być od razu spięte z masą, więc nie trzeba ich podłączać do CPLD. To daje nam już 30 pinów.

Od komponentów:
- Zakładając użycie jednej 16-bitowej kości SRAM (np. CY7C1041DV33) to potrzebujemy do podłączenia tej kości 18 linii adresowych (jak się nie mylę...) i sygnały kontrolne (CE, OE, WE, BLE, BHE). To już jest 47 pinów.
- Do tego EEPROM: 11 linii adresowych (zakładając EEPROM 2kB) i sygnały kontrolne (CE, OE, WE, RB). To nam daje łącznie potrzebne 62 piny.

Linie danych do komponentów nie muszą być prowadzone przez CPLD.

Patrząc na dokumentację rodziny XC9500XL, tylko układy XC9572XL, XC95144XL i XC95288XL są dostępne w obudowach z odpowiednią ilością pinów I/O. Model 288 na pewno będzie za duży, to zostaje nam do wyboru 72 i 144 ;). Do prototypu proponuje dać 144, ale podejrzewam, że w wersji produkcyjnej będzie można montować model 72.

Ostatnia aktualizacja: 06.01.2014 20:45:18 przez strim_
[#50] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #49

Być może wystarczy 8 linii adresowych i 8 linii danych do CPLD bez potrzeby używania EEPROMU.
Wygląda podobnie jak Autoconfig, a to działało na XC9572XL.
Czyli 16 linii Adr/Data, CE1, CE2, OE, WE, REG, WP, BVD1, BVD2 z szyny PCMCIA i CE, OE, WE, BLE, BHE do pamięci ( nie sprawdzałem w datasheet i polegam na wiedzy strim_ ). Muszę przeczytać ostatnią pozycję zalinkowaną, ponieważ nie jestem pewien, czy pierwszy bajt w adresie jest na stałe odpowiedzialny za informację o karcie. Jeśli tak, to potrzebne będą jeszcze pozostałe linie adresowe.
Czyli 29 pinów lub 45 pinów. Lub rozbicie na dwa CPLD 44pinowe.
[#51] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #49

Z tego co ja się zorientowałem, to do CPLD potrzebne są tylko adresy A0, A20 i A21 reszta adresów może iść bezpośrednio na SRAM i eeprom.
Taki schemat na bramkach karty 4MB z tego pierwszego datasheeta już prawie mam. Brakuje mi jeszcze tylko sygnału BUSY#.
Muszę go przerysować do Eagle i zamieścić tutaj :)
[#52] Re: Budowa kart pamięci SRAM na PCMCIA

@jarob, post #51

Jesteś pewien że nie potrzebujesz oddzielić przynajmniej pierwszego bajtu w adresowaniu EEPROMa od SRAM?
Potrzebowałbyś wtedy raczej całej szyny adresowej do CPLD.
Muszę jednak trochę poczytać by być pewien.
[#53] Re: Budowa kart pamięci SRAM na PCMCIA

@bogumil, post #50

Być może wystarczy 8 linii adresowych i 8 linii danych do CPLD bez potrzeby używania EEPROMU.


Struktura CIS jest dość duża, a attribute memory musi być modyfikowalne z poziomu PrepCard'a, więc raczej trudno to bez EEPROMu zrobić.

Z tego co ja się zorientowałem, to do CPLD potrzebne są tylko adresy A0, A20 i A21 reszta adresów może iść bezpośrednio na SRAM i eeprom.

oraz
Jesteś pewien że nie potrzebujesz oddzielić przynajmniej pierwszego bajtu w adresowaniu EEPROMa od SRAM?


No właśnie ja nie byłem w 100% pewien, więc wolałem na wszelki wypadek dać całą szynę adresową w CPLD przynajmniej na czas prototypowania.

Brakuje mi jeszcze tylko sygnału BUSY#.


On chyba może być pociągnięty bezpośrednio z EEPROMu?

Ostatnia aktualizacja: 06.01.2014 23:02:11 przez strim_
[wyróżniony] [#54] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #53

Sygnał REG informuje, czy system potrzebuje dostać się do pamięci w EEPROM czy SRAM.
Tak więc dane dla pierwszego bajtu o rodzaju pamięci, jego wielkości i opisie dałbym do CPLD z wykorzystaniem 8 linii danych i adresowych i sygnału REG na LOW. Można spróbować.
Jeszcze muszę poczytać o adresowaniu pamięci, czy nie alokowuje początku od adresu innego niż 0.
Pewnie CPLD 44pin by wystarczył.
[#55] Re: Budowa kart pamięci SRAM na PCMCIA

@bogumil, post #54

Widzę, że zapału Wam nie brakuje i dyskusja zaczyna wrzeć. Ja ze swej strony pragnę jedynie nadmienić, abyście kierowali swoje ustalenia w stronę użycia układów CPLD w "normalnych" obudowach PLCC. Zależy mi na tym, gdyż lutowanie układu np. w obudowie TQFP100 wywołuje u mnie natychmiastowy atak kur.... znaczy nerwicy oraz chęć ucieczki od lutownicy :) Dziękuję za uwagę.
[wyróżniony] [#56] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #55

Nie znalazłem informacji o alokowaniu początku bloku pamięci w CIS.
Według mnie wystarczy CPLD 44pin bez EEPROM w takiej sytuacji.
Jeśli się mylę, poproszę o sprostowanie z podaniem stosownych informacji.
[wyróżniony] [#57] Re: Budowa kart pamięci SRAM na PCMCIA

@RomanWorkshop, post #55

CPLD w "normalnych" obudowach PLCC


To tylko XC9536XL i XC9572XL w obudowach PC44 wchodzą w grę niestety. One mają 36 pinów I/O do wykorzystania.

Nie znalazłem informacji o alokowaniu początku bloku pamięci w CIS.
Według mnie wystarczy CPLD 44pin bez EEPROM w takiej sytuacji.
Jeśli się mylę, poproszę o sprostowanie z podaniem stosownych informacji.


Pewnie można to zrobić tak "na sztywno" ale ile makrocelli będzie to wymagało... Bo w tym momencie symulujemy de facto ROM w CPLD. Poza tym nie ma możliwości modyfikacji tej przestrzeni, ergo PrepCard nie zadziała.

W dokumentacji card.resource natomiast znalazłem taki fragment:

"The Card Information Structure must start with a CISTPL_DEVICE tuple stored as the first tuple in attribute memory. If not, this function will search for a CISTPL_LINKTARGET tuple stored at byte 0 of common memory. Therefore it is possible to store a CIS on cards which do not have any writeable attribute memory, though this may cause problems for other software implemented on other machines. For example, some SRAM cards do not come with writeable attribute memory, and/or some may have OPTIONAL EEPROM memory which may not have been initialized by the card manufacturer. While it could be argued that such cards do not conform to the PCMCIA PC Card Standard, such cards are cheaper, and therefore likely to be used."

Z czego można wysnuć wniosek, że karta SRAM bez EEPROMu będzie działać z Amigą, choć nie będzie zgodna ze standardem? Ja jestem za tym, żeby nie robić lipy i umieścić na karcie EEPROM. To nie jest jakiś wielki koszt.


Ostatnia aktualizacja: 06.01.2014 23:57:50 przez strim_
[wyróżniony] [#58] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #57

Jeszcze jest ALTERA z MAX na 5V. Na niej jest 8MB do A600/A500. I też 44pin.
[#59] Re: Budowa kart pamięci SRAM na PCMCIA

@strim_, post #53

strim_ nie widzę co musiało by być modyfikowane w CIS dla SRAM na PCMCIA 16bit. Możesz to wskazać? Tam jest wielkość, szybkość, opis i zakończenie. Nic do modyfikacji. Chyba że się mylę ale nie widzę danych do zapisywania jak w np.Autoconfig adres początku bloku pamięci.
[#60] Re: Budowa kart pamięci SRAM na PCMCIA

@bogumil, post #59

Możesz to wskazać?


Jeszcze nie przeanalizowałem dokładnie co robi PrepCard, ale widzę że coś robi ;). Patrz ten wątek, post 17 (linkowałem to już kiedyś tam wcześniej). W pliku zip załączone są zrzuty CIS przed i po PrepCardzie. Wyraźnie widać różnice, znaczy żę EEPROM został zmodyfikowany przez PrepCard... Zapewne służy to wskazaniu czy dana karta ma być używana jako RAM czy jako dysk.

Ostatnia aktualizacja: 07.01.2014 00:06:10 przez strim_
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem