sobota, 11 października 2014

Jak obsłużyć karty uSD, moduł ethernetowy W5100 v5 z arduino mega2560

Piszę tu o module w wersji 5 ( bo taki kupiłem ) obecnie na "topie" jest wersja 6, różnice z 5 są takie że wrzucono buforki 74xxx1g125 ( obudowa jak stabilizator 3,3V w mega2560 ) na liniach SPI z kartą uSD.
Ale konkrety, oba ustrojstwa czyli w5100 oraz uSD są skomunikowane z uC po liniach SPI czyli mosi miso sck i cs ( w przypadku SD ).Schemat modułu niewątpliwie pomoże nam rozgryźć jak odpalić przykład z karty. Przyda nam się również skrócona mocno nota aplikacyjna scalaczka firmy WIZNET W5100.
Napiszę od razu o co chodzi ( dla niecierpliwych ), trzeba ustawić wyjście cyfrowe 10 na 5V, co wyłączy komunikacje w5100, przez co będziemy mogli skorzystać z karty uSD czy SD. Teraz rozwinięcie dla dociekliwych.
Aby nasz w5100 mógł się komunikować po spi z wieloma układami na pinie SCS musi być 5V, oraz na pinie SEN gnd. Jeśli ściągnąłeś schemat i notę to warto je otworzyć i sprawdzić w nocie w dziale Multiple SPI Slave Usage, jest napisane po angielsku to co powyżej. No ale tu 0 a tu 1 a przecież piszesz że trzeba ustawić 5V na d10 i wszystko ok, jak to? Otwieramy schemat modułu i patrzymy na prawy górny róg schematu ( odnajdujemy listwę pinów z aref gnd d13 ) i patrzymy że do D10 podłączony jest kawałek kabelka z nazwą SS ( wcale nie chodzi mi tu o naszych zachodnich sąsiadów ) patrzymy teraz po przeciwnej stronie na scalak w5100 i widzimy że kabelek SS idzie do jakiegoś trójkąta ( dla tych którzy dopiero zaczynają przygodę z elektroniką ) i do pinu SCS ( o którym mowa wyżej ). Teraz tajemniczy trójkąt z kółeczkiem na końcu, dzięki temu kółeczku na pinie SEN ( SPI_Enable ) jest stan przeciwny jak na SCS.
Reasumując jak na SCS jest 1 to na SEN jest 0 i nie można się skomunikować z w5100 ( mówiąc krótko scalak nas olewa ). Co prawda w przykładach z IDE ardu nie widziałem aby d10 był ustawiony na 0 ( obsługa w5100 ) ale najprawdopodobniej jest to zrobione w bibliotece ETHERNET albo wystarczy aby na SEN była 1 albo i tak po włączeniu zasilania wszystkie porty są wejściami bez podciągnięcia do 5V. Spróbuje znaleźć przykład z obsługą karty i w5100, ale najprawdopodobniej da się pogodzić obie te rzeczy.
Co do karty sd to też jest SEN ( SEN3 dokładniej ) wyprowadzony z dzielnika SD_CS który najprawdopodobniej ( muszę sprawdzić ) analogicznie działa jak SEN w w5100. Arduino mega2560 jest trochę inne niż uno, ale zawsze jest wyjście z trudnej sytuacji.

Brak komentarzy:

Prześlij komentarz