From eb0ea9197994b2392ea07b8a62bc8375321ac682 Mon Sep 17 00:00:00 2001 From: xross Date: Wed, 14 Feb 2018 12:19:50 +0000 Subject: [PATCH] Added AN00246 files --- examples/AN00246_xua_example/Makefile | 7 +- examples/AN00246_xua_example/README.rst | 34 +++ examples/AN00246_xua_example/doc/AN00246.rst | 240 ++++++++++++++++++ .../AN00246_xua_example/doc/rst/AN00246.rst | 229 +++++++++++++++++ .../doc/rst/images/hw_setup.jpg | Bin 0 -> 77049 bytes .../AN00246_xua_example/doc/rst/xdoc.conf | 2 + .../AN00246_xua_example/src/app_xua_simple.xc | 9 +- examples/AN00246_xua_example/src/xua_conf.h | 7 - 8 files changed, 513 insertions(+), 15 deletions(-) create mode 100644 examples/AN00246_xua_example/README.rst create mode 100644 examples/AN00246_xua_example/doc/AN00246.rst create mode 100644 examples/AN00246_xua_example/doc/rst/AN00246.rst create mode 100644 examples/AN00246_xua_example/doc/rst/images/hw_setup.jpg create mode 100644 examples/AN00246_xua_example/doc/rst/xdoc.conf diff --git a/examples/AN00246_xua_example/Makefile b/examples/AN00246_xua_example/Makefile index 2c747be0..052dcdd3 100644 --- a/examples/AN00246_xua_example/Makefile +++ b/examples/AN00246_xua_example/Makefile @@ -3,13 +3,14 @@ APP_NAME = app_xua_simple TARGET = xk-audio-216-mc.xn # The flags passed to xcc when building the application -XCC_FLAGS = -fcomment-asm -Xmapper --map -Xmapper MAPFILE -O3 -report -fsubword-select -save-temps -g -Wno-unused-function -Wno-timing -DXUD_SERIES_SUPPORT=XUD_X200_SERIES -DUSB_TILE=tile[1] -DSDA_HIGH=2 -DSCL_HIGH=1 +XCC_FLAGS = -fcomment-asm -Xmapper --map -Xmapper MAPFILE -O3 -report -fsubword-select -save-temps \ + -g -Wno-unused-function -Wno-timing -DXUD_SERIES_SUPPORT=XUD_X200_SERIES -DUSB_TILE=tile[1] \ + -DSDA_HIGH=2 -DSCL_HIGH=1 # The USED_MODULES variable lists other module used by the application. These # modules will extend the SOURCE_DIRS, INCLUDE_DIRS and LIB_DIRS variables. # Modules are expected to be in the directory above the BASE_DIR directory. -USED_MODULES = lib_mic_array lib_logging lib_xua lib_device_control lib_xud module_i2c_shared module_i2c_single_port module_locks - +USED_MODULES = lib_xua lib_device_control lib_xud module_i2c_shared module_i2c_single_port module_locks #============================================================================= # The following part of the Makefile includes the common build infrastructure diff --git a/examples/AN00246_xua_example/README.rst b/examples/AN00246_xua_example/README.rst new file mode 100644 index 00000000..125adb13 --- /dev/null +++ b/examples/AN00246_xua_example/README.rst @@ -0,0 +1,34 @@ + +How to use the lib_xua_library +=============================== + +.. version:: 0.1.0 + +Summary +------- + +Required tools and libraries +............................ + +.. appdeps:: + +Required hardware +................. + +The example code provided with the application has been implemented +and tested on the xCORE-200 Multi-channel Audio Board + +Prerequisites +............. + + * This document assumes familiarity with the XMOS xCORE architecture, + the XMOS tool chain and the xC language. Documentation related to these + aspects which are not specific to this application note are linked to in + the references appendix. + + * For a description of XMOS related terms found in this document + please see the XMOS Glossary [#]_. + +.. [#] http://www.xmos.com/published/glossary + + diff --git a/examples/AN00246_xua_example/doc/AN00246.rst b/examples/AN00246_xua_example/doc/AN00246.rst new file mode 100644 index 00000000..89267983 --- /dev/null +++ b/examples/AN00246_xua_example/doc/AN00246.rst @@ -0,0 +1,240 @@ +.. include:: ../../README.rst + +|newpage| + +Overview +-------- + +Introduction +............ + +The XMOS USB Audio (XUA) library provides an implemention of USB Audio Class 2.0 + +This application note demonstrates the implementation of a basic USB Audio Device on +the xCORE-200 MC Audio board. + +Block diagram +............. + +.. figure:: images/block_diagram.* + :width: 80% + + Application block diagram + +The application uses a single logical core which runs the application and makes +calls to the |I2C| master library functions as required. + +How to use lib_xua +------------------ + +The Makefile +............ + +To start using the lib_xua, you need to add ``lib_xua`` to your Makefile:: + + USED_MODULES = .. lib_xua ... + +This demo also uses the XMOS USB Device library (``lib_xud``) for low-level USB connectivity. +The Makefile also includes:: + + USED_MODULES = .. lib_xud .. + +``lib_xud`` library requires some flags for correct operation. Firstly the +tile on which ``lib_xud`` will be execute, for example:: + + XCC_FLAGS = .. -DUSB_TILE=tile[1] .. + +Secondly, the architecture of the target device, for example:: + + XCC_FLAGS = .. -DXUD_SERIES_SUPPORT=XUD_X200_SERIES .. + +Includes +........ + +This application requires the system header that defines XMOS xCORE specific +defines for declaring and initialising hardware: + +.. literalinclude:: app_xua_simple.xc + :start-on: include + :end-before: include "xua.h" + +The XUA library functions are defined in ``xua.h``. This header must +be included in your code to use the library. + +.. literalinclude:: app_xua_simple.xc + :start-on: include "xua.h" + :end-on: include "xud_device.h" + +Allocating hardware resources +............................. + +A most basic implementation of a USB Audio device (i.e. simple stereo input and output via I2S) +using ``lib_xua`` requires the follow pins: + + - I2S Bit Clock (from xCORE to DAC) + - I2S L/R clock (from xCORE to DAC) + - I2S Data line (from xCORE to DAC) + - I2S Data line (from ADC to xCORE) + - Audio Master clock (from clock source to xCORE) + +.. note:: + + ANOO246 assumes xCORE is I2S bus master + +On an xCORE the pins are controlled by ``ports``. The application therefore declares various ``ports`` +for this purpose: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Port declaration + :end-on: /* Clock-block + +In addition to ``port`` resources two clock-block resources are also required: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Clock-block + :end-on: /* clock clk_audio_mclk + +Other declarations +.................. + +``lib_xua`` currently requires the manual declaration of tables for the endpoint types for +``lib_xud`` and the calling the main XUD funtion in a par (``XUD_Main()``). + +For a simple application the following endpoints are required: + + - ``Control`` enpoint zero + - ``Isochonous`` endpoint for each direction for audio data to/from the USB host + +These are declared as follows: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Endpoint type tables + :end-on: /* XUD_EpType epTypeTableIn + +The application main() function +............................... + +The ``main()`` function sets up the tasks in the application. + +Various channels are required in order to allow the required tasks to communcate. +These must be declared": + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Channels for lib_xud + :end-on: /* chan c_aud_ctl + +The rest of the ``main()`` function starts all the tasks in parallel +using the xC ``par`` construct: + +.. literalinclude:: app_xua_simple.xc + :start-on: par + :end-before: return 0 + +This code starts the low-level USB task, an Endpoint 0 task, an Audio buffering task and a task to handle +the audio I/O (i.e. I2S signalling). + +Configuration +............. + +``lib_xua`` has many parameters than can be configured at build time, some examples include: + + - Sample-rates + - Channel counts + - Audio Class version + - Product/Vendor ID's + - Various product strings + - Master clock frequency + +These parameters are set via defines in an optional ``xua_conf.h`` header file. + +|appendix| +|newpage| + +Demo Hardware Setup +------------------- + +To run the demo, connect a USB cable to power the xCORE-200 MC Audio board +and plug the xTAG to the board and connect the xTAG USB cable to your +development machine. + +.. figure:: images/hw_setup.* + :width: 80% + + Hardware setup + +|newpage| + +Launching the demo application +------------------------------ + +Once the demo example has been built either from the command line using xmake or +via the build mechanism of xTIMEcomposer studio it can be executed on the xCORE-200 +MC Audio board. + +Once built there will be a ``bin/`` directory within the project which contains +the binary for the xCORE device. The xCORE binary has a XMOS standard .xe extension. + +Launching from the command line +............................... + +From the command line you use the ``xrun`` tool to download and run the code +on the xCORE device:: + + xrun --xscope bin/app_xua_simple.xe + +Once this command has executed the application will be running on the +xCORE-200 MC Audio Board + +Launching from xTIMEcomposer Studio +................................... + +From xTIMEcomposer Studio use the run mechanism to download code to xCORE device. +Select the xCORE binary from the ``bin/`` directory, right click and go to Run +Configurations. Double click on xCORE application to create a new run configuration, +enable the xSCOPE I/O mode in the dialog box and then +select Run. + +Once this command has executed the application will be running on the +xCORE-200 MC Audio board. + +Running the application +....................... + +Once running the device will be detected as a USB Audio device - note, Windows operating +systems may require a third party driver for correct operation + +|newpage| + +References +---------- + +.. nopoints:: + + * XMOS Tools User Guide + + http://www.xmos.com/published/xtimecomposer-user-guide + + * XMOS xCORE Programming Guide + + http://www.xmos.com/published/xmos-programming-guide + + * XMOS lib_xua Library + + http://www.xmos.com/support/libraries/lib_xua + + * XMOS lib_xud Library + + http://www.xmos.com/support/libraries/lib_xud + +|newpage| + +Full source code listing +------------------------ + +Source code for main.xc +....................... + +.. literalinclude:: app_xua_simple.xc + :largelisting: + +|newpage| diff --git a/examples/AN00246_xua_example/doc/rst/AN00246.rst b/examples/AN00246_xua_example/doc/rst/AN00246.rst new file mode 100644 index 00000000..1c5b9ab9 --- /dev/null +++ b/examples/AN00246_xua_example/doc/rst/AN00246.rst @@ -0,0 +1,229 @@ +.. include:: ../../README.rst + +|newpage| + +Overview +-------- + +Introduction +............ + +The XMOS USB Audio (XUA) library provides an implemention of USB Audio Class 2.0 + +This application note demonstrates the implementation of a basic USB Audio Device on +the xCORE-200 MC Audio board. + +Block diagram +............. + +.. figure:: images/block_diagram.* + :width: 80% + + Application block diagram + +The application uses a single logical core which runs the application and makes +calls to the |I2C| master library functions as required. + +How to use lib_xua +------------------ + +The Makefile +............ + +To start using the lib_xua, you need to add ``lib_xua`` to your Makefile:: + + USED_MODULES = .. lib_xua ... + +This demo also uses the XMOS USB Device library (``lib_xud``) for low-level USB connectivity. +The Makefile also includes:: + + USED_MODULES = .. lib_xud .. + +``lib_xud`` library requires some flags for correct operation. Firstly the +tile on which ``lib_xud`` will be execute, for example:: + + XCC_FLAGS = .. -DUSB_TILE=tile[1] .. + +Secondly, the architecture of the target device, for example:: + + XCC_FLAGS = .. -DXUD_SERIES_SUPPORT=XUD_X200_SERIES .. + +Includes +........ + +This application requires the system header that defines XMOS xCORE specific +defines for declaring and initialising hardware: + +.. literalinclude:: app_xua_simple.xc + :start-on: include + :end-before: include "xua.h" + +The XUA library functions are defined in ``xua.h``. This header must +be included in your code to use the library. + +.. literalinclude:: app_xua_simple.xc + :start-on: include "xua.h" + :end-on: include "xud_device.h" + +Allocating hardware resources +............................. + +A most basic implementation of a USB Audio device (i.e. simple stereo input and output via I2S) +using ``lib_xua`` requires the follow pins: + + - I2S Bit Clock (from xCORE to DAC) + - I2S L/R clock (from xCORE to DAC) + - I2S Data line (from xCORE to DAC) + - I2S Data line (from ADC to xCORE) + - Audio Master clock (from clock source to xCORE) + +.. note:: + + ANOO246 assumes xCORE is I2S bus master + +On an xCORE the pins are controlled by ``ports``. The application therefore declares various ``ports`` +for this purpose: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Port declaration + :end-on: /* Clock-block + +In addition to ``port`` resources two clock-block resources are also required: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Clock-block + :end-on: /* clock clk_audio_mclk + +Other declarations +.................. + +``lib_xua`` currently requires the manual declaration of tables for the endpoint types for +``lib_xud`` and the calling the main XUD funtion in a par (``XUD_Main()``). + +For a simple application the following endpoints are required: + + - ``Control`` enpoint zero + - ``Isochonous`` endpoint for each direction for audio data to/from the USB host + +These are declared as follows: + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Endpoint type tables + :end-on: /* XUD_EpType epTypeTableIn + +The application main() function +............................... + +The ``main()`` function sets up the tasks in the application. + +Various channels are required in order to allow the required tasks to communcate. +These must be declared": + +.. literalinclude:: app_xua_simple.xc + :start-on: /* Channels for lib_xud + :end-on: /* chan c_aud_ctl + +The rest of the ``main()`` function starts all the tasks in parallel +using the xC ``par`` construct: + +.. literalinclude:: app_xua_simple.xc + :start-on: par + :end-before: return 0 + +This code starts the low-level USB task, an Endpoint 0 task, an Audio buffering task and a task to handle +the audio I/O (i.e. I2S signalling). + +Configuration +............. + +|appendix| +|newpage| + +Demo Hardware Setup +------------------- + +To run the demo, connect a USB cable to power the xCORE-200 MC Audio board +and plug the xTAG to the board and connect the xTAG USB cable to your +development machine. + +.. figure:: images/hw_setup.* + :width: 80% + + Hardware setup + +|newpage| + +Launching the demo application +------------------------------ + +Once the demo example has been built either from the command line using xmake or +via the build mechanism of xTIMEcomposer studio it can be executed on the xCORE-200 +MC Audio board. + +Once built there will be a ``bin/`` directory within the project which contains +the binary for the xCORE device. The xCORE binary has a XMOS standard .xe extension. + +Launching from the command line +............................... + +From the command line you use the ``xrun`` tool to download and run the code +on the xCORE device:: + + xrun --xscope bin/app_xua_simple.xe + +Once this command has executed the application will be running on the +xCORE-200 MC Audio Board + +Launching from xTIMEcomposer Studio +................................... + +From xTIMEcomposer Studio use the run mechanism to download code to xCORE device. +Select the xCORE binary from the ``bin/`` directory, right click and go to Run +Configurations. Double click on xCORE application to create a new run configuration, +enable the xSCOPE I/O mode in the dialog box and then +select Run. + +Once this command has executed the application will be running on the +xCORE-200 MC Audio board. + +Running the application +....................... + +Once running the device will be detected as a USB Audio device - note, Windows operating +systems may require a third party driver for correct operation + +|newpage| + +References +---------- + +.. nopoints:: + + * XMOS Tools User Guide + + http://www.xmos.com/published/xtimecomposer-user-guide + + * XMOS xCORE Programming Guide + + http://www.xmos.com/published/xmos-programming-guide + + * XMOS lib_xua Library + + http://www.xmos.com/support/libraries/lib_xua + + * XMOS lib_xud Library + + http://www.xmos.com/support/libraries/lib_xud + +|newpage| + +Full source code listing +------------------------ + +Source code for main.xc +....................... + +.. literalinclude:: app_xua_simple.xc + :largelisting: + +|newpage| diff --git a/examples/AN00246_xua_example/doc/rst/images/hw_setup.jpg b/examples/AN00246_xua_example/doc/rst/images/hw_setup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8998805d678adf3cad2223f5c0dc6a8c53b637d7 GIT binary patch literal 77049 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

fcX60cP-UVTAyhi<4|Tj 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 agICqcjH%+e*rdo9tqATIC #include -#include "xud_device.h" #include "xua.h" +#include "xud_device.h" /* Port declarations. Note, the defines come from the xn file */ buffered out port:32 p_i2s_dac[] = {PORT_I2S_DAC0}; /* I2S Data-line(s) */ @@ -24,12 +24,12 @@ buffered out port:32 p_bclk = PORT_I2S_BCLK; /* I2S L/R-clock */ /* Note, declared unsafe as sometimes we want to share this port e.g. PDM mics and I2S use same master clock IO */ -port p_mclk_in_ = PORT_MCLK_IN; +port p_mclk_in_ = PORT_MCLK_IN; unsafe { /* TODO simplify this */ - unsafe port p_mclk_in; /* Audio master clock input */ + unsafe port p_mclk_in; /* Audio master clock input */ } in port p_for_mclk_count = PORT_MCLK_COUNT; /* Extra port for counting master clock ticks */ @@ -55,7 +55,7 @@ int main() /* Channel for audio data between buffering cores and audio IO core */ chan c_aud; - /* Channel for communcating control messages from EP0 to the rest of the device (via the buffering cores */ + /* Channel for communicating control messages from EP0 to the rest of the device (via the buffering cores */ chan c_aud_ctl; par @@ -63,7 +63,6 @@ int main() /* Low level USB device layer core */ on tile[1]: XUD_Main(c_ep_out, 2, c_ep_in, 2, c_sof, epTypeTableOut, epTypeTableIn, - /* TODO rm me! */ null, null, -1 , XUD_SPEED_HS, XUD_PWR_BUS); diff --git a/examples/AN00246_xua_example/src/xua_conf.h b/examples/AN00246_xua_example/src/xua_conf.h index 7d684fcf..63120c11 100644 --- a/examples/AN00246_xua_example/src/xua_conf.h +++ b/examples/AN00246_xua_example/src/xua_conf.h @@ -10,10 +10,6 @@ #define MAX_FREQ 48000 #define EXCLUDE_USB_AUDIO_MAIN -#define NUM_PDM_MICS 0 -#define XUD_TILE 1 -#define AUDIO_IO_TILE 0 -#define MIXER 0 #define SPDIF_TX_INDEX 0 #define VENDOR_STR "XMOS" @@ -26,6 +22,3 @@ #define AUDIO_CLASS_FALLBACK 0 #define BCD_DEVICE 0x1234 #define XUA_DFU_EN 0 - -/* TODO */ -#define XUA_DFU XUA_DFU_EN