ST Using the Audio Processor Workbench (APWorkbench) User Manual
Advertisement
Advertisement
UM1545
User manual
Using the Audio Processor Workbench (APWorkbench)
Introduction
The Audio Processor Workbench (APW) has been designed as a multi-device software control panel supporting all the products in the Sound Terminal
®
family from
STMicroelectronics.
APW has been developed to fit the needs of both the beginner and the experienced user.
The tool is quite flexible and its configuration can be simple or more advanced in order to access the multitude of features offered by the Sound Terminal
®
products.
Features of the APW include:
■ I
2
C register control: direct R/W access to all I
2
C registers of the device.
■ Equalizer editor: a powerful graphic tool to design filters (or a chain of them) and to download their coefficients directly into the device. APW makes the use of any other external tool unnecessary, thus simplifying device operation.
■
■
■
Configuration presets: the capability of storing up to 8 device configurations that can be loaded just by pushing a button. Thanks to this feature the configuration process becomes a rare activity making device testing, measuring or listening faster than ever.
Device common controls: embedded or external bridge power-up, device reset, power-up and initialization.
Device-specific controls: the ST Sound Terminal
® product family includes many devices.
APW offers the control of all the various device-specific features (proprietary audio effects, I/O configuration and routing and so on).
For the complete list of the supported devices please refer to
Section 1.1: Supported devices
.
June 2012 Doc ID 023225 Rev 1 1/64
www.st.com
Contents
Contents
UM1545
Appendix B Audio processor configuration file . . . . . . . . . . . . . . . . . . . . . . . . . 46
2/64 Doc ID 023225 Rev 1
UM1545 Contents
Appendix G Software license agreement and disclaimer . . . . . . . . . . . . . . . . . . 60
Doc ID 023225 Rev 1 3/64
List of figures
List of figures
UM1545
2
C failure pop-up message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2
C data and clock line when Delay = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
C data and clock line when Delay = 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
C data and clock line when Delay = 10,000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4/64 Doc ID 023225 Rev 1
UM1545 Getting started
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
The products actually supported by the APW, all belonging to the ST Sound Terminal
® family, include:
STA308A
STA309A
STA321
STA323W
STA326
STA333BW
STA333W
STA339BW
STA339BWS
STA350BW
STA369BW
STA369BWS
STA381BW
STA381BWS
STA529
STA559BW
STA559BWS
Other customer-specific products are supported by the APW but require an activation code.
For further information please contact your local ST sales office.
The APW needs an interface to interact with the various devices it supports. At the present time the supported interface is:
●
APWLink
™
interface (via FTDI
©
USB UART/FIFO I.C.), see AN4118, “APWLink™ USB interface board for Sound Terminal
®
demonstration boards” for further information.
Doc ID 023225 Rev 1 5/64
Getting started
Figure 1.
APW package folder
UM1545
6/64
In order to quickly get started very few requirements have to be met. The user will need the following hardware:
●
●
A supported interface (i.e. APWLink™). If this interface is not available, the tool will run in SIMULATION mode only and no communication with either the target device or the demonstration board will be possible.
A demonstration board of one of the Sound Terminal
®
supported products.
The software requires:
●
A complete APW package (a complete package consists of the files shown in
please note that the structure might change according to the list of supported devices).
●
●
MS Windows operating system (from Windows XP to Windows 7), no other OS is supported.
The FTDI
©
driver (this driver is free and can be downloaded from http://www.ftdichip.com/Drivers/D2XX.htm
). This driver will only be required to communicate with a target device or demonstration board through the APWLink™
Doc ID 023225 Rev 1
UM1545 Getting started
● interface. APW will run in SIMULATION mode only when the FTDI driver is not installed or the APWLink™ interface is not connected to the PC.
Microsoft Visual C++ 2008 Feature Pack Redistributable package, if not already available on the target PC. These libraries can be downloaded for free from the
Section 1.3.1: Installation notes
●
Microsoft Visual C++ 2008 Feature Pack Redistributable Package (x86)
To properly run APWorkbench on some machines the user may be required to install the updated Microsoft VC++ 2008 Feature Pack redistributable libraries, available at no cost from the Microsoft web page at: http://www.microsoft.com/en-us/download/details.aspx?id=10015
● FTDIChip USB communication driver (APWLink™ interface)
Concerning USB communication (APWLink™ interface), proper OS drivers must be installed, available for free from the FTDI website below. Note that different versions are available depending on the installed OS, either x86 (32-bit) or x64 (64-bit). All Windows versions, including Vista and Win 7 64-bit are supported.
http://www.ftdichip.com/Drivers/D2XX.htm
Doc ID 023225 Rev 1 7/64
Getting started
Figure 2.
Startup settings, device selection
UM1545
8/64
To start the APW double click on the file APWorkbench.exe. Each time the APW is started, the Startup settings dialog pops up. The upper part of this dialog allows the product
, highlighted in red). Use the drop-down menu to select between the supported devices. Please note that for each device a brief product description will be supplied in the frame underneath. For those products not provided with an embedded power bridge, the Startup settings dialog offers the possibility of specifying the external bridge in use. Selecting the correct power bridge allows the APW to automatically apply the settings to get the best audio performances. For those devices embedding a power bridge, this selection is not available. In the lower part of the Device selection frame the View
specifications button allows quickly displaying the device datasheet (if provided together with the APW installation).
Doc ID 023225 Rev 1
UM1545
Figure 3.
Startup settings, interface selection
Getting started
The lower part of the Startup settings dialog, instead, allows specifying the interface to be used (
, highlighted in red). Please note that when selecting the AP Interface (use
this option for the LPT interface too) or the USB option, respectively the available parallel ports or the available COM ports will be enumerated in the drop-down menu on the right.
Select the correct interface and communication port, then press OK. Among the physical interfaces the Simulation option is also available. Use this option if you do not want to be connected to an interface (APW evaluation and testing only).
Doc ID 023225 Rev 1 9/64
Getting started
Figure 4.
APW main dialog, device controls
UM1545
10/64
After pressing the OK button, the APW main dialog will be displayed, its presentation will depend on the device selected and may vary from product to product. On the right side of the APW main dialog, the Device controls frame (
, highlighted in red) is displayed.
Use the Device power up button to start the device (when the IC is powered, the green LED will be switched on as well), then use the other controls (Reset, Initialize, …) as needed.
Doc ID 023225 Rev 1
UM1545 Getting started
Figure 5.
Status bar
At the bottom of the APW window a status bar provides some additional information regarding the last executed command concerning both the I
2
C registers and the coefficients, the processing sampling frequency, the chosen interface (LPT, USB or SIM) and some of the selected preferences (AA = Auto Apply, AR = Auto Retrieve, ACK = Warn for ACK
Failures).
Some of the APW features can be activated using easy shortcuts. The list is available in
Section Appendix F: Shortcuts quick reference
.
Doc ID 023225 Rev 1 11/64
APW walkthrough UM1545
2.1 Introduction
This chapter will guide the user through many of the controls and features offered by the
APWorkbench. Before proceeding with the following paragraphs an important concept has to be clarified. For each supported device, the APW has an internal registers bank and a coefficients bank (which will be referred to from now on as local banks), that reproduce the banks contained in the device (which will be referred to from now on as device banks). It is up to the user to decide how to handle the local and the device banks by setting the Auto
Apply and the Auto Retrieve preferences. The consequences and the advantages of these choices will be thoroughly explained in
. Please note that the registers bank and the coefficients bank contain all the information needed to completely describe the device setup. Nevertheless, the APW also uses a third structure called filter
bank. Starting from the filter’s coefficients, this bank stores the filter’s setup in terms of each filter’s qualitative parameters (gain, cutoff frequency, filter type, etc…). From now on the ensemble of the registers bank, coefficients bank and the derived filters bank will be considered and referred to as the device configuration.
2.2 Preferences
The Preferences dialog allows customizing the behavior of the APW in order to fit the needs of every user. Select the Tools menu and left click on Preferences to show the dialog
(
The dialog should appear as shown in
. It can be divided into three main areas. The
left top side of the dialog groups all the controls concerning the tracing preferences
(highlighted in red).
Figure 6.
Tools menu, preferences
12/64 Doc ID 023225 Rev 1
UM1545
Figure 7.
Preferences dialog
APW walkthrough
Using these options the user can decide which kind of events will be logged:
●
●
●
●
●
●
Coefficient reading
Coefficient writing
Register reading
Register writing
Miscellaneous operations on registers
Register modifications
As a last tracing option the user can also choose to trace all the operations occurring between the PC and the interface by selecting the Trace I/O Events flag. The log file can be provided with an automatic line numbering feature that can be enabled, if needed, through the Print Line Number in Log flag.
Doc ID 023225 Rev 1 13/64
APW walkthrough UM1545
On the right side of the dialog (highlighted in blue) some miscellaneous preferences concerning the features of the APW are displayed. Hereafter a list of them by group and a brief explanation (if needed):
● Coefficient Settings:
– Allow Editing Coefficients: this option enables the editing of the filter’s coefficients.
– Show Value in Hexadecimal: this option allows toggling between the hexadecimal and the decimal notation when displaying the coefficient’s value. Please note that in case of decimal notation, the values are displayed with ten numbers after the comma. For this reason and for space constraints they might not be completely displayed.
●
Filter Editor Settings:
– Show Information in EQ Graphic: shows gain and frequency information when moving with the pointer over the graphic.
●
Miscellaneous:
– Load Preferences on Startup: the APW loads the preferences used the previous time.
●
– Save Preferences on Exit: when quitting the APW, saves a copy of the current preferences setup.
Startup Operations: this option modifies how the APW interacts with the device at startup. The APW can read the device configuration from the DUT (Device Under Test) or set it from its local banks (in this latter case the device defaults will be applied). A No
Operation option is also available. If chosen, the APW will not perform any operation on the DUT at startup. Please note that by choosing this latter option the device
configuration stored in the APW and the one stored in the device might not be the same.
On the bottom left side of the dialog are grouped all the preferences concerning the register
I/O setup. Since these options will customize how the APW will behave when performing any I
2
C operation, do not modify them unless strictly needed.
●
I
2
C Options
– Check for ACK Events: if selected, the APW will check for I
2
C operations acknowledge, otherwise it will be ignored.
– Warn for ACK Failures: through this option the user can choose whether to be informed in case of I
2
C failures or not. The check for ACK events option has to be checked first. Please note that when this option is set, a pop-up message
(
) will warn the user at each I
2
C failure, offering the user the possibility of aborting the operation, retrying it or ignoring any subsequent warning. If this last option is chosen, the APW will automatically disable the warn for ACK Failures option. To re-enable it, access the Preferences window as described above.
Figure 8.
I
2
C failure pop-up message
14/64 Doc ID 023225 Rev 1
UM1545 APW walkthrough
– Delay (LPT Only): the I
2
C clock speed generated through the LPT interface is strictly related to the performance of the PC the APW is running on and therefore it cannot be predicted with accuracy. For this reason, from the release 0.910, the
Delay option has been added to make the I
2
C operation slower or faster according to need. Its value is basically a counter that has to reach zero before toggling the
I
2
C clock line. The Delay range varies from 1 (which corresponds to the fastest configuration possible) to 10000 (which corresponds to the slowest one). Since its effect may vary from one machine to another, the following screenshots show three sample cases for Delay = 1 (
(
).
Figure 9.
I
2
C data and clock line when Delay = 1
Note: The clock period is 8.6 µs, hence F max
is 116 kHz
Figure 10.
I
2
C data and clock line when Delay = 5000
Note: The clock period is 113.8 µs, hence F max
is 8.8 kHz
Doc ID 023225 Rev 1 15/64
APW walkthrough
Figure 11.
I
2
C data and clock line when Delay = 10,000
UM1545
Note: The clock period is 216 µs, hence F max
is 4.6 kHz
–
I
2
C clock (USB only): when using the APWLink interface the user can set the I
2
C bus clock using this control. The supported frequencies are 50 kHz, 100 kHz,
200 kHz and 400 kHz.
●
Register I/O settings:
– Auto Apply Registers Values: influences how the APW writes the I
2
C register and
shows the two possible configurations. If Auto
Apply is set, the new register and coefficient values will be written in both the local and the device banks (red arrow). On the other hand, when this option is not set, the new information will be transmitted only to the local banks (blue arrow). In this latter case the content of the local banks can be copied into the device banks all at once using the Apply button in the upper right-hand corner of the APW window
Section 2.10: Miscellaneous controls
). By default, this option is set to guarantee the content alignment between the two banks.
Figure 12.
Auto Apply option
Local Banks
Registers
Coefficients
Write
Register/Coefficient
Device Banks
Registers
Coefficients
Auto Apply is ON
Auto Apply is OFF
16/64 Doc ID 023225 Rev 1
UM1545 APW walkthrough
– Auto retrieve registers values: influences how the APW retrieves the I
2
C register and the coefficient values.
Figure 13.
Auto Retrieve option
Registers
Local Banks
Coefficients
Read
Register / Coefficient
Device Banks
Registers Coefficients
Auto Retrieve is OFF
Auto Retrieve is ON
shows the two possible configurations. When the Auto Retrieve is on (blue arrow), the requested information is read from the device banks and then copied into the local banks and displayed to the user. On the other hand, when the Auto Retrieve is off, the requested information is read only from the Local Banks (red arrow). By default this option is not set since the content of the local and the device banks are meant to be aligned. It is suggested to keep this option disabled unless the Auto Apply option is also modified.
Use the Save Preferences button to save all the preferences set up.
Doc ID 023225 Rev 1 17/64
APW walkthrough
Figure 14.
Real-time logger window
UM1545
18/64
The APW offers the possibility of logging many of the events generated through its controls.
These logs are automatically saved to a file named debug.log that can be found in the
APWorkbench/Log folder. Real-time logging is also possible. By clicking on the Logs Viewer button (
) the logs viewer window will pop up and show different events in different
colors as they are generated (
). Right-clicking on the log window will allow the user to copy, select, clear or save the log. Through the preferences customization, the user can
choose in detail which events to log (see
). Using the controls placed on the top margin of the Logs Viewer window, the user can also choose between
(from the left to the right most control): keep on top the logger, to add a note in the logs or to add an extra "#" break line. Please note that the operations regarding the I
2
C register are logged both in hexadecimal and binary notation for easier interpretation.
Doc ID 023225 Rev 1
UM1545
Figure 15.
Registers Bank tab
APW walkthrough
The Registers Bank tab offers the user direct access to the device I
2
).
●
●
●
●
The panel is mainly occupied by the list of the device registers. From the left column to the rightmost one, the list offers the following information:
Register description: the register extended name
Address: the register address (in hexadecimal notation)
Data: the actual value of the register (in hexadecimal notation)
R/W: register access type (if read/write or read only). Read-only or reserved registers are displayed in grey.
●
Default (the register defaults are defined according to the device datasheet)
As additional information, the list of registers highlights in violet every register whose value in the local bank is not aligned with the value stored in the device bank, thus allowing to visualize all the modifications applied only the to local bank.
shows an example of this feature. A small reminder of the colors and their meanings is provided in the bottom right corner of the panel.
Doc ID 023225 Rev 1 19/64
APW walkthrough
Figure 16.
Registers modified in the local bank
UM1545
The registers list highlights in violet those registers modified in the local bank with respect to the device bank.
At the bottom of the tab four buttons (and a checkbox) implement the following functions:
●
Read All: reads all the registers from the device bank (in this case the Auto Retrieve option is bypassed).
● Write All: writes the content of the local registers bank (the values shown in the Data column) into the device bank (in this case the Auto Apply option is bypassed).
●
●
Verify All: compares the contents of the local banks with those of the device banks. If any difference is detected, the register is displayed in violet.
Load Defaults: loads the registers default settings in the APW local register bank. To apply these default settings to the device bank, press Write All.
●
Enable Check vs Defaults: enabling this option, the register values stored in the local bank are compared with the default values. If any difference is detected, the registers are displayed in red, otherwise they are displayed in green (
20/64 Doc ID 023225 Rev 1
UM1545 APW walkthrough
Figure 17.
Example of the behavior of the “Enable check vs defaults” option
Figure 18.
Register filter and register editor
On the top right side of the tab is located the Register Filter. It allows displaying in the list of registers only those registers that have the same device features (
Doc ID 023225 Rev 1 21/64
APW walkthrough UM1545
red). This option is very useful since it avoids moving along the whole list of registers (that can be very long) when looking for a specific register, thus making it easier and faster to access the device information.
The right side of the tab is also occupied by the controls that allow editing the registers
(hexadecimal and binary notation are supported). After choosing the register, either from the list on the left or by typing its address (in hexadecimal notation) in the designated space, the user can modify its content by typing the new value for the whole register or by toggling only the desired bits by left clicking on the binary visualization (
, highlighted in blue).
Press the Write button to apply the new register value, once it has been established. Please note that both the Read and Write buttons will follow the Auto Apply and Auto Retrieve preferences.
Finally, the Dump button allows dumping all the local bank registers in the log viewer windows as shown in (
, highlighted in red). Unavailable registers are displayed
with the symbol "--".
Figure 19.
Local bank register values dumped in the log viewer
22/64 Doc ID 023225 Rev 1
UM1545
Figure 20.
Equalizer Editor tab
APW walkthrough
●
●
●
●
●
The Equalizer Editor tab offers the possibility to design different types of filters and to compute and download into the device the relevant coefficients either by defining their
graphs or their qualitative parameters. The supported filters are (see
Appendix A: Types of filters supported
):
Peak
High-pass
Low-pass
High-shelf
Low-shelf
The upper part of the tab is occupied by the graphical editor and by the design tools
(
). To design a filter by defining its graph, follow the steps described below:
1.
Select the kind of filter to be designed by pressing the button on the right side of the graph. It is also possible to select which biquadratic filter of the DUT to write in
(
, highlighted in red).
2. After selecting the filter type, a default graph will be plotted. A red dot indicates the filter handler (
). Move the mouse over this point, left click with the mouse and keep pressed. While doing so, move the mouse pointer around the graph to modify the filter drawing as needed. Release the left button of the mouse when the filter fits the
requirements. The filter handler may vary according to the filter type. In
a low-pass filter has been selected. For this kind of filter a red vertical line is used to clearly identify the frequency whose gain is -3 dB (i.e. the cutoff frequency).
Doc ID 023225 Rev 1 23/64
APW walkthrough UM1545
Please note that when moving the mouse pointer to design a graph, the corresponding filter coefficients are continuously computed and applied to the device according to the preferences applied that will be discussed below. Also, the qualitative parameters of the filter
(
, highlighted in blue) are coherently updated.
Figure 21.
Equalizer Editor tab, the upper part (graphing and design tools)
24/64
To design a filter by defining its qualitative parameters, follow the procedure below:
1.
Select the kind of filter to be designed by pressing the appropriate button on the right side of the graph. It is also possible to select which biquadratic filter of the DUT to write in (
, highlighted in red).
2. Enter the desired parameters in their corresponding fields on the right side of the graph
(
, highlighted in blue), then hit the “Enter” key to change the focus from the input field to another control of the panel.
3. The graph is immediately plotted, the filter coefficients are computed and they are applied to the device according to the apply option that will be discussed later on in this section.
It is important to point out that one filter design method does not exclude another. Indeed, it is possible either to modify the qualitative parameters of a filter designed starting from a desired graph or to adjust the filter graph generated from a set of qualitative parameters.
Whichever is the design method applied, the hexadecimal values of the computed
coefficients are displayed in the area highlighted in green in
selected biquadratic filter, the table of coefficients is updated coherently.
Regardless of the filter design approach, the APW also embeds a set of controls to protect the user’s hearing and the audio equipment from unpleasant effects when designing a filter:
●
Single filter gain limitation: the gain applicable with a single filter can be set between a range varying from +15 dB to -30 dB. This range is fixed and cannot be changed. The
limits of this range are marked on the graph with a red line as shown in
higher gain is desired, this limitation can be bypassed using a chain of two or more filters.
● Auto-scaler: APW offers also the possibility of limiting the overall maximum positive gain applicable with any chain of filters. This is done by enabling the Enable auto-scaler checkbox. This feature automatically computes the difference between the overall filter
Doc ID 023225 Rev 1
UM1545 APW walkthrough
gain and the maximum threshold. Then it applies the value as an attenuation, modifying the device prescaler. By acting in this way, the auto-scaler achieves two key goals:
– The overall filter’s chain shape is unchanged
– The dynamic of the filtered audio signal remains within safe boundaries for both ears and speakers
shows an example of how the auto-scaler works. Two peak filters with a +15 dB gain each are applied with a +25 dB threshold, thus with a +5 dB in excess. APW auto-
scaler automatically computes the gain in excess and applies the attenuation using the prescaler. When the total frequency response exceeds the threshold, its plot becomes dark orange. The prescaler controls (highlighted in red) show the designed filter maximum gain and the attenuation required to satisfy the requirements. The threshold (marked by an orange line) is user-definable and can be changed either by editing the Gain limit box or by manually dragging the marker on the plot.
Figure 22.
Auto-scaler
●
Coefficient scaling: Sound Terminal
®
products adopt a 24-bit fixed point notation to handle the filter coefficients. APW is also able to check whether the computed coefficients fit the notation or not. In this latter case a warning message appears on the top left of the plot. Exceeding the mathematical notation limits generates a filter frequency response different from the desired one, to see the real frequency response, right click on the plot and select Show fixed point plot. A violet graph will appear
showing the real applied filter.
shows an example of this behavior.
Doc ID 023225 Rev 1 25/64
APW walkthrough
Figure 23.
Scaling coefficients
UM1545
● Filter stability check : APW automatically checks the stability of the desired filter before applying it to the device. In the case of an unstable filter, the coefficients are not applied and a warning message appears on the top left of the plot.
Figure 24.
Equalizer Editor tab (lower part concerning filter design customization)
The lower part of the Equalizer Editor tab groups several options to customize the design activity (
). On the left side the Channel Controls are displayed. Generally the
Sound Terminal
® products are characterized by more than one processing channel and each channel may include several biquadratic filters (
).
26/64 Doc ID 023225 Rev 1
UM1545
Figure 25.
Generic processing block
BIQ 1
Processing Channel 1
BIQ 2 BIQ N
APW walkthrough
BIQ 1
Processing Channel M
BIQ 2 BIQ N
Taking into account this kind of structure the Channel Controls allow the user to:
●
●
Select the processing channel
Select a specific filter among the ones available in the selected channel. Each button of the row at the bottom of the controls corresponds to a filter. Moreover each button, rather than indicating the biquad number, indicates the kind of filter in use according to the following abbreviations:
– P: peak filter
– F: flat, all-pass
– L: low-pass
– H: high-pass
●
– < : low-shelf
– > : high-shelf
– R: reserved (a biquad is reserved when it is used for an alternate function such as a bass enhancement, de-emphasis filter, …)
Auto-align two or more processing channels. Two or more channels are aligned when their biquadratic filters are configured in the same way. In other words, once a filter or a set of filters has been defined for a processing channel, the Auto-Aligned Channels option allows automatically applying the configuration to all the other linked channels, thus speeding up the setup process. The only exception concerns the reserved biquads. If a filter is reserved, its setting will not be applied to, or will not be changed from, another linked filter. Please be aware that this is a software option offered by the
APW that is not related in any way to the physical implementation of the IC under test
(thus it is available for every device). Depending on the Sound Terminal
®
product, similar options might be available also as hardware-implemented features that can be managed through a dedicated set of device-specific controls.
The controls described above will necessarily vary according to the device architecture and
may slightly differ from those shown in
.
The center area of the lower part of this tab is occupied by the Equalization Presets (if available for the selected device) and the Channel Controls described above.
Doc ID 023225 Rev 1 27/64
APW walkthrough UM1545
At the end the left lower side of the Equalizer Editor tab groups the filter apply option. The user, through the Enable Auto-Apply option, can choose whether to automatically apply a filter or not. In this latter case to transfer the filter (or filters) set up for the device, the Apply button has to be used. Please be aware that this button bypasses the Auto Apply option.
The figure below shows the global frequency response of the selected channel (yellow line) overlapped by the graphs of the two filters (green lines) contributing to it.
Figure 26.
Equalizer Editor tab, miscellaneous options
28/64
The last options available in this tab can be selected using the mouse controls on the graph area:
●
By right clicking with the mouse on the graph area, a menu will pop-up (
– Add/Delete PEQ Point: a shortcut to add/delete a peak filter in the point selected with the mouse.
– Set Ranges: allows setting the ranges shown in the graph.
– Show Coordinates Info: when this option is enabled, the coordinates of the point of the graph on which the mouse is located, will pop up.
– Show fixed-point plot: by default (option) the APW plots the filter’s frequency response using a floating point notation. Use this option to generate the plots using the 24-bit fixed point notation as used by the Sound Terminal
®
products.
– Show PEQ Curves: the Equalizer Editor shows by default the whole frequency response of the selected processing channel. Since, as stated before, this curve
Doc ID 023225 Rev 1
UM1545 APW walkthrough
might be the sum of the contribution of two or more filters, this option forces the
APW to plot also the graph of each single filter (
).
– Zoom Out: resets the zoom setup to the default.
– Copy To Clipboard: copies the graph to the clipboard.
– Show Usage: displays a short explanation about the usage of the Equalizer Editor.
●
●
Moving the mouse wheel on a filter handler will increase or decrease its Q.
Moving the wheel on any other point of the graph will vary the zoom.
Please note that the Sound Terminal
®
products support different processing sampling frequencies and obviously this frequency is a key factor when plotting the filter graphs or computing the coefficients. The APW is able to take into account this parameter, thus plotting the correct frequency response. Depending on the selected device, this is performed either automatically or by setting manually the sampling frequency. In any case, the frequency in use is shown in the APW status bar.
2.6 Scripts
Another powerful tool offered by the APW is the capability of writing and running a script.
To run a script select from the APW File menu and left click on Run Script as shown in
.
Figure 27.
Running a script
The Run again last script option allows using the last selected script, thus avoiding having to specify its location every time. For an example of a script, please refer to the file
SampleScript.aps delivered together with the APWorkbench installation package or go to
. Hereafter is a brief description of the syntax and of the functionalities
for each token available:
RESET
Resets the device reset pulse to last 50 msec. It also sets the I
2
C registers and the coefficients to their default values (in the local banks).
SET_RST <l_state>
Sets the physical reset line to the logic state l_state. This command together with the P command allows having reset pulses longer than the default value applied with the RESET command.
Doc ID 023225 Rev 1 29/64
APW walkthrough UM1545
P <pause>
Pauses the execution of the script for the time in milliseconds described by pause. This argument must be an integer value (decimal notation).
SECTION_BEGIN <n_iterations> /SECTION END
Defines a section of code that has to be cycled n_iteration times (decimal notation).
RW <address> <value>
Writes values into the I
2
C register address (hexadecimal notation).
RR <address>
Reads the I
2
C register address (hexadecimal notation).
RCMP <address> <value>
Reads the I
2
C register address and compares it with value (hexadecimal notation).
CWA <address> <coeff 1> <coeff 2> <coeff 3> <coeff 4> <coeff 5>
Writes all five coefficients of a biquadratic filter at the location address (hexadecimal notation).
CWAF <address> <coeff 1> <coeff 2> <coeff 3> <coeff 4> <coeff 5>
The same as CWA (floating point notation).
CW1 <address> <coeff>
Writes a single coefficient (hexadecimal notation).
CW1F <address> <coeff>
The same as CW1 (floating point notation).
CR1 <address>
Reads a single coefficient located at address (hexadecimal notation).
CRA <address>
Reads five consecutive coefficients starting from location address (hexadecimal notation).
CCMP1 <address> <coeff>
Reads the coefficient located at address and compares it with coeff (hexadecimal notation).
CCMPA <address> <coeff 1> <coeff 2> <coeff 3> <coeff 4> <coeff 5>
Reads five consecutive coefficients starting from location address and compares them with
coeff 1, …, coeff 5 (hexadecimal notation).
APWLINK_INIT_ADC
Initializes the APWLink onboard ADC (see AN4118, “APWLink™ USB interface board for
Sound Terminal
®
demonstration boards” for further information).
30/64 Doc ID 023225 Rev 1
UM1545 APW walkthrough
APWLINK_ADC_RW <address><value>
Writes value into the I
2
C register address of the APWLink onboard ADC (hexadecimal notation).
APWLINK_ADC_RR <address>
Reads the I
2
C register address of the APWLink onboard ADC (hexadecimal notation).
CLEAR
Clears the log viewer contents.
DUMP_REGISTERS
Dumps all the device registers.
HELP
Displays a list of the available commands in the Log Viewer.
# Comment
It is the comment token. Every word after this tag will be ignored by the command parser.
Figure 28.
Events in logger upon completion of a script
Doc ID 023225 Rev 1 31/64
APW walkthrough UM1545
●
●
●
After a script has been run, a summary of the completed operations is available in the Log
Viewer window together with the log of the operations performed. Different colors are used to signal particular events (
):
Green: the operation has ended successfully.
Red: the operation failed.
Orange: the operation has been performed with anomalous parameters (e.g. 5 coefficients have been written, starting from an address not corresponding to a biquadratic filter).
The scripts tokens can also be cast as instantaneous commands through the Command
Shell. To open it use the button on the right side of the APW window (
from the drop-down menu Panels (
). For a complete list of the available commands, please refer to
or type help, the list of available tokens will be displayed in the Log Viewer. The Command Shell will appear as depicted in
.
The Command Shell button is located on the right side of the APW window, just beneath the log viewer button. It can also be activated by left clicking on the Panels drop-down menu or pressing F3.
Figure 29.
Location of Command Shell button
32/64
Figure 30.
Drop-down menu
Figure 31.
Command Shell window
Doc ID 023225 Rev 1
UM1545
2.8
APW walkthrough
Importing a filter
The APW also offers the possibility of importing the filters designed using the LinearX
LEAP
©
suite (LinearX
©
Website). This feature is implemented by the Filter import wizard
option that can be found in the File menu (
Figure 32.
File menu, Filter import wizard
The import wizard appears as depicted in
. The window is divided into three main areas: on top (highlighted in red) the file selector, in the middle (highlighted in green) the
Filter analysis and scaling information and at the bottom (highlighted in blue) the Filter
import options. These latter options are available depending on the outcome of the filter analysis.
Figure 33.
Filter import wizard
Doc ID 023225 Rev 1 33/64
APW walkthrough UM1545
The LinearX LEAP
©
tool, as well as the APW, computes the coefficients using a floating point notation which allows a much broader range of values than the one allowed by the fixed point notation used by the Sound Terminal
®
devices ([-1, +1]). The Filter import wizard takes this difference into account and performs an analysis to verify whether the coefficients fit the fixed point notation or not. The outcome of this analysis is given in the Filter analysis
and scaling information area (
). When a filter adopts one or more out-of-range
coefficients, a scaling procedure is required. Rescaling a filter implies applying an attenuation in order to bring all its coefficients back into the allowable range. The wizard automatically computes the minimum attenuation to be applied. To preserve the global filter frequency response, an equal gain must be applied in order to compensate the attenuation.
This goal is reached by applying a different gain Gi to each biquad such that
(G0*G1*…*GN) = 1/A where A is the required attenuation. The wizard automatically computes also the maximum applicable gains (with respect to the notation limits) and checks whether the total amount of gain is equal to (or exceeds) the attenuation required or not. In this latter case (attenuation not adjustable) the minimum gain mismatch reachable between the desired filter frequency response and the rescaled one is displayed.
shows an example of a filter analysis, from the top to the bottom the following information is displayed:
● Processing frequency: the sampling frequency for which the coefficients have been computed. If it does not match the selected device processing frequency, an error message is displayed.
●
●
Scaling information: the window shows in black the maximum gain applicable and in red the minimum attenuation required. This information is displayed for each filter and globally. In this latter case, if required, the minimum gain mismatch is also provided.
Analysis result: a short description of the outcome of the analysis.
Figure 34.
Filter analysis and scaling information
34/64
Depending on the outcome of the filter analysis, the user can choose between three
):
●
Enable auto-scaler (automatic gain adjustment): the import option automatically applies the best gains and attenuations to guarantee the preservation of the global frequency
Doc ID 023225 Rev 1
UM1545 APW walkthrough
●
● response. If this goal cannot be achieved, the import option will apply the best gains to minimize the gain mismatch between the desired overall frequency response and the actual response.
Enable auto-scaler (manual gain adjustment): the user is given the choice of the attenuation to apply. The resulting global frequency response envelope will be preserved, although attenuated by the selected gain. Under these circumstances the attenuation might be compensated using the volume controls.
Disable auto-scaler (skip invalid filters, if any): the scaling procedure is disabled and the filters that cannot be applied are skipped. The overall frequency response will differ from the desired response.
Figure 35.
Filter import options
2.9
Once the scaling options are set, the filters are imported by pressing the Import filter button.
Before downloading any information into the device, the APW also performs a stability check to prevent the user from applying unstable filters, thus causing dangerous and unpredictable behaviors. At the end of the procedure a message will give the user the number of applied coefficients. Invalid filter (whether instable or out of range) coefficients are skipped, each time this happens a warning message appears. For further information about the import
Appendix D: Filter import wizard
.
Exporting filter coefficients
●
●
Filter coefficients can be imported but they can also be exported. The APW offers two export formats:
C/C++ arrays format (.c file)
Matlab
®
arrays format (.m file)
The first format is very useful for MCU programming, while the second one might be used
for in-depth filter analysis. Left click on the File menu to enable these features (
Figure 36.
Exporting coefficients
Doc ID 023225 Rev 1 35/64
APW walkthrough UM1545
The C/C++ format export feature is also available through the Generate C Code button on the right side of the APW window. In both cases the wizard window will appear as depicted in
.
Figure 37.
C/C++ format (using Generate C code button)
Through the wizard the user is given the possibility to customize the information to be exported.
Figure 38.
C code generation wizard
36/64
See
Section Appendix E: Exporting coefficients
for an example of the exported files.
Doc ID 023225 Rev 1
UM1545
Figure 39.
Miscellaneous controls
APW walkthrough
On the right side of the window some miscellaneous controls can be found (
Device Controls frame (highlighted in red) groups the following functions:
● Device power-up: controls the device standby. This control physically handles the device standby pin.
●
●
Reset: controls the reset of the device. This control physically handles the device reset pin (thus it forces the reset). It also writes the device default values into the local bank as described in the datasheet. It performs the same operations performed by the
RESET token in the script (50 milliseconds reset pulse).
Initialize: applies the minimum group of settings to bring the device to an operational status (these settings may vary from product to product).
●
Bridge power-up: controls the power-up of the bridge.
Below these controls is located the Configuration frame (highlighted in blue). The APW, indeed offers the possibility of saving or loading a device configuration in order to avoid
repeating long setup procedures. According to the definition given in the
device configuration will comprise the registers bank, the coefficients bank and the filters
Doc ID 023225 Rev 1 37/64
APW walkthrough UM1545
bank. Each configuration is saved in a file with extension .apc. The functionalities of each button include:
● New: resets the APW controls and the device to allow the user to specify a new setup starting from the device default settings.
●
●
Open: opens a configuration file and, if the Auto Apply option is set, it also applies the configuration to the device banks.
Save: saves the device configuration in a configuration file (see
Appendix B: Audio processor configuration file
●
●
Apply: applies the configuration loaded with the Open button (this control bypasses the
Auto Apply preference). Once the configuration has been applied, a window will pop up to inform the user of the modifications.
Retrieve: reads the device configuration and sets the APW control coherently (this control bypasses the Auto Retrieve preference).
Finally, the Presets frame offers the possibility of storing more than one configuration and switching between them on the fly, thus avoiding the Load/Apply procedure. Eight presets are available, the store and recall procedures are as follows:
●
To Store:
1.
Press the Store button
2. Select the memory in which the user wants to store the configuration
● To Load:
1.
Press the Recall button
2. The APW will show the available presets
3. Select the memory from which the user wants to load the configuration
Please note that for each supported device the APW has a dedicated presets folder
(
), thus ensuring that different presets for different devices will not be overwritten.
The device configuration and presets options are also available through the File and
Presets menu of the APW main window.
The lower part of the miscellaneous controls includes the Logs Viewer, the Exit and the Help buttons.
38/64 Doc ID 023225 Rev 1
UM1545 Device-specific controls
Apart from the controls described in
, the APW offers, for each supported device, a dedicated set of tabs. Since these controls will vary significantly from product to product, a dedicated Help menu will be provided for each device.
Doc ID 023225 Rev 1 39/64
F.A.Q.s
4 F.A.Q.s
In this section we provide a few guidelines to answer the most common questions.
UM1545
4.1 Questions & procedures
Q: "I need to interface with a device that has been already set from an external controller.
How do I retrieve these settings with the APW?"
A: Follow this procedure:
1. Be sure that the interface is not connected to the device, start the APW and set the no operation option in the Startup Preferences. Save the preferences and close the program.
2. Connect the interface and start the APW.
3. Press the Retrieve button.
4. Press the Save button to save the configuration.
Q: "I want to apply all the settings at once and not step-by-step. How do I set the APW?"
A: Follow this procedure:
1. Uncheck the Auto Apply option in the preferences dialog.
2. Apply all the desired settings using the controls offered by the APW.
3. Select the Registers Bank tab and press the Write All button.
Q: "I'm not familiar with the device but I'd like to know what registers are changed when I configure it using the APW, is this possible?"
A: Follow this procedure:
1. Uncheck the Auto Apply option in the preferences dialog.
2. Apply all the desired settings using the controls offered by the APW.
3. Select the Registers Bank tab and move along the register list. Those R/W registers marked in violet are the ones you're interested in.
or this one:
1. Configure the device as needed.
2. Go to the Registers Bank tab and enable the Enable Check vs Defaults option.
3. Now the modified registers are displayed in red, move along the list and check.
Q: "This device has too many registers and moving along their list to find those I want to modify takes too much time, is it possible to show only those I'm interested in?"
A: Of course it is. Use the Register List Filter drop-down menu to filter the device registers depending on their function.
Q: "I'm setting up the device but I do not get the expected results. How do I check if the configuration of the device is coherent with the one depicted in the APW controls?"
A: Follow this procedure:
1. Go to the Register Bank tab and press the Verify All button.
2. When the previous operation is over, move along the registers list. The APW will display in violet the register whose value is different from the expected one.
40/64 Doc ID 023225 Rev 1
UM1545 F.A.Q.s
Q: "I'm not comfortable with hexadecimal notation when editing the coefficient values in the control panel. Can I use the floating point one?"
A: Of course: uncheck Show Values in Hexadecimal in the preference window and you'll be able to enter the values in decimal notation. Please be aware that the floating point notation implies a long number of significant decimal digits that cannot be displayed all at once. As a result some digits might be hidden from view but can be easily displayed by highlighting the whole number with the mouse. Please remember that the coefficients range is from -1 to 1.
Q: "The reset pulse length applied by default using the RESET command in the script does not fit my needs. Can I set a different value?"
A: "There's no direct way to change the reset pulse length in a script. However, the reset procedure can be manually executed using the SET_RST command to move the reset line. Just use the following syntax:
SET_RST 0
P 200
SET_RST 1
# set RESET line at 0 (low_level)
# pause 200 ms
# set RESET line at 1 (high level)
The reset pulse will now last 200 milliseconds. This value can be changed as needed.
Q: "I want to add a note in the log to mark a section of interest for my work. How do I do that?"
A: Follow this procedure:
1. Press the Add Note button in the Log Viewer window.
2. Write the note and press enter. The note will be immediately displayed.
4.2 Problems
Q: "The device does not respond to the APW controls"
A: The possible causes are: a. The device might be in standby.
b. The device may need to be initialized.
c. The Auto Apply option is unchecked.
Q: "I do not get any I
2
C failure message, but I keep reading 00h or FFh. What's wrong?"
A: The possible causes are: a. The interface board is not properly connected to the ST Sound Terminal
® device board.
b. The interface board is not correctly powered.
Q: "I'm importing a LinearX LEAP
©
generated file but the import procedure always skips a filter. What's wrong?"
A: The possible causes are: a. The Disable auto-scaler option is selected and one of the coefficients is out of range.
b. One filter might be unstable and to avoid dangerous effects it is not applied to the device.
Doc ID 023225 Rev 1 41/64
F.A.Q.s
UM1545
Q: "I'm using an APWLink interface board but it is not listed in the APW startup dialog".
A: The possible causes are: a. APWLink is a USB device: once such a device is connected, a short amount of time is required by the OS to recognize and initialize it. This time varies, depending on the computer. Close the APW and wait a few seconds, then start it again.
b. Another APW might be opened and using the APWLink. Close every APW session and try again.
Q: "The DUT stopped reacting to I
2
C commands in the middle of an APW session"
A: "A short-circuit either on the DUT board or on the APWLink board might have occurred. Under such circumstances the FTDI
©
chip on the APWLink board might hang. Close the APW, unplug the interface board and restart from the beginning".
42/64 Doc ID 023225 Rev 1
UM1545
Appendix A Types of filters supported
Types of filters supported
The following figures show an example of each filter supported by the Equalizer Editor.
Figure 40.
Peak filter (gain +10 dB, freq 1 kHz, Q 1.41)
Note: The gain might also be negative.
Figure 41.
Low-pass filter (gain 0 dB, freq 1 kHz, Q 0.71)
Doc ID 023225 Rev 1 43/64
Types of filters supported
Figure 42.
High-pass filter (gain 0 dB, freq 1 kHz, Q 0.71)
UM1545
Figure 43.
Low-shelf filter (gain -10 dB, freq 1 kHz, slope 1)
Note: As these filters are made to enhance or attenuate the low frequencies, the gain might be positive also. In any case, the gain of the high frequencies is always null.
44/64 Doc ID 023225 Rev 1
UM1545 Types of filters supported
Figure 44.
High-shelf filter (gain -10 dB, freq 1 kHz, slope 1)
Note: As these filters are made to enhance or attenuate the high frequencies, the gain might be positive also. In any case, the gain of the low frequencies is always null.
Doc ID 023225 Rev 1 45/64
Audio processor configuration file
Appendix B Audio processor configuration file
UM1545
The following example of a device configuration file has extension .apc. Moving along the text, the registers bank, the coefficients bank and the filters bank, that together comprise the
device configuration as described in the introduction of
Section 2.1: IntroductionSection 2:
#####################################################
# Date: Wednesday, 12/November/'08
# Interface: Simulation (NONE)
# Product: STA339BWS
#####################################################
################### FFX registers ###################
Reg[00h] = 63h ## Configuration Register A
Reg[01h] = 80h ## Configuration Register B
Reg[02h] = 97h ## Configuration Register C
Reg[03h] = 40h ## Configuration Register D
Reg[04h] = C2h ## Configuration Register E
Reg[05h] = 5Ch ## Configuration Register F
Reg[06h] = 10h ## Master Mute
Reg[07h] = FFh ## Master Volume
Reg[08h] = 60h ## Channel 1 Volume
Reg[09h] = 60h ## Channel 2 Volume
Reg[0Ah] = 60h ## Channel 3 Volume
Reg[0Bh] = 80h ## Audio Preset Register 1
Reg[0Ch] = 00h ## Audio Preset Register 2
Reg[0Dh] = 00h ## Reserved
Reg[0Eh] = 00h ## Channel 1 Config
Reg[0Fh] = 40h ## Channel 2 Config
Reg[10h] = 80h ## Channel 3 Config
Reg[11h] = 77h ## Bass and Treble Tone Control
Reg[12h] = 6Ah ## Limiter 1 Attack/Release Rate
Reg[13h] = 69h ## Limiter 1 Attack/Release Threshold
Reg[14h] = 6Ah ## Limiter 2 Attack/Release Rate
Reg[15h] = 69h ## Limiter 2 Attack/Release Threshold
Reg[16h] = 00h ## Coefficient Address Bits 5..0
Reg[17h] = 00h ## Coefficient b1 Data Bits 23..16
Reg[18h] = 00h ## Coefficient b1 Data Bits 15..8
Reg[19h] = 00h ## Coefficient b1 Data Bits 7..0
Reg[1Ah] = 00h ## Coefficient b2 Data Bits 23..16
Reg[1Bh] = 00h ## Coefficient b2 Data Bits 15..8
Reg[1Ch] = 00h ## Coefficient b2 Data Bits 7..0
Reg[1Dh] = 00h ## Coefficient a1 Data Bits 23..16
Reg[1Eh] = 00h ## Coefficient a1 Data Bits 15..8
Reg[1Fh] = 00h ## Coefficient a1 Data Bits 7..0
Reg[20h] = 00h ## Coefficient a2 Data Bits 23..16
Reg[21h] = 00h ## Coefficient a2 Data Bits 15..8
Reg[22h] = 00h ## Coefficient a2 Data Bits 7..0
Reg[23h] = 00h ## Coefficient b0 Data Bits 23..16
Reg[24h] = 00h ## Coefficient b0 Data Bits 15..8
Reg[25h] = 00h ## Coefficient b0 Data Bits 7..0
46/64 Doc ID 023225 Rev 1
UM1545
Reg[26h] = 00h ## Coefficient Write Control
Reg[27h] = 1Ah ## Max Power Correction Config Msb
Reg[28h] = C0h ## Max Power Correction Config Lsb
Reg[29h] = F3h ## Variable Distortion Compensation Msb
Reg[2Ah] = 33h ## Variable Distortion Compensation Lsb
Reg[2Bh] = 00h ## Fault Detect Recovery Bits Msb
Reg[2Ch] = 0Ch ## Fault Detect Recovery Bits Lsb
Reg[2Dh] = 7Fh ## Device Status
Reg[2Eh] = 00h ## Bist Activate
Reg[2Fh] = 00h ## Bist End
Reg[30h] = 00h ## Bist Bad
Reg[31h] = 00h ## EQ Coeff and DRC Configuration
Reg[32h] = 30h ## Limiter 1 Ext.Attack Threshold
Reg[33h] = 30h ## Limiter 1 Ext.Release Threshold
Reg[34h] = 30h ## Limiter 2 Ext.Attack Threshold
Reg[35h] = 30h ## Limiter 2 Ext.Release Threshold
Reg[36h] = 00h ## Extended Configuraton Register
Reg[37h] = 00h ## EQ Soft Volume Config (fade-in)
Reg[38h] = 00h ## EQ Soft Volume Config (fade-out)
Reg[39h] = 01h ## DRC RMS Filter Coefficient C0 Bits 25..16
Reg[3Ah] = EEh ## DRC RMS Filter Coefficient C0 Bits 15..8
Reg[3Bh] = FFh ## DRC RMS Filter Coefficient C0 Bits 7..0
Reg[3Ch] = 7Eh ## DRC RMS Filter Coefficient C1 Bits 25..16
Reg[3Dh] = C0h ## DRC RMS Filter Coefficient C1 Bits 15..8
Reg[3Eh] = 26h ## DRC RMS Filter Coefficient C1 Bits 7..0
Reg[3Fh] = 00h ## Reserved
################# FFX coefficients ##################
Coef[000h] = 000000h ## Coefficient 0x00 - C1H10 (b1/2)
Coef[001h] = 000000h ## Coefficient 0x01 - C1H11 (b2)
Coef[002h] = 000000h ## Coefficient 0x02 - C1H12 (a1/2)
Coef[003h] = 000000h ## Coefficient 0x03 - C1H13 (a2)
Coef[004h] = 400000h ## Coefficient 0x04 - C1H14 (b0/2)
Coef[005h] = 000000h ## Coefficient 0x05 - C1H20 (b1/2)
Coef[006h] = 000000h ## Coefficient 0x06 - C1H21 (b2)
Coef[007h] = 000000h ## Coefficient 0x07 - C1H22 (a1/2)
Coef[008h] = 000000h ## Coefficient 0x08 - C1H23 (a2)
Coef[009h] = 400000h ## Coefficient 0x09 - C1H24 (b0/2)
Coef[00Ah] = 000000h ## Coefficient 0x0A - C1H30 (b1/2)
Coef[00Bh] = 000000h ## Coefficient 0x0B - C1H31 (b2)
Coef[00Ch] = 000000h ## Coefficient 0x0C - C1H32 (a1/2)
Coef[00Dh] = 000000h ## Coefficient 0x0D - C1H33 (a2)
Coef[00Eh] = 400000h ## Coefficient 0x0E - C1H34 (b0/2)
Coef[00Fh] = 000000h ## Coefficient 0x0F - C1H40 (b1/2)
Coef[010h] = 000000h ## Coefficient 0x10 - C1H41 (b2)
Coef[011h] = 000000h ## Coefficient 0x11 - C1H42 (a1/2)
Coef[012h] = 000000h ## Coefficient 0x12 - C1H43 (a2)
Coef[013h] = 400000h ## Coefficient 0x13 - C1H44 (b0/2)
Coef[014h] = 000000h ## Coefficient 0x14 - C2H10 (b1/2)
Coef[015h] = 000000h ## Coefficient 0x15 - C2H11 (b2)
Coef[016h] = 000000h ## Coefficient 0x16 - C2H12 (a1/2)
Coef[017h] = 000000h ## Coefficient 0x17 - C2H13 (a2)
Coef[018h] = 400000h ## Coefficient 0x18 - C2H14 (b0/2)
Coef[019h] = 000000h ## Coefficient 0x19 - C2H20 (b1/2)
Doc ID 023225 Rev 1
Audio processor configuration file
47/64
Audio processor configuration file
Coef[01Ah] = 000000h ## Coefficient 0x1A - C2H21 (b2)
Coef[01Bh] = 000000h ## Coefficient 0x1B - C2H22 (a1/2)
Coef[01Ch] = 000000h ## Coefficient 0x1C - C2H23 (a2)
Coef[01Dh] = 400000h ## Coefficient 0x1D - C2H24 (b0/2)
Coef[01Eh] = 000000h ## Coefficient 0x1E - C2H30 (b1/2)
Coef[01Fh] = 000000h ## Coefficient 0x1F - C2H31 (b2)
Coef[020h] = 000000h ## Coefficient 0x20 - C2H32 (a1/2)
Coef[021h] = 000000h ## Coefficient 0x21 - C2H33 (a2)
Coef[022h] = 400000h ## Coefficient 0x22 - C2H34 (b0/2)
Coef[023h] = 000000h ## Coefficient 0x23 - C2H40 (b1/2)
Coef[024h] = 000000h ## Coefficient 0x24 - C2H41 (b2)
Coef[025h] = 000000h ## Coefficient 0x25 - C2H42 (a1/2)
Coef[026h] = 000000h ## Coefficient 0x26 - C2H43 (a2)
Coef[027h] = 400000h ## Coefficient 0x27 - C2H44 (b0/2)
Coef[028h] = 000000h ## Coefficient 0x28 - C12H0 (b1/2)
Coef[029h] = 000000h ## Coefficient 0x29 - C12H1 (b2)
Coef[02Ah] = 000000h ## Coefficient 0x2A - C12H2 (a1/2)
Coef[02Bh] = 000000h ## Coefficient 0x2B - C12H3 (a2)
Coef[02Ch] = 400000h ## Coefficient 0x2C - C12H4 (b0/2)
Coef[02Dh] = 000000h ## Coefficient 0x2D - C3H0 (b1/2)
Coef[02Eh] = 000000h ## Coefficient 0x2E - C3H1 (b2)
Coef[02Fh] = 000000h ## Coefficient 0x2F - C3H2 (a1/2)
Coef[030h] = 000000h ## Coefficient 0x30 - C3H3 (a2)
Coef[031h] = 400000h ## Coefficient 0x31 - C3H4 (b0/2)
Coef[032h] = 7FFFFFh ## Coefficient 0x32 - Channel 1 Pre-scale
Coef[033h] = 7FFFFFh ## Coefficient 0x33 - Channel 2 Pre-scale
Coef[034h] = 7FFFFFh ## Coefficient 0x34 - Channel 1 Post-scale
Coef[035h] = 7FFFFFh ## Coefficient 0x35 - Channel 2 Post-scale
Coef[036h] = 7FFFFFh ## Coefficient 0x36 - Channel 3 Post-scale
Coef[037h] = 5A9DF7h ## Coefficient 0x37 - Twarn/Oc Limit
Coef[038h] = 7FFFFFh ## Coefficient 0x38 - Channel 1 Mix 1
Coef[039h] = 000000h ## Coefficient 0x39 - Channel 1 Mix 2
Coef[03Ah] = 000000h ## Coefficient 0x3A - Channel 2 Mix 1
Coef[03Bh] = 7FFFFFh ## Coefficient 0x3B - Channel 2 Mix 2
Coef[03Ch] = 400000h ## Coefficient 0x3C - Channel 3 Mix 1
Coef[03Dh] = 400000h ## Coefficient 0x3D - Channel 3 Mix 2
Coef[03Eh] = 000000h ## Reserved
Coef[03Fh] = 000000h ## Reserved
#################### FFX filters ####################
Filt[Ch:0][00] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 0
Filt[Ch:0][01] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 1
Filt[Ch:0][02] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 2
Filt[Ch:0][03] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 3
Filt[Ch:0][04] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 4
Filt[Ch:0][05] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 5
Filt[Ch:0][06] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 6
Filt[Ch:0][07] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 7
Filt[Ch:1][00] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 0
Filt[Ch:1][01] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 1
Filt[Ch:1][02] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 2
Filt[Ch:1][03] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 3
Filt[Ch:1][04] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 4
Filt[Ch:1][05] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 5
Filt[Ch:1][06] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 6
Filt[Ch:1][07] = type:F gain:+0.000000 freq:01000 q:1.414000 ## BiQuad 7
48/64 Doc ID 023225 Rev 1
UM1545
UM1545
Appendix C Script file
The following example of a script file has extension .aps.
####################################################
# Test script used to show available commands
# and their usage.
####################################################
# This is a comment line
# Note: all values are in hex but the SECTION
# repeat counter.
####################################################
# List of available commands
####################################################
# "RW"
# "CW1"
# "CW1F"
# "CWA"
# "CWAF"
# "CR1"
# "CRA"
# "CCMP1"
Register Write
Coefficient write single (hex value)
Coefficient write single (float value)
Coefficient write all (5 coeffs. - hex values)
Coefficient write all (5 coeffs. - float values)
Coefficient read single
Coefficient read all (5)
Coefficient compare single
# "CCMPA" Coefficient compare all (5)
# "P" Pause
# "SECTION_BEGIN"
# "SECTION_END"
Section begin marker (then repeat)
Section end marker
# "RESET"
# "SET_RST"
Device reset (high->low->high cycle)
Set RESET line
# NOTE: The CWA/CWAF commands make use of the multi-write coeffs.
# capability only if the coeff. start index is aligned with
# a bi-quadratic starting address. Single-write operation is
# used otherwise. In any case coeffienct order on the command line
# is the same as per the relevant device RAM mapping.
# For instance:
# >> in case of STA321: CWA <index> <B0/2> <B1/2> <B2> <-A2> <-A1/2>
# >> in case of STA33x: CWA <index> <B1/2> <B2> <-A1/2> <-A2> <B0/2>
Script file
Doc ID 023225 Rev 1 49/64
Script file
RESET
P 125
# reset the device
# pause 125 ms
SET_RST 0
P 200
SET_RST 1
P 200
# set RESET line at 0 (low_level)
# pause 200 ms
# set RESET line at 1 (high_level)
# pause 200 ms
RW 01 23
CW1 002 123456
CR1 002
CW1F 003 0.500
# write value 23h in reg. 01h
# write value 123456h in coeff. 02h
# read coeff. 02h
# coefficient single write with float value
CW1F 004 -1.00
CW1F 005 1.00
# coefficient single write with float value
# coefficient single write with float value
CWAF 000 1.0 -1.0 0.033 -0.5 0.5
# coefficient multi-write with float values
SECTION_BEGIN 100
RR 0A
RW 0A CC
RCMP 0A CC
CWA 005 ABCDEF 123456 6789AB 315683 987654
CWA 00A ABCDEF 123456 6789AB 315683 987654
CCMPA 005 ABCDEF 123456 6789AB 315683 987654
CCMPA 00A ABCDEF 123456 6789AB 315683 987654
CWA 005 347267 ABEFCD 937583 AFEBCD 268439
CWA 00A 347267 ABEFCD 937583 AFEBCD 268439
CCMPA 000 347267 ABEFCD 937583 AFEBCD 268439
CCMPA 005 347267 ABEFCD 937583 AFEBCD 268439
SECTION_END
CWA 005 347267 ABEFCD 937583 AFEBCD 268439
CWA 00A 347267 ABEFCD 937583 AFEBCD 268439
#RESET
UM1545
50/64 Doc ID 023225 Rev 1
UM1545
Appendix D Filter import wizard
Filter import wizard
A complete description of the LinearX LEAP
©
suite file import procedure is as follows:
1.
Press the File menu and select the Filter import wizard
3. Check the outcome of the filter analysis, three cases are possible: a) All coefficients are in range (
). In this case the auto-scaler feature is not required and the filters can be imported without hesitation. However, the user is given the option to apply a user-definable attenuation.
b) One or more coefficients exceeds the allowable range, the scaling is possible and
the required attenuation can be compensated (
scaler feature is recommended. Choose between the automatic gain (to preserve the overall frequency response), or the manual gain (to preserve its envelope, but not the gain). The auto-scaler can be disabled as well. Under these circumstances the invalid filters are skipped and the overall frequency response is unpredictable.
c) One or more coefficients exceeds the allowable range, the scaling is possible but
the attenuation required cannot be compensated (
auto-scaler feature is recommended. Choose between the automatic gain (to minimize the gain mismatch between the desired overall frequency response and the actual response and to preserve the response envelope), or the manual gain
(to preserve the envelope, but not minimize the gain mismatch). The auto-scaler can be disabled as well. Under these circumstances the invalid filters are skipped and the overall frequency response is unpredictable.
In the case of processing frequency mismatch (
), use the LinearX LEAP
©
suite to recompute the coefficients at a sampling frequency supported by the device in use, then repeat the analysis with the new coefficients.
Doc ID 023225 Rev 1 51/64
Filter import wizard
Figure 45.
Filter import wizard, all coefficients in range
UM1545
52/64 Doc ID 023225 Rev 1
UM1545 Filter import wizard
Figure 46.
Filter import wizard, adjustable attenuation (one coefficient out of range)
Doc ID 023225 Rev 1 53/64
Filter import wizard UM1545
Figure 47.
Filter import wizard, gain not adjustable (one coefficient out of range)
54/64 Doc ID 023225 Rev 1
UM1545
Figure 48.
Filter import wizard, wrong processing frequency
Filter import wizard
Doc ID 023225 Rev 1 55/64
Exporting coefficients
Appendix E Exporting coefficients
UM1545
The following two examples of the available formats are respectively the C/C++ arrays and the Matlab
®
arrays. In the C/C++ syntax example, the stability information shows the magnitude of the filter poles and is provided to avoid exporting unstable filters with unpredictable behaviors.
Speaker_EQ_Table_48000[] = {
{0x00,0x809120},{0x01,0x7EE0FE},{0x02,0x7F6EE0},{0x03,0x8118C8},{0x04,0x4045D5},
// 48KFs, Biquad1, Address: 0x00~0x04 (stability: 0.995706)
{0x05,0x80D639},{0x06,0x7F2974},{0x07,0x7F28A8},{0x08,0x80F10F},{0x09,0x3F95F0},
// 48KFs, Biquad2, Address: 0x05~0x09 (stability: 0.996315)
{0x0A,0x8786A9},{0x0B,0x77CE73},{0x0C,0x787957},{0x0D,0x8A9AF7},{0x0E,0x412486},
// 48KFs, Biquad3, Address: 0x0A~0x0E (stability: 0.957677)
{0x0F,0x81EFC8},{0x10,0x7BD84F},{0x11,0x7E1038},{0x12,0x83ADC1},{0x13,0x403CEF},
// 48KFs, Biquad4, Address: 0x0F~0x13 (stability: 0.985525)
{0x14,0x8005C8},{0x15,0x6EF977},{0x16,0x4FEB18},{0x17,0xBA3B90},{0x18,0x58B9B3},
// 48KFs, Biquad5, Address: 0x14~0x18 (stability: 0.738280)
{0x19,0x841969},{0x1A,0x785560},{0x1B,0x7BE697},{0x1C,0x8825A7},{0x1D,0x403D7B},
// 48KFs, Biquad6, Address: 0x19~0x1D (stability: 0.992950)
{0x1E,0x8533B0},{0x1F,0x75AB4A},{0x20,0x7ACC50},{0x21,0x881BD5},{0x22,0x3F8A7B}
// 48KFs, Biquad7, Address: 0x1E~0x22 (stability: 0.967807)
};
56/64 Doc ID 023225 Rev 1
UM1545
% --------------------------------------------------
% Coefficient array for 96 KHz processing frequency
% Creation date: Wednesday, 04/March/'09
% Selected product: STA339BWS
% Note: only channel 0 is exported
% --------------------------------------------------
% Biquad 00
FILT00_B = [1.004262 -1.991142 0.991241];
FILT00_A = [1.000000 -1.991142 0.991431];
FILT00_B0 = 1.004262; % Hex: 4045D5h
FILT00_B1 = -1.991142;
FILT00_B2 = 0.991241;
FILT00_A0 = 1.000000;
FILT00_A1 = -1.991142;
FILT00_A2 = 0.991431;
% Hex: 809120h
% Hex: 7EE0FEh
% Hex: 7FFFFFh
% Hex: 7F6EE0h
% Hex: 8118C8h
Address: 04h
Address: 00h
Address: 01h
Address: ----
Address: 02h
Address: 03h
% Biquad 01
FILT01_B = [0.993526 -1.986925 0.993453];
FILT01_A = [1.000000 -1.986856 0.992643];
FILT01_B0 = 0.993526; % Hex: 3F95F0h
FILT01_B1 = -1.986925;
FILT01_B2 = 0.993453;
FILT01_A0 = 1.000000;
FILT01_A1 = -1.986856;
FILT01_A2 = 0.992643;
% Hex: 80D639h
% Hex: 7F2974h
% Hex: 7FFFFFh
% Hex: 7F28A8h
% Hex: 80F10Fh
Address: 09h
Address: 05h
Address: 06h
Address: ----
Address: 07h
Address: 08h
% Biquad 02
FILT02_B = [1.017854 -1.882406 0.935988];
FILT02_A = [1.000000 -1.882406 0.917146];
FILT02_B0 = 1.017854; % Hex: 412486h
FILT02_B1 = -1.882406;
FILT02_B2 = 0.935988;
FILT02_A0 = 1.000000;
FILT02_A1 = -1.882406;
FILT02_A2 = 0.917146;
% Hex: 8786A9h
% Hex: 77CE73h
% Hex: 7FFFFFh
% Hex: 787957h
% Hex: 8A9AF7h
Address: 0Eh
Address: 0Ah
Address: 0Bh
Address: ----
Address: 0Ch
Address: 0Dh
% Biquad 03
FILT03_B = [1.003719 -1.969740 0.967539];
FILT03_A = [1.000000 -1.969740 0.971260];
FILT03_B0 = 1.003719; % Hex: 403CEFh
FILT03_B1 = -1.969740;
FILT03_B2 = 0.967539;
FILT03_A0 = 1.000000;
FILT03_A1 = -1.969740;
FILT03_A2 = 0.971260;
% Hex: 81EFC8h
% Hex: 7BD84Fh
% Hex: 7FFFFFh
% Hex: 7E1038h
% Hex: 83ADC1h
Address: 13h
Address: 0Fh
Address: 10h
Address: ----
Address: 11h
Address: 12h
Doc ID 023225 Rev 1
Exporting coefficients
57/64
Exporting coefficients
% Biquad 04
FILT04_B = [1.386334 -1.999647 0.866988];
FILT04_A = [1.000000 -1.248724 0.545057];
FILT04_B0 = 1.386334;
FILT04_B1 = -1.999647;
FILT04_B2 = 0.866988;
FILT04_A0 = 1.000000;
FILT04_A1 = -1.248724;
FILT04_A2 = 0.545057;
% Hex: 58B9B3h
% Hex: 8005C8h
% Hex: 6EF977h
% Hex: 7FFFFFh
% Hex: 4FEB18h
% Hex: BA3B90h
Address: 18h
Address: 14h
Address: 15h
Address: ----
Address: 16h
Address: 17h
% Biquad 05
FILT05_B = [1.003752 -1.935949 0.940105];
FILT05_A = [1.000000 -1.935949 0.936351];
FILT05_B0 = 1.003752; % Hex: 403D7Bh
FILT05_B1 = -1.935949
FILT05_B2 = 0.940105;
FILT05_A0 = 1.000000;
FILT05_A1 = -1.935949;
FILT05_A2 = 0.936351
% Hex: 841969h
% Hex: 785560h
% Hex: 7FFFFFh
% Hex: 7BE697h
% Hex: 8825A7h
Address: 1Dh
Address: 19h
Address: 1Ah
Address: ----
Address: 1Bh
Address: 1Ch
% Biquad 06
FILT06_B = [0.992827 -1.918720 0.919290];
FILT06_A = [1.000000 -1.918720 0.936651];
FILT06_B0 = 0.992827; % Hex: 3F8A7Bh
FILT06_B1 = -1.918720;
FILT06_B2 = 0.919290;
Address: 22h
% Hex: 8533B0h Address: 1Eh
% Hex: 75AB4Ah Address: 1Fh
FILT06_A0 = 1.000000;
FILT06_A1 = -1.918720
% Hex: 7FFFFFh Address: ----
% Hex: 7ACC50h Address: 20h
FILT06_A2 = 0.936651; % Hex: 881BD5h Address: 21h
% Biquad 07
FILT07_B = [1.000000 0.000000 0.000000];
FILT07_A = [1.000000 0.000000 0.000000];
FILT07_B0 = 1.000000; % Hex: 400000h Address: 2Ch
FILT07_B1 = 0.000000;
FILT07_B2 = 0.000000;
FILT07_A0 = 1.000000;
FILT07_A1 = 0.000000;
FILT07_A2 = 0.000000;
% Hex: 000000h
% Hex: 000000h
% Hex: 7FFFFFh
% Hex: 000000h
% Hex: 000000h
Address: 28h
Address: 29h
Address: ----
Address: 2Ah
Address: 2Bh
UM1545
58/64 Doc ID 023225 Rev 1
UM1545
Appendix F Shortcuts quick reference
Shortcuts quick reference
The following table lists the key shortcuts implemented in the APW.
Table 1.
Shortcut table
Key combination
Ctrl+N
Ctrl+L
Ctrl+S
Ctrl+R
Ctrl+A
Ctrl+F
Shift+1...8
Ctrl+1...8
F2
F3
F4
Ctrl+T
Ctrl+Q
New configuration file
Load configuration file
Save configuration file
Run script
Run again last script
Filter import wizard
Save memory preset
Load memory preset
Log viewer
Command shell
APWLink settings
Transparent mode enable/disable
Increase transparency
Feature
Doc ID 023225 Rev 1 59/64
Software license agreement and disclaimer UM1545
Appendix G Software license agreement and disclaimer
Copyright (C) STMicroelectronics N.V. ("ST") 2008.
Notice:
This Software (including, as the case may be, software in binary form, documentation and other related items) is provided by ST under the terms of this license. By using this
Software, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. All rights not expressly granted under this license are reserved.
License Agreement
Grant:
Permission to install, use and display the Software on a computer which is owned by you and which is located at your premises, is hereby granted to you on a free and non-exclusive basis, to evaluate and configure Sound Terminal devices. It is understood that use of the
Software installed at your premises by your subcontractors, associates and affiliates, shall be considered as use by you for the purpose of this license agreement.
Restrictions:
Unless explicitly stated otherwise herein, no permission is granted to copy, and/or modify the Software for any purpose whatsoever. The Software is non-transferable, non sublicensable, and may not be distributed in any way by you. Any modification of the Software by you requires prior written approval by ST.
Except as explicitly authorized herein, you agree not to:
c. Sell, assign, sublicense, lease, rent, timeshare, grant a security interest in, distribute or otherwise make available or transfer the Software; d. Copy or reproduce the Software; e. Modify, translate, adapt, reverse engineer, decompile, disassemble (except and only to the extent applicable law specifically prohibits such restriction) or otherwise attempt to (i) discover any source code (to the extent the Software is provided in object code), or (ii) create derivative works based on the Software or (iii) merge the Software into any other software;
ST reserves all rights not expressly granted to you hereunder, and your use of the Software for any other purpose is expressly prohibited.
Copyright statements, trademarks and publications:
The name and trademarks of ST may NOT be used in advertising or publicity pertaining to the Software or results obtained therefrom without specific, written prior permission by ST.
Title to copyright in this Software will at all times remain with ST. You shall not without prior written permission by ST publish documents referring to the Software or to results based on the Software.
You shall ensure that all Software references, copyright statements and license conditions are not altered or removed from the Software.
60/64 Doc ID 023225 Rev 1
UM1545 Software license agreement and disclaimer
No warranty:
THIS SOFTWARE IS PROVIDED BY ST "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY, OF SATISFACTORY QUALITY, AND FITNESS FOR A
PARTICULAR PURPOSE OR USE ARE DISCLAIMED. ST MAKES NO
REPRESENTATION THAT THE SOFTWARE WILL NOT INFRINGE ANY PATENT,
COPYRIGHT, TRADE SECRET OR OTHER PROPRIETARY RIGHT OF A THIRD PARTY.
ST does not warrant that use in whole or in part of the Software will be uninterrupted or error free, will meet your requirements, or will operate with the combination of hardware and software selected by you.
ST is under no obligation to provide bug fixes, patches, upgrades or other enhancements or derivatives of the features, functionality or performance of this Software.
ALL WARRANTIES, CONDITIONS OR OTHER TERMS IMPLIED BY LAW ARE
EXCLUDED TO THE FULLEST EXTENT PERMITTED BY LAW.
You acknowledge that the Software, and processes and products related thereto are not designed nor authorized for use in life supporting devices. You agree to hold ST free and harmless from any liability in connection with the use of the Software and products or processes related in any way thereto.
No liability:
ST SHALL HAVE NO LIABILITY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL,
CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER
INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES, LOSS OF USE, DATA OR PROFITS, OR BUSINESS INTERRUPTION,
HOWEVER CAUSED AND ON ANY THEORY OF CONTRACT, WARRANTY, TORT
(INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES.
Intellectual property protection:
You may not include this Software in whole or in part in any patent or patent application in respect of any use or application of the Software by you.
Termination:
This license shall terminate without any compensation, with immediate effect and without notice if you fail to comply with any of the terms of this license, or if you institute litigation against ST or any Affiliate of ST. Upon termination of this license, you agree not to use the
Software for any purpose whatsoever, to destroy the Software and any copies thereof in your possession.
Compliance with laws:
You agree to comply with all applicable laws, regulations, decrees, ordinances and the like, and shall hold ST free and harmless from, and indemnify ST for any loss or damage, including legal costs, arising from their infringement.
Doc ID 023225 Rev 1 61/64
Software license agreement and disclaimer UM1545
Applicable Law:
This Agreement shall be governed by and construed and enforced in accordance with the laws of Switzerland without regard to its rules on conflict of laws or any other rules that would result in the application of a different body of law or to the United Nations Convention on Contracts for the International Sale of Goods. You hereby consent to the exclusive jurisdiction of the courts of Geneva, Switzerland.
Entire license:
This license, constitutes the entire agreement between you and ST with respect to the
Software, and ST shall not be bound by any conditions, definitions, warranties, understandings or representations with respect to the Software other than as expressly provided herein.
62/64 Doc ID 023225 Rev 1
UM1545
Table 2.
Date
22-Jun-2012
Document revision history
Revision
1 Initial release.
Changes
Revision history
Doc ID 023225 Rev 1 63/64
UM1545
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.
© 2012 STMicroelectronics - All rights reserved
STMicroelectronics group of companies
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan -
Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America
www.st.com
64/64 Doc ID 023225 Rev 1
Download
Advertisement