Ethernet shield design and implementation

I'm studying the schematics for Ethernet shield, comparing it with Wiznet reference schematics for W5100, and now I have a couple of questions regarding the whole design and differences between two variants.

  • What does WP solder jumper do?
  • Why does the shield use two (same) voltage regulators (but in different packages)? One is not enough for both W5100 and SD?
  • The previous version of Ethernet shield had no voltage divisors to do 5V [ch8594] 3.3V conversion on SD_CS, MOSI and SCK card pins, why?
  • What is the purpose of 74HC14 inverter added on new version of Ethernet shield? To make sure that when SPI on W5100 is enabled, the chip is put in slave mode? Why do we need to use Schmitt inverter here, not just regular 74HC04 inverter?
  • Reference schematics proposes using 0.01µf and 0.1µf bypass caps between GNDA and 3.3VA while the shield uses 10µf (C20) and two 0.1µf (C15, C16) caps instead, why?
  • Crystal caps are of different value, 22pf instead of 13pf on reference? Is there an allowed range?

(The following are educated guesses. I did not design the ethernet shield, nor have I built any other wiznet-based circuits.)

  • What does WP solder jumper do?

WP allows the setting of the microSD card "Write protect" tab to be read by software. The jumper looks like it allows the signal to be tied low so that the card always looks write-protected.

  • Why does the shield use two (same) voltage regulators (but in different packages)? One is not enough for both W5100 and SD?

This is a "board stuffing option." You'll notice that the two packages use the same spot on the PCB; you get to pick one or the other depending on price, availability, etc, and the board has pads that will accept either one. Not both.

  • The previous version of Ethernet shield had no voltage divisors to do 5V [ch8594] 3.3V conversion on SD_CS, MOSI and SCK card pins, why?

The ethernet chip has 5V tolerant IOs, and in fact the new version still has the ethernet chip connected directly to the arduino outputs. The divisors are for the SD card, which was not supported on the old board.

  • What is the purpose of 74HC14 inverter added on new version of Ethernet shield? To make sure that when SPI on W5100 is enabled, the chip is put in slave mode? Why do we need to use Schmitt inverter here, not just regular 74HC04 inverter?

It's a 74LVC14. The LVC family is one whose inputs are 5V compatible even when operating at lower supply voltage, and it's pretty common to to use something from that family for 5V to 3V logic translation. As for 14 vs 04 vs whatever ... I dunno. All those SSI chips tend to cost about the same anyway.

  • Reference schematics proposes using 0.01µf and 0.1µf bypass caps between GNDA and 3.3VA while the shield uses 10µf (C20) and two 0.1µf (C15, C16) caps instead, why?

More is better, mostly. All told, these are bypassing the ethernet chip, the regulator, AND the SD card, remember.

  • Crystal caps are of different value, 22pf instead of 13pf on reference? Is there an allowed range?

Somewhat dependent on actual crystal used, pcb layout, and other factors. Generally not very critical...

This is a "board stuffing option." You'll notice that the two packages use the same spot on the PCB; you get to pick one or the other depending on price, availability, etc, and the board has pads that will accept either one. Not both.

Ah, thanks for clarification.

5V compatible even when operating at lower supply voltage

Haven't noticed that it's LVC series? I've seen AHC series chip used for conversion purposes as well (Datalogger shield from Adafruit has 74AHC125 buffer for that).

Another question: can I do voltage divider with 470+220 resistors pair instead of 2.2K+1K? The R1/R2 ratio is very close.

Another question: can I do voltage divider with 470+220 resistors pair instead of 2.2K+1K? The R1/R2 ratio is very close.

The total resistance is 700 ohm versus 3200 ohm so it will draw ~4.5 times as much amperes. 7.5 mA vs 1.5 mA although just ~6mA difference, it adds up to the total usage

Does the new official shield use only ICSP connector pins to provide SPI interface between Arduino and W5100?
(http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-05-schematic.pdf)

Why 1.8V supply pins are wired up together through a bead although not used?

Does the new official shield use only ICSP connector pins to provide SPI interface between Arduino and W5100?

