Garry Bleasdale
11/15/2010 10:20 AM
post74630
|
Hi Robert,
Good to hear from you and thanks very much for the detailed response.
Regards,
Garry
Garry Bleasdale
Field Application Engineer
QNX Software Systems (UK + Ireland)
Email - gbleasdale@qnx.com
Tel - +44 (0) 1223 862077
www.qnx.com
-----Original Message-----
From: Robert craig [mailto:community-noreply@qnx.com]
Sent: 12 November 2010 19:20
To: general-networking
Subject: Re: RE: Qnet across SPI?
A pseudo-Ethernet driver approach would be the most straight forward
thing to do. Making it look like an Ethernet driver has the advantage
of letting you use IP or QNET or any other protocol for the upper layers
seamlessly. The serial RapidIO package done a few years back used this
method (albeit with io-net and not io-pkt). You're not going to get the
best performance since you'll be pulling in QNET's reliability layer
when you don't need it, but bypassing the layer is not for the faint of
heart.
In terms of overhead, you could just send Ethernet packets over the
interface as is or, if there's too much overhead, simply remove the
Ethernet header before sending the packet and add it back after
receiving a packet (before sending it up the stack). The MAC that you
select for each host could uniquely determine the appropriate SPI
interface to transmit on.
Robert.
_______________________________________________
General
http://community.qnx.com/sf/go/post74512
|
|
|
Thomas Haupt
08/16/2011 10:47 AM
post88118
|
A good reason to not try this would be the underlying bus architecture. SPI is a pure master / slave bus, and the slaves
are not able to initate any actions on their own behalf. Modeling a peer-to-peer behavior would require the master to
(very) frequently poll for available data from the slave. That incurs overhead on the master side, and also potentially
long delays (worst case at least a ticksize) for outgoing frames from the slave.
So unless the slave device has some means to signal an interrupt to the master CPU, 'upstream' performance may be poor.
Of course the slave could buffer a large number of frames to transmit at once, so the effective throughput might not
even be so bad, but if you tried to ping-pong, things'd get slooow.
- Thomas
|
|
|