Verification of fixes/tweaks

The EtherTen combines an Uno-equivalent Arduino-compatible board and Wiznet-based Ethernet support, along with a microSD card slot and Power-over-Ethernet support. [Product page]
johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm
Verification of fixes/tweaks

Post by johpe » Fri Nov 04, 2011 3:13 pm

Hi there

I just found the Freetronics Arduino boards and shields and they seem really nice. Before buying them I'd like to verify that the main issues (for me) with standard Arduino boards have really been fixed.

1st issue for me is running many other SPI devices together with the Ethernet shield or in your case with the EtherTen with the onboard ethernet. From what I've read that is a problem with the 'official' Arduino ethernet shield but you have a fix for the 'SEN' or 'Chip Select' implemented on both the EtherTen and you ethernet shield?

2nd issue is the Watchdog timer, from what I understand there is a problem in the bootloader of all standard Arduino boards except for the Uno where they have updated the bootloader with fixes, from among others, Adaboot and Optiboot. The problem was that the watchdog timer runs during boot which can cause the chip to end in an infinite restart loop. My question is if you have implemented the same fixes so I can use the watchdog timer without any problems?

3rd thing I want to verify is not really an problem but I just want to make sure that the EtherTen (and maybe the coming EtherMega) works with the PoE 802.3af regulator that you sell.

4th (the last thing, I promise!) You write that there is a reset management chip on the EtherTen, does that mean that I can reset the ethernet part from software by simply setting some digital out to high? The reason I'd like to do that is that it seems (from my experience) that the ethernet shields hang/crash much more often then the actual Arduino board, and then it would be nice to be able to just reset the ethernet chip (and then reset the Arduino board via the above mentioned Watchdog timer if necessary).

Thanks and Best Regards,
Johannes

LukeW
Posts:91
Joined:Tue Nov 01, 2011 10:14 am

Re: Verification of fixes/tweaks

Post by LukeW » Sat Nov 05, 2011 2:40 pm

To use other SPI devices alongside the Ethernet controller, it's really just a matter of choosing a different pin for CS for the other device, connecting it to one of the pins that isn't already used on the EtherTen.

The EtherTen uses pin 10 for ethernet CS and pin 4 for microSD card CS.

Yes, the EtherTen and the Ethernet Shield and the EtherMega all support 802.3af using the Freetronics 802.3af POE identifier/voltage regulator plug-in module.

Regarding the bootloader, it all depends what bootloader is on the board by default when they're shipped by Freetronics. You could always re-flash the bootloader yourself with a different one.

To clarify and answer your other questions, probably best to ask Jon or Marc.

johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm

Re: Verification of fixes/tweaks

Post by johpe » Sat Nov 05, 2011 7:42 pm

Ok, thanks for hour reply.

To clarify the whole spi thing a bit more; the standard arduino Ethernet shield had (has?) a problem where the CS did not work, the w5100 chip on the shield was still enabled on the spi bus even though you raised pin 10. That issue is what I wanted to verify that you had fixed (it seems like it in the description of the etherten)??

Flashing my own boot loader requires some hardware that I don't have I think? That's why I want to make sure your boot loader have the optiboot fixes that the 'UNO' now encorporates.

Will Jon or Marc read this our should I post a PM to them directly?

Thanks again,
//Johannes

User avatar
jonoxer
Freetronics Staff
Freetronics Staff
Posts:298
Joined:Sat Oct 15, 2011 11:31 am
Location:Melbourne, Australia
Contact:

Re: Verification of fixes/tweaks

Post by jonoxer » Mon Nov 07, 2011 12:32 am

Thanks LukeW for being our unofficial tech support!

Regarding the CS problems, yes, we fixed that. The problem is that the Wiznet Ethernet chip fails to release its SPI pins when it is deselected, so with many Ethernet shields (but not ours!) you can't have both Ethernet and another SPI device working together.

The clever solution Marc came up with is to slave the SEN pin on the Wiznet to the CS line through an inverter, which forces the W5100 to make the SPI pins go high-impedance and allow other devices to operate. Here's the relevant part of the schematic for the Ethernet Shield, and the same technique is used on our other Ethernet-enabled boards:

