Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

shared memory between processors

shared memory between processors

2005-11-21 by Doug Sutherland

Sorry if this is a dumb question: regarding shared memory between
processors, if I have 2 ARM processors both with memory expansion,
can they be connected together directly on the EMI, or do I need
some buffer hardware in between? Wondering also about the same
thing for a DSP with memory expansion (TI Parallel Host Interface) 
connecting to ARM, direct connect is okay? I'm assuming direct
connect only if the chip specs indicate allowable voltage tolerance.

TIA,
Doug

Re: [lpc2000] shared memory between processors

2005-11-21 by 42Bastian Schick

Doug Sutherland <doug@...> schrieb am Mon, 21 Nov 2005 01:11:38 
-0500:

> Sorry if this is a dumb question: regarding shared memory between
> processors, if I have 2 ARM processors both with memory expansion,
> can they be connected together directly on the EMI, or do I need
> some buffer hardware in between? Wondering also about the same
> thing for a DSP with memory expansion (TI Parallel Host Interface)
> connecting to ARM, direct connect is okay? I'm assuming direct
> connect only if the chip specs indicate allowable voltage tolerance.

If all the signals are tri-state (low,high, high-Z) it would work unless
you make sure no concurrent access appears on the buses.

This is IMHO kind of hard to do with "normal" CPUs, so most people use
(expensive) dual-ported SRAMs.

IMHO the idea behind is the "shared memory" paradigma used in so many
systems.

My suggestion: Use message passing and a highspeed UART or SSI.
Make the HW and SW design easier.

-- 
42Bastian Schick

Re: [lpc2000] shared memory between processors

2005-11-21 by David Hawkins

Doug Sutherland wrote:
> Sorry if this is a dumb question: regarding shared memory between
> processors, if I have 2 ARM processors both with memory expansion,
> can they be connected together directly on the EMI, or do I need
> some buffer hardware in between? Wondering also about the same
> thing for a DSP with memory expansion (TI Parallel Host Interface) 
> connecting to ARM, direct connect is okay? I'm assuming direct
> connect only if the chip specs indicate allowable voltage tolerance.

Hey Doug,

I have not used an LPC with an external memory interface,
but I'll suggest a few things.

If you wanted to connect two ARM processors together, then
the one reading/writing would be the Master of the interconnected
bus, while the other would be the slave. So, check if the
LPC EMI supports a slave connection. If not, then you'll
need a bit of logic between the two. I'm a fan of interfacing
to FPGAs, eg. the Altera FLEX or Cyclone FPGAs are fairly
cheap (<$20 for a fairly dense device), and Xilinx has their
Spartan series. Both Altera and Xilinx have free web tools,
so cost of development with FPGAs is usually due to the
learning curve of VHDL or Verilog. I'll help with VHDL if
thats the way you want to go.

The TI HPI interface can be operated in 16-bit or 8-bit mode
if I recall correctly. There is a good chance you could
connect the ARM to this port as a Master, making it read
or write to the DSP registers, but if the ARM cannot
be configured in a slave mode, then it won't work the
other way.

Even with the FPGA approach, you won't get the ARM into
a slave mode if it does not exist. However, you can use
an FPGA between two LPC devices to create a FIFO or
shared memory area, that each ARM device can write
to or read from, and an interrupt can be used to
synchronize access.

Of course, depending on the data rate required, connecting
two devices using SPI, I2C, or UART might be simpler.
This applies to the ARM-DSP connection too.

Dave

Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by David Hawkins

Hi all,

I have an application where I need to emulate a synchronous
serial interface to a microVAX (yeah really!).

The microVAX reads a 21-bit angular encoder position.
The encoders need to be changed, but the old control
interface needs to be retained (at least for now).
I have a new-style encoder that I need to adapt to
the old interface.

The old encoder interface is basically a 21-bit shift
register. The new encoders use a serial interface,
and some processing of errors and CRCs is required.

I was thinking of putting an ARM device on the adapter
board, and in particular one of the devices with a CAN
interface, so that later when the microVAX is gone
I can use the same interface board.

