Started adding SPDIF TX info to lib doc

This commit is contained in:
xross
2018-03-29 13:16:54 +01:00
parent a0b0c40c7f
commit f1aca129f2
2 changed files with 47 additions and 3 deletions

View File

@@ -4,11 +4,11 @@ lib_xua Change Log
0.2.0
-----
* ADDED: Documentation
* ADDED: Initial library documentation
* CHANGE: I2S hardware resources no longer used globally and must be passed
to XUA_AudioHub()
* CHANGE: NO_USB define renamed to XUA_USB_EN
* CHANGE: Moved to lib_spdif (from module_spdif_tx)
* CHANGE: Moved to using lib_spdif (from module_spdif_tx)
0.1.2
-----

View File

@@ -4,7 +4,12 @@ Features & Options
The previous sections describes only the basic core set of ``lib_xua`` details on enabling additional features e.g. S/PDIF are discussed in this section.
If using the "codeless" programming model then the steps in this section are informational only.
Where something must be defined, it is recommened this is done in `xua_conf.h` but could also be done in the application Makefile.
For each feature steps are listed for if calling ``lib_xua`` functions manually - if using the "codeless" programming model then these steps informational only.
Each section also includes a sub-section on enabling the feature using the "codeless" model.
For full details of all options please see the API section
I2S/TDM
~~~~~~~
@@ -39,10 +44,49 @@ These hardware resources must be passed into the call to ``XUA_AudioHub()``::
/* AudioHub/IO core does most of the audio IO i.e. I2S (also serves as a hub for all audio) */
on tile[0]: XUA_AudioHub(c_aud, clk_audio_mclk, clk_audio_bclk, p_mclk_in, p_lrclk, p_bclk);
Codeless Programming Model
..........................
All ports and hardware resources are already fully declared, one must simply set the following:
* `I2S_CHANS_DAC` must be set to the desired number of output channels via I2S
* `I2S_CHANS_ADC` must be set to the desired number of input channels via I2S
* `AUDIO_IO_TILE` must be set to the tile where the physical I2S connections reside
For configuration options, master vs slave, TDM etc please see the API section.
|newpage|
S/PDIF Transmit
~~~~~~~~~~~~~~~
``lib_xua`` supports the development of devices with S/PDIF transmit functionality through the use of
``lib_spdif``. The XMOS S/PDIF transmitted runs in a single core and supports rates up to 192kHz.
The S/PDIF transmitter core takes PCM audio samples via a channel and outputs them
in S/PDIF format to a port.
Samples are provided to the S/PDIF transmitter task from the ``XUA_AudioHub()`` task.
In order to use the S/PDIF transmmiter with ``lib_xua`` hardware resources must be declared e.g::
buffered out port:32 p_spdif_tx = PORT_SPDIF_OUT; /* SPDIF transmit port */
For further details please see the documentation, application notes and examples provided for ``lib_spdif``.
Codeless Programming Model
..........................
If using the codeless programming method one must simply ensure the following:
* `PORT_SPDIF_OUT` is correctly defined in the XN file
* `XUA_SPDIF_TX_EN` should be defined as non-zero
* `SPDIF_TX_TILE` is correctly defined (note, this defaults to `AUDIO_IO_TILE`)
For further configuration options please see the API section.