Central MN, USA
Offline
Faraday Member
Karma: 35
Posts: 5920
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
|
 |
« Reply #30 on: October 15, 2010, 08:47:05 am » |
Graynomad, Jonathan Oxer
You both did an excellent job! A lof of people will benefit from this.
[glow]One quick thing: arduino.cc says the ethernet shield uses pin 4 (found in multiple locations on arduino.cc) for the sd card but your website has pin 2.[/glow]BTW, what are analog 0 and 1 used on this shield? I don't have this shield but would like to know.
|
|
|
|
« Last Edit: October 15, 2010, 09:02:04 am by liuzengqiang »
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 71
Posts: 6824
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #31 on: October 15, 2010, 11:29:29 am » |
Thanks liudr, I started it but Jon's done the hard work.
Looking at the ethernet shield schematics we have
A0 -> WP - write protect A1 -> DETECT - probably used to detect if the card is inserted D2 -> SS D10 -> PD2 D11 -> MOSI D12 -> SD_CS/MISO D13 -> SCK
Whether that matches the site I don't know (too late to check now) but it looks like the Arduino site is wrong. There's two revisions of this board, maybe the text refers to the earlier version. ______ Rob
|
|
|
|
|
Logged
|
|
|
|
|
Central MN, USA
Offline
Faraday Member
Karma: 35
Posts: 5920
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
|
 |
« Reply #32 on: October 15, 2010, 12:09:12 pm » |
Graynomad,
I re-read the latest schematic. J1 in the schematic is pins D8-13, J3 is pins 0-7. SS is marked on J1-3, which is pin 10. This is for the ethernet controller. PD2-, an interrupt, is marked at J3-3, which is pin 2 (hopefully the jumper is not connected). SD-CS is marked at J3-5, which is pin 4.
Could you re-check? I'm trying to design a shield compatible with the ethernet shield, which I don't have.
|
|
|
|
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 71
Posts: 6824
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #33 on: October 15, 2010, 08:12:55 pm » |
Hi liudr,
Just ckecked the schematics (arduino-ethernet-shield-05-schematic.pdf), I get is this
J1-3 -> SS -> D2
J2-1 -> WP -> A0 J2-2 -> DETECT -> A1
J3-3 -> PD2 -> D10 [glow]J3-5 -> SD_CS -> D12[/glow]
[glow]ISP-1 (J3-5) -> MISO -> D12[/glow] ISP-3 (J3-6) -> SCK -> D13 ISP-4 (J3-4) -> MOSI -> D11
I don't see them using D4 (I assume by pin 4 you mean digital 4)
What I don't understand is the two highlighted signals. They get MISO from the ISP header, but on the Arduino that's connected directly to J3-5 which they also use for SD_CS. Qué ???
So although these signals do different things on the shield they are connected together on the Arduino.
MISO and SD_CS are electrically the same, so how can the SD card's data output also be it's chip select? :-/
Have I missinterpreted something here?
_____ Rob (confused)
EDIT: Just checked this against shieldlist.org, and it matches.
|
|
|
|
« Last Edit: October 15, 2010, 10:07:15 pm by graynomad »
|
Logged
|
|
|
|
|
Left Coast, USA
Offline
Sr. Member
Karma: 4
Posts: 499
Sometimes I just can't help myself.
|
 |
« Reply #34 on: October 15, 2010, 11:50:34 pm » |
Have I misinterpreted something here? For starters: J3-3 is Arduino digital pin 2 (not 10) J3-5 is Arduino digital pin 4 (not 12), and is used as the SD Chip select. From the schematics, it doesn't look like pin 2 is connected to the W5100 interrupt pin, but I don't have a new Shield to inspect. Just look to see whether there is a solder bridge across the contacts of the "INT" component. The Arduino Ethernet library does not use an interrupt from the Wiznet chip, so it doesn't have to be connected here. The pins used as ICSP connections for MISO, MOSI, and SCK for a Duemilanove or UNO are different than those for a Mega1280 or Mega2560. If the Shield is plugged onto a board with an ATMega328 (or 168) here are the connections: MOSI is Arduino digital pin 11 MISO is Arduino digital pin 12 SCK is Arduino digital pin 13If the Shield is plugged onto one of the Mega boards they go like this: MOSI is Arduino digital pin 51 MISO is Arduino digital pin 50 SCK is Arduino digital pin 52For the new Ethernet shield, Arduino digital pin 10 is used as Ethernet Chip select, no matter which board it is plugged into. For a '168 or '328 chip, this pin (the SS pin) is also set (by the Ethernet library) to the output mode to initialize the hardware SPI interface circuit in the SPI master mode. If the Shield is plugged into one of the Mega boards, Arduino digital pin 53 is the SS pin that the Ethernet library sets to the output mode to initialize the hardware SPI interface on the ATmega chip, but is not used on the Ethernet shield (so it can be used for whatever output functionality you would like; just don't make it an input). Regards, Dave Footnolte:The old Arduino Ethernet Shield used pins 10, 11, 12, and 13 as the SPI port signals (from the digital pin connector, not from the ICSP connector) and, therefore was not compatible with a Mega board without modifications that would bend pins or cut traces to these pins and connect jumpers from the Mega connector way at the end of the board to the signal points on the Shield. It could be done (I did it), but the new way, using the ICSP connector, is (obviously) cleaner. Chalk one up for the Arduino Hardware Design team.
|
|
|
|
« Last Edit: October 16, 2010, 12:17:01 am by davekw7x »
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 71
Posts: 6824
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #35 on: October 16, 2010, 12:24:46 am » |
MOSI is Arduino digital pin 11 MISO is Arduino digital pin 12 SCK is Arduino digital pin 13 Agreed, same as my post, but J3-3 is Arduino digital pin 2 (not 10) J3-5 is Arduino digital pin 4 (not 12), and is used as the SD Chip select.
Are we looking at the same schematic? I'm using http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-05-schematic.pdfThe Arduino and the shield schematics have J1 and J3 swapped on the page. ______ Rob
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, USA
Offline
Sr. Member
Karma: 4
Posts: 499
Sometimes I just can't help myself.
|
 |
