Pages: 1 ... 5 6 [7]   Go Down
Author Topic: Connecting an Ethernet PHY to Arduino Due  (Read 39206 times)
0 Members and 1 Guest are viewing this topic.
nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8472
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

New thread started about the successor to the Black Diamond.

http://forum.arduino.cc/index.php?topic=170901.new#new

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Finland
Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Venezuela
Offline Offline
God Member
*****
Karma: 16
Posts: 509
Ground, ground, always ground
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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!



« Last Edit: August 01, 2013, 12:01:40 pm by Palliser » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 13
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Venezuela
Offline Offline
God Member
*****
Karma: 16
Posts: 509
Ground, ground, always ground
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Germany
Offline Offline
Full Member
***
Karma: 10
Posts: 230
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: December 02, 2013, 05:43:16 pm by TonyT3P3 » Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8472
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice-looking board.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Offline Offline
Newbie
*
Karma: 1
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 126
Posts: 8472
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

smiley, thanks, I do like that diagram.

_______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Venezuela
Offline Offline
God Member
*****
Karma: 16
Posts: 509
Ground, ground, always ground
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Alamos, Sonora, Mexico
Offline Offline
Full Member
***
Karma: 5
Posts: 132
learning never stops.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That's just an incredible piece of work! Thanks for sharing.
Logged

Quiero una vida simple en Mexico...nada mas.

Canada
Offline Offline
Sr. Member
****
Karma: 13
Posts: 401
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

« Last Edit: February 24, 2014, 01:53:57 pm by dlloyd » Logged

Electricity is really just organized lightning - George Carlin

Pages: 1 ... 5 6 [7]   Go Up
Jump to: