Go Down

Topic: Connecting an Ethernet PHY to Arduino Due (Read 45 times) previous topic - next topic

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

jake1981


Took a look at it.  This hardware kit can't be used simultaneously with your CTE LCD shields. Bummer.  Split decision... lots of wires for the LCD or lots of wires for the Ethernet.  Oh well. The DUE platform will get there eventually.


Ehm.. What does this mean? Arduino Due cannot have SD+TFT+Touch+ethernet - or does this just mean that shields are incompatible if they are not being wired? I am interested in a project that has a tft with touch.. And Sd.. And would be connected with ethernet.. Currently I have a shield from aqualed source for 5.0" tft - and was thinking I could use a ribbon cable to take ethernet connection "outside" - but does this then work or not?

Palliser

Small web server example using Taijiuino.

As some of the followers of this thread know, I have been working porting the EMAC library and example from AS6 ASF SAM3X-EK to the Arduino Due environment. Even though I tried to put the Due in action, it is very hard under its actual design. Thus, I migrated to Taijiunio and AS-Sam3x (third parties Due based boards). So far, we have a very raw workable library but also we have been very busy to finish it. We have some plan to continue next month (Paul, Thibaut and me).    
In the meantime of our EMAC library development and taking advantage that the raw EMAC library is working decently, I have decided to explore, what is, our next frontier: to use the potential EMAC cababilities of Arduino Due (now available in the Taijiuino board) an convert it in a small web server. Thus, I made a raw porting of the AS6 ASF lwIP Atmel example. This example features a basic HTTP web server using lwIP TCP/IP stack and the EMAC driver of the Taijiuino in mode standalone (without OS).

Plugging directly the Ethernet cable into the Taijiuino EMAC kit to my laptop and configuring the network to local mode setting up a 'point-to-point' network, now I can launch my Google Chrome web browser and typing the IP address assigned automatically to the Taijiuno (DHCP mode) and see an index.html page that comes with the example (converted into a static C struct, with HEX codes, with the help of a small Perl script).

Here attached a couple of pictures of the Taijiuino in action and the serial output. I have planned (of course) to polish and finish this raw code of the web server (it is messy and big now) into the Arduino IDE environment and create some input/output functions like turn on/off digital outputs using buttons in the web page, or change analog signals using a painted potentiometer or show status of some parameters in the board (temperature, voltage, etc.) but...that will take some weeks. Regards!




greghol

Missed out on this thread while it was active but read through it all. Nice work all.

What is the status on the demo code? I do see that the emac.h and emac.c files are in as of 1.5.3 now.

Tnx,
Greg

Palliser

Hello Greg,

Thank you for asking about the EMAC code. Here a brief dossier about its status:

EMAC demo sample code is running OK using Arduino IDE 1.5.2 and a third-party Due-based board, enabling it to respond to a ping command sent by a computer. See reply #67:
http://forum.arduino.cc/index.php?PHPSESSID=5i6p7elee9gv585u7626tb7mn7&topic=142908.60

So far, I have a ported EMAC library (from AS6 ASF) with the Media Independent Interface (mii),  mini IP structure (mini_ip) and the phy driver (conf_eth) files. I also had to modify the emac files (.c, .h) that you mentioned, and the variant files (.c, .h) from the IDE152. Notice that IDEs 1.53 and 1.54 do not have the emac pin definition/configuration. The next step is to create the EMAC class and overload some functions under the Arduino style. Regards!

Markus_L811


Hello Greg,

Thank you for asking about the EMAC code. Here a brief dossier about its status:

EMAC demo sample code is running OK using Arduino IDE 1.5.2 and a third-party Due-based board, enabling it to respond to a ping command sent by a computer. See reply #67:
http://forum.arduino.cc/index.php?PHPSESSID=5i6p7elee9gv585u7626tb7mn7&topic=142908.60