I was thinking of the following;

  - LPC2129 device
  - setup the SPI port for slave mode operation
    (the LPC might need to assert its own SSEL pin)
  - microVAX drives the SPI clock and reads data
    from the SPI slave out pin

with the byte SPI interface, the 21-bit transaction would
consist of 2 complete bytes and then a 5-bit byte to give
21-bits. I'd probably count the clocks and then deassert
SSEL after bit 21 (which will cause an SPI abort to be
asserted, but that should be ok).

The SPI transmitter is not buffered in any way, so my
question relates to the transition between bytes,
I would get an interrupt when the first byte is
done, and would use that to write the second byte,
and again for the third byte. My concern has to do with
the bit timing between bytes.

I'll write some code and figure all this out, but
just thought I'd post this to see if anyone had
used the SPI port for multiple-byte transitions
in slave mode to hear their experience.

I'm still waiting on documentation for the microVAX
timing. If its really slow, then I can just use
an IRQ line on the clock from the microVAX and
write the data to an I/O pin. Using the SPI port
as a shift-register does seem nice and elegant
though.

And of course, if the SPI port can not be used,
I'll just do the obvious and put a 21-bit shift
register on the adapter, or an FPGA and have
extra logic for later.

Cheers
Dave

Re: shared memory between processors

2005-11-21 by donhamilton2002

--- In lpc2000@yahoogroups.com, 42Bastian Schick <bastian42@m...> wrote:
> 
> My suggestion: Use message passing and a highspeed UART or SSI.
> Make the HW and SW design easier.

Depending on how much data is to be passed and at what speed.

A dual port memory (DPM) is a good interface.
Minimal hardware, if your design already has port decoding available
on the two busses.

Google for dual port memory, there is even VHDL code available out there.

Or a FIFO ( First In First Out) device.

FIFOs would be like a UART in that you would receive one byte/word at
a time. And the FIFO would help regulate the speed of transfers
between busses.

But, as has been mentioned. The software design will get a bit more
complicated with the DPM.

hamilton

Re: [lpc2000] Re: shared memory between processors

2005-11-21 by Ake Hedman, eurosource

Or us I2C (or SPI) already available on the chips.

/Ake

donhamilton2002 wrote:

> --- In lpc2000@yahoogroups.com, 42Bastian Schick <bastian42@m...> wrote:
> >
> > My suggestion: Use message passing and a highspeed UART or SSI.
> > Make the HW and SW design easier.
>
> Depending on how much data is to be passed and at what speed.
>
> A dual port memory (DPM) is a good interface.
> Minimal hardware, if your design already has port decoding available
> on the two busses.
>
> Google for dual port memory, there is even VHDL code available out there.
>
> Or a FIFO ( First In First Out) device.
>
> FIFOs would be like a UART in that you would receive one byte/word at
> a time. And the FIFO would help regulate the speed of transfers
> between busses.
>
> But, as has been mentioned. The software design will get a bit more
> complicated with the DPM.
>
> hamilton
>
>
>
>
>
> ------------------------------------------------------------------------
> YAHOO! GROUPS LINKS
>
>     *  Visit your group "lpc2000
>       <http://groups.yahoo.com/group/lpc2000>" on the web.
>        
>     *  To unsubscribe from this group, send an email to:
>        lpc2000-unsubscribe@yahoogroups.com
>       <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>        
>     *  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>       Service <http://docs.yahoo.com/info/terms/>.
>
>
> ------------------------------------------------------------------------
>


-- 
 ---
Ake Hedman (YAP - Yet Another Programmer)
eurosource, Brattbergavägen 17, 820 50 LOS, Sweden
Phone: (46) 657 413430 Cellular: (46) 73 84 84 102
Company home: http://www.eurosource.se      
Kryddor/Te/Kaffe: http://www.brattberg.com
Personal homepage: http://www.eurosource.se/akhe
Automated home: http://www.vscp.org



[Non-text portions of this message have been removed]

Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by donhamilton2002

--- In lpc2000@yahoogroups.com, David Hawkins <dwh@o...> wrote:
>
> Hi all,
> 
> I have an application where I need to emulate a synchronous
> serial interface to a microVAX (yeah really!).
> 

> with the byte SPI interface, the 21-bit transaction would
> consist of 2 complete bytes and then a 5-bit byte to give
> 21-bits. I'd probably count the clocks and then deassert
> SSEL after bit 21 (which will cause an SPI abort to be
> asserted, but that should be ok).
> 

I don't know of any 21-bit memory devices.

So 24 bits is just as good.

> The SPI transmitter is not buffered in any way, so my
> question relates to the transition between bytes,
> I would get an interrupt when the first byte is
> done, and would use that to write the second byte,
> and again for the third byte. My concern has to do with
> the bit timing between bytes.
> 

SPI transfers are 8-clocks then an interrupt. ( if enabled)
If there is ony 5 clocks, how does the receiver know that byte is
valid. And where will the interrupt happen?

If the clock is not running, then you can take as long as you want
before the next byte. The slave SPI port can not force the master to
do anything. It will just have to wait.

> I'll write some code and figure all this out, but
> just thought I'd post this to see if anyone had
> used the SPI port for multiple-byte transitions
> in slave mode to hear their experience.
> 
> I'm still waiting on documentation for the microVAX
> timing. If its really slow, then I can just use
> an IRQ line on the clock from the microVAX and
> write the data to an I/O pin. Using the SPI port
> as a shift-register does seem nice and elegant
> though.
> 
> And of course, if the SPI port can not be used,
> I'll just do the obvious and put a 21-bit shift
> register on the adapter, or an FPGA and have
> extra logic for later.

The SPI port is just fine. Unless you need an FPGA ?
Show quoted textHide quoted text
> 
> Cheers
> Dave
>

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by David Hawkins

Hi Don,
> 
> I don't know of any 21-bit memory devices.
> 
> So 24 bits is just as good.

Right, its not a memory device, the objective is to
emulate the interface to a 21-bit serial-interface angular
encoder (used on radio telescopes in this application).
Its not an SPI device either, more like a 21-bit shift-register.

> SPI transfers are 8-clocks then an interrupt. ( if enabled)
> If there is ony 5 clocks, how does the receiver know that byte is
> valid. And where will the interrupt happen?

The 5-bit transaction is the last, so I don't think it will
matter. If I use a timer channel to count clock edges, then
I should be able to tell when the transaction is done.
Depending on the microVAX control signals, one of those
may deassert when it is done, so I can just use that
to determine the end-of-transaction too.

The way I envisage it is;

   - microVAX asserts its request signal (which would
     be routed to an LPC interrupt)
   - LPC reads the encoder position, checks CRC etc.
   - LPC asserts acknowledge to the microVAX
   - the microVAX then expects to clock 21-bits of
     data from the 'encoder' (which is now the LPC processor).

The LPC device will write the first 8-bits to the SPI
transmit register before acknowledging to the microVAX.
The microVAX (as the SPI master) will then clock those 8-bits
out after receiving the acknowledge. Once the first 8-bits
are shifted, an LPC SPI IRQ will fire, and the second
8-bits will be written to the SPI transmit register,
and ditto for the last byte that contains 5 valid
bits.

The microVAX code will not be modified, so it'll only
send 21-clocks (not 24-clocks). The last byte written
to the SPI transmit register will never be fully
transmitted, hence my comment that I would deassert
SSEL triggering an abort (which is ok, since the
microVAX has already read the data).

> If the clock is not running, then you can take as long as you want
> before the next byte. The slave SPI port can not force the master to
> do anything. It will just have to wait.

Right, but in this app, the LPC is the SPI slave to the
microVAX master, and so the microVAX is controlling
the clock timing. (Which I have yet to obtain, as
I am waiting for another engineer to supply it).

> The SPI port is just fine. Unless you need an FPGA ?

Yep, if the SPI port works that's what I'll use.

