View previous topic :: View next topic |
Author |
Message |
tbrandt Guest
|
SPI / PCI interface |
Posted: Fri Feb 04, 2005 1:54 pm |
|
|
Hi,
I would like to use PCI cards (especialy networking cards - but there are also other possible/useful target cards) with my pic 18Fxxx . In order to do that I'm looking for a bridge that can do spi to pci (or something similar that is suitable or the limited IO capabilities of the pic an can do at last 1 MByte/s).
I have found no real solution and would like to ask here if there are some known to you ???
Otherwise I'm thinking and have already invested some effort in implementing such a bridge in a xilinx or altera cpld for about $6.with 144 to 200 macrocells and in a TQFP100 package (or a very small fpga like the ones that lattice is now selling in their EC-series ...).
But if someone can be of some help in order to reduce the effort by an out-of-the-shelf-solution I would of course appreciate it ;) |
|
|
Mark
Joined: 07 Sep 2003 Posts: 2838 Location: Atlanta, GA
|
|
|
tbrandt Guest
|
|
Posted: Fri Feb 04, 2005 2:39 pm |
|
|
well, this is a nice device and I'm happy to hear about it - but I'm looking forward to use wlan cards for example (with also a slightly higher throughput than 10 mbit - if possible).
I think this spi/ethernet device ec28j60 is realy (!) a neat replacement for using ISA-cards with PICs - but for my case it's to my regret not the right choice ...
btw. do you know where I find something about the pricing of this chip ? |
|
|
Mark
Joined: 07 Sep 2003 Posts: 2838 Location: Atlanta, GA
|
|
Posted: Fri Feb 04, 2005 2:43 pm |
|
|
From the horse's mouth:
Quote: | Budgetary pricing is ~$5.00 in low quantities. |
|
|
|
Guest
|
|
Posted: Sat Feb 05, 2005 8:45 am |
|
|
@ mark
thanks, sounds reasonable ...
@all
what a pity - seems as I have to do it on my own ...
if there is some interest in the results when the design is done/tested please let me know here ... |
|
|
ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Sat Feb 05, 2005 1:18 pm |
|
|
Just a remark: I don't know why you need a transmission speed of at least 1 Mbyte /second, but this seems to me to be at the upper speed limit of what the PICs are capable of.
The fastest PICs run at 40MHz, or a maximum of 10 million instructions / second. This will allow you to implement only a very limited level of overhead (error checking, etc.).
If this is a new design you might reconsider if the PIC is the right processor for your job. |
|
|
Mark
Joined: 07 Sep 2003 Posts: 2838 Location: Atlanta, GA
|
|
Posted: Sat Feb 05, 2005 1:46 pm |
|
|
ckielstra wrote: | Just a remark: I don't know why you need a transmission speed of at least 1 Mbyte /second, but this seems to me to be at the upper speed limit of what the PICs are capable of.
The fastest PICs run at 40MHz, or a maximum of 10 million instructions / second. This will allow you to implement only a very limited level of overhead (error checking, etc.).
If this is a new design you might reconsider if the PIC is the right processor for your job. |
The problem would be if it were talking with other devices that transmit @ 100MB. This device would then need to connect via a switch instead of a just a hub |
|
|
tbrandt Guest
|
|
Posted: Sat Feb 05, 2005 2:55 pm |
|
|
@ckielstra
well, concerning the transfer speed you are partly right - but think about a burst of data at this speed. in my application it is useful to have times where data is processed and is send in bursts lateron.
furtheron my real target card concerning networking is a wlan card - what can't be done without using pcmcia what is also tricky - pci what is my preferred choice or usb-devices where I have problems to get the releveant information about the devices.
@mark
that's not correct to my understanding - if you enable address filtering on the NIC, packages with the "wrong" MAC adress will be filtered and will not be stored in the on-chip FIFO-RAM of the NIC. |
|
|
tbrandt Guest
|
|
Posted: Sat Feb 05, 2005 5:40 pm |
|
|
@ckielstra
btw. the upper limit in burst (when you switch from spi to an 8 bit wide bus - why not) can be 10 mbyte/s ... |
|
|
ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Sat Feb 05, 2005 6:03 pm |
|
|
I didn't say it is impossible. I just wanted to point out that this design will be at the edges of the PIC capabilities. When designing a new device it is just no good practice to seek the processor limits at design time already as it leaves no room for errors and future improvements. Just try yo keep an open mind...
Quote: | btw. the upper limit in burst (when you switch from spi to an 8 bit wide bus - why not) can be 10 mbyte/s ... | This equals 80MBit, still lower than your minimum of 100MBit.
You'll need to go to at least a 16-bit bus. |
|
|
tbrandt Guest
|
|
Posted: Sat Feb 05, 2005 7:45 pm |
|
|
"This equals 80MBit, still lower than your minimum of 100MBit.
You'll need to go to at least a 16-bit bus."
well, here you see I don't want to push things to the limit
and when I say > 1 MByte/s than there is also a margin of nearly a facor 10 to 10 MByte/s
and even if around 5 to 10 cycles/transmit when transmitting continuously with one pic on the bus might be realy of no use - the periodical burst transmitting will relax the things ...
so I realy don't want to push things to the limit - and hope that this doesn't rest the major critical point - but you can realy have needs beyond what can be done with an isa card ...
p.s.: sometimes it's also a good idea to use more than one controler in a system for dedicated tasks - but in our case here they might share a common bus to the nic
anyway you are right - there are also other processors out there which might be able to tweak the performance of this approach a little bit more - some with integrated pci-interface .... |
|
|
ckielstra
Joined: 18 Mar 2004 Posts: 3680 Location: The Netherlands
|
|
Posted: Sun Feb 06, 2005 8:11 am |
|
|
Quote: | "This equals 80MBit, still lower than your minimum of 100MBit.
You'll need to go to at least a 16-bit bus."
well, here you see I don't want to push things to the limit | Sorry, my error. I somewhere got lost and thought you wanted a minimum of 100MBit.
This discussion is fun but going nowhere right now. Maybe you can tell us a bit more about what your application is supposed to do so we might give you some better hints? |
|
|
|