|
From: Randall Nortman on 8 Sep 2005 15:51 Thanks to all who responded to the previous thread I started regarding AVR+Nut/OS vs. ARM+Linux. I have decided to go with an AVR (Mega128) with external SRAM (32kB or 64kB, probably) and an external ethernet MAC. (I would still consider the AT91SAM7X, except that it doesn't seem to be generally available yet. If anybody knows where I can get it, I'll give it a shot.) For the OS and, more importantly, TCP/IP stack, I'm still looking at Nut/OS, but have also expanded the options to include Contiki and FreeRTOS (with uIP), or possibly just uIP with no external OS. But, there remains the question of which Ethernet chip to use. I only need 10Mbps, but I wouldn't mind running in 100Mbps mode. (At 16 MIPS, I'm not going to be able to saturate even 10M, but it would be nice to be able to put these things on a hub with 100Mbps nodes without slowing everything to 10Mbps. Some hubs can mix 10/100 right, but not all.) The RTL8019AS is apparently popular with hobbyists, but it seems difficult to source (not carried by Digi-Key, for example). Still, it seems like I can most easily find pre-written drivers for this chip, so I wouldn't need to write my own. (I've never written Ethernet code, so I'm a little clueless about how it all works.) Anybody have other recommendations? My primary concerns are, in priority order: (a) reliability, (b) getting the TCP/IP stack up and running with a minimum of coding in one or all of the above-mentioned OS environments, (c) minimizing the number of traces on the PCB, chip footprint, and heat generation, and (d) being able to buy the chip cheaply and reliably in small/moderate quantities (from half a dozen for prototyping to a couple hundred for subsequent production). Opinions on the three operating systems I mentioned (Nut/OS, Contiki, FreeRTOS+uIP) would also be appreciated. My primary concern here is that it be as close to working out of the box (or rather, out of the ..tar.gz file) as possible. It would also be nice to be able to migrate easily to an ARM7 chip in the next generation. And lastly, I don't suppose there are really a lot of differences, but I'm also going to need to choose an external SRAM chip and one of those shielded RJ45 jacks with integrated transformers. If there are any particular features I need to look for or gotchas in making these selections, I'd appreciate a tip. ;) TIA, -- Randall
From: David Kelly on 8 Sep 2005 21:28 In article <fD0Ue.8951$_84.6027(a)newsread1.news.atl.earthlink.net>, Randall Nortman <usenet8189(a)wonderclown.com> wrote: > But, there remains the question of which Ethernet chip to use. I only > need 10Mbps, but I wouldn't mind running in 100Mbps mode. (At 16 > MIPS, I'm not going to be able to saturate even 10M, but it would be > nice to be able to put these things on a hub with 100Mbps nodes > without slowing everything to 10Mbps. Some hubs can mix 10/100 right, > but not all.) The RTL8019AS is apparently popular with hobbyists, but > it seems difficult to source (not carried by Digi-Key, for example). > Still, it seems like I can most easily find pre-written drivers for > this chip, so I wouldn't need to write my own. (I've never written > Ethernet code, so I'm a little clueless about how it all works.) If staying with AVR was a done deal then my top choice for grafting ethernet to the AVR was the Microchip ENC28J60. First I heard it was to ship in July, then August. http://www.edtp.com/ currently lists September 15. ENC28J60 has a lot of advantages, all on paper because the part isn't shipping. Small pin count. Easy SPI interface. Reasonable price. And will one day be available from every source currently selling PICs.
From: Richard H. on 8 Sep 2005 22:04 Randall Nortman wrote: > But, there remains the question of which Ethernet chip to use. I only > need 10Mbps, but I wouldn't mind running in 100Mbps mode. As you point out, running 10/100 let's you auto-negotiate the speed, making your product more compatible. You'll encounter some environments that require 100Mbps connections, even if the device doesn't call for it. It also avoids problems with duplex mis-match, which causes unreliable connections. (Negotiating to full-duplex yields a higher-performance connection too, though not a concern for you.) Look at the ASIX AX88796l 10/100 ISA chip. It uses a modified NE2000 driver (like the Realtek RTL8019AS). You can source proto boards from http://www.edtp.com (you'll find Mega128 drivers for the ASIX there too). You can buy in small quantities direct from the manufacturer ($175 for 25x, +$30 S&H and ~$45 T&T fee [wire transfer fee charged by your bank]). http://www.asix.com.tw However, it's QFP-128 footprint (slightly wider than the Mega128), it should run in 8-bit mode (but I haven't tried it); and it requires 5 address lines, 5 control lines, and 8/16 data lines. Pulls 95mA typical; runs cool to the touch. (Microchip's SPI controller is really the next step WRT fewer signal lines, but IIRC it also pulls 250mA at 10Mb.) For the jack, Bothhand NU1S041C-434 RJ-45 w/ magnetics & 3 LEDs is very popular. $3.50 each in tubes of 28 + $10 S&H from http://www.bothhandusa.com. (Some others are Delta, Pulse, Bel Fuse, HALO, MagJack, Tyco, Molex, etc.) HTH, Richard
From: Tilmann Reh on 9 Sep 2005 02:01 David Kelly schrieb: >> But, there remains the question of which Ethernet chip to use. I only >> need 10Mbps, but I wouldn't mind running in 100Mbps mode. (At 16 >> MIPS, I'm not going to be able to saturate even 10M, but it would be >> nice to be able to put these things on a hub with 100Mbps nodes >> without slowing everything to 10Mbps. Some hubs can mix 10/100 right, >> but not all.) The RTL8019AS is apparently popular with hobbyists, but >> it seems difficult to source (not carried by Digi-Key, for example). >> Still, it seems like I can most easily find pre-written drivers for >> this chip, so I wouldn't need to write my own. (I've never written >> Ethernet code, so I'm a little clueless about how it all works.) > > If staying with AVR was a done deal then my top choice for grafting > ethernet to the AVR was the Microchip ENC28J60. First I heard it was to > ship in July, then August. http://www.edtp.com/ currently lists > September 15. > > ENC28J60 has a lot of advantages, all on paper because the part isn't > shipping. Small pin count. Easy SPI interface. Reasonable price. And > will one day be available from every source currently selling PICs. I would also think in that direction. Using "PC board mainstream" parts always have the risk that these probably become obsolete half a year after design-in. Chips that are targeted to industrial electronics normally have much longer lives. -- Dipl.-Ing. Tilmann Reh http://www.autometer.de - Elektronik nach Maý.
From: pbreed on 9 Sep 2005 14:08 Why the Mega128??? Let's look at silicon costs... Mega 128 $8.00 SRAM $1.50 Mac Phy $4.00 Ethernet Jack $1.95 Total Silicon 15.45 Freescale/Coldfire 5270 7.95 (We currently use the 150Mhz version $9.54) 512K Flash 1.25 10/100 Enet Phy 1.50 10/100 Etyhenet Jack 1.95 Total Silicon 12.65 I'd personally ad 2Mbytes of SDRAM to make things easier Total Silicon with SDRAM $14.15 over $1.00 cheaper than the MEGA 128 solution. This gives you a far more capable unit. 100Mhz 32 bit CPU, 512K flash ,2M bytes of SRAM, 3 uarts, CAN, I2C, SPI, 16 timers, 10/100 Ethernet. If you need A/D from the Mega then substitute a freescale 5282 for the CPU and Flash. We offer turnkey ready to use modules based on this part You can start your software development today. We will sell you the design, hardware, software tcp, tools,. compiler linker debugger, with full source etc..etc... . so you can produce your own modules for $24,500 This is a site license for an unlimited number of designs, with no royalties. This price includes a design review of your first hardware design based on our design. If you just wanted to produce a clone of our modules, the PCB designs are even included. If you have realistic costing for your engineering time you would be hard pressed to do a hardware design and port a tool set, RTOS and tcpip stack to any design for 24K. As a general comment, some people are scared by the word RTOS, it's there and it keeps all the TCP/IP services running in the background, but for your own programming you don't need to use it at all, just write your code in the way you are accustomed, a single threadof execution with interrupts providing any necessary scheduleing. See http://www.netburner.com/products/processors/Mod5270.htm and http://www.netburner.com/products/licensing.htm RTOS example: http://www.netburner.com/projects/RtosVsInfiniteLoop.pdf Paul
|
Next
|
Last
Pages: 1 2 3 Prev: How to measure stress/tension on a rope? Next: Procyon AVRlib / UARTSend functions |