Projektuję właśnie pewną płytkę wykorzystującą układ Wiznet W5100. Układ ten jest kontrolerem Ethermet, posiadającym wbudowaną obsługę stosu TCP/IP. Można się z nim komunikować za pomocą magistrali SPI albo magistrali równoległej.
Na ile dobrze zrozumiałem dokumentację (datasheet + schemat udostępniony przez producenta) włączenie komunikacji po SPO wymaga zewnętrznego podciągnięcia pinu SEN do plusa zasilania. W przypadku korzystania ze SPI wszystkie piny ADDR powinny być podłączone do masy - taka informacja znajduje się na schemacie:
Mam jednak kilka innych wątpliwości. Po pierwsze zajrzałem do schematu Arduino Ethernet Shielda, który wykorzystuje ten układ. Tam z masą połączono również piny DATA. Nie ma o tym mowy w datasheecie ani na schemacie producenta. Kto ma rację?
Po drugie co powinienem zrobić z pinami /CS, /WR i /RD? Jeśli dobrze rozumiem dokumentację, piny te są używa w komunikacji równoległej. Nigdzie w dokumentacji ani na schemacie nie ma mowy o tym, co zrobić z nimi w przypadku korzystania ze SPI. Z tego co widzę, twórca Ethernet Shielda podciągnął je wszystkie do plusa wspólnym rezystorem. Takie rozwiązanie będzie konieczne, czy mogę je sobie odpuścić i po prostu zostawić te piny "wiszące w powietrzu"?
Kolejna kwestia to wspomniany już pin SEN, który aktywuje komunikacje SPI przy stanie wysokim. Producent układu w takim przypadku zaleca podciągnięcie go do VCC. Natomiast na schemacie Ethernet Schelda jest jakaś dziwna konstrukcja z buforem odwracającym pomiędzy tym pinem, a wejściem SPI Chip Select. Znów - kto ma rację?
I ostatnia sprawa - masa analogowa. W5100 ma trzy piny oznaczone AGND. Na schemacie dostarczonym przez producenta są one z główną masą za pośrednictwem koralika ferrytowego. Czy coś złego się stanie, jeśli pominę ten element, łącząc je bezpośrednio z polem masy? Bardzo mocno uprościłoby mi to projekt płytki.