Yes, the MOSI, MISO, and SCK pins are connected through the ICSP connector. By doing it this way the shield can be plugged into an UNO or Duemilanove and it will use the correct ATmega328 SPI interface signals. When the shield is plugged into an Arduino Mega1280 board or an Arduino Mega2560 board, the correct SPI interface signals for that board's processor go to the shield.

Bottom line: By using ICSP pins instead of Arduino pins 11, 12, and 13 for the SPI port signals, the shield is compatible with '328 boards and with '1280/2560 boards and can use the current Ethernet library with no hardware or software modifications. Clever, yes?

Why 1.8V supply pins are wired up together through a bead although not used?

There is an internal 1.8V regulator in the Wiznet chip. Its output is brought out and connected directly to the Wiznet Digital 1.8V input pin, and through a ferrite bead (for noise suppression) to the Wiznet Analog 1.8 Volt input pin.

Regards,

Dave

Thank you for you comments. So we can't stack the new revision of Ethernet shield atop Arduino as with other shields?

Also, why RESET pin of W5100 is not pulled up? Does STM812 handle it?
From reading this forum seems that W5100 reset causes lots of problems to people.

stack the new revision of Ethernet shield atop Arduino

Unless the other shield has an ICSP connector (in the same position as the ICSP on Arduino boards) that passes the signals along, you will have to add some wiring to the Ethernet Shield to connect SCK, MISO and MOSI from the other Arduino signal pins.
The only shield that I have that passes the ICSP on to other boards plugged into it is a Mega shield from NKC. (This is the same as the Mega protoshield kit sold by adafruit.) Be sure and check photos of any such shield before you buy. There may be others, but I think that most shields do not do this. (See Footnote.)

RESET pin of W5100

Pin 2 of the STM812 is connected to the Wiznet Reset pin. That pin is 5V logic, not open collector/drain. See the data sheet.

Regards,

Dave

Footnote:
It seems that many vendors of shields other than prototype shields assume that theirs is the only shield you will connect to your Arduino. Many of them don't even pass the "normal" Arduino header pins through so that another shield can be piggybacked over it, let alone the ICSP pins.

I really do not understand how to reset circuit STM812 resets the W5100 with its Active HIGH reset output? W5100 requires active LOW reset!
STM811 is adequate IC for reset.

do not understand

[edit]edit[/edit]Original response had too many words.

The lack of a complete and accurate BOM (Bill of Materials) makes us have to guess. (At least I have to guess, since I don't have one of the boards.)

Bottom line: If it were an STM812 it couldn't work. I'm guessing that your guess is correct: It's an STM811.

Note that, not just Arduino, but a lot of open-source hardware projects, suffer from lack of a comprehensive Bill of Materials.. And that's a Bad Thing. Not necessarily Fatal, but Bad (in my opinion).
Maybe someone who actually owns one of these boards can take a look and verify that it's not an STM812.

Regards,

Dave

Footnote:
I could even guess how the wrong part got on the schematic and board, but it wouldn't be productive. The real bottom line is that the STM811 and STM812 have the same footprint so if the board is laid out for an STM812 component, an STM811 could actually be installed. It would be nice to have some actual documentation for this.

Strange that no one has noticed that?

a lot of open-source hardware projects, suffer from lack of a comprehensive Bill of Materials.. And that's a Bad Thing. Not necessarily Fatal, but Bad (in my opinion).

Yes, but there's a difference in the level of "badness" between not knowing the exact part number for the 47uF/25V cap on the board, and having a part with a completely incorrect label on the schematic (just because it has the same footprint as the actual component.) I've always associated the "Bill of Materials" with the first sort of problem (having correct but not "complete" part info), while the latter is just ... wrong.

difference in the level of "badness"

It would be Fatal (for me personally) if I paid for, say, 10,000 parts (of anything) before building and testing the first board.

On the other hand...

It's only mildly annoying if I study a schematic from a supposedly reliable source and find, through careful analysis, that there seems to be a problem with a particular part. A "Learning Opportunity," right?

I think it's always a Good Idea to ask other people if they perceive the same problem, as delkons did.

Bottom line: Trust but Verify.

Regards,

Dave

I accidentally noticed the problem when I should merge mega and ethernet PCB in one. After careful study of schematic and datasheet, I noticed a problem
Copy & paste has never been my solution!