Greetings from Croatia

First time on the site? Say hello here!
Post Reply
User avatar
eez-open
Active Member
Posts: 60
Joined: Mon Oct 23, 2017 1:49 pm
Location: Croatia
Contact:

Greetings from Croatia

Post by eez-open »

Hello everyone, this is actually my second post, I want to send my regards to the community and XMOS team. I spent some time now trying within my knowledge limits to see is it possible to use xCORE as a new "central/master" MCU for our open source test & measurements experiments. Currently we are using Arduino Due (32-bit ARM) and pushing it to the limits working with USB, Ethernet, touch-screen display management, SCPI parser, and many SPI peripherals.
It seems that xCORE offer so much when hi-speed data transfers and manipulation is required, making it promising candidate for e.g. hi-speed data acquisition and signal generation without going into the FPGA domain. However, one thing rise my concerns about its possibility to be used as master and not "co-processor": that is limited total working memory size (256KB per tile). That could be more then enough as SRAM for program data, but when I found that firmware have to be loaded into it, that was (almost) shocking revelation.
That issue possibly belong to category "it's a feature, not a bug", or I missed the point (or target type of xCORE applications) but I read thru e.g. this thread and find out that many other people shared my concern, and that so far nothing is changed nor announced (don't know how to interpret this "roadmap" info). Anyway, I'd like to give it a try, making my own "evaluation board" following pin mappings and functionality of existing (currently not available at Farnell :) evaluation boards. Target MCU is XE216-512-TQ128-C20 (also currently not available) since it include Ethernet and USB and comes in "DIY-friendly" package (BGAs are beyond my assembling capability).

I'd like to know if anyone has first-hand experience with so-called SRAM Software Controller? Which chip manufacturers and technology it supports? What type of functionality it address? I presume that for e.g. frame-buffering I should use SDRAM library.

Thanks in advance,
Denis


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hello and welcome. A few quick comments...

1) Your target MCU is stock @ Digikey:

https://www.digikey.ca/product-detail/e ... SD&lang=en

2) The referenced SDRAM s/w IP has been implemented (we also have a mix of not yet released similar slice boards) by XMOS:

https://www.xmos.com/support/boards?product=15829

The IP is a very complex piece of coding so best to test in your concept using one of their kits before moving forward. In short, the XMOS CPU is bit-banging out the required hand shakes, addressing with this external SDRAM device. This external SDRAM device could be used for data storage.

3) It should be possible to mate this slice (aka breakout board) onto the (new) general purpose XCORE-200 based kit. Since you are planning to use the XE2 prefix = XCORE-200 series CPU, stick with a current toolchain to evaluate this CPU.

https://www.digikey.ca/product-detail/e ... ND/6637760

Appears to be out of stock at this time.

4) If you plan to use the USB interface on these CPUs, be sure to search out the many posts on how to properly limit the in-rush current on the Vbus line - aka soft-start devices like those from Diodes Inc. are good to use. Do apply proper ESD protection on the same interfaces and use impedance controlled traces for the USB use (90 ohms).

5) Power sequencing is required for these devices before releasing reset. If practical, post your schematic for a review before moving to a custom PCB.

6) Here is an alternate way to review the CPU (only) - no slice kit interface so you could not mate the SDRAM board but is in stock:

http://www.futureelectronics.com/en/Tec ... 58716&IM=0

In general, we find that Future Electronics is more aggressive on XMOS devices than others but you may have to work with the MOQ of 90 pcs, etc. to receive the discount. Best to check with your local agent.

Good luck !
User avatar
eez-open
Active Member
Posts: 60
Joined: Mon Oct 23, 2017 1:49 pm
Location: Croatia
Contact:

Post by eez-open »

Thanks a lot for additional info. Currently Digikey is not an option since for small orders they are still charge premium for shipment to Croatia. So, I'll wait for Farnell, end of February is almost around the corner :).
I'm aware of SDRAM implementation and that slice is available for it. It is also mandatory when LCD slice is used for frame buffering and data storage in general. But, it cannot be used for storing executable code, isn't it? Therefore I was asking about SRAM Software Controller presuming that it works with SRAM not SDRAM used on mentioned slice for storing data, and that SRAM could be an alternative for program code execution.
Regarding my attempt to build an evaluation board, yes I was planned to open here a new thread and ask for review if someone will have time and energy for such thing :). Power sequencing is already included, also USB input ESD protection. I'm currently struggle with some other details but let discuss that soon in the new thread (if it's allowed for new member to open one).
Post Reply