Ethernet ideas for Prop2
pedward
Posts: 1,642
There is a DE0-nano on its way to me and I've started looking for Ethernet parts. The part that seems to be the right solution for the job is an integrated MAC controller such as http://www.micrel.com/_PDF/Ethernet/datasheets/ksz8851-16mll_ds.pdf
This is an integrated MAC/PHY that handles the ethernet frame I/O, including the generation of CRC checksums. The device implements 10/100 and has a simple 8 or 16 bit interface. It seems all that is needed is an integrated magnetic jack like this one: https://www.sparkfun.com/products/8534
Offloading all of that MAC stuff to an ASIC, for about the same cost as just a PHY, seems like a no-brainer. This would allow the Prop2 to actually run near line speed with 100Mbit Ethernet.
Whatcha guys think?
This is an integrated MAC/PHY that handles the ethernet frame I/O, including the generation of CRC checksums. The device implements 10/100 and has a simple 8 or 16 bit interface. It seems all that is needed is an integrated magnetic jack like this one: https://www.sparkfun.com/products/8534
Offloading all of that MAC stuff to an ASIC, for about the same cost as just a PHY, seems like a no-brainer. This would allow the Prop2 to actually run near line speed with 100Mbit Ethernet.
Whatcha guys think?
Comments
There are many new Ethernet ic's out there.
http://www.mouser.com/Semiconductors/Communication-Networking-ICs/Ethernet-ICs/_/N-5cfymZscv7?Ns=Pricing%7c0
Microchip has 3 chips, the venerable 28J60, 424J600, and 624J600.
The first is the SPI bus 10Mb MAC/PHY controller that is typically used with Arduinos. It's capable of 10Mb performance and uses SPI for communication.
The 424J600 is a 10/100Mb MAC/PHY with SPI or 8b interface options.
The 624J600 is the 64TQFP package of the 424 and has an optional 16b interface as well.
Eval boards are $40, far less than the Micrel part, and the cost is less for the Microchip part too.
I wonder, given the bad blood between Microchip and Parallax, if I should stay away from developing a solution around these chips.
What is the opinion of this forum?
Unless you are going to go GigE is there any reason to plug physically something into a network? If you do need a wired 10/100 solution then use one of the eBay $10 breakout boards. A good WiFi solution is much mote flexible.
Perry was referring to a lawsuit from 17 years ago where Microchip accused Parallax of stealing its trade secrets and violating its patents after we helped Scenix Semiconductor (later Ubicom) design the SX chips, which were extensions of the PIC16C5x architecture, but ran 20x faster. After the expense of wrangling for four years, Scenix agreed to stop manufacturing SX chips by 2010 and, meanwhile, limit their sales to 2M units a year.
Also, I have seen that some folks have trouble with a strong 200mhz signal coming from some of those xj6x series when they are trying to pass fcc testing.
Don't discount wired connections. Wireless will never be as bulletproof.
It seems that doing the mac in a cog would give more flexibility, but then you would have to buy a mac number IC from MC, or similar.
Any time you need to do Ethernet, whether it be wired or not, you need a MAC address. These aren't random and are not free, but rather the prefix is doled out by an authority.
Doing all the MAC in software, and only requiring a MII, means you need to come up with a unique MAC. Unfortunately this requires some centralized infrastructure to monitor and assign numbers to customers, etc.
By purchasing a MAC controller with MAC address already burned in, you avoid this hassle. Microchip offers their chips with MAC present, so we don't need to invent one, at least that's what I recall from their datasheet.
There are many different MAC controller manufacturers, I'm just looking for cheap dev boards, reasonably priced chips, and availability. Micrel doesn't seem to exist much outside Taiwan, so developer support and other concerns make me shy away.
No doubt, the encj parts will be less work.
Some performance data from the Microchip TCP/IP Stack Help
Throughput
PIC32 + ENC624J600 SPI 13.33mhz TCP 154-784 Kb/sec UDP 784Kb/Sec
PIC32 + ENC624J600 PSP Mode 5 PMP TCP 200-2071 Kb/sec UDP 2071Kb/Sec
PIC32 + PHY TCP 393-2543 Kb/sec UDP 8449Kb/Sec
PIC32 + MRF24WB0M(Wifi) TCP 9-84 UDP 44 (Kinda pathetic, don't understand this one)
Could Parallax not request one, and we will request from Parallax the other 6 letters?
16million for our pool of Parallax administered numbers to be given out, should be OK.
Can you clarify the units you are using? The literature from the datasheets says that the SPI interface is good for 13Mbps, and the 16b interface is good for 160Mbps.
While Parallax *could* do that, it means more resources they don't have, to administer the database.
There are lots of neat things they can do once they aren't under so much pressure. A USB database would be nice too.
-Tor
Explorer 16, Fast 100Mbps Ethernet PICtail Plus on the enc624j600
Pic32 ethernet starter kit on the other.
That is measured throughput using the MC stack, and obviously the tcp throughput is packet size dependent.
And the ENC28J60 definitely does not come with its own MAC address, which is why Harrison's example code uses 02-01-02-03-02-05. I suspect that second 02 was to avoid a too-obvious collision.
I was thinking of an auto responder, anyone can one get a block of 256 mac-id's
Maybe sending a text-message to verify phone number as phones is harder to get many off vs multi-email addresses.
A block of 4k units to verified bulk purchaser of Prop2 ICs, is handled manually.
From the 424/624J600 datasheet:
(Features)
Factory Preprogrammed Unique MAC Address
6.1.3 SOURCE ADDRESS
...
Each ENC424J600/624J600
device has a unique address which is loaded into the
MAADR registers on power-up. This value can be used
as is, or the registers may be reconfigured with a
different address.
I think the pmp mode is 16 bit mode, but I am unclear on that.