Linking XMOS to ARM

Technical discussions around xCORE processors (e.g. General Purpose (L/G), xCORE-USB, xCORE-Analog, xCORE-XA).
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Linking XMOS to ARM

Postby RogerH » Fri Oct 29, 2010 10:38 am

Hi,

I read somewhere, can’t find it now, that someone had unsuccessfully attempted to link XMOS chips to ARM chips via XMOS links. I recall that person reverted to SPI which was successful

Has anybody succeeded in linking ARM's using XMOS links?

Cheers, Roger...
User avatar
Andy
Respected Member
Posts: 279
Joined: Fri Dec 11, 2009 1:34 pm

Postby Andy » Fri Oct 29, 2010 12:03 pm

What sort of speeds do you require? If you're planning on transferring a lot of data between the 2 devices it might be better to use one of the ARM peripherals such as SPI because their GPIO isn't particularly quick.
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Fri Oct 29, 2010 12:22 pm

Hi Andy,
Andy wrote:What sort of speeds do you require? If you're planning on transferring a lot of data between the 2 devices it might be better to use one of the ARM peripherals such as SPI because their GPIO isn't particularly quick.
I only next to exchange small messages at fairly slow rate, mostly commands to the XMOS and ACK's back to the ARM. Sounds like SPI would be the simplest solution.

Cheers, Roger...
User avatar
leon_heller
XCore Expert
Posts: 546
Joined: Thu Dec 10, 2009 10:41 pm
Location: St. Leonards-on-Sea, E. Sussex, UK.

Postby leon_heller » Fri Oct 29, 2010 2:17 pm

Emulating XLInks on an ARM should be feasible, someone has done it with an AVR, IIRC. As mentioned, it won't be all that fast. A PIC32 would be better - I/Os work at the processor speed.
User avatar
bsmithyman
Experienced Member
Posts: 126
Joined: Fri Feb 12, 2010 10:31 pm

Postby bsmithyman » Fri Oct 29, 2010 8:46 pm

Which makes more sense might depend on what your XMOS core is doing. If you're nearing the processing limit, then using an XLink takes the overhead out of the core. If you've got loads of free XCore threads, SPI doesn't take that much to implement and may have better performance on the ARM end (as mentioned above).
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Sat Oct 30, 2010 12:03 am

Thanks for the input guys.

For most of my applications in mind SPI would be fine. However using Xlink integration with the ARM opens up all sorts of possibilites in using for example channels to communicate with individual threads.

Being a newb to this I have no idea whether this is possible. As to issues with ARM I/O speed, I understand that it is possible to alter the speed of the Xlink on the XMOS chips so this may possibly be a way of matching the IO speeds. I will dig into this a bit more.

Cheers, Roger...
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Sat Oct 30, 2010 11:25 pm

Well, I think that I have found the answer to my question and I believe that the answer is yes, it is possible to interface to an ARM processor via XLINK.

Thanks to the pointer from Leon_Heller to an AVR project to do this I eventually tracked it down to the XMOSLinkers project archive where there is a project that achieves this on an AVR chip.

refer here: http://archive.xmoslinkers.org/node/306

I see an advantage in using a XLINK instead of SPI in that using the Xlink it is possible to communicate directly with threads via XLINK channels.

So as soon as I get some XMOS hardware I will leap into this.

Expect a new project soon.

BTW…That XMOSLinkers archive is a great resource!

Thanks, Roger...
User avatar
leon_heller
XCore Expert
Posts: 546
Joined: Thu Dec 10, 2009 10:41 pm
Location: St. Leonards-on-Sea, E. Sussex, UK.

Postby leon_heller » Sun Oct 31, 2010 12:19 am

Yes, that's the project I was thinking of.
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Sun Oct 31, 2010 1:32 am

Thanks again Leon,

It doesn't look too difficult to port to ARM. It uses interrupts on the AVR to receive data from the XLink. I will likely port this to LPC1768 M3 where the interrupts are handled a little better than on the ARM7 chips.

Regards, Roger...

Who is online

Users browsing this forum: No registered users and 2 guests