Ethernet shield design and implementation

(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...