So the question still remains as to what is the bit
timing of a multi-byte SPI transaction with regard to;

  * bit 7 (the last bit of the first byte) and bit 8
    (the first bit of the second byte)

  * bit 15 (the last bit of the second byte) and bit 16
    (the first bit of the third byte)

i.e., I'm unsure about what happens with the data on the
SPI slave output pin during the following sequence;

   - last bit is present on the slave-out pin
   - SPI interrupt occurs
   - new data is written to the SPI transmit register

now, if the SPI transmit register is directly connected
to the SPI slave out pin, the data on the slave output
will change when the transmit register is written to.
If its not directly connected and in fact there is a
1-bit slave output register, then the data will stay
until the next clock edge from the microVAX master comes
along.

So, perhaps that last description clarifies my concern.

(I'm not really looking for a solution, I can figure
it out, just leaving these comments 'out there' until
I have time to code up a couple of tests).

Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by David Hawkins

> So the question still remains as to what is the bit
> timing of a multi-byte SPI transaction with regard to;
> 
>   * bit 7 (the last bit of the first byte) and bit 8
>     (the first bit of the second byte)
> 
>   * bit 15 (the last bit of the second byte) and bit 16
>     (the first bit of the third byte)
> 
> i.e., I'm unsure about what happens with the data on the
> SPI slave output pin during the following sequence;
> 
>    - last bit is present on the slave-out pin
>    - SPI interrupt occurs
>    - new data is written to the SPI transmit register
> 
> now, if the SPI transmit register is directly connected
> to the SPI slave out pin, the data on the slave output
> will change when the transmit register is written to.
> If its not directly connected and in fact there is a
> 1-bit slave output register, then the data will stay
> until the next clock edge from the microVAX master comes
> along.

 From p180 of the User Manual:

   The SPI data register is used to provide the transmit and
   receive data bytes. An internal shift register in the SPI
   block logic is used for the actual transmission and
   reception of the serial data. Data is written to the SPI
   data register for the transmit case. There is no buffer
   between the data register and the internal shift register.
   A write to the data register goes directly into the internal
   shift register. Therefore, data should only be written to
   this register when a transmit is not currently in progress.
   Read data is buffered. When a transfer is complete, the
   receive data is transferred to a single byte data buffer,
   where it is later read. A read of the SPI data register
   returns the value of the read data buffer.

So it would appear that ANY write to the transmit register
will cause a transition on the slave-output pin as soon
as the write occurs. This would be ok if you knew that
the external SPI master had already read that bit, so it
all depends now on when the SPI transmit complete IRQ fires.
Is it just after that last bit is written to the register,
or just after the clock edge that would have read that
bit? If the IRQ fires when the last clock occurs,
then the IRQ processing time plus write to the
transmit register must occur within the setup time
of the next external master clock.

But as soon as you have to process this case, you can
solve the same problem by tying the external master
clock to an external IRQ line, and driving the data
from an I/O pin (albeit now the LPC processes an
IRQ per bit rather an an IRQ per byte).

Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by David Hawkins

(sorry, some more thinking out loud)

 > This would be ok if you knew that
> the external SPI master had already read that bit, so it
> all depends now on when the SPI transmit complete IRQ fires.
> Is it just after that last bit is written to the register,
> or just after the clock edge that would have read that
> bit? If the IRQ fires when the last clock occurs,
> then the IRQ processing time plus write to the
> transmit register must occur within the setup time
> of the next external master clock.
> 
> But as soon as you have to process this case, you can
> solve the same problem by tying the external master
> clock to an external IRQ line, and driving the data
> from an I/O pin (albeit now the LPC processes an
> IRQ per bit rather an an IRQ per byte).

p181 of the User Manual:

    The SPIF bit will be set after the last sampling
    clock edge of the SPI data transfer

So in slave mode, the IRQ fires after the last 'sampling'
clock edge. Which implies that the external master has
read the bit.

This SPI controller implementation seems 'weak' for the
case of implementing multiple-byte slave transfers.
The weakness being that the external master period must
be longer than the time taken to process an SPI
IRQ interrupt and load the next byte into the
transmit register.

If there had been a double buffered register on the
SPI transmit port, then the next byte could be loaded
while the current byte was being transmitted, and
hence the effect of the clock period of the external
master would be reduced to effecting byte timing
not bit timing.

Do any of the other LPC parts use double buffers on
their SPI transmit ports?

Cheers
Dave

Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by donhamilton2002

--- In lpc2000@yahoogroups.com, David Hawkins <dwh@o...> wrote:
>
> Hi all,
> 
> I have an application where I need to emulate a synchronous
> serial interface to a microVAX (yeah really!).
> 
> The microVAX reads a 21-bit angular encoder position.
> The encoders need to be changed, but the old control
> interface needs to be retained (at least for now).
> I have a new-style encoder that I need to adapt to
> the old interface.
> 
So the angular encoder puts out 21 clock pulses with 21 transitions of
data, right?


> The old encoder interface is basically a 21-bit shift
> register. The new encoders use a serial interface,
> and some processing of errors and CRCs is required.
> 

The new encoder will have a bridge between it and the VAX, right ?

OK, there is more here then I picked up on, my first read thru.

As you stated, you have an idea how to do this. So I'll leave it up to
you.

If you have a web site of what your doing here, I would like to see
some pics.

hamilton

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by David Hawkins

Joel Winarske wrote:
>>Do any of the other LPC parts use double buffers on
>>their SPI transmit ports?
> 
> I haven't followed this completely, but the SSP port has a FIFO.

Ahhh, good-point. The LPC2129 doesn't have SSP though.

I was kind of looking for a device with CAN too, since
a lot of the new equipment here at the observatory is
controlled via CAN.

The User Manual I was looking at is for

   LPC2119/2129/2194/2292/2294

which I believe covers all the CAN-capable devices, and none
of these have SSP, so I would need to add an external CAN
controller.

So, anyone had experience with an external Philips CAN
controller connected to say an LPC2138?

(Isn't the CAN core used in the LPCs is a Philips part that
comes standalone - SJ??? comes to mind). It would need to
be SPI or I2C controlled (unless I went with an LPC with
EMI).

Dave

RE: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by Joel Winarske

> (Isn't the CAN core used in the LPCs is a Philips part that
> comes standalone - SJ??? comes to mind). It would need to
> be SPI or I2C controlled (unless I went with an LPC with
> EMI).

I understand the SJA1000.

Microchip has a SPI CAN interface, the MCP2515.


Joel

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by Richard Duits

Hi David,

I would use the LPC2119/2129 and a 32 or 64 macrocell CPLD to create a 
shift register. This is much easier than interfacing with an external 
CAN controller, and it would create a much better upgrade path to a 
newer LPC2xxx that has both CAN and SSP when it becomes available.

Richard Duits.



David Hawkins wrote:
Show quoted textHide quoted text
> Joel Winarske wrote:
> >>Do any of the other LPC parts use double buffers on
> >>their SPI transmit ports?
> >
> > I haven't followed this completely, but the SSP port has a FIFO.
>
> Ahhh, good-point. The LPC2129 doesn't have SSP though.
>
> I was kind of looking for a device with CAN too, since
> a lot of the new equipment here at the observatory is
> controlled via CAN.
>
> The User Manual I was looking at is for
>
>    LPC2119/2129/2194/2292/2294
>
> which I believe covers all the CAN-capable devices, and none
> of these have SSP, so I would need to add an external CAN
> controller.
>
> So, anyone had experience with an external Philips CAN
> controller connected to say an LPC2138?
>
> (Isn't the CAN core used in the LPCs is a Philips part that
> comes standalone - SJ??? comes to mind). It would need to
> be SPI or I2C controlled (unless I went with an LPC with
> EMI).
>
> Dave
>
>
> ------------------------------------------------------------------------
> YAHOO! GROUPS LINKS
>
>     *  Visit your group "lpc2000
>       <http://groups.yahoo.com/group/lpc2000>" on the web.
>        
>     *  To unsubscribe from this group, send an email to:
>        lpc2000-unsubscribe@yahoogroups.com
>       <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>        
>     *  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>       Service <http://docs.yahoo.com/info/terms/>.
>
>
> ------------------------------------------------------------------------
>

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by David Hawkins

Richard Duits wrote:
> Hi David,
> 
> I would use the LPC2119/2129 and a 32 or 64 macrocell CPLD to create a 
> shift register. This is much easier than interfacing with an external 
> CAN controller, and it would create a much better upgrade path to a 
> newer LPC2xxx that has both CAN and SSP when it becomes available.
> 

Hi Richard,

Thanks for the suggestion. I was trying to see if I could get
a 1-chip solution, but it seems like its down to a 2-chip
solution of; LPC+CAN controller or LPC+CPLD/FPGA. I'd probably
put an FPGA on the board, since I have a bunch of them.

Thanks!
Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bits actually)

2005-11-21 by David Hawkins

> If you have a web site of what your doing here, I would like to see
> some pics.

Hey Don,

I work for Caltech's Owens Valley Radio Observatory (OVRO).
We've recently combined with the Berkeley-Illonois-Maryland
Array (BIMA); Caltech had 6 10m radio telescopes, BIMA had
9 6m telescopes. You can check out the observatory's web page

http://www.mmarray.org

(click on the Telescopes link on the RHS)
or Caltech's web page

http://www.ovro.caltech.edu

Or my stuff

http://www.ovro.caltech.edu/~dwh/correlator

The correlator is the digital backend to the telescope and
is what I primarily work on. There is a documentation
link on the left hand side, and check out the 'SZA wideband'
correlator link.

I've been playing with ARM devices since I received a
development kit from Circuit Cellar for their Philips 2005
design contest earlier this year.

The telescopes have historically used two types of encoders;
parallel NPL encoders, and serial BEI encoders (I've no idea
what the letters mean). The microVAX systems in the antennas
will be replaced, but not now.

The SZA array is an array of 8 3.5m telescopes. They use
a Heidenhain 27-bit encoder (and do NOT use microVAXs, so
no conversions required there). The side-job I have picked up
is to create an adapter board for the OVRO antennas, that
converts the 27-bit Heidenhain output to either the 21-bit
BEI or NPL interface so that dead (and irrepairable) encoders
can be replaced with Heidenhain, with the microVAX being
none-the-wiser.

(The encoder is a Heidenhain RCN827 and it uses the EnDat
serial protocol, www.heidenhain.com).

I've got a PCI DIO24 board (Computer Measurements digital
I/O board) hooked up to an encoder, so I know how to read
the 27-bit encoder using its serial protocol. When I get the
BEI and NPL interface information from another engineer
here at work (after Thankgiving sometime), I'll know what
I need to emulate to interface to the microVAX.

I can implement the adapter purely in an FPGA, but at some
point the microVAX will be retired and I'll want to talk
to the encoder over CAN. A lot of new equipment here has
been designed using the Philips XAC 16-bit micros and
uses CAN. I'd like to design using the LPC devices.

I'll post any results when I get them.

Enjoy!
Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by Ake Hedman, eurosource

David,

You can use the MCP-2515 which is a SPI CAN controller. 
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010406

/Ake

David Hawkins wrote:

> Joel Winarske wrote:
> >>Do any of the other LPC parts use double buffers on
> >>their SPI transmit ports?
> >
> > I haven't followed this completely, but the SSP port has a FIFO.
>
> Ahhh, good-point. The LPC2129 doesn't have SSP though.
>
> I was kind of looking for a device with CAN too, since
> a lot of the new equipment here at the observatory is
> controlled via CAN.
>
> The User Manual I was looking at is for
>
>    LPC2119/2129/2194/2292/2294
>
> which I believe covers all the CAN-capable devices, and none
> of these have SSP, so I would need to add an external CAN
> controller.
>
> So, anyone had experience with an external Philips CAN
> controller connected to say an LPC2138?
>
> (Isn't the CAN core used in the LPCs is a Philips part that
> comes standalone - SJ??? comes to mind). It would need to
> be SPI or I2C controlled (unless I went with an LPC with
> EMI).
>
> Dave
>
>
> ------------------------------------------------------------------------
> YAHOO! GROUPS LINKS
>
>     *  Visit your group "lpc2000
>       <http://groups.yahoo.com/group/lpc2000>" on the web.
>        
>     *  To unsubscribe from this group, send an email to:
>        lpc2000-unsubscribe@yahoogroups.com
>       <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>        
>     *  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>       Service <http://docs.yahoo.com/info/terms/>.
>
>
> ------------------------------------------------------------------------
>


