Author Topic: Recommendation for Ethernet chip needed  (Read 19103 times)

0 Members and 1 Guest are viewing this topic.

Offline richardmanTopic starter

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Recommendation for Ethernet chip needed
« on: November 30, 2015, 11:41:38 pm »
Any recommendation for a good ethernet chip? High quality is more important than low cost. It will be used in conjunction with a separate MCU. Bonus if the vendor provides TCP/IP stack etc.

Thanks
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Recommendation for Ethernet chip needed
« Reply #1 on: November 30, 2015, 11:54:13 pm »
I have lined up a Wiznet chip for an upcoming project. I started a thread about it a few months ago; there are some issues regarding powering and reset though. IMHO nothing a good layout + decoupling can't solve.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline djacobow

  • Super Contributor
  • ***
  • Posts: 1151
  • Country: us
  • takin' it apart since the 70's
Re: Recommendation for Ethernet chip needed
« Reply #2 on: December 01, 2015, 12:05:40 am »
Any recommendation for a good ethernet chip? High quality is more important than low cost. It will be used in conjunction with a separate MCU. Bonus if the vendor provides TCP/IP stack etc.

Thanks

Someone else pointed out Wiznet parts. Those are great if you just want TCP/IP off-loaded entirely and want to see a serial modem-like interface instead.

The microchip ENC28J60 shows up a lot in hobby designs. It's got a mac + phy and SPI interface to your uC. There is good driver support out there, but you'll be doing your own TCP/IP on your CPU. It's 10MB/s. ENC624J600 is a 100MB/s part. It's not the cheapest part, but I think you'll have an easier time finding drivers than with some cheaper parts.


 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Recommendation for Ethernet chip needed
« Reply #3 on: December 01, 2015, 01:02:17 am »
what interface ? the best ones are PCI or PCIx based ... but if the host doesnt have that ...
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline richardmanTopic starter

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #4 on: December 01, 2015, 01:56:50 am »
what interface ? the best ones are PCI or PCIx based ... but if the host doesnt have that ...

MCU, so basic SPI, parallel etc.
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline richardmanTopic starter

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #5 on: December 01, 2015, 01:58:42 am »
Someone else pointed out Wiznet parts. Those are great if you just want TCP/IP off-loaded entirely and want to see a serial modem-like interface instead.

The microchip ENC28J60 shows up a lot in hobby designs. It's got a mac + phy and SPI interface to your uC. There is good driver support out there, but you'll be doing your own TCP/IP on your CPU. It's 10MB/s. ENC624J600 is a 100MB/s part. It's not the cheapest part, but I think you'll have an easier time finding drivers than with some cheaper parts.

So the PROs of using the ENC part is perhaps less costly but more work on the MCU's part?

As I mentioned, cost is not the major concern: quality (and performance) are.

Thanks
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline bson

  • Supporter
  • ****
  • Posts: 2269
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #6 on: December 01, 2015, 02:16:56 am »
There's always the classic CS8900A... tons of source code out there, but obviously not the most modern.
 

Offline Bruce Abbott

  • Frequent Contributor
  • **
  • Posts: 627
  • Country: nz
    • Bruce Abbott's R/C Models and Electronics
Re: Recommendation for Ethernet chip needed
« Reply #7 on: December 01, 2015, 03:10:19 am »
cost is not the major concern: quality (and performance) are.
What performance do you need, and which MCU are you intending to use?
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: Recommendation for Ethernet chip needed
« Reply #8 on: December 01, 2015, 03:30:27 am »
Any recommendation for a good ethernet chip? High quality is more important than low cost. It will be used in conjunction with a separate MCU. Bonus if the vendor provides TCP/IP stack etc.

Thanks

Does your microcontroller have RMII/MII interface?
You should also read this: https://www.eevblog.com/forum/projects/which-ether-phy-to-use/
 

Offline djacobow

  • Super Contributor
  • ***
  • Posts: 1151
  • Country: us
  • takin' it apart since the 70's
Re: Recommendation for Ethernet chip needed
« Reply #9 on: December 01, 2015, 04:04:53 am »
So the PROs of using the ENC part is perhaps less costly but more work on the MCU's part?

As I mentioned, cost is not the major concern: quality (and performance) are.

Thanks

Free Electron is right that I did not even ask your requirements. I sort of assumed you were working with run of the mill cortex or 8b part with serial interfaces only. The performance for such is never gonna be great, but it's adequate for lots of things.

If you are in need of high performance, then things like PCI. RMI / RMII are phy<=>mac interfaces for parts that have their own MAC, or if you want to use separate MAC and PHY parts. Could be something you want to do, probably not.

You really have to tell us what you're up to.

Regarding IP on your processor, it can be a pain or not. Terminating TCP without an RTOS is something I would not want to do. Running LWIP over your RTOS could be smooth or rough depending on how easy it plugs in. Sometimes RTOSs have already done it for you. Sometimes you only need to handle UDP or even just send individual packets or something and life can be easiesh.


So the answer is ... it depends.
 

Offline mrpackethead

  • Super Contributor
  • ***
  • Posts: 2845
  • Country: nz
  • D Size Cell
Re: Recommendation for Ethernet chip needed
« Reply #10 on: December 01, 2015, 04:09:39 am »
Yes, huge depends.

The wiznet is easy, but its serioulsy painful if you want / need to do anything non-standard with the IP stack. For example multicast...

I've used 1000's of the ENC chips, with PIC microprocessors, ( PIC24 and 32 ) and they run pretty well, thats using a RMII interface.
Theres a bunch of Phy chips that Microchip have just bought ( SMSC ) and Texas Instruments have lots as well.  The TI parts are possibly the most robust.



On a quest to find increasingly complicated ways to blink things
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #11 on: December 01, 2015, 06:26:19 am »
Quote
The wiznet is easy, but its serioulsy painful if you want / need to do anything non-standard with the IP stack. For example multicast...
These days I would be worried about IPv6.

As for built-in TCP/IP, doesn't that limit you to Wiznet and the Lantronix modules?
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Recommendation for Ethernet chip needed
« Reply #12 on: December 01, 2015, 07:28:30 am »
ENC28J60. It's 10MB/s. ENC624J600 is a 100MB/s part. It's not the cheapest part, but I think you'll have an easier time finding drivers than with some cheaper parts.

above and wiznet all top out around 1mbit irl

Quote
separate MCU

dont, unless its for infrequent small messages
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline richardmanTopic starter

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #13 on: December 01, 2015, 09:01:02 am »
Looking at the STM32F429 right now, so actually we only need something like a Microchip LAN8720A with MII.
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Recommendation for Ethernet chip needed
« Reply #14 on: December 01, 2015, 09:11:19 am »
Investigate properly which PHY to use (10Mb/100Mb should be enough for a F4), search the net for problems, and choose something new but well tested.
Choose an IP stack that supports IPv6 and also check for problems. Don't plan it will work at once or twice, plan weeks extra for software faultfinding and solutions.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Recommendation for Ethernet chip needed
« Reply #15 on: December 01, 2015, 09:37:05 am »
Investigate properly which PHY to use (10Mb/100Mb should be enough for a F4), search the net for problems, and choose something new but well tested.
Choose an IP stack that supports IPv6 and also check for problems. Don't plan it will work at once or twice, plan weeks extra for software faultfinding and solutions.
The first/last time I implemented uIP (I think it is related to lwip) it took me a couple of months to iron all the bugs out and get it working smoothly (I also put a BSD sockets compatible layer on top of uIP). I also second the suggestion to consider using an RTOS for handling network traffic. If this ethernet / IP solution is for use on a module to be used by novices then the Wiznet chip is a good solution. The example projects will be small and the users can't mess up the network stack.
« Last Edit: December 01, 2015, 10:28:09 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Recommendation for Ethernet chip needed
« Reply #16 on: December 01, 2015, 01:42:00 pm »
Recognizable, it takes way more effort than anyone who hasn't done this before imagines.
A standalone module as the Wiznet will be good enough for 90% of the applications.
Problems start when there are requirements that need some extra than you are stuck.
For instance does the Wiznet do TLS1.2, secure tfpt or other secure protocols? IPv6 support , CoAP? Can it support multicast UDP messages (subscriptions) ?
That kind of requirements that drop in after architects start to think about some problems to solve.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Recommendation for Ethernet chip needed
« Reply #17 on: December 01, 2015, 03:59:21 pm »
ehternet over SPI or any other bitbanged i/f is going to be total crap.

You want to use a CPU that has the MAC on-board. wiring such a thing up requires a fast 16 bit data bus , address bus and control signals.
CS8900 is an old cruft. SMSC or AMCC may have solutions but they will be 10Mbit tops with a lone 100Mbit maybe...
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline djacobow

  • Super Contributor
  • ***
  • Posts: 1151
  • Country: us
  • takin' it apart since the 70's
Re: Recommendation for Ethernet chip needed
« Reply #18 on: December 01, 2015, 09:13:41 pm »
ehternet over SPI or any other bitbanged i/f is going to be total crap.

You want to use a CPU that has the MAC on-board. wiring such a thing up requires a fast 16 bit data bus , address bus and control signals.
CS8900 is an old cruft. SMSC or AMCC may have solutions but they will be 10Mbit tops with a lone 100Mbit maybe...

Meh. There are a lot of applications where performance does not matter one iota, including just about every "internet of things" device. If your product has a 100MHz ARM core with a 256 kiB of RAM, it's unlikely it's going to generate enough data to saturate a 10Mb/s Ethernet link anyway.

