Micro Mixes Hard USB With Soft Peripherals

March 20, 2012
XMOS adds a hard core USB interface to its latest micro and targets its soft peripherals on digital audio applications.

XMOS adds a hard core USB interface to its latest micro and targets its soft peripherals on digital audio applications. The XS1-SUx family (Fig. 1) has one or more 700 MIPS, 8-thread XCore processors along with a USB 2.0 interface. The latter has an on-chip PHY.

XMOS first released a multicore XCore-based chip (see Multicore And Soft Peripherals Target Multimedia Applications) where all peripherals were implemented in software. Bit banging tends to be hard with standard cores but when you have 8 threads that are tightly linked to the hardware then soft peripherals become efficient and very flexible.

Figure 1. The XS1 XCore supports 8 threads with a hardware scheduling system.

Still, some interfaces tend to be more efficient when implemented in hardware. This is the case with USB especially since the PHY is a key part and something that cannot be emulated in software. Likewise, the 12-bit 1Msample/s ADC makes analog chores easier.

The ADC is a handy addition but it tends to be used for control and interface chores when the chip is supporting its initial target market, streaming digital audio. Interfaces I2S and SPDIF are serial digital interfaces and match the XCore architecture very well. The single core XS1-SU1 is capable of handling 4 inputs and 4 outputs simultaneously while retaining sufficient processing power to massage the digital streams. Add the USB Audio 2.0 standard and the XS1-SUx family is almost a perfect match to support this application area.

The XS1-SU1 is a single core version of the USB-enabled architecture and it is priced at $5. The dual core XS1-SU2 adds more processing power.

Although digital audio is the target market for the new family, the chips are really general purpose processors, now with a USB and ADC on-board. The chips retain the high speed, serial XLink interfaces that can connect multiple chips together. Arrays of the quad core versions, without USB support, have tackled computational chores.

There is also a matching, on-chip interprocess communication system that compliments the XLink support. This allows threads to be placed on different cores in a multicore system.

Each core maintains the state of 8 threads and implements a hardware scheduler that is tied to the I/O system. They have 64 Kbytes of RAM and 128 bytes are maintained in deep sleep mode. There is 8 Kbytes of OTP memory. Off-chip serial storage is normally used for development. It can also be used in production as well. The OTP locks in an application or provides storage for keys or other static data.

The system has a number of power modes and is designed for low power operation. It has an integrated a DC-DC power supply that delivers a 1V supply for the core. The chips are designed to be mounted on a 2 layer board with a minimum number of external components.

A number of hardware development platforms are available for XS1 chips. XMOS is now using their own chip to implement JTAG debugging for these development tools.

Software support includes an Eclipse-based IDE that runs on Windows, Linux and the Mac. The XC compiler supports C and C++. XMOS has its own assembler and linker. There is also a cycle-based simulator and debugging is handled by the GNU gdb debugger. Digital audio runtime support is also part of the mix.

Dealing with soft peripherals is interesting. I have used them with the XS1 as well as other platforms like Parallax's Propeller (see Parallax Propeller). Modifying existing peripherals and coming up with new ones is something that is not possible with most alternatives.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!