
Philips
Semiconductors, Inc.
USB-CODEC UDA1325PS
Technical Report
DML98022
* HID inputs 1& 2:
As you will see, both HID inputs are implemented on the application board. The respective switches are defined
as S2 and S3. Depending on the definition of each switch, theoretically you should be able to use these switches
for different purposes. These functions are defined in the
Universal Serial Bus HID Usage Tables
document.
In version 1.0 of this document -page 60-, you will see many functions defined that are supported by Win98.
In this case, only Audio related functions are interesting for us. Therefore, page 62 has some interesting
functions like Volume control, mute, bass etc. that you could define or test.
UniCoDes
enables you to set different functions with the command / button
Descriptors
. This will pop-up a new
window in which you must select the button
HID Report Descriptors
. Now you have three TAB fields to choose
from. Select the second tabfield titled as
HID input functionality
. Default, the values are set to Volume controls
for HID input 1 & 2. See figure below.
10
Fig. 2-4
HID functions definitions
* Selector outputs:
In case you are using topology 2, you have the ability to control the selector with GP2. This pin is defined at two
places:
-
Address 0Bh defines the logical level of GP2.
-
Address 13h defines the preferred Terminal to use.
The table below gives the possible combinations and results of each configuration:
Selector
Preferred state
output level
Terminal 1
Normal
PGA settings for Terminal 1 takes effect with GP2 = 0V
Terminal 1
Inverted
PGA settings for Terminal 1 takes effect with GP2 = Vdd
Terminal 2
Normal
PGA settings for Terminal 2 takes effect with GP2 = Vdd
Terminal 2
Inverted
PGA settings for Terminal 2 takes effect with GP2 = 0V
Table 2-2
Possible combinations for definition of GP2
Selector
Results
* Interrupt input:
The firmware uses two different methods for detecting changes on the expander inputs. The first one applies
serial polling in which the inputs are scanned every 20ms. This frequency is defined within the firmware and is
not settable. The other method is by implementing hardware interrupt. Everytime that the expander detects
changes at the input lines, it will produce an interrupt signal at the respective pin (13) of the expander. The
firmware will be triggered by this via the GP0 interrupt input and will update all respective registers.