« Reply #36 on: October 16, 2010, 01:31:43 am » |
Well...I don't have a way to open the Eagle board file just now, so I can't see how the headers line up with a Duemilanove or a UNO or a Mega board, but regardless of the component designations on the various schematics, here's the deal:
There are two eight-pin headers on that Shield schematic.
Position 6 of J1 is clearly marked "PIN13" and position 7 is marked "GND" and position 8 is marked "AREF." Therefore, I infer that position 3 of J3 is "PIN2" and not "PIN10." Similarly, position 5 of J3 must be "PIN4" and not "PIN12."
In other words, J1 on the Shield plugs into J3 on the Duemilanove and J3 on the Shield plugs into J1 on the Duemilanove. (The same designations appear on the old Ethernet shield schematic, and I do have a couple of those, and I can verify that that's the way it is.)
Regards,
Dave
|
|
|
|
« Last Edit: October 16, 2010, 01:37:30 am by davekw7x »
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 71
Posts: 6824
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #37 on: October 16, 2010, 02:12:51 am » |
Deary me you're right, J1 = J3 and J3 = J1.
I latched onto the designations assuming that they would be a defined standard not left up to the whim of every PCB designer. I know you normally designate components in a logical progression across/down a PCB but with a standard all important components should be called the same thing by everyone and Arduino is arguably a standard.
You live and learn eh? Sorry for the confusion.
______ Rob
|
|
|
|
|
Logged
|
|
|
|
|
Central MN, USA
Offline
Faraday Member
Karma: 35
Posts: 5920
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
|
 |
« Reply #38 on: October 16, 2010, 07:31:40 pm » |
Alright! Then it's arduino digital pin 4 then. Thank to both of you! I will attach a button to arduino digital pin 2 since it's unlikely used.
|
|
|
|
|
Logged
|
|
|
|
|
Melbourne, Australia
Offline
Full Member
Karma: 0
Posts: 226
Cyborg-in-progress
|
 |
« Reply #39 on: October 17, 2010, 04:47:53 pm » |
Would it be a problem that the 'Shield Image' form accepts a link to an image as well? Saves me (us) a download and upload of the image. That's possible, it just means that I would have to download and upload it instead. None of the fields on that form are required though so for shields where people don't include an image I just look for one myself. In fact in some cases the images uploaded by submitters are very poor quality so I go and find a better one myself anyway. Thanks for the suggestion! -- Jon
|
|
|
|
|
Logged
|
|
|
|
|
Melbourne, Australia
Offline
Full Member
Karma: 0
Posts: 226
Cyborg-in-progress
|
 |
« Reply #40 on: October 17, 2010, 05:02:03 pm » |
The official Ethernet shield came up as an early problem for me when adding to @GrayNomad's list, because it's been available in several versions. The latest one is (I think) version 5, and the record in the DB is mostly a reference to v4 (including the photo) but the pinouts are for v5. I'm intending to duplicate the record and have separate entries for v4 and v5. -- Jon Super-cheap prototyping shields: www.freetronics.com/protoshield-basic
|
|
|
|
|
Logged
|
|
|
|
|
North Yorkshire, UK
Offline
Faraday Member
Karma: 104
Posts: 5531
|
 |
« Reply #41 on: October 18, 2010, 02:25:47 am » |
The official Ethernet shield came up as an early problem for me when adding to @GrayNomad's list, because it's been available in several versions. The latest one is (I think) version 5, and the record in the DB is mostly a reference to v4 (including the photo) but the pinouts are for v5.
I'm intending to duplicate the record and have separate entries for v4 and v5. Maybe have one page for the latest version but then have links off that for previous versions. Saves filling the site up with lots of versions of shields. Mowcius
|
|
|
|
|
Logged
|
|
|
|
|
Netherlands
Offline
Tesla Member
Karma: 90
Posts: 9393
In theory there is no difference between theory and practice, however in practice there are many...
|
 |
« Reply #42 on: October 20, 2010, 02:25:01 pm » |
Thanks for the great list, now it's far easier to create my Xmas wish list  An idea came into my mind when reading this discussion. Could shield manufacturers place a mark which pins the shield uses? e.g. a square or a circle around the pinnumbers or just inverse print the number on the shield itself, or don't print the numbers used as these pins are not available? As I have no experience in designing boards I do not know what's possible or easy to do. Are there reasons not to mark the pins? e.g. some pins are optional and others aren't? Different markings? Just thinking out loud, Rob
|
|
|
|
|
Logged
|
|
|
|
|
North Yorkshire, UK
Offline
Faraday Member
Karma: 104
Posts: 5531
|
 |
« Reply #43 on: October 20, 2010, 02:27:19 pm » |
Rob, sounds like an easy thing to do. Maybe some companies would take it on board. I would put a box around them or some kind of other indication like you said.
Mowcius
|
|
|
|
|
Logged
|
|
|
|
|
Netherlands
Offline
Tesla Member
Karma: 90
Posts: 9393
In theory there is no difference between theory and practice, however in practice there are many...
|
 |
« Reply #44 on: October 20, 2010, 02:41:52 pm » |
Hi Mowcius, Could it be standardized in some way? e.g. in the shield development guidelines? Does such a doc exist? only saw http://arduino.cc/en/Main/ArduinoShields Rob
|
|
|
|
|
Logged
|
|
|
|
|
|