Udawany twardziel

Kiedy na rynku pojawiły się cyfrowe aparaty fotograficzne, trzeba było znaleźć sposób przechowywania zdjęć także po wyłączeniu zasilania. Od razu było oczywiste, że klasyczne napędy dyskowe z ich poruszającymi się podzespołami nie są najlepszym rozwiązaniem. Ze względu na wrażliwość na wstrząsy musiały one ustąpić miejsca zupełnie innym urządzeniom – mimo tego, że opanowano produkcję “twardzieli” o mikroskopijnych wymiarach.

Jako zamiennik miniaturowych, wirujących dysków najczęściej wykorzystywane są pamięci flash. Są one lekkie, energooszczędne i mają niewielkie wymiary. Ich pojemności sięgają 512 MB, więc jako układy pamięci masowej przewyższają zwykłe dyskietki i niemal dorównują płytom CD-ROM.

Pamięci flash zostały “opakowane” w przeróżne obudowy. Ich kształt oraz konstrukcja wewnętrzna zmieniały się już wielokrotnie. Taka ewolucja zresztą trwa. Różni producenci lansują coraz to nowe standardy, co skutkuje sporą różnorodnością dostępnych na rynku rozwiązań.

Co siedzi w środku?

Jednymi z ciekawszych urządzeń są opracowane dla potrzeb cyfrowych aparatów fotograficznych karty CompactFlash. Mają one nie tylko spore pojemności. Jest jeszcze coś – współpracujący z pamięcią kontroler o bardzo dużych możliwościach.

Producenci dodają do pamięci tego typu specjalne chipy, będące czymś w rodzaju mikrokomputera jednoukładowego. Ma on za zadanie pośredniczyć w wymianie danych między pamięcią a urządzeniami, do których karta trafi. Rozwiązanie takie daje wolną rękę co do budowy układów pamięci. Wystarczy tylko zastosować odpowiedni kontroler, a “z zewnątrz” każda karta widziana będzie zawsze tak samo – zgodnie z przyjętym standardem. Ale właściwie… jaki jest ten standard? Tu trafiamy na jedną z najciekawszych cech CF. Przyjęto bowiem, że kontroler będzie mógł wymieniać dane z otoczeniem w trzech trybach.

Na trzy sposoby

Dwa pierwsze tryby komunikacji to PC Card Memory Mode i PC Card I/O Mode. Są one zgodne ze standardami kart PCMCIA. W uproszczeniu można powiedzieć, że w tych trybach kontroler “udaje” klasyczny element PC Card. Zarówno połączenia elektryczne, jak i protokoły komunikacyjne są ze sobą zgodne. Dzięki temu możliwe jest zatem bezpośrednie podłączenie karty CF do portu PCMCIA. Co prawda ich gniazda są inne, ale to tylko problem mechaniczny, który łatwo rozwiązać stosowną przejściówką. Jeśli zajrzeć do jej wnętrza (patrz: zdjęcie obok), to nasze wywody teoretyczne potwierdzą się w praktyce. Adapter CF-PCMCIA to tylko gniazdko, wtyczka i połączenia.

W świetle tego, co napisałem wyżej, niezwykle interesująco zapowiada się trzeci tryb pracy kontrolera – True IDE Mode. Oczywiście kojarzy się od razu z kontrolerem IDE stosowanym do podłączania dysków twardych, napędów CD-ROM, DVD itd. Skojarzenie jest jak najbardziej poprawne, a termin “prawdziwe IDE” nie jest używany na wyrost.

W trybie True IDE kontroler karty CF potrafi znakomicie “udawać” normalny dysk! I nie ma w tym niczego niezwykłego. Dyski twarde też oszukują kontrolery, pracując w powszechnie dziś stosowanym trybie LBA. “Twardziele” podają zupełnie inną liczbę głowic i cylindrów, niż mają w rzeczywistości. Konstruktorzy kart CF poszli po prostu o krok dalej. Ich układy informują komputer o cylindrach, głowicach i sektorach, których w ogóle nie ma. A pecety zapisują i odczytują dane dokładnie tak samo, jak mając do czynienia z klasycznym dyskiem twardym.

Jeśli dodamy do tego zgodność sygnałów elektrycznych kontrolera kart CF zarówno ze standardem 3,3 V, jak i 5 V, to staje się jasne, że do zbudowania przejściówki CF-IDE potrzebne będą jedynie gniazda i trochę przewodów.

To tylko “druty”

Schemat układu przejściówki przedstawiony jest na rysunku na sąsiedniej stronie. Większość połączeń między kartą CompactFlash a gniazdem kontrolera dysku twardego na płycie głównej peceta wykonać należy “punkt w punkt”, łącząc ze sobą tak samo oznaczone wyprowadzenia. Przykładowo: wyprowadzenie RESET gniazda HDD (1) łączymy bezpośrednio z wejściem RESET karty (41), D7 kontrolera (3) z D7 karty (6) itd. Na schemacie połączenia te przedstawiłem w postaci uproszczonej (jako magistralę), aby wyeksponować pozostałe sygnały, ważne dla funkcjonowania interfejsu.

Komentarza wymagać mogą widoczne na rysunku zworki. JP3 steruje sygnałem CSEL i określa, czy karta pracuje jako napęd Master czy Slave. Działanie JP2 jest ściśle powiązane z JP1. Obydwie zworki należy przestawiać jednocześnie. Jeśli ustawiamy napięcie 3,3 V, to na obydwu zworkach! Jest to związane z zasilaniem karty i poziomem sygnałów logicznych. JP1 załącza po prostu do zasilania karty napięcie 5 V bezpośrednio z zasilacza lub obniżone przez stabilizator do poziomu 3,3 V. JP2 natomiast informuje kontroler karty, z jakim poziomem sygnałów logicznych ma pracować. Dzięki temu nasz czytnik staje się uniwersalny i będzie działał zarówno z kartami, jak i kontrolerami HDD wykorzystującymi logikę 3,3 V albo 5 V.

W tym miejscu trzeba zaznaczyć, że zdecydowana większość kart jest przystosowana do pracy z napięciami 3,3 V i 5 V. Współczesne kontrolery dysków też poradzą sobie bez problemu z sygnałami na tych poziomach. Ewentualnie można więc zaoszczędzić kilka złotych. Wystarczy zrezygnować ze stabilizatora i zworek, ustawiając parametry pracy na 5 V. W przypadku typowej karty i tylko jednego urządzenia na taśmie wszystko powinno działać prawidłowo.

W praktyce może się jednak zdarzyć, że zetkniemy się z kartą działającą tylko przy napięciu 3,3 V. Ale to nie jedyny problem. Zdecydowana większość dysków i napędów optycznych korzysta już z obniżonego poziomu sygnałów logicznych. Jeśli na jednej taśmie (kanale IDE) umieścimy taki napęd i nasz czytnik “ustawiony” na 5 V, to kontroler będzie musiał radzić sobie z różnymi poziomami napięć. Uszkodzeniami to nie grozi (układy są na taką sytuację przygotowane), ale prawdopodobieństwo problemów ze współpracą naszego czytnika i jakiegoś konkretnego dysku lub napędu CD znacznie się powiększa. Z tych względów zalecane jest wykorzystywanie “bezpiecznego” trybu 3,3 V. Przejście do poziomu 5 V wskazane jest tylko w przypadku karty CF pracującej wyłącznie na 5 V (trafienie na taką jest mało prawdopodobne) lub kontrolera dysku nieakceptującego sygnałów 3,3 V (stare komputery 386, 486 lub pierwsze modele pecetów z procesorem Pentium).

Więcej:bezcatnews