So far, I have a ported EMAC library (from AS6 ASF) with the Media Independent Interface (mii),  mini IP structure (mini_ip) and the phy driver (conf_eth) files. I also had to modify the emac files (.c, .h) that you mentioned, and the variant files (.c, .h) from the IDE152. Notice that IDEs 1.53 and 1.54 do not have the emac pin definition/configuration. The next step is to create the EMAC class and overload some functions under the Arduino style. Regards!


Impressiv as usually what you did, cool stuff

TonyT3P3

#96
Dec 02, 2013, 11:19 pm Last Edit: Dec 02, 2013, 11:43 pm by TonyT3P3 Reason: 1
Hi Palliser and all the rest interested in utilising the EMAC built in to the SAM3X8E

Let me introduce the Duet:



Its a 3D Printer (or other stepper driven robot) controller board that uses the SAM3X8E, along with its onboard EMAC,  HSMCI SD 2.0 interface and other peripherals. Alot more info is available on this blog post:

http://blog.think3dprint3d.com/2013/12/Duet-Arduino-Due-compatible-3DPrinter-controller.html

It uses the KSZ8051RNL PHY, I wrote about this initial work back in post #72: (http://forum.arduino.cc/index.php?topic=142908.msg1201468#msg1201468). The firmware is linked from the blog and runs a web server to control the 3D Printer. Thanks for all the work by Pallister and all the other contributors to this forum  - it was useful to see the other implementations.

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

TonyT3P3

Cheers! your pin out diagrams feature on my wall art!

Graynomad

:), thanks, I do like that diagram.

_______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Palliser

Hi Tony,
I am very happy and surprised with your Duet. Also anxious to watch the video. It reassures me that every grain of sand distilled from the forum can inspire people like you. I take my hat off to you guys. Best regard! Palliser

ODwyerPW

That's just an incredible piece of work! Thanks for sharing.
Quiero una vida simple en Mexico...nada mas.

dlloyd

#102
Jan 19, 2014, 07:10 pm Last Edit: Feb 24, 2014, 07:53 pm by dlloyd Reason: 1
EDITED:

While investigating ways to interface (at high speed) two sam3x8e mcu's, I've discovered this thread. What fantastic work many have accomplished here!

When development of the Ethernet PHY Due driver resumes, I'm curious if it would be easy to implement a "direct connect mode" that couples 2 due compatibles together for diagnostic or communication purpose (no external PHY boards required - just a jumper cable).

Here is the link to the TI paper:
http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/717/2480.Inter_2D00_DM6467-Communications-Using-Direct-GMII-Connections-E2E-.pdf

Due compatible to Due compatible jumper cable connection (incomplete):


Also, I've recently found a similar driver for reference that might be of interest: "The internal Ethernet Controller consists of a fully integrated media access controller (MAC) and network physical (PHY) interface (Stellaris M3 family only). The Ethernet Controller conforms to IEEE 802.3 specifications and fully supports 10BASE-T and 100BASE-TX standards."

At the following link, scroll down and click the "Libraries" tab, then click "ETHERNET LIBRARY":
http://www.mikroe.com/mikroc/arm/

Regards - dlloyd

Electricity is really just organized lightning - George Carlin

An00bIS

Hi all,

First of all thank you very much for investing so much time in writing and testing this library!
I just wanted to ask, what is the status of your library? Are you still developing/testing? Have you already uploaded your library to github?
I am planning to use an ethernet plug with a digistump digix board (this is a due clone where the ports are available on the board)
I have read the whole thread and also the infos on the taijidue site. but the site links to this thread...

Thank you!
An00bIS

Palliser

Hello An00bIS,

The EMAC library for Due remains very raw. You can download it with an sample sketch here:

https://github.com/elechouse/EMAC-DEMO/tree/master/EMAC

I tried to conform a work team about a year ago but this has not really been possible for a number of reasons. I also corroborated the library with a sample of a basic HTTP web server using lwIP TCP/IP stack (see reply#92) but that is not on github yet. Feel free to use the library 'as is' but again, it is raw and will work as a base for more developments. Regards,

p




 

Go Up