This document provides an overview of the programming requirements for the Si4704/05/06/1x/2x/3x/4x FM
transmitter/AM/FM/SW/LW/WB receiver. The hardware control interface and software commands are detailed
along with several examples of the required steps to configure the device for various modes of operation.
2. Overview
This family of products is programmed using commands and responses. To perform an action, the system
controller writes a command byte and associated arguments, causing the device to execute the given command.
The device will, in turn, provide a response depending on the type of command that was sent. "4. Commands and
Responses" on page 5 and "5. Commands and Properties" on page 6 describe the procedures for using
commands and responses and provide complete lists of commands, properties, and responses.
The device has a slave control interface that allows the system controller to send commands to and receive
responses from the device using one of three serial protocols (or bus modes): 2-wire mode (I
compatible), 3-wire mode, or SPI mode. "6. Control Interface" on page 168 describes the control interface in detail.
"7. Powerup" on page 176 describes options for the sequencing of VDD and VIO power supplies, selection of the
desired bus mode, provision of the reference clock, RCLK, and sending of the POWER_UP command.
"8. Powerdown" on page 182 describes sending the POWER_DOWN command and removing VDD and VIO
power supplies as necessary.
2
C and SMBUS
"9. Digital Audio Interface" on page 183 describes the digital audio format supported and how to operate the device
in digital mode.
"10. Timing" on page 186 describes the CTS (Clear to Send) timing indicating when the command has been
accepted and in most cases completed execution, and the STC (Seek/Tune Complete) timing indicating when the
Seek/Tune commands have completed execution.
"11. FM Transmitter" on page 191 describes the audio dynamic range control, limiter, pre-emphasis,
recommendations for maximizing audio volume for the FM transmitter.
"12. Programming Examples" on page 195 provides flowcharts and step-by-step procedures for programming the
device.
SEN—Serial enable pin, active low; used as device select in 3-wire and SPI operation and address selection in
2-wire operation.
SDIO—Serial data in/data out pin.
SCLK—Serial clock pin.
RST or RSTb—Reset pin, active low
RCLK—External reference clock
GPO—General purpose output
CTS—Clear to send
STC—Seek/Tune Complete
NVM—Non-volatile internal device memory
Device—Refers to the FM Transmitter/AM/FM/SW/LW/WB Receiver
System Controller—Refers to the system microcontroller
CMD—Command byte
COMMANDn—Command register (16-bit) in 3-Wire mode (n = 1 to 4)
ARGn—Argument byte (n = 1 to 7)
STATUS—Status byte
RESPn—Response byte (n = 1 to 15)
RESPONSEn—Response register (16-bit) in 3-Wire mode (n = 1 to 8)
4Confidential Rev. 0.2
AN332
4. Commands and Responses
Commands control actions, such as power up, power down, or tune to a frequency, and are one byte in size.
Arguments are specific to a given command and are used to modify the command. For example, after the
TX_TUNE_FREQ command, arguments are required to set the tune frequency. Arguments are one byte in size,
and each command may require up to seven arguments. Responses provide the system controller status
information and are returned after a command and its associated arguments are issued. All commands return a
one byte status indicating interrupt state and clear-to-send the next command. Commands may return up to 15
additional response bytes. A complete list of commands is available in “5. Commands and Properties”.
Table 2 shows an example of tuning to a frequency using the TX_TUNE_FREQ command. This command requires
that a command and three arguments be sent and returns one status byte. The table is broken into three columns.
The first column lists the action taking place: command (CMD), argument (ARG), status (STATUS), or response
(RESP). The second column lists the data byte or bytes in hexadecimal that are being sent or received. An arrow
preceding the data indicates data being sent from the device to the system controller. The third column describes
the action.
Table 2. Using the TX_TUNE_FREQ Command
ActionDataDescription
CMD0x30TX_TUNE_FREQ
ARG10x00
ARG20x27Set Station to 101.1 MHz
ARG30x7E(0x277E = 10110 with 10 kHz step size)
STATUS
→0x80Reply Status. Clear-to-send high.
Properties are special command arguments used to modify the default device operation and are generally
configured immediately after power-up. Examples of properties are TX _PREEMPHASIS and REFCLK_FREQ. A
complete list of properties is available in “5. Commands and Properties”.
Table 3 shows an example of setting the REFCLK frequency using the REFCLK_FREQ property by sending the
SET_PROPERTY command and five argument bytes. ARG1 of the SET_PROPERTY command is always 0x00.
ARG2 and ARG3 are used to select the property number, PROP (0x0201 in this example), and ARG4 and ARG5
are used to set the property value, PROPD (0x8000 or 32768 Hz in the example).
The implementation of the command and response procedures in the system controller differs for each of the three
bus modes. Section "6. Control Interface" on page 168 details the required bit transactions on the control bus for
each of the bus modes.
→0x80Reply Status. Clear-to-send high.
Confidential Rev. 0.25
AN332
5. Commands and Properties
There are four different components for these product families:
1. FM Transmitter component
2. FM Receiver component
3. AM/SW/LW component
4. WB component
The following four subsections list all the commands and properties used by each of the component.
5.1. Commands and Properties for the FM/RDS Transmitter (Si4710/11/12/13/20/21)
The following two tables are the summary of the commands and properties for the FM/RDS Transmitter component
applicable to Si4710/11/12/13/20/21.
Table 4. FM/RDS Transmitter Command Summary
CmdNameDescription
0x01POWER_UP
0x10GET_REVReturns revision information on the device.
0x11POWER_DOWNPower down device.
0x12SET_PROPERTYSets the value of a property.
0x13GET_PROPERTYRetrieves a property’s value.
0x14GET_INT_STATUSRead interrupt status bits.
0x15PATCH_ARGSReserved command used for patch file downloads.
0x16PATCH_DATAReserved command used for patch file downloads.
0x30TX_TUNE_FREQTunes to given transmit frequency.
0x31TX_TUNE_POWERSets the output power level and tunes the antenna capacitor.
0x32TX_TUNE_MEASURE
0x33TX_TUNE_STATUS
0x34TX_ASQ_STATUSQueries the TX status and input audio signal metrics.
0x35TX_RDS_BUFF
0x36TX_RDS_PS
0x80GPIO_CTL
0x81GPIO_SET
1
1
2
2
Power up device and mode selection. Modes include FM transmit
and analog/digital audio interface configuration.
Si4712/13/20/21 Only. Measure the received noise level at the
specified frequency.
Queries the status of a previously sent TX Tune Freq, TX Tune
Power, or TX Tune Measure command.
Si4711/13/21 Only. Queries the status of the RDS Group Buffer
and loads new data into buffer.
Si4711/13/21 Only. Set up default PS strings.
Configures GPO1, 2, and 3 as output or Hi-Z.
Sets GPO1, 2, and 3 output level (low or high).
Notes:
RDS feature (command TX_RDS_BUFF, TX_RDS_PS and RDS properties 0x2103, 0x2C00 through
1.
2C07) is supported in FMTX component 2.0 or higher.
2. GPIO feature (command GPIO_CTL and GPIO_SET) is fully supported in FMTX component 3.0 or higher.
It is partially supported (GPO3 only) in FMTX component 2.0.
6Confidential Rev. 0.2
AN332
Table 5. FM Transmitter Property Summary
PropNameDescriptionDefault
0x0001GPO_IENEnables interrupt sources.0x0000
0x0101DIGITAL_INPUT _FORMAT
0x0103 DIGITAL_INPUT _SAMPLE_RATE
0x0201REFCLK_FREQ
0x0202REFCLK_PRESCALESets the prescaler value for the reference clock.0x0001
0x2100TX_COMPONENT_ENABLE
0x2101TX_AUDIO_DEVIATION
0x2102TX_PILOT_DEVIATION
0x2103TX_RDS_DEVIATION
0x2104TX_LINE_INPUT_LEVEL
0x2105TX_LINE_INPUT_MUTE
0x2106TX_PREEMPHASIS
0x2107TX_PILOT_FREQUENCY
0x2200TX_ACOMP_ENABLE
0x2201TX_ACOMP_THRESHOLD
0x2202TX_ACOMP_ATTACK_TIME
0x2203TX_ACOMP_RELEASE_TIME
Notes:
1. Digital Audio Input feature (property DIGITAL_INPUT_FORMAT and DIGITAL_INPUT_SAMPLE_RATE) is
supported in FMTX component 2.0 or higher.
2. RDS feature (command TX_RDS_BUFF, TX_RDS_PS and RDS properties 0x2103, 0x2C00 through
2C07) is supported in FMTX component 2.0 or higher.
3. Limiter feature (LIMITEN bit in TX_ACOMP_ENABLE and property TX_LIMITER_RELEASE_TIME) is
supported in FMTX component 2.0 or higher.
1
Configures the digital input format.0x0000
Configures the digital input sample rate in 1 Hz steps.
1
Default is 0.
0x0000
Sets frequency of the reference clock in Hz. The range
is 31130 to 34406 Hz, or 0 to disable the AFC. Default is
0x8000
32768 Hz.
Enable transmit multiplex signal components.
Default has pilot and L-R enabled.
Configures audio frequency deviation level. Units are in
10 Hz increments. Default is 6825 (68.25 kHz).
Configures pilot tone frequency deviation level. Units
are in 10 Hz increments. Default is 675 (6.75 kHz)
2
Si4711/13/21 Only. Configures the RDS/RBDS frequency deviation level. Units are in 10 Hz increments.
0x0003
0x1AA9
0x02A3
0x00C8
Default is 2 kHz.
Configures maximum analog line input level to the
LIN/RIN pins to reach the maximum deviation level
programmed into the audio deviation property TX
Audio Deviation. Default is 636 mV
PK
.
Sets line input mute. L and R inputs may be independently muted. Default is not muted.
Configures pre-emphasis time constant.
Default is 0 (75 µS).
Configures the frequency of the stereo pilot. Default is
19000 Hz.
0x327C
0x0000
0x0000
0x4A38
Enables audio dynamic range control and limiter.
3
Default is 2 (limiter is enabled, audio dynamic range
0x0002
control is disabled).
Sets the threshold level for audio dynamic range control.
0xFFD8
Default is –40 dB.
Sets the attack time for audio dynamic range control.
Default is 0 (0.5 ms).
Sets the release time for audio dynamic range control.
Default is 4 (1000 ms).
0x0000
0x0004
Confidential Rev. 0.27
AN332
Table 5. FM Transmitter Property Summary (Continued)
PropNameDescriptionDefault
0x2204TX_ACOMP_GAIN
0x2205TX_LIMITER_RELEASE_TIME
0x2300TX_ASQ_INTERRUPT_SOURCE
0x2301TX_ASQ_LEVEL_LOW
0x2302TX_ASQ_DURATION_LOW
0x2303TX_ASQ_LEVEL_HIGH
0x2304TX_ASQ_DURATION_HIGH
0x2C00TX_RDS_INTERRUPT_SOURCE
0x2C01TX_RDS_PI
0x2C02TX_RDS_PS_MIX
0x2C03TX_RDS_PS_MISC
2
2
2
0x2C04TX_RDS_PS_REPEAT_COUNT
0x2C05 TX_RDS_PS_MESSAGE_COUNT
0x2C06TX_RDS_PS_AF
0x2C07TX_RDS_FIFO_SIZE
Notes:
2
2
1. Digital Audio Input feature (property DIGITAL_INPUT_FORMAT and DIGITAL_INPUT_SAMPLE_RATE) is
supported in FMTX component 2.0 or higher.
2. RDS feature (command TX_RDS_BUFF, TX_RDS_PS and RDS properties 0x2103, 0x2C00 through
2C07) is supported in FMTX component 2.0 or higher.
3. Limiter feature (LIMITEN bit in TX_ACOMP_ENABLE and property TX_LIMITER_RELEASE_TIME) is
supported in FMTX component 2.0 or higher.
Sets the gain for audio dynamic range control.
Default is 15 dB.
3
Sets the limiter release time. Default is 102 (5.01 ms)0x0066
Configures measurements related to signal quality
metrics. Default is none selected.
Configures low audio input level detection threshold.
This threshold can be used to detect silence on the
incoming audio.
Configures the duration which the input audio level
must be below the low threshold in order to detect a
low audio condition.
Configures high audio input level detection threshold.
This threshold can be used to detect activity on the
incoming audio.
Configures the duration which the input audio level
must be above the high threshold in order to detect a
high audio condition.
Si4711/13/21 Only. Sets transmit RDS program identifier.
Si4711/13/21 Only. Configures mix of RDS PS Group
with RDS Group Buffer.
Si4711/13/21 Only. Miscellaneous bits to transmit
along with RDS_PS Groups.
Si4711/13/21 Only. Number of times to repeat trans-
2
mission of a PS message before transmitting the next
PS message.
2
Si4711/13/21 Only. Number of PS messages in use.0x0001
Si4711/13/21 Only. RDS Program Service Alternate
Frequency. This provides the ability to inform the
receiver of a single alternate frequency using AF
Method A coding and is transmitted along with the
RDS_PS Groups.
Si4711/13/21 Only. Number of blocks reserved for the
FIFO. Note that the value written must be one larger
than the desired FIFO size.
0x000F
0x0000
0x0000
0x0000
0x0000
0x0000
0x0000
0x40A7
0x0003
0x1008
0x0003
0xE0E0
0x0000
8Confidential Rev. 0.2
AN332
Table 6. Status Response
BitD7D6D5D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
BitNameFunction
Clear to Send.
7CTS
6ERR
5:3ReservedValues may vary.
2RDSINT
1ASQINT
0STCINT
0 = Wait before sending next command.
1 = Clear to send next command.
Error.
0=No error
1 = Error
RDS Interrupt.
0 = RDS interrupt has not been triggered.
1 = RDS interrupt has been triggered.
Signal Quality Interrupt.
0 = Signal quality measurement has not been triggered.
1 = Signal quality measurement has been triggered.
Seek/Tune Complete Interrupt.
0 = Tune complete has not been triggered.
1 = Tune complete has been triggered.
Confidential Rev. 0.29
AN332
5.1.1. Commands and Properties for the FM/RDS Transmitter
Command 0x01. POWER_UP
Initiates the boot process to move the device from powerdown to powerup mode. The boot can occur from internal
device memory or a system controller downloaded patch. To confirm that the patch is compatible with the internal
device library revision, the library revision should be confirmed by issuing the POWER_UP command with
Function = 15 (query library ID). The device will return the response, including the library revision, and then moves
into powerdown mode. The device can then be placed in powerup mode by issuing the POWER_UP command
with Function = 2 (transmit) and the patch may be applied. Only the STATUS byte will be returned in the response
stream in transmit mode. The POWER_UP command configures the state of DIN (pin 13), DFS (pin 14), and RIN
(pin 15) and LIN (pin 16) for analog or digital audio modes and GPO2/INT (pin 18) for interrupt operation. The
command configures GPO2/INT interrupts (GPO2OEN) and CTS interrupts (CTSIEN). If both are enabled,
GPO2/INT is driven high during normal operation and low for a minimum of 1 µs during the interrupt. The CTSIEN
bit is duplicated in the GPO_IEN property. The command is complete when the CTS bit (and optional interrupt) is
set.
Note: To change function (e.g., FM TX to FM RX), issue the POWER_DOWN command to stop the current function; then,
01010000 = Analog audio inputs (LIN/RIN)
00001111 = Digital audio inputs (DIN/DFS/DCLK)
RESP2FWMAJOR[7:0]
RESP3FWMINOR[7:0]
RESP4RESERVED[7:0]
RESP5RESERVED[7:0]
RESP6CHIPREV[7:0]
RESP7LIBRARYID[7:0]
RESPBitNameFunction
17:0PN[7:0]Final 2 digits of part number.
27:0FWMAJOR[7:0]Firmware Major Revision.
37:0FWMINOR[7:0]Firmware Minor Revision.
47:0RESERVED[7:0]Reserved, various values.
57:0RESERVED[7:0]Reserved, various values.
67:0CHIPREV[7:0]Chip Revision.
77:0LIBRARYID[7:0]Library Revision.
Confidential Rev. 0.211
AN332
Command 0x10. GET_REV
Returns the part number, chip revision, firmware revision, patch revision and component revision numbers. The
command is complete when the CTS bit (and optional interrupt) is set. This command may only be sent when in
powerup mode.
Command arguments: None
Response bytes: Eight
Command
BitD7D6D5 D4 D3 D2 D1 D0
CMD
000 1 0 0 0 0
Response
Bit D7D6D5D4D3D2D1D0
STATUS
RESP1
RESP2
RESP3
RESP4
RESP5
RESP6
RESP7
RESP8
CTSERRXXXRDSINTASQINTSTCINT
PN[7:0]
FWMAJOR[7:0]
FWMINOR[7:0]
PATCH
PATCH
H
L
[7:0]
[7:0]
CMPMAJOR[7:0]
CMPMINOR[7:0]
CHIPREV[7:0]
RESPBitNameFunction
17:0PN[7:0]Final 2 digits of Part Number
27:0FWMAJOR[7:0]Firmware Major Revision
37:0FWMINOR[7:0]Firmware Minor Revision
47:0PATCH
57:0PATCH
[7:0]Patch ID High Byte
H
[7:0]Patch ID Low Byte
L
67:0CMPMAJOR[7:0]Component Major Revision
77:0CMPMINOR[7:0]Component Minor Revision
87:0CHIPREV[7:0]Chip Revision
12Confidential Rev. 0.2
AN332
Command 0x11. POWER_DOWN
Moves the device from powerup to powerdown mode. The CTS bit (and optional interrupt) is set when it is safe to
send the next command. This command may only be sent when in powerup mode. Note that only the POWER_UP
command is accepted in powerdown mode. If the system controller writes a command other than POWER_UP
when in powerdown mode, the device does not respond. The device will only respond when a POWER_UP
command is written.
Note: In FMTX component 1.0 and 2.0, a reset is required when the system controller writes a command other than
POWER_UP when in powerdown mode.
Command arguments: None
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
000 10001
Confidential Rev. 0.213
AN332
Command 0x12. SET_PROPERTY
Sets a property shown in Table 5, “FM Transmitter Property Summary,” on page 7. The CTS bit (and optional
interrupt) is set when it is safe to send the next command. This command may only be sent when in powerup
mode.
See Figure 18, “CTS and SET_PROPERTY Command Complete tCOMP Timing Model,” on page 187 and
Table 41, “Command Timing Parameters for the FM Transmitter,” on page 188.
Note: The use of GPO2 as an interrupt pin and/or the use of GPO3 as DCLK digital clock input will override this GPIO_CTL
function for GPO2 and/or GPO3.
Command Arguments: Five
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
ARG4
ARG5
00010010
00000000
PROP
PROP
PROPD
PROPD
[7:0]
H
[7:0]
L
H
L
[7:0]
[7:0]
ARGBitNameFunction
17:0ReservedAlways write to 0.
Property High Byte.
27:0PROP
H
[7:0]
This byte in combination with PROP
is used to specify the property to
L
modify. See Section "5.1.2. FM/RDS Transmitter Properties" on page 29.
Property Low Byte.
37:0PROP
[7:0]
L
This byte in combination with PROP
is used to specify the property to
H
modify. See Section "5.1.2. FM/RDS Transmitter Properties" on page 29.
Property Value High Byte.
47:0PROPD
H
[7:0]
This byte in combination with PROPV
is used to set the property value.
L
See Section "5.1.2. FM/RDS Transmitter Properties" on page 29.
Property Value Low Byte.
57:0PROPD
L
[7:0]
This byte in combination with PROPV
is used to set the property value.
H
See Section "5.1.2. FM/RDS Transmitter Properties" on page 29.
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
14Confidential Rev. 0.2
AN332
Command 0x13. GET_PROPERTY
Gets a property shown in Table 5, “FM Transmitter Property Summary,” on page 7. The CTS bit (and optional
interrupt) is set when it is safe to send the next command. This command may only be sent when in powerup
mode.
Command arguments: Three
Response bytes: Three
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
00010011
00000000
PROP
PROP
H
L
[7:0]
[7:0]
ARGBitNameFunction
17:0ReservedAlways write to 0.
27:0 PROP
37:0 PROP
H
L
[7:0]
[7:0]
Property Get High Byte.
This byte in combination with PROP
Property Get Low Byte.
This byte in combination with PROP
is used to specify the property to get.
L
is used to specify the property to get.
H
Response
BitD7D6D5D4D3D2D1D0
STATUS
RESP1
RESP2
RESP3
CTSERRXXXRDSINTASQINTSTCINT
XXXXXXXX
PROPD
PROPD
[7:0]
H
[7:0]
L
RESPBitNameFunction
17:0ReservedReserved, various values.
Property Value High Byte.
27:0PROPD
H
[7:0]
This byte in combination with PROPV
will represent the requested prop-
L
erty value.
Property Value High Byte.
37:0PROPD
[7:0]
L
This byte in combination with PROPV
will represent the requested prop-
H
erty value.
Confidential Rev. 0.215
AN332
Command 0x14. GET_INT_STATUS
Updates bits 6:0 of the status byte. This command should be called after any command that sets the STCINT,
ASQINT, or RDSINT bits. When polling this command should be periodically called to monitor the STATUS byte,
and when using interrupts, this command should be called after the interrupt is set to update the STATUS byte. The
command is complete when the CTS bit (and optional interrupt) is set. This command may only be sent when in
powerup mode.
Command arguments: None
Response bytes: One
Command
BitD7D6D5D4D3D2D1D0
CMD
Response
BitD7D6D5D4D3D2D1D0
STATUS
CTSERRXXXRDSINTASQINTSTCINT
00010100
16Confidential Rev. 0.2
AN332
Command 0x30. TX_TUNE_FREQ
Sets the state of the RF carrier and sets the tuning frequency between 76 and 108 MHz in 10 kHz units and steps
of 50 kHz. For example 76.05 MHz = 7605 is valid because it follows the 50 kHz step requirement but
76.01 MHz = 7601 is not valid. The CTS bit (and optional interrupt) is set when it is safe to send the next
command. The ERR bit (and optional interrupt) is set if an invalid argument is sent. Note that only a single interrupt
occurs if both the CTS and ERR bits are set. The optional STC interrupt is set when the command completes. The
STCINT bit is set only after the GET_INT_STATUS command is called. This command may only be sent when in
powerup mode. The command clears the STC bit if it is already set. See Figure 17, “CTS and STC Timing Model,”
on page 187 and Table 41, “Command Timing Parameters for the FM Transmitter,” on page 188.
Command arguments: Three
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
00110000
00000000
FREQ
FREQ
H
L
[7:0]
[7:0]
ARGBitNameFunction
17:0ReservedAlways write to 0.
Tune Frequency High Byte.
27:0FREQ
H
[7:0]
This byte in combination with FREQ
10 kHz. The valid range is from 7600 to 10800 (76–108 MHz). The frequency
selects the tune frequency in units of
L
must be a multiple of 50 kHz.
Tune Frequency Low Byte.
37:0FREQ
[7:0]
L
This byte in combination with FREQ
10 kHz. The valid range is from 7600 to 10800 (76–108 MHz). The frequency
selects the tune frequency in units of
H
must be a multiple of 50 kHz.
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
Confidential Rev. 0.217
AN332
Command 0x31. TX_TUNE_POWER
Sets the RF voltage level between 88 dBµV and 115 dBµV in 1 dB units. Power may be set as high as 120 dBµV;
however, voltage accuracy is not guaranteed. A value of 0x00 indicates off. The command also sets the antenna
tuning capacitance. A value of 0 indicates autotuning, and a value of 1–191 indicates a manual override. The CTS
bit (and optional interrupt) is set when it is safe to send the next command. The ERR bit (and optional interrupt) is
set if an invalid argument is sent. Note that only a single interrupt occurs if both the CTS and ERR bits are set. The
optional STC interrupt is set when the command completes. The STCINT bit is set only after the
GET_INT_STATUS command is called. This command may only be sent when in powerup mode. The command
clears the STC bit if it is already set. See Figure 17, “CTS and STC Timing Model,” on page 187 and Table 41,
“Command Timing Parameters for the FM Transmitter,” on page 188.
Command arguments: Four
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
ARG4
ARGBitNameFunction
17:0ReservedAlways write to 0.
27:0ReservedAlways write to 0.
37:0RFdBµV[7:0]
47:0ANTCAP[7:0]
Response
00110001
00000000
00000000
RFdBµV[7:0]
ANTCAP[7:0]
Tune Power Byte.
Sets the tune power in dBµV in 1 dB steps. The valid range is from 88–
115 dBµV. Power may be set as high as 120 dBµV; however, voltage accuracy is not guaranteed.
Antenna Tuning Capacitor.
This selects the value of the antenna tuning capacitor manually, or automatically if set to zero. The valid range is 0 to 191, which results in a tuning
capacitance of 0.25 pF x ANTCAP.
Enters receive mode (disables transmitter output power) and measures the received noise level (RNL) in units of
dBµV on the selected frequency. The command sets the tuning frequency between 76 and 108 MHz in 10 kHz
units and steps of 50 kHz. For example 76.05 MHz = 7605 is valid because it follows the 50 kHz step requirement
but 76.01 MHz = 7601 is not valid. The command also sets the antenna tuning capacitance. A value of 0 indicates
autotuning, and a value of 1–191 indicates a manual override. The CTS bit (and optional interrupt) is set when it is
safe to send the next command. The ERR bit (and optional interrupt) is set if an invalid argument is sent. Note that
only a single interrupt occurs if both the CTS and ERR bits are set. The optional STC interrupt is set when the
command completes. The STCINT bit is set only after the GET_INT_STATUS command is called. This command
may only be sent when in powerup mode. The command clears the STC bit if it is already set. See Figure 17, “CTS
and STC Timing Model,” on page 187 and Table 41, “Command Timing Parameters for the FM Transmitter,” on
page 188.
Command arguments: Three
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
ARG4
00110010
00000000
FREQ
FREQ
H
L
[7:0]
[7:0]
ANTCAP[7:0]
ARGBitNameFunction
17:0ReservedAlways write to 0.
Tune Frequency High Byte.
27:0 FREQ
H
[7:0]
This byte in combination with FREQ
10 kHz. In FM mode the valid range is from 7600 to 10800 (76–108 MHz).
selects the tune frequency in units of
L
The frequency must be a multiple of 50 kHz.
Tune Frequency Low Byte.
37:0 FREQ
L
[7:0]
This byte in combination with FREQ
10 kHz. In FM mode the valid range is from 7600 to 10800 (76–108 MHz).
selects the tune frequency in units of
H
The frequency must be a multiple of 50 kHz.
Antenna Tuning Capacitor.
47:0ANTCAP[7:0]
This selects the value of the antenna tuning capacitor manually, or automatic if set to zero. The valid range is 0–191.
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
Confidential Rev. 0.219
AN332
Command 0x33. TX_TUNE_STATUS
Returns the status of the TX_TUNE_FREQ, TX_TUNE_MEASURE, or TX_TUNE_POWER commands. The
command returns the current frequency, output voltage in dBµV (if applicable), the antenna tuning capacitance
value (0–191) and the received noise level (if applicable). The command clears the STCINT interrupt bit when
INTACK bit of ARG1 is set. The CTS bit (and optional interrupt) is set when it is safe to send the next command.
This command may only be sent when in powerup mode.
Command arguments: One
Response bytes: Seven
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARGBitNameFunction
17:1ReservedAlways write to 0.
10INTACK
Response
BitD7D6D5D4D3D2D1D0
STATUS
RESP1
RESP2
RESP3
RESP4
RESP5
CTSERRXXXRDSINTASQINTSTCINT
00110011
0000000INTACK
Seek/Tune Interrupt Clear.
If set this bit clears the seek/tune complete interrupt status indicator.
XXXXXXXX
READFREQ
READFREQ
XXXXXXXX
READRFdBµV[7:0]
H
L
[7:0]
[7:0]
RESP6
RESP7
20Confidential Rev. 0.2
READANTCAP[7:0]
RNL[7:0]
RESPBitNameFunction
17:0ReservedReturns various data.
Read Frequency High Byte.
27:0READFREQ
H
[7:0]
This byte in combination with READFREQ
tuned.
37:0READFREQ
L
[7:0]
Read Frequency Low Byte.
This byte in combination with READFREQ
47:0ReservedReturns various data.
57:0READRFdBµV[7:0]
67:0READANTCAP [7:0]
Read Power.
Returns the transmit output voltage setting.
Read Antenna Tuning Capacitor.
This byte will contain the current antenna tuning capacitor value.
Read Received Noise Level (Si4712/13 Only).
This byte will contain the receive level as the response to a TX Tune Mea-
77:0 RNL[7:0]
sure command. The returned value will be the last RNL measurement (or
0 if no measurement has been performed) for the TX Tune Freq and TX
Tune Power commands.
AN332
returns frequency being
L
returns frequency being tuned.
H
Confidential Rev. 0.221
AN332
Command 0x34. TX_ASQ_STATUS
Returns status information about the audio signal quality and current FM transmit frequency. This command can be
used to check if the input audio stream is below a low threshold as reported by the IALL bit, or above a high
threshold as reported by the IALH bit. The thresholds can be configured to detect a silence condition or an activity
condition which can then be used by the host to take an appropriate action such as turning off the carrier in the
case of prolonged silence. The thresholds are set using the TX_ASQ_LEVEL_LOW and TX_ASQ_LEVEL_HIGH
properties. The audio must be above or below the threshold for greater than the amount of time specified in the
TX_ASQ_DURATION_LOW and TX_ASQ_DURATION_HIGH properties for the status to be detected. Additionally
the command can be used to determine if an overmodulation condition has occurred or the limiter has engaged, as
reported by the OVERMOD bit, in which case the host could reduce the audio level to the part. If any of the
OVERMOD, IALH, or IALL bits are set, the ASQINT bit will also be set. The ASQINT bit can be routed to a
hardware interrupt via the GPO_IEN property.
Clearing the IALH or IALL interrupts will result in the TX_ASQ_DURATION_LOW or TX_ASQ_DURATION_HIGH
counters being rearmed, respectively, to start another detection interval measurement. The command clears the
ASQINT interrupt bit and OVERMOD, IALH, and IALL bits when the INTACK bit of ARG1 is set. The CTS bit (and
optional interrupt) is set when it is safe to send the next command. This command may only be sent when in
powerup mode.
Note that the TX_ASQ_DURATION_LOW and TX_ASQ_DURATION_HIGH counters start and the
TX_ASQ_STATUS command will only return valid data after a call to TX_TUNE_FREQ, TX_TUNE_POWER, or
TX_TUNE_MEASURE.
Command arguments: One
Response bytes: Four
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARGBitNameFunction
10INTACK
00110100
0000000INTACK
Interrupt Acknowledge.
0 = Interrupt status preserved.
1 = Clears ASQINT, OVERMOD, IALDH, and IALDL.
22Confidential Rev. 0.2
AN332
Response
Bit D7D6D5D4D3 D2 D1 D0
STATUS
RESP1
RESP2
RESP3
RESP4
RESPBitNameFunction
12OVERMOD
11IALH
10IALL
27:0Reserved Returns various values.
CTSERRXXXRDSINTASQINTSTCINT
XXXXXOVERMODIALHIALL
XXXXX X X X
XXXXX X X X
INLEVEL[7:0]
Overmodulation Detection.
0 = Output signal is below requested modulation level.
1 = Output signal is above requested modulation level.
Input Audio Level Threshold Detect High.
0 = Input audio level high threshold not exceeded.
1 = Input audio level high threshold exceeded.
The current audio input level measured in dBfs (2s complement notation).
Confidential Rev. 0.223
AN332
Command 0x35. TX_RDS_BUFF (Si4711/13/21 Only)
Loads or clears the RDS group buffer FIFO or circular buffer and returns the FIFO status. The buffer can be
allocated between the circular buffer and FIFO with the TX_RDS_FIFO_SIZE property. A common use case for the
circular buffer is to broadcast group 2A radio text, and a common use case for the FIFO is to broadcast group 4A
real time clock. The command clears the INTACK interrupt bit when the INTACK bit of ARG1 is set. The CTS bit
(and optional interrupt) is set when it is safe to send the next command. This command may only be sent when in
powerup mode.
Note: TX_RDS_BUFF is supported in FMTX component 2.0 or higher.
Command arguments: Seven
Response bytes: Five
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
ARG4
ARG5
ARG6
ARG7
00110101
FIFO0000LDBUFFMTBUFFINTACK
H
L
H
L
H
L
[7:0]
[7:0]
[7:0]
[7:0]
[7:0]
[7:0]
RDSB
RDSB
RDSC
RDSC
RDSD
RDSD
ARGBitNameFunction
Operate on FIFO.
17FIFO
If set, the command operates on the FIFO buffer. If cleared, the command
operates on the circular buffer.
16:3ReservedAlways write to 0.
Load RDS Group Buffer.
12LDBUFF
If set, loads the RDS group buffer with RDSB, RDSC, and RDSD. Block A
data is generated from the RDS_TX_PI property when the buffer is transmitted.
11MTBUFF
10INTACK
27:0 RDSB
37:0 RDSB
[7:0]
H
[7:0]
L
Empty RDS Group Buffer.
If set, empties the RDS group buffer.
Clear RDS Group buffer interrupt.
If set this bit clears the RDS group buffer interrupt indicator.
RDS Block B High Byte.
This byte in combination with RDSB
sets the RDS block B data.
L
RDS Block B Low Byte.
This byte in combination with RDSB
sets the RDS block B data.
H
24Confidential Rev. 0.2
ARGBitNameFunction
AN332
47:0RDSC
57:0RDSC
67:0RDSD
77:0RDSD
[7:0]
H
[7:0]
L
[7:0]
H
[7:0]
L
RDS Block C High Byte.
This byte in combination with RDSC
RDS Block C Low Byte.
This byte in combination with RDSC
RDS Block D High Byte.
This byte in combination with RDSD
RDS Block D Low Byte.
This byte in combination with RDSD
sets the RDS block C data.
L
sets the RDS block C data.
H
sets the RDS block D data.
L
sets the RDS block D data.
H
Response
BitD7D6D5D4D3D2D1D0
STATUS
RESP1
RESP2
RESP3
RESP4
RESP5
CTS ERRXXXRDSINTASQINTSTCINT
XXXRDSPSXMITCBUFXMITFIFOXMITCBUFWRAPFIFOMT
CBAVAIL[7:0]
CBUSED[7:0]
FIFOAVAIL[7:0]
FIFOUSED[7:0]
RESPBitNameFunction
17:5ReservedValues may vary.
14RDSPSXMITInterrupt source: RDS PS Group has been transmitted.
13CBUFXMITInterrupt source: RDS Group has been transmitted from the FIFO buffer.
12FIFOXMITInterrupt source: RDS Group has been transmitted from the circular buffer.
11CBUFWRAPInterrupt source: RDS Group Circular Buffer has wrapped.
10FIFOMTInterrupt source: RDS Group FIFO Buffer is empty.
27:0CBAVAIL[7:0]Returns the number of available Circular Buffer blocks.
37:0CBUSED[7:0]Returns the number of used Circular Buffer blocks.
47:0FIFOAVAIL[7:0]Returns the number of available FIFO blocks.
57:0FIFOUSED[7:0]Returns the number of used FIFO blocks.
Confidential Rev. 0.225
AN332
Command 0x36. TX_RDS_PS (Si4711/13/21 Only)
Loads or clears the program service buffer. The CTS bit (and optional interrupt) is set when it is safe to send the
next command. This command may only be sent when in powerup mode.
Note: TX_RDS_PS is supported in FMTX component 2.0 or higher.
Command arguments: Five
Response bytes: None
Command
BitD7D6D5D4D3D2D1D0
CMD
ARG1
ARG2
ARG3
ARG4
ARG5
ARGBitNameFunction
17:5ReservedAlways write to 0.
14:0PSID[4:0]
27:0PSCHAR0[7:0]
37:0PSCHAR1[7:0]
47:0PSCHAR2[7:0]
57:0PSCHAR3[7:0]
00110110
000PSID[4:0]
PSCHAR0 [7:0]
PSCHAR1 [7:0]
PSCHAR2 [7:0]
PSCHAR3 [7:0]
Selects which PS data to load (0–23)
0 = First 4 characters of PS0.
1 = Last 4 characters of PS0.
2 = First 4 characters of PS1.
3 = Last 4 characters of PS1.
.
.
.
22 = First 4 characters of PS11.
23 = Last 4 characters of PS11.
RDS PSID CHAR0.
First character of selected PSID.
RDS PSID CHAR1.
Second character of selected PSID.
RDS PSID CHAR2.
Third character of selected PSID.
RDS PSID CHAR3.
Fourth character of selected PSID.
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
26Confidential Rev. 0.2
AN332
Command 0x80. GPIO_CTL
Enables output for GPO1, 2, and 3. GPO1, 2, and 3 can be configured for output (Hi-Z or active drive) by setting
the GPO1OEN, GPO2OEN, and GPO3OEN bit. The state (high or low) of GPO1, 2, and 3 is set with the
GPIO_SET command. To avoid excessive current consumption due to oscillation, GPO pins should not be left in a
high impedance state. The CTS bit (and optional interrupt) is set when it is safe to send the next command. This
command may only be sent when in powerup mode. The default is all GPO pins set for high impedance.
Notes:
1. GPIO_CTL is fully supported in FMTX component 3.0 or higher. Only bit GPO3OEN is supported in FMTX comp 2.0.
2. The use of GPO2 as an interrupt pin and/or the use of GPO3 as DCLK digital clock input will override this GPIO_CTL
Sets the output level (high or low) for GPO1, 2, and 3. GPO1, 2, and 3 can be configured for output by setting the
GPO1OEN, GPO2OEN, and GPO3OEN bit in the GPIO_CTL command. To avoid excessive current consumption
due to oscillation, GPO pins should not be left in a high impedance state. The CTS bit (and optional interrupt) is set
when it is safe to send the next command. This property may only be set or read when in powerup mode. The
default is all GPO pins set for high impedance.
Note: GPIO_SET is fully-supported in FMTX comp 3.0 or higher. Only bit GPO3LEVEL is supported in FMTX comp 2.0.
Command arguments: One
Response bytes: None
Command
Bit D7 D6D5D4D3D2D1D0
CMD10000001
ARG10000GPO3LEVELGPO2LEVELGPO1LEVEL0
ARGBitNameFunction
17:4ReservedAlways write 0.
GPO3 Output Level.
13GPO3LEVEL
0 = Output low (default).
1 = Output high.
GPO3 Output Level.
12GPO2LEVEL
11GPO1LEVEL
10ReservedAlways write 0.
Response
BitD7D6D5 D4D3D2D1D0
STATUSCTSERRXXXRDSINTASQINTSTCINT
0 = Output low (default).
1 = Output high.
GPO3 Output Level.
0 = Output low (default).
1 = Output high.
28Confidential Rev. 0.2
AN332
5.1.2. FM/RDS Transmitter Properties
Property 0x0001. GPO_IEN
Configures the sources for the GPO2/INT interrupt pin. Valid sources are the lower 8 bits of the STATUS byte,
including CTS, ERR, RDSINT, ASQINT, and STCINT bits. The corresponding bit is set before the interrupt occurs.
The CTS bit (and optional interrupt) is set when it is safe to send the next command. The CTS interrupt enable
(CTSIEN) can be set with this property and the POWER_UP command. The state of the CTSIEN bit set during the
POWER_UP command can be read by reading the this property and modified by writing this property. This
property may only be set or read when in powerup mode. The default is no interrupts enabled.
Default: 0x0000
D15 D14 D13 D12 D11D10D9D8D7D6D5 D4 D3D2D1D0
Bit
Name
BitNameFunction
15:11ReservedAlways write to 0.
10RDSREP
9ASQREP
8STCREP
7CTSIEN
6ERRIEN
5:3ReservedAlways write to 0.
2RDSIEN
1ASQIEN
0STCIEN
00000
RDS Interrupt Repeat. (Si4711/13/21 Only)
0 = No interrupt generated when RDSINT is already set (default).
1 = Interrupt generated even if RDSINT is already set.
ASQ Interrupt Repeat.
0 = No interrupt generated when ASQREP is already set (default).
1 = Interrupt generated even if ASQREP is already set.
STC Interrupt Repeat.
0 = No interrupt generated when STCREP is already set (default).
1 = Interrupt generated even if STCREP is already set.
CTS Interrupt Enable.
0 = No interrupt generated when CTS is set (default).
1 = Interrupt generated when CTS is set.
After PowerUp, this bit will reflect the CTSIEN bit in ARG1 of PowerUp Command.
ERR Interrupt Enable.
0 = No interrupt generated when ERR is set (default).
1 = Interrupt generated when ERR is set.
RDS Interrupt Enable (Si4711/13/21 Only).
0 = No interrupt generated when RDSINT is set (default).
1 = Interrupt generated when RDSINT is set.
Audio Signal Quality Interrupt Enable.
0 = No interrupt generated when ASQINT is set (default).
1 = Interrupt generated when ASQINT is set.
Seek/Tune Complete Interrupt Enable.
0 = No interrupt generated when STCINT is set (default).
1 = Interrupt generated when STCINT is set.
RDSREP ASQREP STCREP CTSIEN ERRIEN
000
RDSIEN ASQIEN STCIEN
Confidential Rev. 0.229
AN332
Property 0x0101. DIGITAL_INPUT_FORMAT
Configures the digital input format. The CTS bit (and optional interrupt) is set when it is safe to send the next
command. This property may only be set or read when in powerup mode.
Note: DIGITAL_INPUT_FORMAT is supported in FMTX component 2.0 or higher.
Default: 0x0000
BitD15 D14D13 D12D11D10D9D8D7D6D5D4D3D2D1D0
Name00000000IFALLIMODE[3:0]IMONOISIZE[1:0]
BitNameFunction
15:8ReservedAlways write to 0.
DCLK Falling Edge.
7IFALL
6:3IMODE[3:0]
0 = Sample on DCLK rising edge (default).
1 = Sample on DCLK falling edge.
Digital Mode.
2
0000 = I
0110 = Left-justified mode.
1100 = MSB at 1
1000 = MSB at 2