Author Topic: xCORE  (Read 4239 times)

0 Members and 1 Guest are viewing this topic.

Offline davorinTopic starter

  • Supporter
  • ****
  • Posts: 986
  • Country: ch
xCORE
« on: July 29, 2014, 06:34:52 am »
Received a small xCORE startkit to play with...and it seems to be a nice board...

Especially for the low price and getting parallel processing with 8 cores on a small board....
So I'm wondering what else it can do when using USB/Ethernet and audio......

Tomorrow I should receive the USB development kit with additional ethernet and audio slice boards....

A big plus is the fact that their Eclipse based IDE (though I never liked Eclipse since I had ti use BIRT) runs on OSX, Windows and Linux...


Final question...are there other xCORE users here?
How's your experience with their chips and especially performance?
 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 5119
  • Country: si
Re: xCORE
« Reply #1 on: July 29, 2014, 07:10:05 am »
I have a bunch of there dev kits around as we'll as used the chips on my own PCBs and they are pretty cool but usually not terribly practical.

On the plus side they are very quick at 500 MIPS on a TQFP chip and they multithreaded without a RTOS, you can cluster them together using xlinks and it acts as one big MCU.

But they have there issues, firstly they need a lot of external voltages and an external flash to work, then they have 64KB of RAM. That might seam a lot but that RAM has to also hold all of your code too(using a rich featured FAT32 stack or TCP/IP will eat it real fast) and the way IO pins work make only 10% of the pins on a large BGA chip useful so you often have to get creative to not run out of pins.Also those MIPS get eaten a lot due to software bit banging interfaces(you have to bit bang UART SPI I2C etc)

Then about the USB and Ethernet library's they are quite delicate, when you try to use them you will have no idea how to talk to it and a lot of things you do to it might break it(also they only compile in just the right compiler version that's usually 1 major version behind the current latest one). Often code cables you get from them will also use quite a bit of inline assembler to get around the performance loss that there XC compiler causes(usually to get faster IO and inter thread communication)

So if you venture here be prepared for a steep learning curve and patience for getting there library's working.

I found the chips very useful for a USB measurement sound card. They have a asynchronous USB audio library that creates a bit perfect USB sound card. I used that in conjunction with the best ADC that TI makes to create my own DSA that works from DC to 96KHz and can see signals as small as -140dB and has a THD of about 0,0003%. Very useful for making measurements on audio equipment or looking at very tiny signals.

 

Offline davorinTopic starter

  • Supporter
  • ****
  • Posts: 986
  • Country: ch
Re: xCORE
« Reply #2 on: July 29, 2014, 07:14:59 am »
What I've discovered so far with s simple LED bit-bang program is the fact, that when I insert a pause of 1usec, a whole cycle on-off takes around 2-7usec, so a simple LED on or off consumes 350nsec....

OTOH when I just continuously switch the output on/off in a loop without a pause in between the switching frequency is around 16MHz, which should be from above figures around 1.4MHz only...

 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 5119
  • Country: si
Re: xCORE
« Reply #3 on: July 29, 2014, 09:55:42 am »
If you do it right you can bit bang SPI out of it at 33MHz, also note that the compiler on O 0 optimization is incredibly slow.

Oh and btw don't get fooled by the 8 core marketing bullshit, about a year ago they changed there naming schemes to sound more impressive. What they call a core is actually a hardware thread, and what they call a title is actually a core. So what you have on there is 1 core with 8 threads, just because it switches between threads on every instruction in a round robin fashion makes it look like 8 cores (it even executes NOPs when a tread is blocked to make other threads keep running at the same speed)
 

Offline davorinTopic starter

  • Supporter
  • ****
  • Posts: 986
  • Country: ch
Re: xCORE
« Reply #4 on: July 29, 2014, 10:00:06 am »
Yes I read it somewhere SPI can go up that high....wonder how fast Ethernet would be....

But my preferred application area would definitively be USB and most probably in conjunction with audio and measurement..

BTW: Your setup sounds really interesting...do you have some material on your ADC/DAC setup?

Looking for something to send audio out and receive it back for measuring audio amplifiers
Not sure if xCORE is a good choice to do sine wave generation as well.

 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 5119
  • Country: si
Re: xCORE
« Reply #5 on: July 29, 2014, 10:33:34 am »
You can fully load a base 100 Ethernet PHY using the fancy IO features, but the TCP/IP layer is most likely not that fast, UDP is the best bet for high throughput.

Sine wave generation I have done before using a lookup table, a real floating point sin function is likely very slow on this chip.

I don't have anything about my USB measurement card with me right now since I am on vacation on a island in Croatia.

Basically it's a very high spec sound card with the ADC and DAC isolated galvanicaly from USB for ground loop elimination and one of the stereo channels gained up 100x in the analog front end, making it sensitive enough to measure noise of opamps and linear regulators. On the PC side I use a software called visual analyzer that allows you to calibrate in a actual voltage level and use it as a scope with FFT. For doing this sort of stuff a bit perfect sound card is very important so that you don't get your captured signal distorted by being resampled in the OS.

Being a sound card you can also play a sine wave out of it, but I have found that most of these sine wave generating programs for windows generate a sine wave with a bit of harmonics in it, cleanest I could get was by using the generate tone function in audacity.

It's incredible how useful a oscilloscope with a 24bit ADC and a 10uV per division scale can be.
 

Offline davorinTopic starter

  • Supporter
  • ****
  • Posts: 986
  • Country: ch
Re: xCORE
« Reply #6 on: July 29, 2014, 03:34:05 pm »
Shouldn't you enjoy your vacation now? ;-)

My xMOS USB kit together with some more slices just arrived this noon....let's see how those praised audio examples work....

Said Dynaudio speakers aren't available anymore individually....to have a proper audio end device (o;


PS: Greets to my former home country Slovenia ;-)

 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 5119
  • Country: si
Re: xCORE
« Reply #7 on: July 29, 2014, 04:04:25 pm »
Your name did sound Slovenian.

Would be enjoying it if the weather didn't just go to shit.

Just make sure you bring along lots of patience as often things don't work out of the box, but once you get it working right it does work nicely indeed.
 

Offline davorinTopic starter

  • Supporter
  • ****
  • Posts: 986
  • Country: ch
Re: xCORE
« Reply #8 on: July 29, 2014, 04:27:15 pm »
Just trying to figure out the software components from their library needed to get a simple USB audio device for the XK-SK-U16-ST kit with audio slice.

And their forum really sucks...already registered twice...as the first login name didn't work..now the second login doesn't work either....

So far I'm really not convinced by this company (o;

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf