Interfaces StartKit

All technical discussions and projects around startKIT
Post Reply
MaxPower
Junior Member
Posts: 5
Joined: Sun Jun 08, 2014 8:36 pm

Interfaces StartKit

Post by MaxPower »

Hello,
I'm missing in datasheet some description of interfaces ( SPI, I2c , UART) register description (Using Port in such a mode )etc...where can I find such data ?


User avatar
TSC
Experienced Member
Posts: 111
Joined: Sun Mar 06, 2011 11:39 pm

Post by TSC »

There are no such interfaces defined in hardware! XMOS architecture allows for any interface you want to be defined in software, allowing for a huge amount of flexibility. For example, you can set up as many SPI/I2C/UART interfaces as you want, within the limits of available I/O and other hardware resources.

The software for many common interfaces has already been developed and are available through the xSOFTipEXPLORER, which is probably the easiest way to add such interfaces to you design. Alternately, the code is also available through GitHub.
MaxPower
Junior Member
Posts: 5
Joined: Sun Jun 08, 2014 8:36 pm

Post by MaxPower »

Hello ,
But what is with performance ? .. normally in any kind of mcu the point of having hardware interfaces is the possibility of not using cpu resources if possible... and plenty of isr routines ,dma services ...etc which makes lives easier ...
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

But what is with performance ?
A LOT higher than you will see with a typical MCU (how about 10Mbps UART or 50Mbps SPI?).

Its true you burn logical cores to make hardware, but you get exactly the hardware you want and very high performance. You don't need DMAs in XMOS systems (or interrupts) but you could make a software DMA if you really wanted using a core and a few lines of C. The reason you don't need DMA is that large buffers aren't needed, because we respond so quickly. For example, our audio reference designs handle a sample at a time via events. No need for DMA and no need for interrupts (which are unpredictable as soon as you have more than one source).

That's the whole idea with XMOS - you define your hardware in software. To save time, most common hardware tasks (ie. peripherals) are provided as libraries. Most of the time you don't need to worry about detailed port modes. It's quite fun programming the ports (a lot of members on here do this) but it's optional in many cases, because of the libraries.

What are you trying to do with the chip? Perhaps some of us can help guide you?
MaxPower
Junior Member
Posts: 5
Joined: Sun Jun 08, 2014 8:36 pm

Post by MaxPower »

It looks really promising ... What I want to make is a small server (kind of PLC controller) ( using DP83848 Ethernet
Transceiver RMII) , 16 bit parallel display , and some i2c and SPI .I already tried this with Cortex M4 but performance is not enough for me ( especially for web interfacing)...
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm
Contact:

Post by Bianco »

That ethernet PHY should work fine :-)
http://www.xcore.com/projects/xs1-l1-ti ... -prototype
MaxPower
Junior Member
Posts: 5
Joined: Sun Jun 08, 2014 8:36 pm

Post by MaxPower »

that's perfect :) , and base on which software it's made ? ( I think on this link there are only Hardware files for PCB)...
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm
Contact:

Post by Bianco »

https://github.com/xcore/sc_ethernet

and you problably want

https://github.com/xcore/sc_xtcp

I do need to note that it might be tricky to connect all the things you need to the startKIT because you may run out of ports (or suitable ports for the matter). Haven't really checked though.
MaxPower
Junior Member
Posts: 5
Joined: Sun Jun 08, 2014 8:36 pm

Post by MaxPower »

what I see is that the support for this eth module is only for XS1-G4,XS1-L2,XS1-L1 (is it XS1-L1 similar to XS1-A8 from StartKit ?)
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm
Contact:

Post by Bianco »

You can tie it to an A or U device without problems.
All the ports on different chips and generations are the same except some minor details such as pull-up or pull-down resistors and drive strength.

The Ethernet slice for example is supported on the startKIT.
Post Reply