PCI card with AVR

Go To Last Post
19 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I want to interface Dlink Lan card which is available as add-on part of computer with mega AVR.

Any one has idea as how to start?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not practical.
For AVR->Ethernet, consider one of the small PCBs that has an Ethernet MAC/PHY chip and the ethernet magnetics/RJ45, and a freeware TCP/IP stack. Takes a lot of RAM.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok....

This thought flashed in my mind as the cost of Lan Card by Dlink or davicom is not more than 9 to 12 USD where as RTL8019, isolation transformer and rj45 costs more than USD20 + cost pf PCB making and soldering...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Such is life! The cost of implementing the PCI interface would outweigh the price difference.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We've done this, (micro via PCI bus), but you need a FPGA handling the PCI interface. Not a task for the weak hearted.. and odds are you'd be better off with a ARM processor core right on the FPGA.

If the goal is network connectivity, there's better ways to do this as others have suggested.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ERE company in Thailand has a mega128 on a 3.5" square card that has a pc104 pinout connector mapped to the io pins... so that card and someone elses's COTS PC104 ethernet card might fly....

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This should do the cheap trick!
http://www.lantronix.com/device-...

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I suppose you could search on ISA, AVR & Ethernet. The ISA bus is easy to implement on a AVR.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Knowing only something about PCI bus signaling, does the bus has to be driven at 66MHz clock? I mean, can the bus be driven with say 100kHz clock? If so then it would be possible just to use a GPIO pin for the PCI bus clock and bit-bang all the other 32 data/address bits and the control signals, right?

But still, using a PCI network adapter can be a bit difficult. Some people use CompactFlash LAN or WLAN cards, so at least this is possible.

I'd propably find out if there are Ethernet modules that can be used with SPI interface. Actually if there are such devices I'd like to experiment with them.

- Jani

EDIT: Sorry the PCI normally is 33MHz, 66MHz is a newer standard.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To be compliant, the bus clock needs to be 33/66 MHz.That does not necessarily mean you have to work it that fast but there is not guarantee that the slave devices will be happy with a slower clock. And think about all the port pins!

As mentioned, it is probably easier to get old ISA bus cards with a realtek 8019 chip on them. The PCI ones use a realtek 8029/39 which is useless to you. A visit to the local computer recycler might yield some boards at low cost.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
To be compliant, the bus clock needs to be 33/66 MHz.That does not necessarily mean you have to work it that fast but there is not guarantee that the slave devices will be happy with a slower clock. And think about all the port pins!

I've had one Pentium 1 motherboard that had 66 MHz bus (used for eg. 166 and 233 MHz cpus), which could be set to 50 MHz (for eg. 150 and 200 MHz cpus), and even overclocked to 75 MHz (But IDE devices needed slowing down then). The PCI bus was propably just fixed to be half of the bus clock, so between 25 and 37 MHz anyway. All PCI cards worked great. Nowadays the motherboards always put out 33 or 66 MHz to PCI, independent of cpu bus frequency.

Last time I've read PCI device datasheets, it was a Realtek's gigabit ethernet chip, and clock period for 33MHz operation was between 30ns and infinite, so at least this device can be operated with slower clock than nominal.

But anyway, enough about PCI, but it does take a few IO pins to do ISA bus too. Depending on if 16-bit operation is mandatory or not, and how much is the address or IO space needed. Smalles usage I've ever seen is people using the FM portion (OPL2/OPL3) of ISA based sound cards with just the parallel port of the PC (8 bits data, 2 bits address, read and write strobes, while all other bus signals are fixed to gnd or vcc).

- Jani

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been part of a project to create a product with an embedded computer on a CPCI bus. All our 'cards' had to have a PCI interface. Long story short: I would not wish this task on anyone! It goes way way way beyond getting the clock timed correctly. There are so many control signals on the PCI bus it will make your head spin. Don't get me going about timing.....

Go electric!
Happy electric car owner / builder

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Use an ISA Card , and maybe have a look here

http://www.avrfreaks.net/index.p...

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

IMHO:
Oh come on! In the end it's ALL impractical!
AVR + PCI doesn't mix, or takes an infinity to make/program/connect
AVR + ISA = OK, but: ISA obsolete, connecting it up = hell, 10times the size of other solutions.
AVR + Ethernet module with everything on = goood, when taken from the right supliers, even cheap.
AVR + XPort or similar = goooood.

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, AVR + XPort is nice. It's certainly not ideal since you're now dealing with explicit translation between multiple communication protocols (USART communication between the XPort and the AVR, and IP communication between the XPort and the outside world). And you'd need to worry about maintaining two sets of firmware (XPort and AVR), and determining appropriate division of communication duties equitably between the AVR and the XPort.

On the other hand, with an AVR + XPort combination, you can design the AVR side of things to present telemetry/control etcetera through a single generic interface (USART) and then design "plug-in" modules which translate that data into a variety of other media (bluetooth, ethernet (web pages? SNMP? email?), wi-fi, IrDA, etc) without any modification of the underlying AVR's firmware.

Arguably, it might be even nicer (cheaper; fewer parts) to have an AVR with a built-in MAC. But at that point, you'd be getting close to the old "why not just use an ARM?" argument, given the existence of the AT91SAM7X family...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If what you want to do is to add ethernet capability to an AVR, I suggest this: http://www.tuxgraphics.org/elect...
If you want to interface your PC with an AVR, you can just use the serial port by adding a MAX232 chip (simple), or through USB using an FTDI chip or a software implementation running on a small AVR (like ATTiny2313) with this: http://www.obdev.at/products/avr...

Embedded Dreams
One day, knowledge will replace money.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have used this one (M128 + 64KB Ram + 4Mb dataflash) for $41 (+ VAT)
http://www.propox.com/products/t...

It is ethernut compatible.

Its not cheap , but small.

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

With the LANTRONIX Xport at, what $55, it's pretty hard to beat that.

make that $49

http://www.mouser.com/catalog/62...

With apologies to Atmel.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not PCI, but "Ethernet on a chip"
http://www.circuitcellar.com/lib...

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.