Image

Regarding the bootloader, yes, our boards with an 8u2 (which is all the current models) use the same bootloader as the Uno. The only difference is that they use our USB device IDs and identify themselves as Freetronics boards.
--
Jon

johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm

Re: Verification of fixes/tweaks

Post by johpe » Mon Nov 07, 2011 6:35 am

Thanks for that info!

Only one thing left! :) My fourth question, about what the 'reset management chip' on the EtherTen actually means/does?

User avatar
jonoxer
Freetronics Staff
Freetronics Staff
Posts:298
Joined:Sat Oct 15, 2011 11:31 am
Location:Melbourne, Australia
Contact:

Re: Verification of fixes/tweaks

Post by jonoxer » Tue Nov 08, 2011 1:32 am

Sorry, I forgot to address the question about the reset controller.

The EtherTen includes an APX811-44UG-7, which is technically called an "MPU Supervisor". We've used it to control the state of the Wiznet reset pin, because one of the problems with many Ethernet shields is that the Wiznet chip may not be reset properly when the main MCU is reset. The timing requirements on the W5100 are different to the requirements on the ATmega MCU, so the APX811 monitors the reset line of the MCU and controls the reset on the W5100 appropriately. On the EtherTen it triggers when the MCU reset falls below 4.38V, and it applies a "pulse stretcher" to hold the W5100 in reset for between 140 and 280ms.

The end result is that on the EtherTen, the W5100 should go through a proper hard reset if either the supply voltage drops too low or if the MCU is reset. On many other W5100-based boards it won't reset consistently, so power brown-outs or short reset pulses can cause intermittent problems requiring you to manually press the reset button.
--
Jon

johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm

Re: Verification of fixes/tweaks

Post by johpe » Tue Nov 08, 2011 6:37 am

No problem and thanks for the additional info.

I've already placed an order based on the previous replies in the thread which all seemed like good improvements to the standard Arduino and shields.

The reset controller also seems like a great idea since I've actually seen the issues you're mentioning on the standard ethernet shield.

Best Regards,
Johannes

johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm

Re: Verification of fixes/tweaks

Post by johpe » Fri Nov 11, 2011 10:17 am

Hi again

Just came up with two more questions. :)

1st, will the reset management chip work when the ATmega MCU is reset through its watchdog timer? So the complete board comes up in a pristine state?

And secondly about the PoE 802.3af regulator together with the EtherTen, is it OK to run ethernet PoE together with USB and/or other external power adapter connected to the Arduino?

BR,
Johannes

User avatar
jonoxer
Freetronics Staff
Freetronics Staff
Posts:298
Joined:Sat Oct 15, 2011 11:31 am
Location:Melbourne, Australia
Contact:

Re: Verification of fixes/tweaks

Post by jonoxer » Fri Nov 11, 2011 10:29 am

Hi Johannes,

Good question about reset on the watchdog. The short answer is that I don't think so, because I don't think the AVR asserts its reset pin when the watchdog trips: it's input only, and remains high-impedance. I *hope* I'm wrong on that so perhaps someone else can clarify.

For PoE, yes, you can use PoE at the same time as USB power but you shouldn't use it with another power source connected to VIN. The way it works is that it extracts the power from the unused pairs of the LAN cable and sends it straight to VIN on the Arduino, so it's the same as if you'd connected an external power supply already.
--
Jon

johpe
Posts:9
Joined:Fri Nov 04, 2011 2:52 pm

Re: Verification of fixes/tweaks

Post by johpe » Fri Nov 11, 2011 11:02 am

Thanks for the quick reply.

So if the ethernet chip is not reset when the ATmega is reset by the watchdog is there a good way of resetting the ethernet chip from software in for example the setup() function?

I've read that it is not recommended by the ATmega designers to reset yourself (e.g. the ATmega MCU) by connecting an output to the reset pin, but maybe connecting an output of the Arduino to the reset pin of the ethernet Wiznet chip is OK??

Post Reply