What most people seem to be doing with Ethernet these days is providing some management interface like SSH, or hosting a micro-web server, or fetching JSON over a TCP socket, every single one of which can easily be supported by a SPI-connected Ethernet controller.

For a lot of apps, performance is way down on the list of requirements.
 

Offline richardmanTopic starter

  • Frequent Contributor
  • **
  • Posts: 427
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #19 on: December 01, 2015, 09:16:55 pm »

Meh. There are a lot of applications where performance does not matter one iota, including just about every "internet of things" device. If your product has a 100MHz ARM core with a 256 kiB of RAM, it's unlikely it's going to generate enough data to saturate a 10Mb/s Ethernet link anyway.

What most people seem to be doing with Ethernet these days is providing some management interface like SSH, or hosting a micro-web server, or fetching JSON over a TCP socket, every single one of which can easily be supported by a SPI-connected Ethernet controller.

For a lot of apps, performance is way down on the list of requirements.

Excellent points! Thanks
// richard http://imagecraft.com/
JumpStart C++ for Cortex (compiler/IDE/debugger): the fastest easiest way to get productive on Cortex-M.
Smart.IO: phone App for embedded systems with no app or wireless coding
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Recommendation for Ethernet chip needed
« Reply #20 on: December 02, 2015, 01:39:45 am »
Quote
Looking at the STM32F429 right now, so actually we only need [a phy]
A chip with a built-in ethernet controller (MAC) is a different animal (although the usually-required external Phy chip is usually similar in cost to an ENCxx chip that includes MAC and Phy.)  One of the Stellaris CM3 chips had ethernet with a built-in Phy, and it had some neat tiny internet modules (http://www.element14.com/community/docs/DOC-49011/l/texas-instrument-mdl-s2e-stellaris-serial-to-ethernet-module ), but so far TI hasn't offered an  equivalent "Tiva" product. :-(

You could do a lot worse that putting some "standard" TCP/IP package on a dedicated separate ARM chip and providing an interface protocol.

One thing to watch out for is encryption.  I watched someone get told recently that an Arduino with Internet connectivity can't send eMail, because it doesn't support the heavy-weight encryption/authentication/security protocols (TLS?), and none of the "real" mail servers will accept email from a non-secure host.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Recommendation for Ethernet chip needed
« Reply #21 on: December 02, 2015, 08:20:34 am »
One thing to watch out for is encryption.  I watched someone get told recently that an Arduino with Internet connectivity can't send eMail, because it doesn't support the heavy-weight encryption/authentication/security protocols (TLS?), and none of the "real" mail servers will accept email from a non-secure host.
That sounds a bit over the top because there are still lots of old e-mail programs in use. It could be true though when wanting to use a provider's e-mail server from outside their network. That typically requires a login + password so could also require encryption.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline mrpackethead

  • Super Contributor
  • ***
  • Posts: 2845
  • Country: nz
  • D Size Cell
Re: Recommendation for Ethernet chip needed
« Reply #22 on: December 02, 2015, 09:21:25 am »
The new PICMZ32 chips have hardware encryption on them, and work pretty well, for a $5 micro. attached to a PHY i can generate 30-35Mb of meaningful data.
On a quest to find increasingly complicated ways to blink things
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Recommendation for Ethernet chip needed
« Reply #23 on: December 02, 2015, 12:42:19 pm »
Concerning the datarate, most embedded controllers bottleneck will be the SRAM, most IP stacks reserve about 32kB for the buffers.
Even at 10Mb/s that means you have to handle 1,25MB so about 25 ms to handle a 32kB buffer (read out and process).
Lets face it most of these small IP controllers are not meant to be strained to handle this kind of traffic, if you need this get a embedded linux board.
These embedded boards are meant to receive COAP commands and respond to that on occasional basis.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Recommendation for Ethernet chip needed
« Reply #24 on: December 02, 2015, 03:42:13 pm »
ehternet over SPI or any other bitbanged i/f is going to be total crap.

You want to use a CPU that has the MAC on-board. wiring such a thing up requires a fast 16 bit data bus , address bus and control signals.
CS8900 is an old cruft. SMSC or AMCC may have solutions but they will be 10Mbit tops with a lone 100Mbit maybe...

Meh. There are a lot of applications where performance does not matter one iota, including just about every "internet of things" device. If your product has a 100MHz ARM core with a 256 kiB of RAM, it's unlikely it's going to generate enough data to saturate a 10Mb/s Ethernet link anyway.

What most people seem to be doing with Ethernet these days is providing some management interface like SSH, or hosting a micro-web server, or fetching JSON over a TCP socket, every single one of which can easily be supported by a SPI-connected Ethernet controller.

For a lot of apps, performance is way down on the list of requirements.
it's not about outgoing performance. the problem is incoming data. you want to be able to receive that at the rate you are being fed. even a 10 megabit pipe can easily overload a cpu if it has to sip its data through a straw between the cpou and ethernet controller.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf