App notes

S/PDIF library

S/PDIF library

A software defined S/PDIF library
that allows you to trasnmit or receive S/PDIF data via xCORE ports.
S/PDIF is a digital data streaming interface. The components in the libary
are controlled via C using the XMOS multicore extensions (xC) and
provides both a S/PDIF receiver and transmitter.

Features

  • Supports stereo S/PDIF up to sample rates up to 9600Khz
  • Supports receiving and transmitting

Typical Resource Usage

This following table shows typical resource usage in some different configurations. Exact resource usage will depend on the particular use of the library by the application.

Configuration

Pins

Ports

Clocks

Ram

Logical cores

Transmit

1

1 (1-bit)

1

~3.8K

1

Receive

1

1 (1-bit)

1

~3.9K

1

Software version and dependencies

This document pertains to version 2.0.1 of this library. It is known to work on
version 14.1.1 of the xTIMEcomposer tools suite, it may work on other versions.

The library does not have any dependencies (i.e. it does not rely on any other libraries).

The following application notes use this library:

  • AN00178 – How to use the S/PDIF library

S/PDIF library Read More »

xCONNECT dynamic configuration demo

xCONNECT dynamic configuration demo

xCONNECT is a proprietary interconnect technology that facilitates data communication across different xCORE to create a fully scalable system. It is possible to achieve high bandwidth communication of up to 400 Mbits/sec for each xCONNECT link making it suitable for things like light weight industrial back-plane busses. No additional hardware is required for the xCONNECT communication.

Using xCONNECT over longer distances can introduce bit errors due to noise, xCONNECT is dependent on the application layer to recover from such communication errors. This application note demonstrates handling of transmit timeouts, receive timeouts and receive exceptions (e.g. unexpected control tokens) using software to ensure robustness of the communication.

Required tools and libraries

  • xTIMEcomposer Tools – Version 14.0.0 and above
  • XMOS try_catch exception handling module – Version 1.0.5 and above

Required hardware

This application note is designed to run on an XMOS xCORE General Purpose (L-series) device.

The example code provided with the application has been implemented and tested
on the xCORE L-series sliceKIT core board 1V2 (XP-SKC-L2) but there is no dependency on
this board and it can be modified to run on any development board which uses an
xCORE General Purpose (L-series), xCORE-USB series or xCORE-Analog series device.

Prerequisites

  • This document assumes familiarity with the XMOS xCORE architecture, xCONNECT interconnect communication, the XMOS tool chain and the xC language. Documentation that is not specific to this application note is listed in the references appendix.
  • For descriptions of XMOS related terms found in this document please see the XMOS Glossary [1]
    .
[1]

http://1m2n3b4v.xmos.com/published/glossary

xCONNECT dynamic configuration demo Read More »

Scroll to Top