-- 
 ---
Ake Hedman (YAP - Yet Another Programmer)
eurosource, Brattbergavägen 17, 820 50 LOS, Sweden
Phone: (46) 657 413430 Cellular: (46) 73 84 84 102
Company home: http://www.eurosource.se      
Kryddor/Te/Kaffe: http://www.brattberg.com
Personal homepage: http://www.eurosource.se/akhe
Automated home: http://www.vscp.org



[Non-text portions of this message have been removed]

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by David Hawkins

Ake Hedman, eurosource wrote:
> David,
> 
> You can use the MCP-2515 which is a SPI CAN controller. 
> http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010406
> 
> /Ake

Thanks Ake, I think I even have a sample around here
somewhere ...

(I didn't want to offend Philips by commenting about using a
microchip part eh!)

Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by Ake Hedman, eurosource

David Hawkins wrote:

> Ake Hedman, eurosource wrote:
> > David,
> >
> > You can use the MCP-2515 which is a SPI CAN controller.
> > 
> http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010406 
> <http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010406>
> >
> > /Ake
>
> Thanks Ake, I think I even have a sample around here
> somewhere ...
>
> (I didn't want to offend Philips by commenting about using a
> microchip part eh!)

;-) 

I have never managed to get a free sample from Philips (but a lot from 
Microchip) so I have nothing to lose....   I can however recommend the 
chip. Easy to work with.

I am about to do a reference implemention of VSCP on the LPC-2129 and 
this is my first work with CAN on the LPC family. But if CAN works as 
well as other parts of the chip this should not be a big problem. The 
LPC family is definitely becoming my favorite.

Impressive site you work at BTW.

Cheers
/Ake

-- 
 ---
Ake Hedman (YAP - Yet Another Programmer)
eurosource, Brattbergavägen 17, 820 50 LOS, Sweden
Phone: (46) 657 413430 Cellular: (46) 73 84 84 102
Company home: http://www.eurosource.se      
Kryddor/Te/Kaffe: http://www.brattberg.com
Personal homepage: http://www.eurosource.se/akhe
Automated home: http://www.vscp.org

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by David Hawkins

> I can however recommend the chip. Easy to work with.

Good to know.

> I am about to do a reference implemention of VSCP on the LPC-2129 and 
> this is my first work with CAN on the LPC family. But if CAN works as 
> well as other parts of the chip this should not be a big problem. The 
> LPC family is definitely becoming my favorite.

What is VSCP?

I haven't worked with any of the CAN bus interfaces used here.
I have heard complaints that the XAC3 has a hard time keeping
with a 1MB/s CAN bus.

How's your, or anyone else reading this, experience been with an
LPC CAN device? What kind of CPU loading can be expected
for a device having to transfer say a few hundred bytes every
half-second during normal operation, but say several thousand
messages-per-second in a debug mode (eg. acting like a data
acquistion device a 1KHz sample rate).

With the DSP work I've done, I use the uCOS-II RTOS. I've got a
port running on the LPC devices, and I have the port correctly
nesting interrupts (which none of the Micrium web site uCOS-II
ports do). I figure when I implement the CAN interface to the
encoder, I'll build on that work.

> Impressive site you work at BTW.

Its a fun place to work and live, but very dependent on NSF
funding. We just lost 15% of our required budget due to NSF
cuts, and that resulted in a number of people losing jobs.
This unfortunate situation is one reason why I need to start
learning more about the CAN bus.

Cheers
Dave

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by Ake Hedman, eurosource

David Hawkins wrote:

>
> > I can however recommend the chip. Easy to work with.
>
> Good to know.
>
> > I am about to do a reference implemention of VSCP on the LPC-2129 and
> > this is my first work with CAN on the LPC family. But if CAN works as
> > well as other parts of the chip this should not be a big problem. The
> > LPC family is definitely becoming my favorite.
>
> What is VSCP?

It stands for Very Simple Control Protocol and *is* "a very simple" HLP 
for CAN. Info here http://www.vscp.org  Mainly constructed for SOHO use 
but is also used in many data acquistion systems.

>
> I haven't worked with any of the CAN bus interfaces used here.
> I have heard complaints that the XAC3 has a hard time keeping
> with a 1MB/s CAN bus.

With back to back frames at 1MB/s I think a SPI device is out of the 
question. This is hard as it is anyway.

>
> How's your, or anyone else reading this, experience been with an
> LPC CAN device? What kind of CPU loading can be expected
> for a device having to transfer say a few hundred bytes every
> half-second during normal operation, but say several thousand
> messages-per-second in a debug mode (eg. acting like a data
> acquistion device a 1KHz sample rate).
>
> With the DSP work I've done, I use the uCOS-II RTOS. I've got a
> port running on the LPC devices, and I have the port correctly
> nesting interrupts (which none of the Micrium web site uCOS-II
> ports do). I figure when I implement the CAN interface to the
> encoder, I'll build on that work.

I haven't had any real hands on experience with CAN on the LPC so I pass 
this for now. But I guess it depends primarily on what post processing 
you will do on the CAN frames. Would have been nice to here from others 
who have done some real work on CAN & LPC what they think about it in 
general.


>
> > Impressive site you work at BTW.
>
> Its a fun place to work and live, but very dependent on NSF
> funding. We just lost 15% of our required budget due to NSF
> cuts, and that resulted in a number of people losing jobs.
> This unfortunate situation is one reason why I need to start
> learning more about the CAN bus.
>
Funding is a hell. One of my best friends work as a professor in physics 
and funding and (other) paperwork is 90% of his time. But I guess its 
somewhat the same for us in the private business as well. Hunting 
contract work... ;-)

Which HLP are you using for CAN. DeviceNET or CANOpen or something you 
put together yourselves?

Cheers
/Ake

-- 
 ---
Ake Hedman (YAP - Yet Another Programmer)
eurosource, Brattbergavägen 17, 820 50 LOS, Sweden
Phone: (46) 657 413430 Cellular: (46) 73 84 84 102
Company home: http://www.eurosource.se      
Kryddor/Te/Kaffe: http://www.brattberg.com
Personal homepage: http://www.eurosource.se/akhe
Automated home: http://www.vscp.org

Re: [lpc2000] Re: Multi-byte SPI transfers in slave mode (21-bitsactually)

2005-11-21 by David Hawkins

> Which HLP are you using for CAN. DeviceNET or CANOpen or something you 
> put together yourselves?

The protocol is a custom one developed in-house. All the hardware
requirements needed custom designs, so there was no requirement
to support DeviceNET or CANOpen devices.

I think it would have been nice to use a standard protocol, but
I have not investigated the original arguments for not using
a standard protocol. Perhaps there were some specific requirements
that were more easily met (eg. required less microcontroller
processing) to support. I believe the protocol developed made
extensive use of the hardware support in the XAC3's for
message filtering, to reduce their message processing.

Cheers
Dave

AXD debugger and lpc2100

2005-11-21 by Viron Papadopoulos

Hello , 
I searched the group archive regarding debugging the
lpc2100 cpu by using the AXD debugger and I found many
old discussion but no solution. 

If someone has a recent experience please advise
regarding the above debugging tool and the lpc2100 cpu
family.

Thank you.

Viron.




		
__________________________________ 
Start your day with Yahoo! - Make it your home page! 
http://www.yahoo.com/r/hs

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.