Files
rt-4d/docs/SCT3258_packet_interface.txt
T
viktor 6d49ba3cba FM100B = Sicomm SCT3258TD (документирован); Talker Alias, агент, SPI-инструменты, восстановление TX
Главное:
- Опознан DMR-чип: FM100B = Sicomm SCT3258TD. Датащит Packet Interface (126 стр) в docs/.
  Открывает калибровку/AMBE/вокодер по документации. Родня: UV-4R, китайские клоны.

Реализовано:
- Приём Talker Alias (cmd 0x60) — позывной крупно на экране (build_ta.py)
- Интерактивный агент — управление FM100B по COM без перешивки (build_agent.py + agent.py)
- Полная карта команд FM100B с живой рации (fm100b-commands.md)
- Работа с SPI: чтение/запись/восстановление codeplug и калибровки (spi_read/spi_wr/spi_restore)
- Конструктор дисплея + редактор прошивки (tools/display-editor)

Документация:
- docs/SCT3258_packet_interface.txt/.pdf — спека DMR-чипа
- docs/fm100b-commands.md — карта команд
- docs/dmr-tx-recovery.md — диагноз/восстановление DMR-передачи

Инструменты: flash_ps.py (прошивка через WSL/powershell), sniff.py (снифер кадров),
hotspot_rxoffset_sweep.py, apply_patch.py, build_* сборщики.

Важно: DMR TX-калибровка сбита в экспериментах со SET-командами модулю; восстановление
через offset-компенсацию / .updat Radtel / калибровку по прибору (docs/dmr-tx-recovery.md).
2026-07-24 02:52:51 +09:00

8828 строки
198 KiB
Plaintext
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
Packet Interface of CT3258
Version:1.0
Date: 2015/01/14
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
2
Change History
Version
Date
Change Descriptions
Author
1.0
2015/01/14
Initial version
Hao Ye
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
3
Contents:
Packet Interface of CT3258
1 
Change History
2 
1 
Packet Interface Descriptions
7 
1.1 
Packet Format
7 
1.1.1 
START_BYTES
7 
1.1.2 
LENGTH
7 
1.1.3 
TYPE
7 
1.1.4 
Packet Fields
9 
1.1.5 
Parity Field
9 
1.1.6 
Time Out
10 
1.2 
Field Formats
10 
1.2.1 
CHAN_D
14 
1.2.2 
VOCODER_CMODE
14 
1.2.3 
AFC_CONFIG
15 
1.2.4 
COMPANDER_CONFIG
16 
1.2.5 
VOCODE_TONE
17 
1.2.6 
ANALOG_FEATURE
19 
1.2.7 
VOCOER_SEL
19 
1.2.8 
VOCODER_INI
20 
1.2.9 
CHIP_RESET
20 
1.2.10 
CHIP_LOWPWR
20 
1.2.11 
PARITY_ENABLE
21 
1.2.12 
ACK_MESSAGE
21 
1.2.13 
WORK_MODE
22 
1.2.14 
CARRIER_READY
23 
1.2.15 
PROCESS_MODE
24 
1.2.16 
NEW_EVENT
25 
1.2.17 
DEMOD_GAIN
26 
1.2.18 
REPORT_FIELD
26 
1.2.19 
BER_REPORT
27 
1.2.20 
ANALOG_TONE
27 
1.2.21 
CALL_START
28 
1.2.22 
CALL_STOP
30 
1.2.23 
CONNECT
30 
1.2.24 
DISCONNECT
30 
1.2.25 
DPMR_ACK
31 
1.2.26 
SYSTEM_INFO
31 
1.2.27 
ANALOG_SUBAUDIO
32 
1.2.28 
CALL_MATCH
41 
1.2.29 
ADDRESSING_MODE
41 
1.2.30 
GROUP_ID
42 
1.2.31 
SCRAMBLER_SEED
43 
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
4
1.2.32 
MOD_GAIN
43 
1.2.33 
CODEC_SELECT
44 
1.2.34 
SET_I2C_ADDRESS
44 
1.2.35 
SYNC_MISS_COUNT
44 
1.2.36 
Q_PRO_STR
45 
1.2.37 
Q_HW_VER
45 
1.2.38 
Q_SW_VER
45 
1.2.39 
Q_CID_SN
46 
1.2.40 
DMR_GROUP_ID
46 
1.2.41 
DC_OFFSET
47 
1.2.42 
ANALOG_CONFIG
48 
1.2.43 
CTC_PARAM
50 
1.2.44 
VOCOER_IO_SET
52 
1.2.45 
MODOUT_CONFIG
53 
1.2.46 
IQCOMP_COEF
53 
1.2.47 
DIGC_DATA_FRAME
55 
1.2.48 
DPMR_PREAMBLE_LENGTH
61 
1.2.49 
DPMR_CALL_OPTION
61 
1.2.50 
DPMR_END_UE
62 
1.2.51 
DIGC_FS1
63 
1.2.52 
DIGC_CALLED_ID_BIN
63 
1.2.53 
DIGC_OWN_ID_BIN
63 
1.2.54 
DPMR_CALLED_ID_BCD
64 
1.2.55 
DPMR_OWN_ID_BCD
64 
1.2.56 
DPMR_M_V_F_E
64 
1.2.57 
DPMR_PROTOCOL_OPTION
65 
1.2.58 
DPMR_SLD
65 
1.2.59 
DPMR_HT_CI_PM
66 
1.2.60 
DPMR_CI
71 
1.2.61 
DPMR_CC
71 
1.2.62 
DPMR_SEND_SF
72 
1.2.63 
DPMR_SEND_HEADER
72 
1.2.64 
DPMR_SEND_END
72 
1.2.65 
DPMR_SEND_AD
72 
1.2.66 
DIGI_MIC_GAIN
73 
1.2.67 
DIGI_SPEAKER_GAIN
73 
1.2.68 
I2C_OPERATION
73 
1.2.69 
MISC_GAIN
74 
1.2.70 
SQ_LEVEL
75 
1.2.71 
SPI_OPERATION
78 
1.2.72 
DMR_SLC
78 
1.2.73 
DMR_CALL_SLOT
79 
1.2.74 
EQULIZER_FILTER
79 
1.2.75 
DMR_FLC
80 
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
5
1.2.76 
DMR_CC
81 
1.2.77 
DMR_CALL_START
81 
1.2.78 
DMR_CALL_OPTION
82 
1.2.79 
DMR_OFFSET
83 
1.2.80 
DMR_SLOT_TYPE
84 
1.2.81 
DMR_EMB
84 
1.2.82 
DMR_CALLED_ID_BCD
85 
1.2.83 
DMR_OWN_ID_BCD
85 
1.2.84 
DMR_SLOT_FOUND
85 
2 
Application Guides
87 
2.1 
Code Downloading
87 
2.1.1 
Boot loader Downloading
87 
2.1.2 
Application Downloading
87 
2.2 
DPMR Call Processing
87 
2.2.1 
Easy Mode
88 
2.2.2 
DPMR Layer 2 Mode
90 
2.3 
DMR Call Processing
92 
2.3.1 
DMR Easy Mode
92 
2.3.2 
DMR Layer 2 Mode
92 
2.3.3 
DMR MS Call Flow
93 
2.3.4 
Base Station Activation
94 
2.3.5 
Listen Before Transmitting
94 
2.4 
Typical Call Sessions with CT3258 in DPMR Mode
96 
2.4.1 
Digital Voice Call
96 
2.4.2 
Voice Call with Slow Data
97 
2.4.3 
Voice Call Recording
97 
2.4.4 
Voice Call Play Back
98 
2.4.5 
Data Call with Type 1 or Type 2 Data
99 
2.4.6 
Voice Call with Appended Data
99 
2.4.7 
Data Call Type 3 (for future release)
100 
2.4.8 
Short Appended Data (TS 102 658 Only)
102 
2.4.9 
Analog Voice Call in DPMR Mode
102 
2.4.10 
Handling of Maintenance Message (TS 102 658 Only)
103 
2.4.11 
Automatic Analog and DPMR Call Detection
103 
2.4.12 
Audio Muting for Un-matched Calls
104 
2.5 
Typical Call Sessions with CT3258 in DMR Mode
104 
2.5.1 
DMR Voice Call in DMR Easy Mode
104 
2.5.2 
DMR Voice Call in DMR Layer 2 Mode
107 
2.5.3 
Analog Voice Call in DMR Mode
110 
2.6 
Gain Calibration
111 
2.7 
DC and IQ Calibration
112 
2.8 
Error Handling
118 
2.9 
DPMR Standard User Interface
118 
2.9.1 
Message Used for Standard User Interface
119 
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
6
2.10 
DMR Number and Dialing Plan
121 
2.10.1 
Message Used for DMR Dialing Plan
122 
2.11 
Power Saving Mode
123 
2.12 
Codec Selection
124 
2.13 
Codec Configurations
124 
2.14 
Debug Mode
125 
2.14.1 
Setting Up Two Point Modulation
125 
2.14.2 
BER Test
125 
2.14.3 
Loop Back
125 
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
7
1 Packet Interface Descriptions
Packet interface is defined above the physical interface (HPI, Serial Port) for communications
between CT3258 and the host MCU. The packet format is identical regardless of physical
interfaces.
As HPI in CT3258 is preconfigured to use 16 bit format, the total number of bytes in a packet
should be even. If the total number of byte is odd, a zero is appended at the end. This appended
zero will not be counted in the LENGTH field.
1.1 Packet Format
The packet format is as shown in the table below. A packet consists of a packet header and number
of packet fields and optional parity bytes. A packet header starts with 3 bytes of START_BYTES.
The next two bytes contain the packet LENGTH and the next byte contains the TYPE. Each
packet contains one or more fields which are shown as FIELD (0) through FILELD (N-1).
Optionally, at the end of the packet, there are two parity bytes.
Packet Header
Field
Parity
START_BYTES
LENGTH TYPE
FIELD(0)
...
FIELD(N-1)
FBYTE PARITY_BYTE
3 byte
2 byte
1 byte
Variable
Variable
1 byte
1 byte
Table 1-1 General Packet Format
Packet details are described in the sections below.
1.1.1 START_BYTES
The three bytes of START_BYTES always have fixed values of 0x84, 0xA9, 0x61.
1.1.2 LENGTH
The PACKET LENGTH occupies two bytes of the packet. The MS byte of the packet length is the
fourth byte of the packet and the LS byte of the packet length is the fifth byte of the packet. The
PACKET LENGTH is the sum of each FIELD. Note that PACKET LENGTH excludes the first 6
bytes taken up by the Packet Header. If parity check is enabled, the length field includes the parity
byte as well.
As HPI in CT3258 is preconfigured to use 16 bit format, the total number of bytes in a packet
should be even. If the total number of byte is odd, a zero is appended at the end. This appended
zero will not be counted in the LENGTH field.
1.1.3 TYPE
TYPE field specifies the destination, read/write property and the types of the packet. It includes
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
8
multiple fields, described in the table below:
Bit
Position
Field
Descriptions
7
AMBE
bypass
External Vocoder message bypass
0: CT3258 Control
1: AMBE control
6
Codec bypass
Codec message bypass
0: CT3258 Control
1: Codec control, any bytes after packet type are send to codec
directly
5
Read/Write
Read Write Control
0: Write. The MCU write fields to CT3258
1: Read. CT3258 report fields to the MCU. Not all parameters are
readable.
4
Near/Far
Near end / Far end control
0: Near end
1: Far End
3-0
Packet Type
See Table Below
Table 1-2 Fields in TYPE Byte
Internally, the call related information is stored in registers in CT3258. External MCU can write to
and read from these registers through packet interface. The write/read control is through bit 5 of
TYPE field. Not all registers are readable. Column 6 of Table 1-5 describes whether a register is
readable or not.
Some fields, such as Own ID, Called ID, have two sets of internal registers, for far end and near
end of calls. When writing a packet field, the content is always stored in the near end registers.
When reading field information, the MCU can request the near end information or the far end
information. The near end information is the information that is to be sent or already sent to the far
end. The far end information is the information that is received from the far end. The near/far end
control is through bit 4 of the TYPE byte.
For example, station A has an Own ID 1234567, station B has an Own ID of 1234563. The user
(MCU) can set the Own ID for the two stations with field DPMR_OWN_ID_BCD, and with write
flag. The user can then read back the Own ID of each station with read flag, and near end flag at
the two stations. After a call is made from A to B, the user can read the Own ID of station A by
issuing read command to station B with far end flag. Column 6 of Table 1-5 also describes
whether far end register is available for reading.
The details of Packet Type are described in Table 1-3 below.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
9
Type
Value
Packet
Name
Descriptions
0
Control
Packets
Used to set up chip operation mode, configure hardware, set up or end a
call. When a control packet is received, the chip returns a control packet
with response fields that contain response data or indication of errors in
the control packet.
3
DPMR
Packet
Used for DPMR protocol specific information. User can use these
messages to change the elements of DPMR protocol.
4
Program
packet
Used for host MCU to program CT3258.
5
DMR
Used for DMR protocol specific information. User can use these messages
to change the elements of DMR protocol.
Others
Reserved
Reserved
Table 1-3 Packet Types
Note that the boot loader for DPMR mode and DMR mode is different. Depending on the boot
loader types, CT3258 enters DPMR mode or DMR mode. In DPMR mode, commands for DMR
only (type 5) are not recognized. In DMR mode, command for DPMR only (type 3) are not
recognized.
Also note that for program packet only (type 4), the packet header and parity bytes can be omitted.
In that case, the boot loader searches for a match of the field and command code.
1.1.4 Packet Fields
The packet fields contain useful packet information. Various different packet fields each with their
own format are defined in the next section, however, the general format of a field is shown in the
table below.
A field consists of a field identifier followed by field data. The length of field data is dependent
upon the field identifier. Many fields have fixed lengths. Some fields are variable in length; and in
such cases the length of the field data is embedded inside field data explicitly or implicitly.
Field Identifier
Field Data
1 byte
L(n)-1 bytes
Table 1-4 General Field Format
1.1.5 Parity Field
The parity field is a 2-byte field at the end of a packet. The first byte of the parity field is the parity
field identifier and is always equal to 0x2f. The second byte of the parity field is the parity byte. It
is obtained by “Exclusive-oring” every byte in the packet, except for the START_BYTES and the
parity byte (last byte), together. CT3258 checks the parity byte for all received packets, informs
the MCU of any parity error, and discards any packet that has an incorrect parity byte. When
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
10
parity check fails, the receiver replies with a packet (with field 0x17) indicating parity failure.
Parity check is disabled at reset. It can be enabled when CT3258 receives a control packet with
PARITY_ENABLE field.
1.1.6 Time Out
If a valid message is received, CT3258 responds to MCU in 40 milliseconds (except some especial
commands in the table ). If a response packet is not received within 40 milliseconds, the MCU can
consider the message lost and resend the packet if necessary.
When a response packet is received, the MCU or CT3258 does not send an ACK to the response
packet.
Commands
Response time
CHAN_D
80ms
VOCOER_SEL
1-3s
CODEC_SELECT
1 s
DIGC_DATA_FRAME
80ms.
The response time of the first data is header frame(80ms)
+ Preamble + Silence
ACK_MESSAGE
The response time of receiving 17 0A after finishing
sending is about 400ms. We have to wait the 17 0A to do
the subsequent operation.
1.2 Field Formats
A packet must contain one or more fields. The field formats are different for different types of
packets. Each packet requires a response packet.
Control packets can be used to configure the chip prior to operation and also to query for
information from the chip. The response packet for must fields just echoes back the control field
identifier followed by a 0x00 byte to indicate the control field was received successfully. If
multiple fields are present in the packets, the response packet only needs to echo the last field of
the packet.
DPMR / DMR packets contain the call information. They can be originated either from host or
from CT3258. The response packets to DPMR / DMR packet echoes back the control field
identifier followed by a 0x00 byte to indicate the field was received successfully. If multiple fields
are present in the packets, the response packet only needs to echo the last field of the packet.
The Program Packet is used by the host to down load application program to CT3258. The
response packet to Program Packet echoes back the control field identifier followed by a 0x00
byte to indicate the field was received successfully.
Either the MCU or CT3258 can initiate a packet exchange. The packet can be used to write
information to the other end (CT3258 or MCU), or it can be used to request information from the
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
11
other end. The Read/Write control is by bit 5 of the TYPE byte.
When requesting field information, the MCU can request near the end information or the far end
information. The near end information is the information that is to be sent or already sent to the far
end. The far end information is the information that is received from the far end. The near/far end
control is through bit 4 of the TYPE byte.
The table below summarizes various fields used in CT3258.
Field Name
Field
Identifie
r
Pac
ket
Typ
e
Contro
l Field
Length
(Bytes)
Respon
se Field
Length
(Bytes)
Note
Descriptions
CHAN_D
0x01
0
Varies
2
YP
Encoded voice data
VOCODER_CMODE
0x02
0
2
2
N
Vocoder mode flags for current
vocoder
AFC_CONFIG
0x05
0
3
2
YR
COMPANDER_CONFI
G
0x06
0
8
2
N
Compander Configuration
VOCODE_TONE
0x08
0
Varies
2
Y
Force current encoder/decoder
to generate tone frames
ANALOG_FEATURE
0x0A
0
3
2
N
Analog Feature configuration
VOCOER_SEL
0x10
0
2
2
N
Vocoder Selection
VOCODER_INI
0x12
0
2
2
N
Vocoder initialization
CHIP_RESET
0x14
0
1
2
N
Chip reset
CHIP_LOWPWR
0x15
0
2
2
N
Set chip to low power mode
PARITY_ENABLE
0x16
0
2
2
N
Enable parity check
ACK_MESSAGE
0x17
0
None
2
N
Message error report
WORK_MODE
0x18
0
4
2
Y
Set up CT3258 work mode
CARRIER_READY
0x19
0
2
2
N
Carrier Ready Message
PROCESS_MODE
0x1A
0
2
2
N
Process Mode
NEW_EVENT
0x1B
0
None
2
YX
New event indication
DEMOD_GAIN
0x1C
0
3
2
Y
Demodulator Gain
REPORT_FIELD
0x1D
0
2
2
NX
Fields to report when receiving
calls.
BER_REPORT
0x1E
0
2
10
Y
Bit error rate test report
ANALOG_TONE
0x1F
0
18
2
N
Generate Local Tone
CALL_START
0x20
0
2
2
N
Start call send
CALL_STOP
0x21
0
1
2
N
Stop call send
CONNECT
0x22
0
2
2
NP
Send connection
DISCONNECT
0x23
0
2
2
NP
Send disconnection
DPMR_ACK
0x24
0
2
2
NP
Send ack
SYSTEM_INFO
0x25
0
2
2
NP
Send
system
or
status
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
12
information
ANALOG_SUBAUDI
O
0x26
0
Varies
2
N
analog subaudio
CALL_MATCH
0x27
0
None
2
N
Call match report
ADDRESSING_MODE
0x28
3
2
2
NP
Dialing mask length
GROUP_ID
0x29
3
5
2
YP
Group ID number
SCRAMBLER_SEED
0x2A
0
Varies
2
NP
Scrambler seed
MOD_GAIN
0x2C
0
3
2
N
Modulator Gain
CODEC_SELECT
0x2D
0
2
2
N
Codec Selection
SET_I2C_ADDRESS
0x2E
0
2
2
N
Set the I2C address for the
codec
SYNC_MISS_CNT
0x2F
0
2
2
N
Set the number of Sync miss
before reporting
Q_PRO_STR
0x30
0
1
Varies
Y
Query for product code
Q_HW_VER
0x31
0
1
Varies
Y
Query for hardware version
Q_SW_VER
0x32
0
1
Varies
Y
Query for software version
Q_CID_SN
0x33
0
1
9
Y
Query for customer ID
DMR_GROUP_ID
0x36
5
6
2
YD
Group ID number
DC_OFFSET
0x39
0
13
2
N
DC Offset
ANALOG_CONFIG
0x3c
0
12
2
N
Analog Configuration
VOCODER_IO_SET
0x3e
0
2
2
NP
Vocoder IO settings
CTC_PARAM
0x3d
0
23
2
N
CTC detection parameters
MODOUT_CONFIG
0x41
0
6
2
N
Two point modulation delay
IQCOMP_COEF
0x42
0
10
2
YR
IQ compensation configuration
DIGC_DATA_FRAME
0x43
0,3,
5
Varies
2
YFX
Data frames
DPMR_PREAMBLE_L
ENGTH
0x46
0,3
3
N
N
Preamble and silence length
DPMR_CALL_OPTIO
N
0x47
3
6
2
N
DPMR Call Option
DPMR_END_UE
0x4B
3
4
2
YF
17-bit un-encoded END
DIGC_FS1
0x4C
3
7
2
YF
48-bit of FS1
DIGC_CALLED_ID
_BIN
0x50
3, 5
4
2
YF
24-bit called ID in binary
DIGC_OWN_ID_BIN
0x51
3, 5
4
2
YF
24-bit own ID in binary
DPMR_CALLED_ID
_BCD
0x52
3
5
2
YFP
7 digit called ID in BCD
DPMR_OWN_ID
_BCD
0x53
3
5
2
YFP
7 digit own ID in BCD
DPMR_M_V_F_E
0x54
3
2
2
YFP
3-bit communication mode and
4-bit communication format
DPMR_PROTOCOL_O
PTION
0x55
3
2
2
NP
DPMR protocol option
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
13
DPMR_SLD
0x56
3
4
2
YFP
18-bit slow data
DPMR_HT_CI_PM
0x57
3
3
2
YFP
4-bit header type and 11-bit
call information
DPMR_CI
0x5A
3
3
2
FP
11-bit call information
DPMR_CC
0x5C
3
4
2
YFP
24-bit of color code (Di-bit)
DPMR_SEND_SF
0x5F
3
1
2
NP
Send super frame command.
Upon receiving this command,
CT3258 assemble a super
frame and send to the far end
DPMR_SEND_HEAD
ER
0x60
3
1
2
NP
Send header frame command.
Upon receiving this command,
CT3258 assemble a header
frame and send to the far end
DPMR_SEND_END
0x61
3
1
2
NP
Send end frame command.
Upon receiving this command,
CT3258 assemble a end frame
and send to the far end
DPMR_SEND_AD
0x62
3
1
2
NP
Send appended data
DIGI_MIC_GAIN
0x68
0
3
2
N
Digital Microphone Gain
DIGI_SPEAKER_GAI
N
0x69
0
3
2
N
Digital Speaker Gain
I2C_OPERATION
0x6A
0
Varies
5
Y
I2C Read and Write
MISC_GAIN
0x6B
0
13
2
N
Misc. Gains
SQ_LEVEL
0x6C
0
13
2
YR
RSSI and OOBE levels
SPI_OPERATION
0x6D
0
3
2
YR
SPI Write Operation
DMR_SLC
0x6E
5
5
2
ND
DMR SLC report
DMR_CALL_SLOT
0x6F
5
2
2
ND
DMR call slot information
EQUALIZER_FILTER
0x70
0
12
2
N
Set
coefficients
for
audio
equalizer
DMR_FLC
0x76
5
4
2
YD
DMR Full LC
DMR_CC
0x77
5
2
2
YD
DMR Color Code
DMR_CALL_START
0x78
5
4
2
ND
DMR Call Start
DMR_CALL_OPTION
0x79
5
6
2
ND
DMR Call option
DMR_OFFSET
0x7A
5
9
2
ND
DMR Slot Timing Offset
DMR_SLOT_TYPE
0x7B
5
2
2
ND
DMR slot type
DMR_EMB
0x7C
5
2
2
ND
DMR EMB field
DMR_CALLED_ID_B
CD
0x7D
5
5
2
YFD
8 digit called ID in BCD
DMR_OWN_ID_BCD
0x7E
5
5
2
YFD
8 digit called ID in BCD
DMR_SLOT_FOUND
0x7F
5
2
2
ND
DMR_slot found
Table 1-5 Overview of Packet Fields
In the note field in the above table, Y means the command can be used as both WRITE and READ
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
14
command; N means the command can only be used as a WRITE command. F means the command
can be used to read both Far End information and Near End information. R means the command is
used only when paired with SCT3700. D means command can be used for DMR only. P means
command can be used for DPMR only. X means command is interpreted differently for DMR and
DPMR.
As most fields are used as commands to CT3258 for controlling and configuration purposes, we
sometimes call field as command. As a result we use the terms field and command
in-discriminatively throughout the document.
The detailed descriptions of each filed is described in the following sections. Only field format in
Write Packet is shown. Read Packets usually only have the field ID byte.
1.2.1 CHAN_D
This field can be used to pass encoded voice data between the MCU and CT3258. This command
is only used in DPMR mode.
Field Identifier
Data Length
Vocoder Configuration field
1 Byte
1 Byte
1 Bytes
0x01
The length of the
data in bytes
Encoded voice data. 36 bytes per
80 milliseconds.
Default:
36
Table 1-6 CHAN_D Field Format
1.2.2 VOCODER_CMODE
This field can be used to change the mode of the vocoder.
Field Identifier
Vocoder Configuration field
1 Byte
1 Bytes
0x02
{ AMBE_COMP, 0, 0, 0, NS, 0, TD, AGC}
Default:
0x08
Table 1-7 VOCODER_CMODE Field Format
The meaning of each bit is given below:
Bit Name Descriptions
Default
AMBE_
COMP
AMBE
vocoder
compatibility bit
0
NS
Noise Suppression Enable
0: disable
1
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
15
1: enable
Reserved
Reserved
0
TD
Tone Detection Enable
0: disable
1: enable
0
AGC
AGC Enable
0: disable
1: enable
0
Table 1-8 VOCODER_CMODE Field Options
1.2.3 AFC_CONFIG
This command is used to configure AFC (automatic frequency control), when used with SCT3700.
If the receiver carrier frequency is not matched to the transmitter carrier frequency, the
performance degrade.
The use the AFC, the user first use this command to read the frequency offset between the
transmitter and the receiver. To compensate for the frequency offset, the user has two options:
1. Change SCT3700 receiver LO, using SCT3700 frequency configuration command.
2. Change the internal mixer inside CT3258, using this command.
The AFC_CONFIG write command has the following format:
Field Identifier
Internal frequency offset
1 Byte
1 Bytes
0x05
Internal frequency offset applied at the CT3258 mixer. The unit is Hz
Default:
0
Table 1-9 AFC_CONFIG Field Format
AFC_CONFIG command is also used to read the frequency offset between the receiver and the
transmitter.
To read the frequency offset, AFC_CONFIG command should be sent with “Read/Write” bit in
the TYPE field set to 1. The AFC_CONFIG command used in “read” mode has the following
format:
Field Identifier
DC Time Constant
1 Byte
1 Byte
0x05
Time constant for averaging AFC frequency offset
Default
3
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
16
Time constant of 0 corresponds to average time of 31.25 ms, which is the time it takes to reach
within 10% of the steady state energy value. If the constant is n, the average time is given by the
following formula:
T = 31.25 * 2^n.
The Response to the read AFC_CONFIG command has the following format:
Field Identifier
Frequency offset
Reserved
1 Byte
1 Byte
1 Bytes
0x05
Frequency
offset
between
the
transmitter
and the
receiver, in Hz
Reserved
Default
-
-
1.2.4 COMPANDER_CONFIG
This command is used to configure the compander in analog call mode. The configurable
parameters include compander reference level for the transmitter and the receiver, the energy
estimation timing constant, and the compander gain update interval.
The compander energy level is calculated as the running average of the absolute values of received
audio signal, given by the equation below:
E(n) = (1-alpha) * E(n-1) + alpha * |x(n)|,
where |x(n)| is the absolute value of the received audio signal, alpha is the time constant. The
smaller is the alpha, the larger is the time constant. Roughly, T = 4 / alpha, where T is the time it
takes to reach within 10% of the steady state energy value. For example, with the default alpha =
68, the time constant is T = 4 / 68 = 60 ms.
The TX and RX compander reference levels are the signal levels that the input signal are
compared against. At the TX side, if the input signal energy level is greater than the TX
compander reference level, the input signal are reduced; if it is less than the TX compander
reference level, it is enlarged. At the RX side, if the input signal energy level is greater than the
RX compander reference level, the input signal are enlarged; if it is less than the RX compander
reference level, it is reduced.
The compander gain update interval is the interval that the compander gains are re-calculated.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
17
Within the interval, the compander gain is unchanged. The compander gain update interval is in
terms of 24 kHz samples.
Field
Identifier
Compander
Update
interval
Compander
TX reference
Comander
RX reference
Compander
Energy
Constant
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
0x06
Compander
update
interveral
in
terms of 24
samples
Compander
TX reference,
0-32768
Compander
RX reference,
0-32768
Compander
Energy update
constant,
0-16384
Default
60
2048
2048
68
Table 1-10 COMPANDER_CONFIG Field Format
1.2.5 VOCODE_TONE
This field is used to force the encoder to transmit a tone frame. The frequency (or frequencies) and
amplitude of the tone are specified by this field. It is also used to report the detected DTMF tone
or single tone to the MCU.
Field
Identifier
Tone
Configuration
Tone Data
Amplitude Data
16 bit Frequency
1 Byte
1 Byte
1 Byte
1 Byte
2 Bytes (Optional)
0x08
See Table 1-10
for details
See Table 1-12
for details
Amplitude
scale
in dB
+3dB to -90 dB
Single
tone
Frequency in 16 bit
decimal
Default
0
0x80
-10 dB (0xF6)
0
Table 1-11 VOCODE_TONE Field Format
The details of Tone Configuration byte is as follows:
Bit Position Descriptions
Default
Bit 7-3
Reserved
0
2
Optional 16 bit frequency field flag
0: No 16 bit frequency field
1: 16 bit frequency field present
0
1
Tone Direction
0: Send or detect near end Vocoder tone
1: Send or detect far end Vocoder tone
0
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
18
0
Tone on / off flag
0: Tone Off
1: Tone On
0
Table 1-12 Tone Configuration Details
DTMF Tone Data Tone Type
Frequency 1 (Hz)
Frequency 2 (Hz)
0-4
Invalid Tone
NA
NA
0x05-0x7A
Single Tone
Tone Data * 31.25 Hz
NA
0x7B-0x7F
Invalid tone
NA
NA
0x80
DTMF “0”
1336
941
0x81
DTMF “1”
1209
697
0x82
DTMF “2”
1336
697
0x83
DTMF “3”
1477
697
0x84
DTMF “4”
1209
770
0x85
DTMF “5”
1336
770
0x86
DTMF “6”
1477
770
0x87
DTMF “7”
1209
852
0x88
DTMF “8”
1336
852
0x89
DTMF “9”
1477
852
0x8a
DTMF “A”
1633
697
0x8b
DTMF “B”
1633
770
0x8c
DTMF “C”
1633
852
0x8d
DTMF “D”
1633
951
0x8e
DTMF “*”
1209
941
0x8f
DTMF “#”
1477
941
0x90
KNOX “0”
1162
820
0x91
KNOX “1”
1052
606
0x92
KNOX “2”
1162
606
0x93
KNOX “3”
1279
606
0x94
KNOX “4”
1052
672
0x95
KNOX “5”
1162
672
0x96
KNOX “6”
1279
672
0x97
KNOX “7”
1052
743
0x98
KNOX “8”
1162
743
0x99
KNOX “9”
1279
743
0x9a
KNOX “A”
1430
606
0x9b
KNOX “B”
1430
672
0x9c
KNOX “C”
1430
743
0x9d
KNOX “D”
1430
820
0x9e
KNOX “*”
1052
820
0x9f
KNOX “#”
1279
820
0xa0
Dial Tone
440
350
0xa1
Ring tone
480
440
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
19
0xa2
Busy Tone
620
480
0xa3
Call Progress Tone
490
350
0xa4-0xff
Inactive
NA
NA
Table 1-13 VOCODE_TONE Field Options
Note that the bytes for 16 bit Frequency is optional. It is present only if bit 2 of Tone
Configuration Byte is 1.
1.2.6 ANALOG_FEATURE
This field configures for special feature. Note that these special feature can only be used when the
analog vocoder (ID = 16) is loaded.
Field Identifier
ANALOG_FEATURE
1 Byte
2 Bytes
0x010
Bit 0: DTMF enable flag
0: DTMF detection is disabled
1: DTMF detection is enabled
Bit 1: DTMF detection position
0: DTMF detection is done before the
de-emphasis filter
1: DTMF detection is done after the
de-emphasis filter
Bit 2: MSK enable flag
0: MSK transmission and detection
disabled
1: MSK transmission and detection is
enabled.
Bit 3: Compander enable flag
0: Compander is disabled
1: Compander is enabled.
Bit 4-15: reserved.
Default
3
Table 1-14 ANALOG_FEATURE Field Format
1.2.7 VOCOER_SEL
This field forces vocoder type.
CT3258 supports AMBE+2 vocoder from DVSI.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
20
Field Identifier
Vocoder Type
1 Byte
1 Byte
0x010
4: AMBE+2
16: Analog calls
Others, reserved
Default
4
Table 1-15 VOCODER_SEL Field Format
1.2.8 VOCODER_INI
This command initializes the vocoder.
Field Identifier
Initialization type
1 Byte
1 Byte
0x012
N/A
Default
0
Table 1-16 VOCODER_INI Field Format
1.2.9 CHIP_RESET
This command resets CT3258. This command has the effect as NMI signal (non-maskable
interrupt), which restarting the firmware in CT3258 without reloading the firmware.
Field Identifier
1 Byte
0x14
Table 1-17 CHIP_RESET Field Format
1.2.10 CHIP_LOWPWR
This command puts CT3258 in low power mode.
Field Identifier
Low Power Mode
1 Byte
1 byte
0x015
Bit 7:6, Reserved
Bit 5: Power down external vocoder
Bit 4: Power down external codec
Bit 3:0: Power mode of CT3258
0: Normal
1: Stop TX and RX processing
2: Reserved
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
21
Table 1-18 CHIP_LOWPWR Field Format
1.2.11 PARITY_ENABLE
This command enables parity checks on all packets:
Field Identifier
Parity Enable/Disable
1 Byte
1 Byte
0x016
0: Disable parity checks
1: Enable parity checks
Default
0
Table 1-19 PARITY_ENABLE Field Format
Note that unlike other fields, PARITY_ENABLE field can only be the only field in a packet.
1.2.12 ACK_MESSAGE
This is a response packet to a received packet, when packet is not received correctly, and the
packet field is not recognizable or unreliable.
Note that when received field is recognizable reliably even though there is error in the packet,
CT3258 respond with the command field instead of ACK_MESSAGE field.
Note that 0x17 0x0A does not indicate an error condition. This is sent when CT3258 has
completely sent the message to be sent to the far end.
3: Power down certain peripheral of CT3258 including serial port, DMA and
timers.
4: CT3258 enters IDLE mode
5: CT3258 enters Sleep mode
6: CT3258 enters Halt mode
Default
0
Field Identifier
Failure Code
1 Byte
1 Byte
0x017
0: No error
1: Response to system reset. CT3258 is ready to receive command from the
host.
2: Field length exceeds maximum allowed
3: Parity error
4: Unknown command error
5: Packet length does not match with field Length
6: Error in processing field
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
22
Table 1-20 PACKET_FAILURE Field Format
1.2.13 WORK_MODE
This command set the work mode for CT3258.
Table 1-21 WORK MODE Field Format
Bit Position Descriptions
7
Two Point Modulation Disable Flag
0: Enable two point modulation in TX mode
1: Disable two point modulation in TX mode
6
Special SCT3700 calibration loop enable
0: Normal mode
1: Enable the special SCT3700 calibration
loop
5-4
Reserved
3-0
Work Mode
7: I2C write error
8: SLD request time out error
9: TCH request time out error
10. Message to far end completion indication
11. Error in processing called ID or own ID
12. Chip not activated
13. Unsupported feature
14. Function not loaded
15. Odd byte error
Others: reserved
Default
0
Field
Identifier
Work
Mode
Modem Loop Mode
Audio Loop Back
Debug Mode
1 Byte
1 Byte
1/2 Byte [7:4]
1/2 Byte [3:0]
1 Byte
0x018
See Table
1-19
for
details.
0: No Loop
1: Codec Loop back
2: 4 FSK Loop back
3: Packet Loop back
4: FEC Loop back
5: Vocoder Loop back
6: Decimator Loop
back
Others: reserved
0: No Loop
1: Codec Loop back
2:
Decimator
Loop
back
3: Vocoder Loop back
4: FEC Loop back
5: Packet Loop back
6: 4 FSK Loop back
Others: reserved
See Table 1-20 for
details
Default
0
0
0
0
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
23
0: Idle
1: RX
2: TX
3: Full Duplex
Table 1-22 Details of Work Mode Byte
Byte Value Descriptions
0
No debug
1
Mod port send fixed sine wave of 1000 Hz
2
Mod port send 4 FSK signal with FS1 pattern
3
Reserved
4
Reserved
5
BER Test mode
6
Reserved
7
Reserved
8
Reserved
9
TX sends 1031 Hz test Tone instead Voice from microphone
10
TX sends silence instead Voice from microphone
11
DMR BER test mode (STD ID 511)
14
DPMR/DMR BER test mode (STD IB CALL), see note 1
Table 1-23 Details of Debug Mode Byte
Note 1: The STD IB CAL pattern changes the STB IB 511 pattern with every 100th bit inverted. This
gives this pattern a 1% bit error rate
1.2.14 CARRIER_READY
This command informs CT3258 that carrier is detected on the RX side. Upon receiving this
message, CT3258 start to look for preamble and frame SYNCs. This command is also used to
inform CT3258 whether to mute the audio if the called ID (for DPMR calls) or CTCSS/DCS code
does match.
If carrier detection (SQ) is to be done by CT3258 (enabled by CALLL_OPTION command), this
command starts the carrier detection on CT3258.
Field Identifier
Carrier Ready Indication
1 Byte
1 Byte
0x019
Bit 7:3, Reserved
Bit 2: Mute Flag for muting audio if called ID or CTCSS/DCS code does not
match.
0: Un-mute the audio even if the called ID (for DPMR calls) or
CTCSS/DCS code (for a analog calls) does not match
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
24
1: Mute the audio if the called ID (for DPMR call) or CTCSS/DCS code
(for analog calls) does not match, un-mute other wise.
Bit 1:0, Carrier ready flag
0: Carrier Lost
1: Carrier Ready
2: Carrier Ready, but the phase of the demodulated signal is reversed.
Others: reserved
Note The reverse of demodulated signal polarity does not work in analog
mode. Please configure the polarity with ANALOG_SUBAUDIO.
Default
0
Table 1-24 CARRIER_READY Field Format
1.2.15 PROCESS_MODE
This command set the process mode of CT3258. The process mode includes DPMR / DMR
physical layer only (1), physical layer plus data link layer (2) and physical layer plus data link
layer plus call control layer (3). This command is also used to enable automatic detection of
analog or digital calls.
Field Identifier
Process Mode
1 Byte
1 Byte
0x01A
2: Layer 2, DPMR / DMR Layer 2 Mode
3: Layer 3, Easy Mode
128: Analog Mode
131: Automatic detection of analog call or DPMR calls (layer
3)
Others: Reserved
Default
2
Table 1-25 PROCESS_MOD Field Format
With layer two processing mode, CT3258 is responsible to perform layer one and layer two
processing of the DPMR / DMR protocol, including the FEC, interleaving and message
interpretation.
Layer 2 processing complies with ETSI TS 102 490 or TS 102 658 in DPMR mode, and ETSI TS
102 361 in DMR mode,
With layer three processing mode, in addition to layer two processing, the CT3258 also performs
call control of the DPMR / DMR processing. ANNEX A Standard User Interface for CSF radio in
DPMR mode, and ANNEX C DMR Numbering and Dialing plan are implemented in CT3258. At
the transmitter, CT3258 supports wild character dialing for group and all calls for DPMR and
DMR, abbreviated dialing and masked dialing for DPMR. At the receiver, when a call is received,
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
25
CT3258 does matching of individual call number and group number and informs the MCU of
matching results.
1.2.16 NEW_EVENT
This message is sent when a new event occurs and requires MCU attention. Note that some of the
fields different in DPMR and DMR mode.
Field Identifier
Event
1 Byte
1 Byte
0x01B
0: No event
1: DPMR: New Header frame received, with FEC error
DMR: Data Sync received with FEC error
2: DPMR: New End frame received
3: DPMR: New CCH received
4: DPMR New Header frame received with no FEC error
DMR: Data SYNC received
5: DPMR: Super Frame received, with no FEC error
DMR: Voice SYNC received
6: DPMR: FS3 received
7: DPMR: FS4 received
8: Lost synchronization
9. DPMR: FS1 found pre-alert
10. DPMR: FS2 found pre-alert
11. Reserved
12. Carrier detected
13. Carrier lost
14. Unsupported call received
15. Wrong vocoder
16-255 reserved
Default
0
Table 1-26 NEW_EVENT Field Format
If a digital call is received and correctly decoded, CT3258 reports NEW_EVENT 4 OR 5. If a
digital call is received but has FEC error, CT3258 reports NEW_EVENT 1. These event reports
can also be disabled with REPORT_FIELD command.
In DPMR mode, if mixed call detection is enabled, and a digital call is received, NEW_EVENT 9
or 10 will be reported first, before complete FEC checking process, to alert MCU that a digital call
is received. These events can be used to terminate analog call detection.
If CT3258 is to do carrier detection (SQ), NEW_EVENT 12 and 13 are used to report carrier
status.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
26
During the course of a digital call, if synchronization pattern is not detected for a period of time
(configured through command SYNC_MISS_COUNT), CT3258 reports NEW_EVENT 8.
1.2.17 DEMOD_GAIN
This message set the demodulation gain for the demodulator. If the value is zero, auto calibration
is used.
Table 1-27 DEMOD_GAIN Field Format
1.2.18 REPORT_FIELD
This message informs CT3258 what field to report when receiving a call.
Field Identifier
Mask Byte
1 Byte
1 Byte
0x01D
Mask to indicate the field to report when receiving a new call. Each individual
bit select one field. Multiple fields can be selected.
Default
0x70
Table 1-28 REPORT_FIELD Field Format
The details of the bits are different depending on DPMR or DMR mode.
Bit Position
Field to report
7
NEW_EVENT (FS1 or FS2)
6
DPMR_M_V_F_E
5
DPMR_HT_CI_PM
4
DIGC_CALLED_ID_BIN
3
DPMR_CALLED_ID_BCD
2
DIGC_OWN_ID_BIN
1
DPMR_OWN_ID_BCD
0
DPMR_CC
Table 1-29 Bit definition for Mask Byte in DPMR Mode
Field Identifier
Event
1 Byte
2 Byte
0x01C
0: Auto calibration
Others: linear gain values in Q16.11 (16 bits total, 11 bits fraction, MSB first),
with 2048 as 0 dB
Default
0
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
27
Bit Position
Field to report
7
NEW_EVENT (FS1 or FS2)
6
DMR_FLC
5
DMR_CSBK
4-1
Reserved
0
DMR SLOTTYPE OR EMB
Table 1-30 Bit definition for Mask Byte in DMR Mode
1.2.19 BER_REPORT
This command enquires for the BER test report. The BER includes test success flag, test duration,
total number of errors, and error rate in ppm (pieces per million). A duration parameter in the
command control the duration used in ppm calculation
Field Identifier
BER Duration
1 Byte
1 Byte
0x01E
BER statistics duration
0: All errors in the test are used in BER ppm calculation
1-30, number of seconds used for ppm calculation. Error beyond the duration
are discarded in BER ppm calculation
Default
0
Table 1-31 BER_REPORT Field Format
The response packet returns the BER results.
Table 1-32 BER_REPORT response Field Format
1.2.20 ANALOG_TONE
This command enables the CT3258 to generate or stop a tone signals to be played out from the
line out port or the MOD port. The tone signal is a repetition of a two-tone pattern, in the form as
Tone1-Tone2-Tone1-Tone2….-Tone1-Tone2. Each tone is made up of two frequencies. The
Field
Identifier
Valid
Indication
Test length
Errors
Error in PPM
1 Byte
1 Byte
2 Bytes
4 Bytes
4 Bytes
0x01E
1: BER test
successful
0: BER test
unsuccessful.
Result is not
meaningful
Word (MSB first) to
indicate the number
of seconds in BER
test
Long
word
(MSB
first) to indicate the
number
of
errors
found.
Long word (MSB
first) to indicate the
error percentage (in
ppm)
Default
0
0
0
0
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
28
frequencies and amplitudes are programmable. If silence is desired for the second tone, the user
should set the two frequencies or the two amplitudes of the second tone to zero.
Table 1-33 LOCAL_TONE Field Format
Bit Position
Field to report
7
Remote Tone Flag
0: Local Tone to the line out port
1: Remote Tone to the MOD port
6-0
Repeat Number
0: Stop Tone
127: Infinite
Others: Repetition Number
Table 1-34 Definition for TONE_CTRL
1.2.21 CALL_START
Call Start command. Upon receiving this command, CT3258 begins to send call to the far end.
Field
Identifier
TONE_CTRL
Frequency 11
Frequency 12
Frequency 21
Frequency 22
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 Bytes
0x01F
See
Table
1-32
for
Details
First
frequency
of
the first tone,
in Hz
If Bit 7 of the
MSB
is
1,
siren
is
generated
Second
frequency
of
the first tone, in
Hz
First frequency
of the Second
tone, in Hz
Second
frequency
of
the
second
tone, in Hz
Default
0
NA
NA
NA
NA
Amplitude11
Amplitude 12
Amplitude 21
Amplitude 22
Length 1
Length 2
1 Byte
1 Byte
1 Bytes
1 Bytes
2 Bytes
2 Bytes
Amplitude of
the first
frequency of
the first tone, in
8 bit linear
scale with 6 bit
fractions
Amplitude
of
the
second
frequency of the
first tone, in 8
bit linear scale
with
6
bit
fractions
Amplitude
of
the
first
frequency of the
second tone, in
8 bit linear scale
with
6
bit
fractions
Amplitude
of
the
second
frequency of the
second tone, in
8 bit linear scale
with
6
bit
fractions
Length of
the
first
tone
in
milliseco
nds.
Length
of
the
second
tone
in
milliseco
nds.
NA
NA
NA
NA
NA
NA
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
29
Field Identifier
Call Details
1 Byte
1 Byte
0x20
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Call Mode, Version, Call Format,
Emergency Call flag
Default
0
Table 1-35 CALL_START Field Format
With CALL_START command, the header type, HT is set to 0x0.
The M, F, and P fields are described in the following tables
M
Communication Modes
000
Voice communication (no user data in SLD field)
001
Voice + slow data (user data in SLD field)
010
Data communication type 1 (Payload is user data without FEC)
011
Data communication type 2 (Payload is user data with FEC)
100
Data communication type 3 (Packet data, ARQ method)
101
Voice and appended data (type 2)
110
Appended data
Others Reserved
Table 1-36 Communication Mode Field Details
V
Version number
00
DPMR standard traffic
01
Reserved
10
Reserved
11
Manufacturer specific
Table 1-37 Version Field Details
F
Communication Format
00 Call ALL (Broadcast)
01 Peer-to-peer communication
10 BS uplink
11
BS downlink
Table 1-38 Communication Format Field Details
EP
Emergency Priority Flag
0
Normal call
1
Emergency call
Table 1-39 Emergency Priority Flag Field Details
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
30
1.2.22 CALL_STOP
Call Stop command. Upon receiving this command, CT3258 sends an END frame to the far end
and then stop the call to the far end.
Field Identifier
1 Byte
0x21
Table 1-40 CALL_STOP Field Format
This command is also used to end an analog call.
1.2.23 CONNECT
Call Connect command. Upon receiving this command, CT3258 send connection command to the
far end. It is also used send a call alert to the far end in the case of voice calls.
Field Identifier
Call Details
1 Byte
1 Byte
0x22
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Call Mode, Version, Call Format,
Emergency Call flag
Default
0
Table 1-41 CONNECT Field Format
With CONNECT command, the header type, HT is set to 0x01.
The meaning of M, V, F and EP fields are described in Table 1-32 to Table 1-35.
If there is no frame after sending this command, we must wait CT3258 report 17 0A then make the
subsequent operation (The response time is 150ms+Preamble +Silence+PowerSaveHeader).
1.2.24 DISCONNECT
Call Disconnection command. Upon receiving this command, CT3258 sends disconnect command
to the far end.
Field Identifier
Call Details
1 Byte
1 Byte
0x23
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Call Mode, Version, Call Format,
Emergency Call flag
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
31
Default
0
Table 1-42 DISCONNECT Field Format
With DISCONNECT command, the header type, HT is set to 0x02.
The meaning of M, V, F and EP fields are described in section CALL_START.
If there is no frame after sending this command, we must wait CT3258 report 17 0A then make the
subsequent operation (The response time is 300ms+Preamble +Silence +PowerSaveHeader).
1.2.25 DPMR_ACK
ACK command: Upon receiving this command, CT3258 send acknowledgment to the far end.
Field Identifier
Call Details
1 Byte
1 Byte
0x24
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Call Mode, Version, Call Format,
Emergency Call flag
Default
0
Table 1-43 DPMR_ACK field Format
With DPMR_ACK command, the header type, HT is set to 0x03.
The meaning of M, V, F and EP fields are described in section CALL_START.
If there is no frame after sending this command, we must wait CT3258 report 17 0A then make the
subsequent operation (The response time is 100ms+Preamble +Silence+PowerSaveHeader).
1.2.26 SYSTEM_INFO
System Info command, upon receiving this command, CT3258 sends system or status request or
response to the far end.
Field Identifier
Call Details
1 Byte
1 Byte
0x25
DATA[0]={M[2:0], F[3:0], EP}
Call Mode, Version, Call Format,
Emergency Call flag
Default
0
Table 1-44 SYSTEM_INFO field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
32
SYSTEM_INFO command does not set header type, HT, field. The header type can be set with
DPMR_HT_CI_PM or DPMR_HT command before sending SYSTEM_INFO.
The meaning of M, V, F and EP fields are described in in section CALL_START.
If there is no frame after sending this command, we must wait CT3258 report 17 0A then make the
subsequent operation (The response time is 150ms+Preamble +Silence+PowerSaveHeader).
1.2.27 ANALOG_SUBAUDIO
This field contains analog sub_audio message. Upon receiving this message, CT3258 configure
the sub-audio generation and detection setting of CT3258 in analog mode. It is also used to report
detection of specific CTCSS/DCS tones and tail detection results.
The number of bytes for this field varies depending on the whether arbitrary CTCSS/DCS
generation and detection is required. If no arbitrary CTCSS/DCS is required, the field length is 3.
If arbitrary DCS code is required, the field length is 5. The added two bytes are for the arbitrary
DCS code in hex form. If arbitrary CTCSS code is required, the field length is 9. Two of the added
six bytes are for the CTCSS frequencies, another four bytes are for the two coefficients for the
narrow band filter for that particular frequency.
The CTCSS coefficients are calculated from the arbitrary CTCSS frequency to be detected. The
formula is:
a1 = round (2048 * sqrt (1.9990 * (1-cos(2*w0))))
a2 = round (-2047*2^9 * cos (w0)) + 2^20
where w0 is calculated from the desired arbitrary CTCSS frequency, f0, by
w0 = f0/1909.9
For example for CTCSS frequency 67 Hz, the coefficients are calculated as follows:
a1 = round (2048*sqrt (1.9990 * (1-cos (2*67/1909.9)))) = 144
a2 = round ((-2047*2^9 * cos (67/1909.9))) + 2^20 = 1157
The MCU is responsible to calculate the coefficients and pass them to CT3258.
Field
Identifier
Sub-audio
Configuration /
Status
CTCSS/DCS
number
Arbitrary
CTCSS
frequency or
DCS code
Coefficient
A1
Coefficient
a2
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
33
1 Byte
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
0x26
See Table 1-44
for details
0: No CTCSS
/DCS
1-108:
CTCSS/DCS
code
255: Arbitrary
CTCSS/DCS
code
Others:
reserved
For
CTCSS:
CTCSS
frequency
in
steps of 0.1 Hz
(MSB first)
For
DCS,
0-0x1ff,
corresponding
to
the
DCS
code, in HEX
format , MSB
first
Narrow
band
filter
coefficient
a1
for
arbitrary
CTCSS
frequency
Narrow
band
filter
coefficient
a1
for
arbitrary
CTCSS
frequency
Default
0x40
0
NA
NA
NA
Table 1-45 SUBAUDIO Field Format
Bit Position
Bit Name
Descriptions
7
CD_SEL
DCS and CTCSS select
0: CTCSS
1: DCS
6
EXP_SEL
Expanded CTCSS / DCS code Select
0: Standard CTCSS/DCS set (38 for CTCSS, 83 for
DCS)
1: Expanded CTCSS DCS Set (51 for CTCSS, 107
for DCS)
5
Polarity
DCS polarity
0: Positive DCS polarity
1: Negative DCS polarity
4
Blind
Blind sub-audio detection enable
0: No blind sub-audio detection
1: Blind sub-audio detection enabled.
3
Auto Polarity Detection
DCS Auto polarity detection enable
0: DCS Auto polarity detection disabled
1: DCS Audio polarity detection enable
2-1
Tail Detection
Configuration or Report
In a configuration packet, it is used to enabling tail
generation and detection:
00: No Tail detection
01: 120 degree tail
10: 180 degree tail for CTCSS. Enable tail detection
for DCS.
11: 240 degree tail
In a report packet, it is used to report tail detection
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
34
results:
00: No Tail found
01: 120 degree tail found
10: 180 degree tail found
11: 240 degree tail found
0
FOUND
Sub audio find flag
0: No CTCSS/DCS found
1: CTCSS/DCS found
Table 1-46 Sub-Audio Configuration Details
Serial Number
DCS code in Octal format
DCS code in Hex format
1
017
00F
2
023
013
3
025
015
4
026
016
5
031
019
6
032
01A
7
036
01E
8
043
023
9
047
027
10
050
028
11
051
029
12
053
02B
13
054
02C
14
065
035
15
071
039
16
072
03A
17
073
03B
18
074
03C
19
114
04C
20
115
04D
21
116
04E
22
122
052
23
125
055
24
131
059
25
132
05A
26
134
05C
27
143
063
28
145
065
29
152
06A
30
155
06D
31
156
06E
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
35
32
162
072
33
165
075
34
172
07A
35
174
07C
36
205
085
37
212
08A
38
223
093
39
225
095
40
226
096
41
243
0A3
42
244
0A4
43
245
0A5
44
246
0A6
45
251
0A9
46
252
0AA
47
255
0AD
48
261
0B1
49
263
0B3
50
265
0B5
51
266
0B6
52
271
0B9
53
274
0BC
54
306
0C6
55
311
0C9
56
315
0CD
57
325
0D5
58
331
0D9
59
332
0DA
60
343
0E3
61
346
0E6
62
351
0E9
63
356
0EE
64
364
0F4
65
365
0F5
66
371
0F9
67
411
109
68
412
10A
69
413
10B
70
423
113
71
431
119
72
432
11A
73
445
125
74
446
126
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
36
75
452
12A
76
454
12C
77
455
12D
78
462
132
79
464
134
80
465
135
81
466
136
82
503
143
83
506
146
84
516
14E
85
523
153
86
526
156
87
532
15A
88
546
166
89
565
175
90
606
186
91
612
18A
92
624
194
93
627
197
94
631
199
95
632
19A
96
646
1A6
97
654
1AC
98
662
1B2
99
664
1B4
100
703
1C3
101
712
1CA
102
723
1D3
103
731
1D9
104
732
1DA
105
734
1DC
106
743
1E3
107
754
1EC
108
0
000
Table 1-47 DCS Extend Table
Serial Number
DCS code in Octal format
DCS code in Hex Format
1
023
013
2
025
015
3
026
016
4
031
019
5
032
01A
6
043
023
7
047
027
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
37
8
051
029
9
054
02C
10
065
035
11
071
039
12
072
03A
13
073
03B
14
074
03C
15
114
04C
16
115
04D
17
116
04E
18
125
055
19
131
059
20
132
05A
21
134
05C
22
143
063
23
152
06A
24
155
06D
25
156
06E
26
162
072
27
165
075
28
172
07A
29
174
07C
30
205
085
31
223
093
32
226
096
33
243
0A3
34
244
0A4
35
245
0A5
36
251
0A9
37
261
0B1
38
263
0B3
39
265
0B5
40
271
0B9
41
306
0C6
42
311
0C9
43
315
0CD
44
331
0D9
45
343
0E3
46
346
0E6
47
351
0E9
48
364
0F4
49
365
0F5
50
371
0F9
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
38
51
411
109
52
412
10A
53
413
10B
54
423
113
55
431
119
56
432
11A
57
445
125
58
464
134
59
465
135
60
466
136
61
503
143
62
506
146
63
516
14E
64
532
15A
65
546
166
66
565
175
67
606
186
68
612
18A
69
624
194
70
627
197
71
631
199
72
632
19A
73
654
1AC
74
662
1B2
75
664
1B4
76
703
1C3
77
712
1CA
78
723
1D3
79
731
1D9
80
732
1DA
81
734
1DC
82
743
1E3
83
754
1EC
84
0
000
Table 1-48 DCS Standard Table
Serial Number
CTCSS frequency
1
67
2
71.9
3
74.4
4
77
5
79.7
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
39
6
82.5
7
85.4
8
88.5
9
91.5
10
94.8
11
97.4
12
100
13
103.5
14
107.2
15
110.9
16
114.8
17
118.8
18
123
19
127.3
20
131.8
21
136.5
22
141.3
23
146.2
24
151.4
25
156.7
26
162.2
27
167.9
28
173.8
29
179.9
30
186.2
31
192.8
32
203.5
33
210.7
34
218.1
35
225.7
36
233.6
37
241.8
38
250.3
39
134.4
Table 1-49 CTCSS Standard Table
Serial Number
ctcss 52 digit decimal
1
63
2
67
3
69.3
4
71.9
5
74.4
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
40
6
77
7
79.7
8
82.5
9
85.4
10
88.5
11
91.5
12
94.8
13
97.4
14
100
15
103.5
16
107.2
17
110.9
18
114.8
19
118.8
20
123
21
127.3
22
131.8
23
136.5
24
141.3
25
146.2
26
151.4
27
156.7
28
159.8
29
162.2
30
165.5
31
167.9
32
171.3
33
173.8
34
177.3
35
179.9
36
183.5
37
186.2
38
189.9
39
192.8
40
196.6
41
199.5
42
203.5
43
206.5
44
210.7
45
218.1
46
225.7
47
229.1
48
233.6
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
41
49
241.8
50
250.3
51
254.1
52
134.4
Table 1-50 CTCSS Extend Table
1.2.28 CALL_MATCH
This field is used in a CT3258 generated report message when a call is received, as a result from a
CARRIER_READY command from the MCU. It is generated if a DPMR or a DMR call is
received and that the receiver can start to SYNC with the transmitter.
Field Identifier
Call Details
1 Byte
1 Byte
0x27
See Table 1-48 for details
Default
0
Table 1-51 CALL_MATCH Field Format
Table 1-52 Call Match Details
1.2.29 ADDRESSING_MODE
This field is used to configure the addressing mode of CT3258 for DPMR. As described in the
DPMR spec (TS 102 490 or 658).), with initial addressing mode, the user uses 254 binary IDs.
With configured addressing mode, the user can use a dial pad to dial 7 digital numbers.
Bit Position
Bit Name
Descriptions
7-4
Group ID
For group calls, the matched group ID
3
CC Match
Color code match status
0: Color code matched
1: Color code not matched
2
Un-match Reason The reason for call not matching
0: Valid Called ID not received
1: Called ID not matched
Others: reserved
1
Group Call
Group or individual call flag when a call is matched
0: Individual call
1: Group call
0
Called ID Match
Flag
Called ID Match Flag
0: Called ID matched with receiver Own ID, or one of the
receiver group ID
1: Called ID is not matched
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
42
The field format is described below.
Field Identifier
Addressing Mode Details
1 Byte
1 Byte
0x28
See Table 1-50 for details
Default
0
Table 1-53 ADDRESSING_MODE Field Format
Bit Position
Bit Name
Descriptions
7-4
Reserved
Reserved
3-1
Dial mask Length
0-6: The length of the Dial mask for Configured Addressing mode
Others: invalid.
0
Mode Select
Address mode select
0: Initial Addressing mode
1: Configured Address mode (Standard User Interface)
Table 1-54 Addressing Mode Details
The number of digital the user is allowed to dial is (7- Dial_Mask_Length). For example, 3 mean
that 3 numbers are masked. The user is able to dial a maximum of 4 numbers. By default,
Dial_Mask_Length = 0, meaning no mask is used and the user is allowed to dial all 7 digits.
1.2.30 GROUP_ID
The command is for DPMR mode only. A separate command DMR_GROUP_ID is used for DMR
mode.
Each DPMR terminal can be assigned an individual ID (own ID) and one or several group IDs.
When an incoming called ID matched with the receivers individual ID or group ID, the receiver
responds. The GROUP_ID field is used to pass the group ID to CT3258.
This field contains the group ID in 7 BCD codes and one group number.
Field Identifier
Group ID and group number
1 Byte
4 Bytes
0x29
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, Group Number},
where group number can be 1-15
Default
0,0,0,0
Table 1-55 GROUP_ID Field Format
K1, … , K7 are 0-9 for BCD numbers, or 10 for *.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
43
The command fields support up to 15 group numbers.
1.2.31 SCRAMBLER_SEED
This command enables/disables the voice scrambler for encryptions and selects the 32 bit
scrambler seed.
Field Identifier
Scrambler Type
Scrambler seeds
1 Byte
1 Bytes
0/4 bytes
0x2A
0: Disable the Scrambler
1: Enable 32 bit scrambler
(DPMR Mode only)
4: Enabled 16 bit scrambler
0 byte if scrambler type = 0;
4 bytes if scrambler type = 1;
DATA[0] = SEED[31:24]
DATA[1] = SEED[24:16]
DATA[2] = SEED[15:8]
DATA[3] = SEED[7:0]
2 bytes if scrambler type = 4;
DATA[0] = SEED[15:8]
DATA[1] = SEED[7:0]
Default
0
0,0,0,0
Table 1-56 SCRAMBLER_SEED Field Format
Note: The 32 bit scrambler is indeed a 16 bit scrambler. The first 16-bit is used as scrambler seed
which the end user can program. The second 16-bit is an XOR mask, which can be used by radio
manufacturers to purposely make their radio to be incompatible with radio made by other
manufactures. The second 16-bit should have at least 5 “1” to be effective.
For the 16 bit scrambler, when this command is set in TX, please set the PM in HT_CI_PM
command to enable the encryption function.
1.2.32 MOD_GAIN
This message set the modulation gain for the modulator.
Field Identifier
Event
1 Byte
2 Byte
0x02C
Linear gain applied to the modulator in Q16.11 (16 bits total, 11 bits fraction,
MSB first), with 2048 as 0 dB
Table 1-57 MOD_GAIN Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
44
1.2.33 CODEC_SELECT
This command selects the codec that works with CT3258. Current supported codecs include
TLC320AIC3204 from TI and WM8758B from Wolfson.
Field Identifier
Codec Selection
1 Byte
1 Bytes
0x02D
1: TLC320AIC3204
2: WM8758B
3: ES8338
Others: reserved.
Default
2
Table 1-58 CODEC_SELECT Field Format
1.2.34 SET_I2C_ADDRESS
CT3258 also supports other types of codecs, as long as it has an I2C interface for control and a
serial interface for data transfer which conforms with CT3258 format and timing. The I2C address
of the codec can be set the command SET_I2C_ADDRESS
Field Identifier
I2C Address
1 Byte
1 Bytes
0x02E
I2C address to pass to codec
Default
0x34
Table 1-59 SET_I2C_ADDRESS Field Format
1.2.35 SYNC_MISS_COUNT
Once a call is set up, CT3258 monitor the link conditions and continuously check the presence of
synchronization word, (FS2 in the case DPMR and Voice SYNC pattern in DMR). It reports
SYNC miss if the number of sync miss is greater than a threshold. This command set the
threshold.
Table 1-60 SYNC_MISS_COUNT Field Format
Field Identifier
Sync Miss Count
1 Byte
1 Bytes
0x02F
Threshold for sync miss counter before reporting to MCU.
0-254: threshold of sync miss to exceed (greater than) before report sync miss
255: never report sync miss
Default
255
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
45
The message to report Sync miss is NEW_EVENT with field value of 0x08.
1.2.36 Q_PRO_STR
This command enquires for product code.
Field Identifier
1 Byte
0x030
Table 1-61 Q_PRO_STR Field Format
The response packet returns a string: “CT3258” or other product code.
Field Identifier Number of Bytes
Data
1 Byte
1 Byte
Variable Number of bytes
0x30
Number of bytes
“CT3258F”
Table 1-62 Q_PRO_STR Field Options
1.2.37 Q_HW_VER
This command enquires for hardware version.
Field Identifier
1 Byte
0x031
Table 1-63 Q_HW_VER Field Format
The response packet returns a string: “V0.01.01” or other hardware version.
Field Identifier Number of Bytes
Data
1 Byte
1 Byte
Variable Number of bytes
0x31
Number of Bytes
“V0.02.02”
Table 1-64 Q_HW_VER Field Options
1.2.38 Q_SW_VER
This command enquires for software version:
Field Identifier
1 Byte
0x032
Table 1-65 Q_SW_VER Field Format
The response packet returns a string: “V0.01.01” or other software version.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
46
Field Identifier Number of Bytes
Data
1 Byte
1 Byte
Variable Number of bytes
0x32
Number of Bytes
“V1.00.04”
Table 1-66 Q_SW_VER Field Options
1.2.39 Q_CID_SN
This command enquires for customer ID and serial number.
Field Identifier
1 Byte
0x033
Table 1-67 Q_CID_SN Field Format
The response packet returns customer ID in 6 BCD numbers and serial number in 10 BCD
numbers.
Field Identifier
Customer ID
Serial Number
1 Byte
3 Bytes
5 Bytes
0x33
Customer ID in 6 BCD
numbers
Serial Number in 10 BCD
numbers
Table 1-68 Q_CIN_SN Field Options
1.2.40 DMR_GROUP_ID
Each DMR terminal can be assigned an individual ID (own ID) and one or several group IDs.
When an incoming called ID matched with the receivers individual ID or group ID, the receiver
responds. The DMR_GROUP_ID field is used to pass the group ID to CT3258.
This field contains the group ID in 8 BCD codes and one group number.
Field Identifier
Group ID and group number
1 Byte
5 Bytes
0x29
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, K8}
DATA[4] = Group Number
where group number can be 1-15
Default
0,0,0,0
Table 1-69 GROUP_ID Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
47
K1, … , K8 are 0-9 for BCD numbers.
The command fields support up to 15 group numbers.
1.2.41 DC_OFFSET
This command applies a DC offset to the input signals from the ADC and to the output signal to
the DAC. It also applies a digital gain to the signals to the DAC before DC offset is added.
The value of the DC offset is in 2s complements, with 0x7fff corresponds to the maximum
positive DC offset, and 0x8000 corresponds to the maximum negative DC offsets. The electrical
voltage of the DC offset depends on the codec types and the analog gain that is applied to the
codec.
With zero analog gain, the maximum offset is capped by the supply voltage of the codec, and the
minimum is capped by zero.
In the case of DAC output, a gain is applied to the output signal before DC offset is added. The
gain is in linear scale, with 0x0800 corresponding to zero gain.
Field
Identifier
DC
offset
for
ADC
Left
Channel
DC offset
for ADC
Right
Channel
DC offset
for DAC
Left
Channel
DC offset
for DAC
right
Channel
Digital
Gain for
DAC left
channel
Digital
Gain for
DAC right
Chanel
1 Byte
2 Byte
2 Bytes
2 Bytes
2 Bytes
2 Bytes
2 Bytes
0x039
DC
offset
Value,
MSB
followed by
LSB,
0x8000-0x7
fff
DC
offset
Value,
MSB
followed by
LSB,
0x8000-0x7
fff
DC
offset
Value,
MSB
followed by
LSB,
0x8000-0x7
fff
DC
offset
Value,
MSB
followed by
LSB,
0x8000-0x7
fff
Digital
Gain
Value,
MSB
followed by
LSB,
In
linear
Scale,
Q16.11
Digital
Gain
Value,
MSB
followed by
LSB,
In
linear
Scale,
Q16.11
Default
0
0
0
0
2048
2048
Table 1-70 DC_OFFSET Field Format
When paired with SCT3700, DC_OFFSET command is also used to read the DC levels and
amplitudes of the signal in the RX path. In addtion, the DC levels and amplitudes of TX signal can
be read by looping the TX to the RX and then read the RX DC levels and amplitudes.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
48
To read DC levels and amplitudes, DC_OFFSET command should be sent with “Read/Write” bit
in the TYPE field set to 1. The DC_OFFSET command used in “read” mode has the following
format:
Field Identifier
DC Time Constant
1 Byte
1 Byte
0x39
Time constant for averaging DC and amplitude.
Default
0
Default time constant of 0 corresponds to average time of 31.25 ms, which is the time it takes to
reach within 10% of the steady state energy value. If the constant is n, the average time is given by
the following formula:
T = 31.25 * 2^n.
The Response to the read DC_OFFSET read command has the following format:
Field
Identifier
DC offset for
the Left
Channel
DC offset for
the Right
Channel
Amplitude for
the Left
Channel
Amplitude for
the Right
Channel
Total energy
of IQ channel
Division out
of
AMP_I/AMP
_Q
1 Byte
2 Byte
2 Bytes
2 Bytes
2 Bytes
4 Bytes
1 Byte
0x039
DC
offset
Value,
MSB
followed
by
LSB,
in
Q16.15,
0x8000-0x7fff
DC
offset
Value,
MSB
followed
by
LSB,
in
Q16.15,
0x8000-0x7fff
Amplitude
Value,
MSB
followed
by
LSB,
in
Q16.15
0x0-0x7fff
Amplitude
Value,
MSB
followed
by
LSB,
in
Q16.15
0x0-0x7fff
I^2
+Q^2,
used to do TX
DC
calibration,
only
for
SCT3700,
Used for IQ
calibration
only
for
SCT3700
Default
-
-
-
-
1.2.42 ANALOG_CONFIG
This command changes the CT3258 configuration in analog mode. The parameter that can be
configured in analog mode include LPF selection for 12.5 kHz or 25 kHz channel spacing,
pre-emphasis and de-emphasis filter settings, and various gain values at different stages in the
signal chain. All gain values are linear gain with 16 bit resolution.
Field
Identifier
Mode
Configure
TX gain
Before
Limiter
TX Gain
after Limiter
CTCSS
Gain
DCS Gain
RX Volume
Gain
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 bytes
2 Bytes
0x03C
See Table
16 bit linear
16 bit linear
16 bit linear
16 bit
16 bit linear
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
49
Table 1-71 ANALOG_CONFIG Field Format
Bit
Position
Bit Name
Descriptions
7
ALT_LPF
Additional attenuation at 3 kHz when BB_CH_SEL = 1
6
DCS_HPF
DCS high pass filter enable flag, for removing DC
0: DCS high pass filter is disabled
1: DCS high pass filter is enabled
5
COMPANDER
Compander enable
0: Compander is disabled
1: Compander is enabled.
4
ANA_TONE_CFG Analog Tone configure
0: No CTCSS or DCS when sending analog tones
1: Send CTCSS or DCS when sending analog tones
3
IF_CH_SEL
IF Channel Select
0: 12.5 kHz channel
1: 25 kHz channel
2
SKIP_EMP
Skip pre-emphasis and de-emphasis filters
0: No skip pre-emphasis and de-emphasis filters
1: Skip pre-emphasis and de-emphasis filters
1
BB_CH_SEL
Base band channel filter select
0: LPF corner at 2.55k Hz
1: LPF corner at 3 kHz
0
FILTER_BYPASS
Filter by pass. All analog signal processing in the TX path and the
RX path are bypassed if this bit is set.
Table 1-72 Mode Configure Details
Note that IF_CH_SEL and BB_CH_SEL can be different. IF_CH_SEL selects 12.5KHz narrow
band channel selection filter or 25 kHz wide band channel selection filter. BB_CH_SEL selects
the base band filter LPF corner. The following table gives a guide line for IF_CH_SEL or
BB_CH_SEL settings.
IF_CH_SEL BB_CH_SEL Standard
0
0
12.5kHz narrow band channel, compliant with Europe CE
standards (ETSI EN 300 296)
0
1
12.5kHz narrow band channel, compliant with US FCC standards
(TIA 603)
1
0
N/A
1
1
25 kHz wide band channel, compliant with Europe CE standards
1-67 for
details
gain, MSB
first, in
Q16.11
gain, MSB
first, in
Q16.12
gain, MSB
first, in
Q16.12
linear gain,
MSB first,
in Q16.12
gain, MSB
first, in
Q16.11
Default
2
2048
4096
4096
4096
2048
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
50
(ETSI EN 300 296) and US FCC standards (TIA 603).
When BB_CH_SEL = 1, the user can configure ALT_LPF, to add an 1.5 dB attenuation at 3kHz.
This is useful for two point modulation when the VCO boosts the frequency response at 3kHz,
which may result in the total frequency response out of the spec.
1.2.43 CTC_PARAM
This command is used to configure CTCSS detection parameters. The CTCSS detection is done
with two conditions, frequency and energy. The frequency has to be close to the designated
CTCSS frequency, and the CTCSS energy has to above a certain threshold. To reduce the
probability of false detection, both conditions have to be satisfied for a number of times before a
CTCSS detection is declared. If one of the conditions is not satisfied for a number of times,
CTCSS lost is declared. This command sets those thresholds.
Instead of using the standard phase reversal as CTCSS tail, SCT3258 can also send 55 Hz tone at
the end of call as an indication for call end. “55 Hz” is used here as a general term for the special
tone for call end indication. Its frequency is a programmable. CTC_PARAM command is also
used to configure the mode and frequency of the 55 Hz tone. Also, as in the CTCSS tone case, a
narrow band filter (NBF) is used to capture the 55 Hz tone. The coefficients for the NBF need to
be set in this command if the 55 Hz tone detection is enabled.
Freq_Tough
Eng_Tough
Tail_180
Tail_120
CTC_Tail_DI
55
Hz
Tail
Configuration
1 Byte
1 Bytes
1 Bytes
1 Bytes
1 Bytes
1 Byte
Number of
times
Number of
times energy
180 degree
CTCSS tail
120 degree
CTCSS tail
CTCSS tail
detection
55 Hz Tail
Configuration,
Field
Identifier
Energy_Hi
Energy_Lo
Freq_Miss
Eng_Miss
Freq_norm
Eng_Norm
1 Byte
2 Byte
2 Bytes
1 Bytes
1 Bytes
1 bytes
1 Bytes
0x3D
Energy high
threshold
for CTCSS
found
detection
Energy low
Threshold
for CTCSS
lost
detection
Number of
times
frequency
conditions
missed
before
declaring
CTCSS lost
Number of
times
energy
conditions
missed
before
declaring
CTCSS lost
Number of
times
frequency
conditions
satisfied
before
declaring
CTCSS
found under
good
condition
Number of
times
energy
conditions
satisfied
before
declaring
CTCSS
found under
good
condition
Default
0x0384
0x0258
6
4
2
1
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
51
frequency
conditions
satisfied
before
declaring
CTCSS
found under
tough
condition
conditions
satisfied
before
declaring
CTCSS
found under
tough
condition
detection
threshold.
Higher
threshold
make it
more
difficult to
detect tail.
detection
threshold.
Higher
threshold
make it
more
difficult to
detect tail.
index, larger
index value
makes
detection
easier. A value
of 0 is the
hardest.
See Table
below for
details
7
6
0x80
0xd0
0
0
Tail Frequency
Tail
NBF
Coefficients
Signal to Total Energy
Ratio
Reserved
2 Bytes
4 Bytes
1 Byte
2 bytes
Special
Tail
frequency,
in
steps of 0.1 Hz
(MSB first). 55 Hz
as default.
Narrow band filter
coefficients for the
special tail
frequency. See
Section 1.2.27
for details of the
coefficients
Signal to Total Energy
Ratio Threshold for
CTCSS detection. The
larger the threshold, the
more difficult to detect
2, 38
0, 118, 3, 179
0xb0
0
Table 1-73 CTC_PARAM Field Format
Bit Position
Bit Name
Descriptions
7
ANA_END_SEND
Flag for sending end of transmission
0: No 17 0A sent after CTCSS/DCS tail is sent
1: 17 0A sent after CTCSS/DCS tail is sent
6
CTCSS_TOL
CTCSS detection tolerance
0: No tolerance if received CTCSS frequency is off
spec
1: More tolerance if received CTCSS frequency is
off spec.
5
TAIL_LENGTH
Flag for analog tail length for CTCSS and DCS
0: tail length 180 ms
1: tail length 250 ms
4
HPF_CORNER
Flag for analog High pass filter corner
0: HPF corner at 300 Hz
1: HPF corner at 450 Hz
3
CTC_TAIL_RX
55 Hz tail detection enable in CTCSS call:
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
52
0: 55 Hz Tone detection enabled
1: 55 Hz Tone detection enabled
2
VOICE_TAIL_RX
55 Hz tail detection enable in call with no sub-audio:
0: 55 Hz Tone detection enabled
1: 55 Hz Tone detection enabled
1
CTC_TAIL_TX
55 Hz tail enable in CTCSS call:
0: No 55 Hz Tone are sent at the end of call
1: 55 Hz Tone are sent at the end of call
0
VOICE_TAIL_TX
55 Hz tail enable in voice call with no sub-audio:
0: No 55 Hz Tone are sent at the end of call
1: 55 Hz Tone are sent at the end of call
Table 1-74 55 Hz Tail Configuration Details
1.2.44 VOCOER_IO_SET
This field selects the input and output settings for vocoders. It is most used for voice recording and
play back. Currently, this command is only used in DPMR mode only.
Field Identifier Recording/Play Back Setting
1 Byte
1 Byte
0x03e
Vocoder IO configuration, See table below
Default
0
Table 1-75 VOCODER_IO_SET Field Format
Bit Position
Bit Name
Descriptions
7
Reserved
Reserved
6
MOD_IN
Modulator input select:
0: from vocoder
1: from MCU (through CHAN_D commanad)
5:4
ENC_OUT
Voice encoder output select:
00: Voice encoder output to modem
01: Voice encoder output to MCU
10: Voice encoder output to modem and MCU
3
DEC_IN
Voice decoder input select:
0: from demodulator
1: from MCU (through CHAN_D commanad)
2
DEMOD_OUT
Demodulator output select
0: to voice decoder
1: to MCU (through CHAN_D commanad) and to voice decoder
1
Reserved
Reserved
0
Reserved
Reserved
Table 1-76 Vocoder IO Configuration Details
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
53
With VOCODER_IO_SET command, the user can implement functions like local/remote
recording and local/remote play back. The following table gives example of the settings.
Function
Vocoder IO Settings
Local Recording
0x20
Remote Recording
0x04
Local Play back
0x08
Remote Play back
0x40
Table 1-77 Vocoder IO Settings for Different Functions
1.2.45 MODOUT_CONFIG
This command is used to configure the phase delay between the two channels in a two point
modulation scheme. Adding a phase delay between the channels is useful to achieve a flat
frequency response in two point modulation. The minimum step size is 10.4 us. And maximum
delay is plus or minus 416 us. For example, if the phase delay time is set to 0x08,the signal at
LOR is 83.2 us after the signal at LOL .If phase delay time is set to 0xf8, then the signal at LOR is
83.2 us a head of with the signal at LOL.
Field Identifier
Phase delay time configure
Reserved
1 Byte
1 Byte
4 Bytes
0x041
Minimum to -40 max to 40, with a
step size of 10.4 us
Reserved
Default
0
0,0,0,0
Table 1-78 MODOUT_CONFIG Field Format
1.2.46 IQCOMP_COEF
This command is used when paired with SCT700 only.
This command is used to configure the IQ compensation filter of for the RX path and the TX path.
If CT3258 works in IQ input or IQ output mode, the I path and the Q path of the RF front en
should be perfectly matched, or the performance suffers. However, the I path and the Q path are
never perfectly matched in the analog world. IQ compensation filter are used to re-aligned the IQ
signals so that they are matched. The figure below shows the control data and control signals of IQ
compensation filter.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
54
External
Codec
I
Q
coef_amp
coef_phi
IQ_Mode
I_Out
Q_out
Figure 1-1 IQ Compensation Filter
The IQ compensation filter has two operation modes: the normal mode and the calibration mode.
In normal mode (IQ_Mode = 0), the IQ compensation filter is enabled. In calibration mode
(IQ_Mode = 1), the IQ compensation filter is disabled, allowing the algorithm to evaluate the
amount of IQ imbalance, and calculate the filter coefficients coef_amp and coef_phase
accordingly.
The default values of coef_amp and coef_phi are 0, which should be the value if I and Q path are
perfect aligned and need to compensation.
In calibration mode, the value coef_phase has no effect, while coef_amp has an effect to the
output. To complete disable IQ compensation filter, coef_amp should be set to zero, while
IQ_Mode is set to 1.
CT3258 has internal algorithm to aid the calculation of the IQ compensation filter coefficients.
The user can use the DC_OFFSET read command to see the effect of the calibration.
The structure of the TX IQ compensation filter and the RX IQ compensation filter are identical.
Both compensation filters are configured with IQCOMP_COEF command.
The contents of the IQCOMP_COEF command are described in the table below.
Field
Identifier
Mode
Configure
rx_coef_amp
rx_coef_phi
tx_coef_amp
tx_coef_phi
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 bytes
0x042
See Table
1-80 for
details
RX
amplitude
coefficient,
16 bit linear
value, MSB
first, in
Q16.14
RX phase
coefficient,
16 bit linear
value, MSB
first, in
Q16.14
TX
amplitude
coefficient,
16 bit linear
value, MSB
first, in
Q16.14
TX phase
coefficient,
16 bit linear
value, MSB
first, in
Q16.14
Default
2
0
0
0
0
Table 1-79 IQCOMP_COEF Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
55
Bit Position
Bit Name
Descriptions
7
Reserved
Reserved
6
RX_IQ_MODE
RX IQ compensation Filter work mode
0: Enable RX IQ compensation Filter, with coefficients described
in the subsequent field parameters
1: RX IQ compensation Filter in calibration mode (only
rx_coef_amp is effective)
5-3
Reserved
Reserved
2
TX_IQ_MODE
TX IQ compensation Filter work mode
0: Enable TX IQ compensation Filter, with coefficients described
in the subsequent field parameters
1: TX IQ compensation Filter in calibration mode (only
tx_coef_amp is effective)
1-0
Reserved
Reserved
Table 1-80Mode Configure Details
If Bit 6 (RX_IQ_MODE) is set to 1, the RX phase coefficients in the command do not take effect.
Likewise, the TX phase coefficients in the command does not take effect unless Bit 2
(TX_IQ_MODE) of the mode byte is 0.
IQCOMP_COEF command is also used to read the IQ compensation filter coefficients currently
used by CT3258, either calculated by CT3258 or set previously by the MCU. The response packet
to the read command is identical to configuration packet.
1.2.47 DIGC_DATA_FRAME
This field contains type 1, 2, 3 data, voice and appended data, transparent data and short appended
data.
Field Identifier
Frame Property
Data Length
Data Bytes
1 Byte
1 Byte
1 Byte
Up to 180 bytes
0x43
See the following tables for
detail
0-180: Indicate
the length of the
Data
Others: reserved
DATA[0]
DATA[1]
DATA[DataLength-1]
Contain
data,
start
from DATA[0], MSB
first
Default
NA
NA
NA
Table 1-81 DIGC_DATA_FRAME Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
56
The frame property field for DPMR and for DMR are different.
Bit Position
Bit Name
Descriptions
7
DATA_VALID
Flag to indicate whether current frame has valid data
0: Current frame has no valid data. Far end can discard current
frame
1: Current frame has valid data.
6
CONT_FLAG
Continuation flag
0: Data Continues after this frame
1: Data finish at this frame
CT3258 does not process this field. It just passes this bit to the far
end MCU. The MCU should not send more DIGC_DATA_FRAME
commands after CONT_FLAG is set to one.
5
FEC_ERROR
FEC error flag
0: No FEC error in the received frame
1: FEC error in the received frame
4
Reserved
Reserved
3-0
Frame Type
Frame types:
0: Type 1 Data, Valid Data Length is 0 to 36
1: Type 2 Data, Valid Data Length is 0 to 20
2: Type 3 Data, Not implemented yet
3: Voice and Appended Data, Valid Data Length is 0 to 20
4: Transparent Data, Valid Data Length is 0 to 48
5. Short Appended Data, Valid Data Length is 9, 18, 27, 36
depending on the number of appended data frames.
Others, reserved
Table 1-82 Frame Property Details in DPMR Mode
Bit Position
Bit Name
Descriptions
7-5
Reserved
4
Data/Voice Burst
Data or voice burst selection
0: Data Burst
1: Voice Burst
3-0
Data Type
DMR data type (for data burst only)
0: PI header
1: Voice LC header
2: Terminator with LC
3: CSBK
4: MBC Header
5: MBC Continuation
6: Data Header
7: Rate 1/2 Data
8: Rate 3/4 Data
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
57
9: Idle
10: Rate 1 Data
11-15: Reserved
Table 1-83 Frame Property Details in DMR Mode
At the transmitter, the MCU passes the contents of data burst to CT3258 through this field.
CT3258 adds FEC according to the data type and puts into a TDMA burst. At the receiver,
CT3258 applies FEC decoding to the received data burst and reports the contents to the MCU
using the same field.
The content and the length of the frame is different according to the data type in
DMR_DATA_FRAME. The details is describe in the below text.
When Data Type is PI header , Voice LC Header ,Terminator with LC, or the bit 4 is Voice Burst,
the content of the frame is FULL LC PDU(without CRC). The length is 9 bytes.
Table 1-84 FULL LC PDU
When Data Type is CSBK or MBC Header, the content of the frame is Control Signalling Block
(CSBK) PDU (without CRC ). The length is 10 bytes.
Information element
Length
Remark
Last Block
1
This bit shall be set to 1
Protect Flag
1
CSBK Opcode(CSBKO)
6
FID
8
The FID shall be either SFID or MFID
CSBK Data
64
NOTE : The data information element is defined by TS 102 361-2[5]
Table 1-85 CSBK PDU
When Data Type is MBC Continuation, the content of the frame can be MBC Continuation Block
or MBC Last Block.The length is 12 bytes.
Information element
Length
Remark
Last Block
1
Information element
Length
Remark
Protect Flag (PF)
1
Reserved
1
Full Link Control Opcode
(FLCO)
6
Feature set ID (FID)
8
The FID shall be either SFID or MFID
Error Full LC Data
56
(see note 1)
NOTE 1: The data information element is defined by the feature protocol document TS 102
361-2 [5].
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
58
MBC data
95
Table 1-86 MBC Continuation Block
Information element
Length
Remark
Last Block
1
MBC Data
79
MBC CRC
16
Filled with 0, calculated by the chip automatically
Table 1-87 MBC Last Block
When Data Type is DATA_HEADER, the content of the frame is DATA_HEAD_PDU. We
introduce the C_HEAD_PDU only (without CRC, the other HEAD_PDU is in the TS 102 361-1
Protocol ). The length is 10 bytes.
Information element
Length
Remark
Group or Individual
1
This bit is set to indicate that the destination LLID is
for a group
Response Requested (A)
1
Header
Compression
(HC)
1
Pad Octet Count (POC)
1
Format
4
Data packet identification
SAP Identifier
4
Pad Octet Count (POC)
4
Logical Link ID (LLID)
24
Destination
Logical Link ID (LLID)
24
Source
Full
Message
Flag
(FMF)
1
Blocks to Follow (BF)
7
Re-Synchronize flag (S)
1
Send sequence Number
(N(S))
3
Fragment
Sequence
Number (FSN)
4
Table 1-88 C_HEADER_PDU
When
Data
Type
is
Rate
1/2
Data,
the
contents
of
the
frame
can
be
Confirm_R_1_2_DATA_CONTINU_PDU,
UNConfirm_R_1_2_DATA_CONTINU_PDU,
Confirm_R_1_2_DATA_LAST_PDU or UNConfirm_R_1_2_DATA_LAST_PDU.The length is
12 bytes. See details from table 1-65 to 1-68.
Information element
Length
Remark
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
59
Data Block Serial Number
(DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
80
The user data field may contain pad octets
Table 1-89 Confirm_R_1_2_DATA_CONTINU_PDU
Information element
Length
Remark
User Data
96
The user data field may contain pad octets
Table 1-90 UNConfirm_R_1_2_DATA_CONTINU_PDU
Information element
Length
Remark
Data Block Serial
Number (DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
48
The user data field may contain up to 6 pad octets
Message CRC
32
Filled with 0, calculated by the chip automatically
Table 1-91 Confirm_R_1_2_DATA_LAST_PDU
Information element
Length
Remark
User Data
64
(see note)
Message CRC
32
Filled
with
0,
calculated
by
the
chip
automatically
NOTE:The user data field may contain up to 8 pad octets.
Table 1-92 UNConfirm_R_1_2_DATA_LAST_PDU
When
Data
Type
is
Rate
3/4
Data,
the
contents
of
the
frame
can
be
Confirm_R_3_4_DATA_CONTINU_PDU,
UNConfirm_R_3_4_DATA_CONTINU_PDU,
Confirm_R_3_4_DATA_LAST_PDU or UNConfirm_R_3_4_DATA_LAST_PDU.The length is
12 bytes. See details from table 1-69 to 1-72.
Information element
Length
Remark
Data Block Serial
Number (DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
128
The user data field may contain pad octets
Table 1-93 Confirm_R_3_4_DATA_CONTINU_PDU
Information element
Length
Remark
User Data
144
The user data field may contain pad octets
Table 1-94 UNConfirm_R_3_4_DATA_CONTINU_PDU
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
60
Information element
Length
Remark
Data Block Serial
Number (DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
96
The user data field may contain up to 12 pad octets
Message CRC
32
Filled with 0, calculated by the chip automatically
Table 1-95 Confirm_R_3_4_DATA_LAST_PDU
Information element
Length
Remark
User Data
112
The user data field may contain up to 14 pad octets
Message CRC
32
Filled with 0, calculated by the chip automatically
Table 1-96 UNConfirm_R_3_4_DATA_LAST_PDU
When Data Type is IDLE, the content of the frame is IDLE_PDU. The length is 12 bytes.See
details in table 1-73.
Information element
Length
Remark
User Data
96
Table 1-97 IDLE_PDU
When
Data
Type
is
Rate
1
Data,
the
contents
of
the
frame
can
be
Confirm_R_1_DATA_CONTINU_PDU,
UNConfirm_R_1_DATA_CONTINU_PDU,
Confirm_R_1_DATA_LAST_PDU or UNConfirm_R_1_DATA_LAST_PDU.The length is 24
bytes. See details from table 1-74 to 1-77.
Information element
Length
Remark
Data Block Serial
Number (DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
176
The user data field may contain pad octets
Table 1-98 Confirm_R_1_DATA__CONTINU_PDU
Information element
Length
Remark
User Data
192
The user data field may contain pad octets
Table 1-99 UNConfirm_R_1_DATA__CONTINU_PDU
Information element
Length
Remark
Data Block Serial
Number (DBSN)
7
C-DATA CRC
9
Filled with 0, calculated by the chip automatically
User Data
144
The user data field may contain up to 18 pad octets
Message CRC
32
Filled with 0, calculated by the chip automatically
Table 1-100 Confirm_R_1_DATA__LAST_PDU
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
61
Information element
Length
Remark
User Data
160
(see note)
Message CRC
32
Filled with 0, calculated by the chip automatically
NOTE:The user data field may contain up to 20 pad octets.
Table 1-101 UNConfirm_R_1_DATA__LAST_PDU
1.2.48 DPMR_PREAMBLE_LENGTH
DPMR standard allows the length of the preamble to be more than the default 72 bits (15
milliseconds). This command sets the length of additional preambles and length of silence (before
preamble) in increment of 20 milliseconds
Field Identifier
Preamble Length
Silence Length
1 Byte
1 Bytes
1 Byte
0x046
Length additional Preambles in 20
millisecond unit
Silence length before preamble in 20
millisecond unit
Default
0
0
Table 1-102 DPMR_PREAMBLE_LENGTH Field Format
1.2.49 DPMR_CALL_OPTION
This field is used to set the DPMR specific call options
Field Identifier
DPMR Call Options
1 Byte
5 Bytes
0x47
Data[0]:
Bit 7: Slot timing flag
0: The message sent to far end can be sent freely
1: The message sent to far end has to be sent at slot
boundary. The first bit of the preamble will be sent 30
milliseconds from the last bit of the last received
message
Bit 6: SQ detection enable
0: SQ detection is not done by CT3258
1: SQ detection is done by CT3258
Bit 5: IQ receive enable
0: CT3258 in IF IQ mode
1: CT3258 in base band mode
Bit 4: RF control enable
0: CT3258 does not control RF chip (SCT3700)
1: CT3258 controls RF chip.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
62
Bit 3-0: Number of the power saving headers to precede
the next message. Zero to disable power saving headers
Data[1]: voice delay constant and transmit control
Bit 7: IQ transmit enable
0: CT3258 transmitting in IQ mode
1: CT3258 transmitting in base band mode
Bit 6: Enable Wrong Vocoder report
Bit 5:0: voice delay constant
0-40: voice delay constant in steps of 40
milliseconds
Data[2]: Report options
Bit 7: 1B 09, 1B 0A report
0: No report of 1B 09 and 1B 0A
1: Report 1B 09 and 1B 0A
Others: reserved
Default
0
Table 1-103 DPMR_CALL_OPTION Field Format
Note: In order to send extended power saving headers, DPMR_CALL_OPTION must be called
each time when a communication is to start
1.2.50 DPMR_END_UE
This field contains the 17 bits of unencoded END data.
Field Identifier
17 bit of unencoded END
1 Byte
3 Bytes
0x4B
DATA[0]={ET[1:0], ARQ[1:0], TX_WAIT[3:0]}
DATA[1]={STATUS[4:0], 3b000}
DATA[2]=0
Default
0,0,0
Table 1-104 DPMR_END_UE Field Format
The details of ET, ARQ, TX_WAIT and status are given in the following tables.
00 Normal end frame
01 End frame with status message
10 Reserved
11 Reserved
Table 1-105 Details ET Field
00 No ACK request to called station
01 ACK request to called station
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
63
10 Reserved
11 Reserved
Table 1-106 ARQ Field Details
0000
No specified time
0001
40 ms (half a frame)
0010
80 ms (one frame)
0011
160 ms (two frames)
0100
320 ms (one superframe)
Other
Other Reserved
Table 1-107 Details of Tx WAIT Field
1.2.51 DIGC_FS1
This field contains the 48 bits of FS1 data for DPMR. It is also used to generate a fixed 48 bit test
pattern for both DPMR and DMR mode.
Field Identifier
48 bit of encoded FS1
1 Byte
6 Bytes
0x4C
DATA[0]=FS1[47:40]
DATA[1]=FS1[39:32]
DATA[5]=FS1[7:0]
Default
0x57,0xff,0x5f,0x75,0xd5,0x77
Table 1-108 DIGC_FS1 Field Format
1.2.52 DIGC_CALLED_ID_BIN
This field contains the called ID in 24 bit binary form.
Field Identifier
24 bit binary called ID
1 Byte
3 Bytes
0x50
DATA[0]=CALL_ID_BIN[23:16]
DATA[1]= CALL_ID_BIN [15:8]
DATA[2]= CALL_ID_BIN [7:0]
Default
0,0,0
Table 1-109 DIGC_CALLED_ID_BIN Field Format
1.2.53 DIGC_OWN_ID_BIN
This field contains the own ID in 24 bit binary form.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
64
Field Identifier
24 bit binary own ID
1 Byte
3 Bytes
0x51
DATA[0]=OWN_ID_BIN[23:16]
DATA[1]= OWN_ID_BIN [15:8]
DATA[2]= OWN_ID_BIN [7:0]
Default
0,0,0
Table 1-110 DIGC_OWN_ID_BIN Field Format
1.2.54 DPMR_CALLED_ID_BCD
This field contains the called ID in 7 BCD codes.
Field Identifier
Called ID in 7 BCD codes
1 Byte
4 Bytes
0x52
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, 0x4b0000}
Default
0xaa,0xaa,0xaa,0xa0
Table 1-111 DPMR_CALLED_ID_BCD Field Format
If the user dials less than 7 digits, the user should use 0x0F to fill the place for un-dialed digits.
Upon receiving the message with less than 7 digits, CT3258 will fill the rest of the digits to
complete 7 digits if layer 3 process mode is enabled.
1.2.55 DPMR_OWN_ID_BCD
This field contains the own ID in 7 BCD codes.
Field Identifier
Own ID in 7 BCD codes
1 Byte
4 Bytes
0x53
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, 0x4b0000}
Default
0x00,0x00,0x00,0x00
Table 1-112 DPMR_OWN_ID_BCD Field Format
1.2.56 DPMR_M_V_F_E
This field contains communication mode (M), version (V), and communication format (F) fields.
Field Identifier
M and F fields
1 Byte
1 Byte
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
65
0x54
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Default
0
Table 1-113 DPMR_M_V_F Field Format
The meaning of M, V, F and EP are described in section CALL_START.
1.2.57 DPMR_PROTOCOL_OPTION
This field is used to set the DPMR specific protocol options
Field Identifier
DPMR Protocol Options
1 Byte
1 Byte
0x55
Bit 7: Protocol Support
0: Support TS 102 490
1: Support TS 102 490 and TS 102 658
Bit 6: NDR Support
0: No Support for NDR
1: Support for NDR
Bit 5 : TS 102 658 Mode 3 Support
0: No Support for Mode 3
1: Support for Mode 3
Bit 4: Maintenance Message Report
0: Repeated Maintenance Message only reported only once.
1: Every reported messages are reported
Bit 3: Reserve (Should set to zero)
Bit 2: Reserve
Bit 1 : All call mapping
0: Old way of all call mapping: TS 102 658 (V2.1.1 or
earlier)
1: New way of all call mapping
Bit 0 : 12.5 kHz DPMR support.
0: 6.25 kHz DPMR
1: 12.5 kHz DPMR
Default
0
Table 1-114 DPMR_PROTOCOL_OPTION Field Format
1.2.58 DPMR_SLD
This field contains 18 bits of slow data.
Field Identifier
M and F fields
1 Byte
4 Bytes
0x56
DATA[0]=SLD[17:10]
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
66
DATA[1]=SLD[9:2]
DATA[2]={SLD[1:0], 0x000000}
Default
0x80,0x40,0x00
Table 1-115 DPMR_SLD Field Format
The meaning of SLD field is defined in the TS 102 658 or TS 102 490:
Bit position
Meaning
17
Continuation Flag 1
0: User data continuous after the following byte
1: User data is terminated by the following byte
16-9
User data byte 1
8
Continuation Flag 2
0: User data continuous after the following byte
1: User data is terminated by the following byte
7-0
User data byte 2
Table 1-116 Details SLD Field
Note that SLD filed can also be modified by WORK_MODE command. Upon receiving command
WORK_MODE with the mode set to TX or duplex, the SLD field is reset to default 0x80, 0x40,
0x00. In a typical voice call with slow data, the MCU always send WORK_MODE command
before sending the first DPMR_SLD command.
1.2.59 DPMR_HT_CI_PM
This field contains header type (HT) and call information (CI) fields.
Field Identifier
HT and CI fields
1 Byte
2 Bytes
0x57
DATA[0]={HT[3:0], CI[10:7]}
DATA[1]={CI[6:0], PM}
Default
0,0
Table 1-117 DPMR_HT_CI_PM Field Format
Details of HT, CI and PM can be found in the following tables.
HT indicates header type.
0000
Communication start header (a superframe follows)
0001
Connection request header (an END frame follows)
0010
Unconnect request header (an END frame follows)
0011
ACK (this a single frame, ACK or NACK is differentiated by the CI bits setting)
0100
System request header (an END frame follows) or Maintenance Message header
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
67
0101
ACK header reply to a system request (a superframe follows)
0110
System delivery header (a superframe follows)
0111
Status response header (an END frame follows)
1000
Status request header
Other
Reserved
Table 1-118 Header Type Details
PM is the channel preservation flag used for base station to send out channel preservation
messages. When sending a voice call, this bit is used to enable the encryption.
PM Channel Preservation Flag
0
Channel is not preserved
1
Channel is preserved
Table 1-119 Channel Preservation Flag Field Details
CI contains 3 bits of CI type and 8 bits of CI information.
CI Type
CI Information
3 bits
8 bits
Table 1-120 CI Format
The meaning of CI depends on the header types.
Use
Purpose
Power save
Indicate normal or extended header type
T1 or T2 Data
Indicate the type of data (supplementary service)
T3 Data (Packet)
Indicate data frame size and number of frames
Acknowledgements Indicate ACK or NACK and reason
System request
System response
Delivery Header
CI Type defines the purpose
CI Information is not used and set to 0000 0000
Table 1-121 CI Usuage
The details of CI for different header types are described in the following sub-sections,
1.2.59.1 Call Information for Power Save
CI Type (3 bits):
CI Type
Definition
111
Extended wake-up Header
Other value
Normal Header type
Table 1-122 CI Type for Power Save
If the extended wake-up Header is used then the last 4 information bits will show how many
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
68
Headers frames follow the current one (i.e. counting down to zero).
0000 0000
Normal Header frame
0000 0001
--------------
0000 1111
Ext Header frame 1
-------------------------------------------------------
Ext Header frame 15
Other
Reserved
Table 1-123 CI Information for Power Save
1.2.59.2 Call Information for Types 1 and 2 data
Data communications (types 1 and 2):
CI Type
CI Information
001
Format
Reserved
4 bits
4 bits
Table 1-124 CI Type for Type 1 and Type 2 Data
Reserved bits are set to 0000.
Format:
0000
Status message
0001
Precoded message
0010
Free text message (radio generated data)
0011
Short file transfer
0100
User defined data 1
0101
User defined data 2
0110
User defined data 3
0111
User defined data 4
Other Reserved
Table 1-125 CI Information for Type 1 and Type 2 Data
1.2.59.3 Call Information for Type 3 (packet) data
Information bits for Packet data format (Type 3):
CI Type
CI Information
011
pdS Frame Size
pdM Data Size
4 bits
4 bits
Table 1-126 CI for Type 3 Data
Details of pdS (packet data size) and pdM (number of transmitted frames) are details by the tables
below.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
69
pdS
Frame time (ms)
Data size bits
0
80
288
1
160
672
2
240
1056
3
320
1440
Other Reserved
Reserved
Table 1-127 Packet Data Frame Sizes (pdS)
pdM
Number of Data frames
0
1 frame
1
2 frames
2
3 frames
3
4 frames
4
5 frames
5
6 frames
6
7 frames
7
8 frames
Other
Reserved
Table 1-128 Number of Transmitted Frames (pdM)
1.2.59.4 Call Information for System Transactions
System request/answer/delivery header:
CI Type Definition
000 Reserved
001 Dynamic group request/answer/delivery
010 Reserved
011 Reserved
100 ESN request/reply
101 MFID request/reply
110 Contact station address(via Interconnect, IP)
111 Reserved
Table 1-129 CI Type for System Transactions
CI Info
Definition
0000 0000 All bits set to zero (the data size is
indicated in the CCH SLD field)
Table 1-130 CI Information for System Transactions
1.2.59.5 Call Information for Acknowledgments
Acknowledgment:
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
70
CI Type Definition
000
Reserved
001
ACK (Rx OK)
010
NACK (data error, resend request)
011
NACK (request denied)
Other
Reserved
Table 1-131 CI Type for Acknowledgements
CI Info
Definition
0
1 to 255 ACK/NACK status (rejection reason defined by user)
Table 1-132 CI Information for Acknowledgements
1.2.59.6 Call Information for appended data
CI type:
CI
Type Definition
Meaning
000
Short Data
Service Requested is Short Data
011
Call Diversion
Call Diversion Service
Table 1-133 CI type for Appended data
Short data CI Info:
CI Info
length
Meaning
UAD(0 - 3)
[7:6],2 bits
Appended Short Data Number of appended UDTs
required to transport short data
SYMB
[5:0],6 bits
Number of symbols in the short data ,
Table 1-134 CI Information for Short data
Call Diversion CI Info:
CI Info
Length
Meaning
UAD(00) [7:6],2 bits
Number of Appended Data = 1
SYMB
[5:0],6 bits
N/A for call diversion
Table 1-135 CI Information for Call Diversion
1.2.59.7 Call Information for Maintenance Message
CI type
Type Definition
CI Info
000
IDLE Message
N/A
001
Guard Message
See table below
Preservation message
See note
Table 1-136 Call Information for Maintenance Message
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
71
CI Info
length
Meaning
Reserved
[7:4],4bits
Reserved
Guard Kind
[3:0],4 bits
0000
Reserved
0001
DIS_PTT
Disable Target MS or
Talkgroup PTT
0010
EN_PTT
Enable Target MS or
Talkgroup PTT
0011
ILLEGALLY
PARKED
Clear down from the
payload channel MS
whose address does not
match,Source or Target
Address
0100 to 1111
Reserved
Table 1-137 Call Information for Guard Message
Note: Preservation message is not identified by CI. It is identified with PM as 1. In preservation
message, CI keeps value of previous traffic channel down link messages, along with CALLED ID,
OWN ID, M, V, F, and EP fields.
1.2.60 DPMR_CI
This field contains 11 bits call information. It is used for reporting CI information by CT3258 to
the MCU upon receiving an extended header.
Field Identifier
CI field
1 Byte
2 Byte
0x5A
DATA[0]={CI[10:3]}
DATA[1]={CI[2:0], 0x5b00000}
Default
0,0
Table 1-138 DPMR_CI Field Format
1.2.61 DPMR_CC
This field contains the 24 bits of CC data for the transmitter and the receiver.
Field Identifier
24 bit of encoded CC
1 Byte
3 Bytes
0x5C
DATA[0]=CC[23:16]
DATA[1]=CC[15:8]
DATA[2]=CC[7:0]
Default
0x57, 0x75,0x77
Table 1-139 DPMR_CC Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
72
1.2.62 DPMR_SEND_SF
Send super frame command. Upon receiving this command, CT3258 assemble a super frame and
send to the far end.
Field Identifier
1 Byte
0x5F
Table 1-140 DPMR_SEND_SF Field Format
1.2.63 DPMR_SEND_HEADER
Send header frame command. Upon receiving this command, CT3258 assemble a header frame
and send to the far end.
Field Identifier
1 Byte
0x60
Table 1-141 DPMR_SEND_HEADER Field Format
1.2.64 DPMR_SEND_END
Send end frame command. Upon receiving this command, CT3258 assemble an end frame and
send to the far end.
Field Identifier
1 Byte
0x61
Table 1-142 DPMR_SEND_END Field Format
1.2.65 DPMR_SEND_AD
Send DPMR_SEND_AD command. Upon receiving this command,CT3258 assemble a series of
appended data frmaeinclude HEADER FRAME ,APPENDED DATA FRAME (according as
appended data number),END FRAME.
Field Identifier
Call Details
1 Byte
1 Byte
0x62
DATA[0]={M[2:0], V[1:0], F[1:0], EP}
Call Mode, Version, Call Format,
Emergency Priority
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
73
Default
0
Table 1-143 DPMR_SEND_AD Field Format
DPMR_SEND_AD can only be used in TS 102 658 PROTOCOL.
The meaning of M, V, F and EP fields are described in the section CALL_START.
Note: Please set the content of appended data frame with DIGC_DATA_FRAME command before
sending appended data frame with this command.
1.2.66 DIGI_MIC_GAIN
This message set the modulation gain for the microphone used in the digital mode only.
Table 1-144 DIGI_MIC_GAIN Field Format
1.2.67 DIGI_SPEAKER_GAIN
This message set the modulation gain for the speaker used in the digital mode only.
Table 1-145 DIGI_SPEAKER_GAIN Field Format
1.2.68 I2C_OPERATION
This command is used to read and write raw I2C command to the I2C devices that are connected
to CT3258. Examples of the connected devices include codec, security keys and RF transceiver.
This command differs from the codec bypass packet described in 1.1.3 in that codec bypass packet
can only be used for certain codecs, while I2C_OPERATION can be used for any connected I2C
devices.
Field Identifier
Event
1 Byte
2 Byte
0x068
Linear gain applied to the microphone in Q16.11 (16 bits total, 11 bits fraction,
MSB first), with 2048 as 0 dB. This gain is used in digital mode only
Field Identifier
Event
1 Byte
2 Byte
0x069
Linear gain applied to the speaker in Q16.11 (16 bits total, 11 bits fraction,
MSB first), with 2048 as 0 dB. This gain is used in digital mode only
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
74
Table 1-146 I2C_OPERATION Write Field Format
To read from I2C device, the user should set TYPE field to 0x20, and the I2C_OPERATION
syntax is as follows:
Field Identifier
I2C device Address
Device register address
I2C Data Length
1 Byte
1 Byte
1 Byte
1 Byte
0x06A
I2C device address
Device register address
Number of Bytes to
Read
Default
0
0
0
Table 1-147 I2C_OPERATION Read Field Format
The response packet returns the I2C data
Field Identifier
Data read from I2C
1 Byte
I2C Data Length
0x6A
Data[0]
Data[1]
Data[I2C Data Length-1]
Default
0
Table 1-148 I2C_OPERATION Read Response Field Format
1.2.69 MISC_GAIN
This command set the various gain levels, including the input and output gain for IQ signal, and
CTCSS/DCS receive gains, and frequency of the signal used for calibration, and DC filter settings.
Field
Identifier
IQ TX Gain
IQ RX Gain
CTCSS/DCS
Receive
Gain
Calibration
Signal
Frequency
DC Filter
Configuration
Reserved
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 Bytes
1 Byte
3 Bytes
0x06B
16 bit linear
16 bit linear
16 bit linear
16 bit linear
See table
Field
Identifier
I2C
device
Address
Device register
address
I2C Data Length
I2C data
1 Byte
1 Byte
1 Byte
1 Byte
I2C Data Length
0x06A
I2C
device
address
Device
register
address
Number of Bytes to
Write.
Data[0]
Data[1]
Data[I2C Data Length]
Default
0
0
0
N/A
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
75
gain, MSB
first, in
Q16.11
gain, MSB
first, in
Q16.11
gain, MSB
first, in
Q16.11
gain, MSB
first, in
Q16.11
below for
detail.
Default
2048
2048
2048
2048
0
Table 1-149 MISC_GAINS Field Format
Bit Position
Bit Name
Descriptions
7-2
Reserved
1
DC Filter enable
0: DC filter is disabled
1: DC filter is enabled.
0
Manual DC
Mode
0: Auto DC Mode, DC filter is
enabled at low input level and
disabled at high input level for digital
calls, and always enabled for analog
call.
1: Manual DC Mode. See bit 1 for
details.
Table 1-150 DC Configuration Detail
The IQ RX gain is applied to the input IQ signals (when IQ receive is enabled) after it is received
by CT3258. The IQ TX gain is applied to the output IQ signals (when IQ transmit is enabled)
before it is sent to the codec.
The CTCSS/DCS receive gain is used in analog mode, and is applied to the CTCSS/DCS signals
after the 300 HF LPF. It is used to adjust the level of DCS subaudio signals without affecting the
level of audio signals.
The calibration signals are I / Q sinusoidal signals generated by CT3258 TX path, which can be
looped back by SCT3700 to CT3258 RX for I Q calibration. The frequency of the signals can be
programmable with this command. A default value of 2048 corresponds to a frequency of 350 Hz.
1.2.70 SQ_LEVEL
This command is used for calibration of SQ detection. It is also used to read the RSSI and OOBE
levels.
Field
Identifi
er
GAIN_
ADJUS
T
EXT
LNA_
GAINL
Forced
RF
Gain
OOBE_
INTV
OOBE
_HI_D
OOBE
_LO_D
OOBE
_HI_A
OOBE
_LO_A
1 Byte
1 Byte
1Byte
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 Bytes
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
76
0x06C
Gain
Adjust
ment,
from
-128 dB
to +127
dB
Externa
l LNA
value.
Refer to
table
below.
Forced
RF
Gain
Setting.
See
table
below
for
Details
OOBE
detectio
n
interval
in units
of
1.333
ms.
Digital
OOBE
high
thresh
old,
16 bit
linear
value
Digital
OOBE
low
thresh
old,
16 bit
linear
value
Analog
OOBE
high
thresh
old,
16 bit
linear
value
Analog
OOBE
low
thresh
old,
16 bit
linear
value
Default
0
0
0
90
0x4000
0x0400
0x4000
0x0400
Table 1-151 SQ_LEVEL Field Format
Bit Position
Bit Name
Descriptions
7
Forced
RF
Gain
Enabled
0: Forced RF Gain Disable. RF gain controlled by AGC
algorithm
1: Forced RF Gain Enabled. RF gain are setting by bit 6-0.
6-0
Gain Details
RF Gain Details: It is different for RDA1847 or SCT3700
For RDA1847,
0-15, Gain Index
Others, reserved
For SCT3700
Bit 6-4: LNA gain setting
001: highest gain
010: highest gain -6 dB
011: highest gain -12 dB
100: highest gain -24 dB
101: highest gain -36 dB
110: highest gain -48 dB
Others: reserved
Bit 3-0: PGA settings:
0000: lowest gain
0001-1100, 2-24 dB, 2 dB a step
Others, reserved
Table 1-152 Force RF Gain Details
Bit Position
Bit Name
Descriptions
7:0
External
LNA
gain
Setting
Only For SCT3700
Bit 7:6: Reduction of AGC target level.
00: Maximum AGC target level used
01: Maximum AGC target level – 6 dB
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
77
10: Maximum AGC target level – 12 dB
11: Maximum AGC target level – 18 dB
Bit 5:0: External LNA gain in db if it is used.
If the external LNA is not used, the value is always zero. If
the external LNA is used, it is the difference of external
gain value when external LNA is enabled and when it is
disabled. Please refer to Chapter 2.6 for its usage.
Table 1-153 External LNA setting Details
GAIN ADJUST is used to account for all unspecified gains in the analog path. It may be different
with different analog implementations. It may be even different from radio to radio. The RSSI is
correct only if the value is set correctly. If external LNA is used, it need to be disabled when
calibrating GAIN_ADJUST.
If external LNA is not used, “EXT LNA GAIN” should be assigned to its default value of zero.
If external LNA is used, the user should set EXT LNA GAIN appropriately to reflect the
characteristic of the external LNA. It involves two part. Bit 5-0 is used to set the value of LNA
gain in dB. It reflect the receive gain increase when the external LNA is enabled from when it is
disabled. Also, if the external LNA is used, the user should lower the maximum SCT3700 AGC
gain to avoid saturating the RX signals. The amount of maximum AGC target level decrease are
set by bit 7-6 of “EXT LNA GAIN” fields. The following is a guide line:
00: if the external LNA gain is less than 6 dB.
01: if the external LNA gain range in 6-12db
10: if the external LNA gain range in 12-18db
11: if the external LNA gain range in 18-24db
OOBE indicates the energy of FM demodulated signals at frequency band above 3 kHz. OOBE
value is small when RF carrier signal exists, and large when no carrier signals present. It is a good
indication for SQ (or carrier) detection. Typically, when carrier signals present, OOBE level is
below 8.
OOBE level has a high threshold and a low threshold for SQ detection, with the high threshold
larger than the low threshold. To detect the presence of carrier, the OOBE level is compared with
the low threshold. Carrier detection is reported if the OOBE level is above the low threshold. Once
carrier is found, the OOBE level is compared with the high threshold. If the OOBE level is lower
than the high threshold, carrier lost is reported.
The OOBE levels for analog and digital calls are different. As a result, CT3258 has two sets of
high and low OOBE threshold for digital and analog separately.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
78
SQ_LEVEL command is also used to read narrow, wide band RSSI and OOBE levels. The
response packet has the following format.
Field Identifier
NB_RSSI
WB_RSSI
OOBE Level
Inband Level
1 Byte
1 Byte
1 Byte
2 Byte
2 Byte
0x06C
Narrow band
RSSI + 137
Wide band RSSI +
137
OOBE level
Inband signal
energy level
Default
There are two RSSI estimators in the CT3258. One of them is narrow band RSSI, used to estimate
the energy of signals in the channel of interests. The other is wide band RSSI, used to estimate the
energy of the signal in the channel of interests and surrounding channels. All RSSI values in this
command are of dB scale.
All RSSI values are expressed as unsigned 8 bit integer. The real RSSI is this value minus 137.
For example, for WB_RSSI value of 17, the real wide band RSSI is 17 – 137 = -120 dBm.
1.2.71 SPI_OPERATION
This command is used to write raw SPI command to the SPI devices that are connected to CT3258.
Examples of the connected devices include SCT3700.
Field Identifier
SPI Register Address
SPI register Contents
1 Byte
1 Byte
1 Byte
0x06D
SPI Register Address
SPI register Contents
Default
0
0
Table 1-154 SPI_OPERATION Write Field Format
The SPI register table for SCT3700 can be found in SCT3700 data sheet.
1.2.72 DMR_SLC
This command is used to report the short LC data from the base station.
Field Identifier
Offset
1 Byte
4 Bytes
0x06E
Contains 28 bit of SLC data
Default
0
Table 1-155 DMR_SLC Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
79
1.2.73 DMR_CALL_SLOT
This field is used to set the slot number for the transmitting or receiving calls.
DMR_CALL_
SLOT
Call
Timing
Update
Direct TDMA
Rev
Slot mode
1 BYTE
BIT[7]
BIT[6]
BIT[3]
BIT[4]
BIT[3:0]
0x6F
0:Receive Call
1:Transmit Call
0:
keep
current
TX timng
1: Update
TX timing
according
RX timing
0: Direct TDMA
Mode disabled
1: Direct TDMA
mode enabled
Reserved
0:random
1:slot1
2:slot2
3:both(only Rx)
Table 1-156 DMR_CALL_SLOT Field Format
Note that the slot number is in terms of mobile station slot number, or downlink slot number.
1.2.74 EQULIZER_FILTER
This command configures the coefficients for the audio equalizer filters. A total of up to three
equalizer filters can be enabled. Each filter is a second order IIR filter implemented in straight
form. The transfer function of the filters are shown in the following equation:
H(z) = (b0 + b1 * z^(-1) + b2*z^(-2)) / (1 + a1 * z^(-1) + a2 * z^(-2))
The sampling rate of the filter is 24 kHz.
This command gives the filter coefficients. All coefficients are in Q16.14 format (16 bit total, with
14 bit fraction), with MSB first
By default, no equalizer filter is enabled.
Field Identifier Filter Selection Byte
a1
a2
b0
b1
b2
1 Byte
1 Byte
2 Bytes
2 Bytes
2 Bytes
2 Bytes 2 Bytes
0x70
Bit 7-6: reserved
Bit 5: TX or RX selection
0: Filter at RX side
1: Filter at TX side
Bit 4: Enable flag
1: Selected filter enabled
0: Selected filter not enabled
Bit 3-0: Filter selection
a1 in
Q16.14
MSB
first
a2 in
Q16.14
MSB
First
b0 in
Q16.14
MSB
First
b1 in
Q16.14
MSB
first
b2 in
Q16.14
MSB
First
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
80
1: Filter 1 selected
2: Filter 2 selected
3: Filter 3 selected
Others: reserved
Default
0
-
-
-
-
-
Table 1-157 EQUALIZER FILTER Field Format
1.2.75 DMR_FLC
This message set the information for the FLC in a DMR control packet.
Field Identifier
FLC
1 Byte
3 Byte
0x076
Data[0] = {PF, REV, FLCO[5:0]}
Data[1] = {FID[7:0]}
Data[2] = {SeversOption[7:0]}
Table 1-158 DMR_FLC Field Format
Details of the elements are defined in the DMR standard (TS 102 361)
PF field is defined by
PF
Protect Flag
0
Reserved
Table 1-159 PF Settings
FLCO field is defined by:
FLCO
Full Link Control Opcode
000000
Group Voice CallGrp_V_Ch_Usr
000011
Unit to Unit Voice CallUU_V_Ch_Usr
Table 1-160 FLCO Settings
FID field is defined by:
FID
Feature set ID
0000 0000
Standardized feature set ID for the services
0000 0001
Reserved for future standardization
0000 0010
Reserved for future standardization
0000 0011
Reserved for future standardization
0000 0100
Manufactures specific feature set ID(MFID)
Etc.
Etc
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
81
0111 1111
Manufactures specific feature set ID(MFID)
1xxx xxxx
Reserved for future MFIDs allocation(MFID)
Table 1-161 FID Settings
Service Option field is defined by:
Service option element
Bit position
Value remark
Emergency
Bit[7]
0:Non-Emergency service
1:Emergency service
Privacy
Bit[6]
0:privacy is not defined
Reserved
Bit[5:4]
00:Reserved for future
Broadcast
Bit[3]
0:Non-broadcast service
Open voice call mode(OVCM)
Bit[2]
0:Non_OVCM call
1:OVCM call
Priority level
Bit[1:0]
00: NO Priority
01: Priority 1
10: Priority 2
11: Priority 3
Note: Priority 3 is the highest Priority
Table 1-162 Service Option Settings
1.2.76 DMR_CC
This message set the color code index for DMR calls
Field Identifier
CC
1 Byte
1 Byte
0x077
0: CC0 is used
1: CC1 is used
15: CC15 is used
Table 1-163 DMR_CC Field Format
1.2.77 DMR_CALL_START
This command is used to start a call. Upon receiving this command, CT3258 begins to send call to
the far end.
Field Identifier
1 Byte
0x078
Table 1-164 DMR_CALL_START Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
82
1.2.78 DMR_CALL_OPTION
This field is used to set the DMR specific call options
Field Identifier
DMR Call Options
1 Byte
5 Bytes
0x79
Data[0]:
Bit 7: unused slot fill pattern
0: unused slot filled with 0
1: unused slot filled with random bits.
Bit 6: SQ detection enable
0: SQ detection is not done by CT3258
1: SQ detection is done by CT3258
Bit 5: IQ receive enable
1: CT3258 in IF IQ mode
0: CT3258 in base band mode
Bit 4: RF control enable
0: CT3258 does not control RF chip (SCT3700 or
RDA 1847)
1: CT3258 controls RF chip.
Bit 3: RF slot timing control (SCT3700 Only)
0: No control of SCT3700 TX signal during
transmission
1: Turn on and off SCT3700 TX signal aligned with
the base band slot timing.
Bit 2: RF_TIMING RX mode enable
0: RF_TIMING port outputs slot timing information in
TX mode only
1: RF_TIMING port outputs slot timing information in
TX mode and RX mode
Bit 1-0: Traffic mode
0: DMR continuous transmission mode
1: DMR direct mode with no reverse channel
2: DMR direct mode with reverse channel
Data[1]: voice delay constant and IQ transmit mode
Bit 7: IQ transmit enable
1: CT3258 transmitting in IQ mode
0: CT3258 transmitting in base band mode
Bit 6: Reserved
Bit 5:0: voice delay constant
0-40: voice delay constant in steps of 40 milliseconds
Others: reserved
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
83
Data[2]:
Bit 7-4: Number of good CACH received before
reporting DMR_SLOT_FOUND with the slot verified
flag set.
Bit 3-0: Number of repeated LC header
Data[3]:
Bit 7-6: Reserved
Bit 5-0: Bit mask for reporting repeated identical
messages.
Bit 4: 0, report identical SLC once
1, report every SLC
Bit 3: 0: Report identical IDLE data frames once
1: Report all IDLE data frames
Bit 2: 0: Report identical CSBK data frames once
1: Report all CSBK data frames
Bit 1: 0: Report identical LC headers once
1: Report all LC headers
Bit 0: 0: Report identical LC terminators once
1: Report all LC terminators
Data[4]: Reserved
Default
0
Table 1-165 DMR_CALL_OPTION Field Format
1.2.79 DMR_OFFSET
This command set the timing offset of the RF_TIMING signal to the internal slot timing signal,
which is aligned with base station timing. With default parameters, the RF_TIMING signal is
identical to the internal slot timing signal, which has a 60 millisecond period and 50% duty cycle,
with the rising edge aligned with the end of a BS slot. With DMR_OFFSET command, the
RF_TIMING signal can be ahead or lag of the internal slot timing signals.
Field Identifier
Offset
Length
1 Byte
2 Bytes
2 Bytes
0x07A
16 bit signed integer,
MSB first. The unit is
41.7 microseconds.
The range is -720 to
720, or -30
milliseconds to +30
16 bit unsigned
integer, MSB first.
The unit is 41.7
microseconds. The
range is 240 to
1200, or 10
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
84
milliseconds
milliseconds to 50
milliseconds
Default
0
720
Table 1-166 DMR_OFFSET Field Format
1.2.80 DMR_SLOT_TYPE
This field is used report the slot type when a call is received.
Slot Type
Colour Code
Data Type
1 BYTE
BIT[7:4]
BIT[3:0]
0x7B
Value:0-15
0000:PI header
0001:Voice LC header
0010:Terminatior with LC
0011:CSBK
0100:MBC header
0101:MBC continuation
0110:data header
0111:rate 1/2 data
1000:rate 3/4 data
1001:idle
1010:Rate1 Data
Others:Reserved for future use
Table 1-167 DMR_SLOT_TYPE Field Format
1.2.81 DMR_EMB
This field is used report the EMB field when a call is received.
DMR_EMB
Colour Code
PI
LCSS
Rev
1 BYTE
BIT[7:4]
BIT[3]
BIT[2:1]
BIT[0]
0x7C
Value:0-15
Reserved
00:Single fragment LC or first fragment
CSBK signalling
01:First fragment of LC signalling
10:Last fragment of LC or CSBK
signaling
11:Continuation fragment of LC or
CSBK
Reserved
Table 1-168 DMR_EMB Field Format
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
85
1.2.82 DMR_CALLED_ID_BCD
This field contains the called ID in 8 BCD codes.
Field Identifier
Called ID in 7 BCD codes
1 Byte
4 Bytes
0x7D
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, K8}
Default
0xaa,0xaa,0xaa,0xaa
Table 1-169 DMR_CALLED_ID_BCD Field Format
K1 should be either 0 or 1. An 8 digit BCD should not exceed “16777016”. If the user wishes to
dial a 7 digit BCD number “1234567”, he/she should fill the K1-K8 as “01234567”.
1.2.83 DMR_OWN_ID_BCD
This field contains the own ID in 8 BCD codes.
Field Identifier
Own ID in 7 BCD codes
1 Byte
4 Bytes
0x7E
DATA[0]= {K1, K2}
DATA[1]= {K3, K4}
DATA[2]= {K5, K6}
DATA[3]= {K7, K8}
Default
0x00,0x00,0x00,0x00
Table 1-170 DMR_OWN_ID_BCD Field Format
1.2.84 DMR_SLOT_FOUND
This field is used by CT3258 to inform the MCU that synchronization with the far end BS or MS
is achieved and CACH is decoded.
DMR_SLOT FOUND
Slot Found Details
1 BYTE
1 Byte
0x7F
Details in the table below
Table 1-171 DMR_SLOT_FOUND Field Format
Bit Position
Bit Name
Bit Descriptions
7
Sync Type
MS Sync or BS Sync
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
86
0: MS Sync
1: BS Sync
6
Slot Verify
Slot verify flag
0: Slot not verified
1: Slot Verified
5
Slot invert
Slot invert flag
0: slot not inverted from last report
1: slot inverted from last report
4
Reserved
Reversed
3
AT
Access Type
0:inbound channel is idle
1:inbound channel is busy
note:in continuous transmission mode, for
both voice and data,the AT bit is set to 1;
2
TC
TDMA Channel selection
0:Following outbound burst is channel 1
1:Following outbound burst is channel 2
1:0
LCSS/TD
MA SLOT
When BS SYNC is found (bit 7 = 1),
These two bits indicate LCSS
00:Single fragment LC or first fragment
CSBK signalling see note
01:First fragment of LC signalling
10:Last fragment of LC or CSBK signaling
11:Continuation fragment of LC or CSBK
Signaling
When MS SYNC is found (bit 7 = 0), this two
bit indicates the types of MS SYNC found
0: no TDMA direct SYNC
1: TDMA SYNC 1 found
2: TDMA SYNC 2 found
Table 1-172 Slot Found Details
This field is used only by CT3258 to report the CACH information when BS SYNC is found, or
types of MS SYNC if MS SYNC is found. Identical CACH are not reported to reduce the traffic
between CT3258 and the MCU (after CACH is verified). A CACH verify scheme is used in
reporting DMR_SLOT_FOUND. Bit 7-4 of Byte 2 of DMR_CALL_OPTION command
specifies the number of good CACH received before reporting DMR_SLOT_FOUND with the
slot verified flag set. Before the number of good CACH has reached the specified limit, CT3258
reports every CACH that is found, without setting the slot verified flag. When the specified limit
is reached, CT3258 reports the last CACH with the slot verified flag set. If the slot number of the
last reported CACH matches the previously reported CACH, it indicates that no slot inversion is
needed. If the slot number of the last reported CACH does not match the previously reported
CACH, it indicates that slot inversion is needed. In this case, the user should treat all previous
report CACH as if the slot number is inverted (1 as 2, and 2 as 1).
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
87
2 Application Guides
2.1 Code Downloading
After CT3258 reset, it first down loads a boot loader from the MCU through the HPI and then
execute the boot loader. The boot loader then loads the rest of the application from the embedded
flash and start execution.
2.1.1 Boot loader Downloading
The boot loader is a program with fixed 1024 words. It is downloaded to CT3258 after CT3258
reset.
After the initial reset, CT3258 enters into boot loading mode. In boot loading mode, CT3258 is
automatically configured after reset to load a 1024-word block of instructions from the HPI port.
CT3258 then begins executing that instruction block immediately.
The HPI port is configured as 16-bit mode, low-byte first, and either Intel mode or Motorola mode.
PIO1 is sampled and used to select either Intel (LOW input) or Motorola (HIGH input).
The host must download exact 1024 words for this boot process to work.
Note that the boot loader for DPMR mode and DMR mode is different. Depending on the boot
loader types, CT3258 enters DPMR mode or DMR mode. In DPMR mode, commands for DMR
only (type 5) are not recognized. In DMR mode, command for DPMR only (type 3) are not
recognized.
2.1.2 Application Downloading
After the boot loader is downloaded to CT3258 and executed, CT3258 reads the application
firmware in the embedded flash and start execution.
2.2 DPMR Call Processing
CT3258 support two ways of processing digital calls: Easy Mode (layer 3), DPMR Layer 2 Mode
(layer 2).
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
88
2.2.1 Easy Mode
The Easy Mode is for users who dont have the in-depth understanding the DPMR protocol. MCU
uses simple CALL_START, CALL_STOP, CONNECT, DISCONNECT messages to start, stop a
voice calls, or initiate or disconnect a data calls. Internally, CT3258 handles all call processing
according the DPMR Protocol .
With Easy Mode, in addition to layer two processing, the CT3258 also performs call control of the
DPMR processing. “ANNEX A” Standard User Interface for CSF radio are implemented in
CT3258. At the transmitter, CT3258 supports wild character dialing, abbreviated dialing and
masked dialing. At the receiver, when a call is received, CT3258 matches incoming called number
with its own individual call number and group number and informs the MCU of matching results.
With Easy Mode, CT3258 strictly complies with the DPMR protocol (ETSI TS 102 490 or 658).
The ability to change any aspect of the protocol is disabled.
The process mode can be set or changed with PROCESS_MODE command. For Easy Mode,
Mode 3 is selected with PROCESS_MODE command.
2.2.1.1 Transmitting
In Easy Mode, the MCU passes called ID and own ID to CT3258. CT3258 saves this information
in the internal registers. Upon receiving a CALL_START packet, it formatted the information
according to the DPMR protocol and send to the far end.
For example, a voice can be started with the following packet.
Packet Header
START_BYTES
LENGTH
TYPE
Fields
DPMR_CALLED_ID
DPMR_OWN_ID
CALL_START
Parity
FBYTE
PARITY_BYTE
Table 2-1 Example Packet For Starting a Voice Call in Easy Mode
If a field has been sent from the MCU to CT3258 before, and does not change in the next packet,
this field can be omitted from the packet. For example, to redial a previous dial number, the MCU
only needs to send the following packet to CT3258
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
89
Packet Header
START_BYTES
LENGTH
TYPE
Fields
CALL_START
Parity
FBYTE
PARITY_BYTE
Table 2-2 Example of Redial Packet
The call can be ended with a packet with CALL_STOP field.
Packet Header
START_BYTES
LENGTH
TYPE
Fields
CALL_STOP
Parity
FBYTE
PARITY_BYTE
Table 2-3 Example of Call Stop Packet
2.2.1.2 Receiving
Upon receiving a call from the far end, CT3258 extracts useful information according to the
DPMR protocol and reports to the MCU.
The example below shows the packet sent to the MCU after receiving a new header frame.
Packet Header
START_BYTES
LENGTH
TYPE
Fields
CALL_HT_CI
DPMR_CALLED_ID
DPMR_OWN_ID
DPMR_M_V_F_E
DPMR_CC
CALL_MATCH
Parity
FBYTE
PARITY_BYTE
Table 2-4 Example of Packet from DSP after Receiving a Call
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
90
The type of FIELD to report can be changed with REPORT_FIELD command.
The fields can be sent in one packet or in multiple packets.
2.2.2 DPMR Layer 2 Mode
With DPMR Layer 2 Mode, CT3258 support DPMR up to layer 2 the does not handle the call
processing layer of the DPMR protocol. All call processing supports are provided by external
MCU. In this case, CT3258 just performs the tasks of transporting DPMR related messages
between the MCUs of the two terminals. As a result, the following process will be performed by
the MCU:
Air Interface Call Control Layer (Layer 3)
1. Establishing, maintaining and termination of calls
2. Individual or group call transmission and receptions
3. Destination addressing
4. Automatic matching of Called ID of incoming call to own ID and group ID
As comparison, these processes are completed by CT3258 with Easy Mode.
With DPMR Layer 2 Mode, the MCU can access primitive elements of the DPMR architecture.
For example, to start a call, the MCU send individual elements in the protocol to CT3258, with
DPMR_SEND_HEADER and DPMR_SEND_SF, whereas in easy mode, the user sends a simple
CALL_START to CT3258.
With easy mode, the user also has the ability to change synchronization pattern with DPMR_FS1,
DPMR_FS2, DPMR_FS3 and DPMR_FS4.
2.2.2.1 Transmitting
In DPMR Layer 2 Mode, the MCU pass un-encoded HT, END and CCH frames, or individual
information elements such as Called_ID or Own_ID to CT3258. CT3258 saves this information in
the internal registers. Upon receiving a DPMR Packet with DPMR_SEND_HEADER,
DPMR_SEND_END or DPMR_SEND_SF, the MCU performs channel coding and interleaving,
forms the complete HI, END and Super Frame structure, and send to the far end.
For example, upon receiving the DPMR Packet below, CT3258 builds a CCH0 to CCH3 structure.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
91
Packet Header
START_BYTES
LENGTH
TYPE
Fields
DPMR_CCH_UE (0)
DPMR_CCH_UE (1)
DPMR_CCH_UE (2)
DPMR_CCH_UE (3)
Parity
FBYTE
PARITY_BYTE
Table 2-5 Example 1 of a Packet from MCU in DPMR Layer 2 Mode
Then if the MCU send a packet with DPMR_SEND_SF, it forms a super frame with the saved
information, and sends it to the far end.
Similarly the host message to build a HI frame and END frame can be like the one below:
Packet Header
START_BYTES
LENGTH
TYPE
Fields
DPMR_HI_UE
Parity
FBYTE
PARITY_BYTE
Table 2-6 Example of a HI Packet from MCU
Packet Header
START_BYTES
LENGTH
TYPE
Fields
DPMR_END_UE
Parity
FBYTE
PARITY_BYTE
Table 2-7 Example of END Packet from MCU
2.2.2.2 Receiving
Upon receiving a Super Frame, Header Frame or an End Frame, CT3258 extracts the CCH0 –
CCH3, HI or END fields, performs de-interleaving and channel decoding on the frames. CT3258
extracts individual elements to the MCU.
The example below shows the packet sent to the MCU after receiving a new header frame.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
92
Packet Header
START_BYTES
LENGTH
TYPE
Fields
DPMR_CALLED_ID
DPMR_OWN_ID
DPMR_M_F
DPMR_HT_CI_PM
Parity
FBYTE
PARITY_BYTE
Table 2-8 Example of Packet from DSP after Receiving a Header Frame
2.3 DMR Call Processing
CT3258 support two ways of processing digital calls: Easy Mode (Layer 3 Mode), DMR Layer 2
Mode.
In Easy Mode (Layer 3 Mode), CT3258 digital mode support layer 1-3 processing of the DMR
protocol complied with ETSI TS 102 361. The MCU uses simple DMR_CALL_START,
CALL_STOP messages to start, stop a voice calls.
In Layer 2 Mode, CT3258 implements Layer 1 and Layer 2 of the DMR protocol, complied with
ETSI TS 102 361. Layer 3 and above are implemented on the MCU. The interface between
CT3258 and the MCU are based on Layer 2 and Layer 3 interface.
Note that if SCT3700 supported is enabled, only Layer 2 Mode is supported.
2.3.1 DMR Easy Mode
In Easy Mode (Layer 3 Mode), the MCU uses simple DMR_CALL_START, CALL_STOP
messages to start, stop a voice calls. Internally, CT3258 handles all call processing according the
DMR Protocol. “ANNEX C of TS 102 361” numbering plan is implemented in CT3258. At the
transmitter, CT3258 supports individual call and group call dialing. At the receiver, when a call is
received, CT3258 matches incoming called number with its own individual call number and group
number and informs the MCU of matching results.
2.3.2 DMR Layer 2 Mode
In DMR Layer 2 Mode, CT3258 interacts with the control processor (the MCU) to complete the
DMR voice and data calls. The layer 1 and layer 2 of the DMR are implemented in CT3258, while
layer 3 and above are implemented in the MCU. The information exchange between the MCU and
CT3258 is through DIGC_DATA_FRAME commands or indications. The MCU passes the data
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
93
types and the payload information the CT3258 through DIGC_DATA_FRAME to CT3258.
CT3258 performs FEC according to the data types, CT3258 adds FEC, formulates them into 30
ms data burst and adds 4FSK modulation before sending to the far end. At the receiver, CT3258
decode the received data burst, and report to the MCU through DIGC_DATA_FRAME
indications.
In DMR Layer 2 mode, care must be taken to make sure that the DIGC_DATA_FRAME messages
are sent no more and no less than 60 millisecond at a time. Examples of layer 2-3 message
exchange are described in the example session below.
Two types of commands are used by the MCU to control CT3258. The first type is hardware
related for configuring CT3258 in certain mode ready for communication. The second type is
protocol related, where commands are used to pass layer 2 and layer 3 information. In particular
DIGC_DATA_FRAME command is used to start or stop a voice or data call.
2.3.3 DMR MS Call Flow
The diagram below shows at typical DMR voice call from one mobile station to another mobile
station without a repeater.
MCU
MS1 Transmiter
MS2 Receiver
3928
3928
MCU
call up
data frame
(LC Header)
response
data frame
(LC Header)
data frame
(surperframe)
response
Voice call
data frame
(surperframe)
LC header
Super Frame
next
.....
call Down
data frame
(LC Terminal)
response
data frame
(LC Terminal)
LC Terminal
Figure 2-1 DMR MS Call Flow
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
94
The MCU informs CT3258 the types of data frame to send through command
DMR_DATA_FRAME and then waits for response from CT3258. CT3258 put the data frame for
transmission and sends a response in the form of (0x17 0x0a). The next DMR_DATA_FRAME
wont be sent unless a response (0x17 0x0A) is received. The interval between two
DMR_DATA_FRMAE is around 60 milliseconds.
Only one DMR_DATA_FRAME command with LC contents is needed to start the voice
communication at the TX side. The subsequent super frames use the same LC contents. Similarly,
DMR_DATA_FRAME is only reported once upon receiving super frames at the RX side. The
MCU knows the call end condition from either by receiving a terminal frame, or by receiving
CT3258 response of 1B 08.
2.3.4 Base Station Activation
In order to place voice or data calls through the base station or repeater, the mobile station should
first acquire synchronization by monitor signals from the base station. If the base station is in idle
state, the mobile station should first send a base station activation message to activate the base
station. This is done by MCU sending a DMR_DATE_FRAME with CSBK contents. The diagram
below shows the base station activation procedure.
MCU
MS Transmiter
BS UpLink
3928
call up
data frame
(CSBK)
response
CSBK
BS Down link Actived
MS Receiver
Figure 2-2 Base Station Activation
2.3.5 Listen Before Transmitting
If the base station is activated, it constantly broadcasts base station signals. The mobile station
should first acquire timing synchronization from the base station before it can start or receive a
call. Timing synchronization is done by monitoring the SYNC pattern and the CACH signals from
the base station.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
95
The MCU on the mobile station first sends command DMR_CALL_SLOT to inform CT3258
which slot to monitor, and waits CT3258 for DMR_SLOT_FOUND response. As soon as CT3258
acquire synchronization, it sends DMR_SLOT_FOUND response, first with slot verified flag
unset, then after the preset number of CACH is received, with the slot verified flag set. At this
point, the mobile station is aligned with the base station. CT3258 can report any data frames from
the
far
end
through
DMR_DATA_FRAME
message.
The
MCU
can
also
issue
DMR_DATA_FRAME command to CT3258 to send to the far end.
The diagram below shows a timing acquisition process.
slot 2
slot 1
c
a
c
h
BS Down Link
MS Receive
c
a
c
h
slot 2
slot 1
c
a
c
h
c
a
c
h
slot 2
slot 1
c
a
c
h
SLOT FOUND
c
a
c
h
Receive
Transmit
Receive
Receive
RF_TIMING
PORT
RF Ttransmit Control
(MCU Generate)
Close
Open
Close
Open
Close
Open
MS Ttransmit
slot 1
(Invalid)
slot 2
(valid)
slot 1
(Invalid)
slot 2
(valid)
slot 1
(Invalid)
slot 2
(valid)
Offset
Transmit
Transmit
SLOT_TIMING
(SCT3928 Internal)
Slot 1
Slot 2
Slot 1
Slot 2
Slot 1
Slot 2
SLOT FOUND
Done
Figure 2-3 Signal Timing Relationship
After CT3258 acquires synchronization from the base station, it generates an internal 60
millisecond cyclic timing signal, SLOT_TIMING. In the TX mode, CT3258 controls the timing on
the modulation output port so that it is in synchronization with the base station timing. In the
meantime, it also outputs a SLOT_TIMING signal through the RF_TIMING port to control the
RF circuit. The RF_TIMING signal can be identical to the SLOT_TIMNG. It can also be ahead or
lag the SLOT_TIMING signal. The offset are programmable through command DMR_OFFSET.
The MCU can then generate necessary timing signals to control the RF transceiver and the power
amplifier. In the case of SCT3700, the switching of RF transceiver and controlled by the CT3258.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
96
2.4 Typical Call Sessions with CT3258 in DPMR Mode
2.4.1 Digital Voice Call
A voice call involves the transmitter and the receiver. In both side, the MCU is the main controller,
controlling the RF circuit, the MMI and CT3258. Before the call, the MCU should set the RF
circuit in TX mode for the transmitter and in RX mode for the receiver. The sub-section below
only describes the interaction between the MCU and CT3258.
2.4.1.1 Initial Setting for both the Transmitter and the Receiver
1. Set Vocoder type with VOCODER_SEL
2. Set CT3258 to Easy mode with PROCESS_MODE command
3. Set Color Code corresponding to the RF Channel with DPMR_CC command
4. Set addressing mode to either “Initial Address Mode” or “Configured Addressing Mode” with
ADDRESS_MODE command
5. Set Own ID with DIGC_OWN_ID_BIN or DPMR_OWN_ID_BCD (“Configured Addressing
Mode” only)
2.4.1.2 Initial Setting for the Receiver
1. Set the demodulator gain with DEMOD_GAIN command
2. Set the types of field to report when receiving a call with REPORT_FIELD command
2.4.1.3 Initial Setting for the Transmitter
1. Set the modulator gain with MOD_GAIN command
2.4.1.4 Transmitter Side, Start a Call
1. Set CT3258 in TX or DUPLEX with WORK_MODE command
2. Set called ID and own ID with DPMR_CALLED_ID and DPMR_OWN_ID
3. Start the call with CALL_START, for peer-to-peer voice call
2.4.1.5 Receiver Side, Start a Call
1. Set CT3258 in RX or DUPLEX with WORK_MODE command
2. When detecting carrier, inform CT3258 that carrier is ready with CARRIER_READY
command
After the call from transmitter arrives, CT3258 reports useful information. The MCU decides
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
97
whether to accept or discard the call.
2.4.1.6 Transmitter Side, End a Call
1. Drop the call with CALL_STOP command
2. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.4.1.7 Receiver Side, End a Call
1. Drop the carrier with CARRIER_READY command
2.4.2 Voice Call with Slow Data
1. Start the call the same way as voice only call described in the previous section except that
the communication mode(the M in M_V_F_EP) is set to Call with Slow Data
2. After the calls start, the MCU first send a packet with DPMR_SLD field.
3. When CT3258 begin transmitting, it fills slow data in the super frame and transmits slow data
along with the voice frames. As soon as the slow data is being transmitted, it sends a
DPMR_SLD response packet to the MCU, at 80 millisecond interval.
Packet Header
START_BYTES
LENGTH
TYPE (Read Near End)
Fields
DPMR_SLD
Parity
FBYTE
PARITY_BYTE
Table 2-9 Example Packet for Request Near End Slow Data
4. Upon receiving DPMR_SLD response, the MCU write DPMR_SLD to CT3258, also at 80
millisecond interval.
5. At the receiver, upon receiving super frame with SLOW data, CT3258 extract slow data and
report to the MCU with DPMR_SLD packet at 80 millisecond interval.
6. When all data has been transmitted, the MCU has to wait the response packet of the last frame
DPMR_SLD.
7. Drop the call with CALL_STOP command
8. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.4.3 Voice Call Recording
1. Enable voice recording function with command VOCODER_IO_SET at the transmitter for
near end voice call recording (IO_SET = 0x20), or at the receiver for far end voice call
recording (IO_SET = 0x04)
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
98
2. Start the call the same way as voice only call described in the previous section.
3. When the call starts, CT3258 start to send encoded voice data with CHAN_D field, at 80
millisecond interval.
Packet Header
START_BYTES
LENGTH
TYPE (Read Near End)
Fields
CHAN_D
Parity
FBYTE
PARITY_BYTE
Table 2-10 Example Packet for Voice Recoding
4. Upon receiving CHAN_D, the MCU should process the message and save its contents. The
MCU does not send a response to CHAN_D.
5. The process repeats at 80 millisecond interval.
6. Drop the call with CALL_STOP command
7. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
8. Disable the voice recording by setting IO_SET = 0x00
2.4.4 Voice Call Play Back
1. Enable voice play back function with command VOCODER_IO_SET at the transmitter for far
end voice play back (IO_SET = 0x40), or at the receiver for near end voice play back
(IO_SET = 0x08)
2. Start the call the same way as voice only call described in the previous section.
3. When the call starts, MCU starts to send encoded voice data with CHAN_D field, at 80
millisecond interval.
Packet Header
START_BYTES
LENGTH
TYPE (Read Near End)
Fields
CHAN_D
Parity
FBYTE
PARITY_BYTE
Table 2-11 Example Packet for Play Back
4. Upon receiving CHAN_D, CT3258 send back the response to CHAN_D.
5. The process repeats at 80 millisecond interval.
6. Drop the call with CALL_STOP command
7. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
8. Disable the voice recording by setting IO_SET = 0x00
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
99
2.4.5 Data Call with Type 1 or Type 2 Data
1. Start the call the same way as voice only call described in the previous section except that
the communication mode (the M in M_V_F_EP) is set to Type 1 or Type 2 data call. The
DPMR_HT_CI has to be configured as section 1.2.53.
2. After the calls start, the MCU first send a packet with DIGC_DATA_FRAME field, which
includes up to 36 bytes (in 80 ms) of data. In the DIGC_DATA_FRAME fields, user should
also indicate whether valid data are present and the length of the valid data. The user should
also indicate whether this is the last data frame.
3. When CT3258 begin transmitting, it fills data in the TCH frame and starts transmitting data.
As soon as data is being transmitted, it sends a DIGC_DATA_FRAME response packet to the
MCU, at 80 millisecond interval.
Packet Header
START_BYTES
LENGTH
TYPE (Read Near End)
Fields
DIGC_DATA_FRAME
Parity
FBYTE
PARITY_BYTE
Table 2-12 Example Packet for Request Near End Type 1 and Type 2 Data
4. Upon receiving DPMR_DTAT_FRAME response, the MCU write DIGC_DATA_FRAME
with more data to CT3258, also at 80 millisecond interval.
5. At the receiver, upon receiving DPMR pay load, CT3258 extracts data from TCH frames and
report to the MCU with DIGC_DATA_FRAME packet at 80 millisecond interval.
6. When all data has been transmitted, the MCU responds to data query with
DIGC_DATA_FRAME with indication that no more data is to transmit.
7. Drop the call with CALL_STOP command
8. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.4.6 Voice Call with Appended Data
The Voice Call with Appended Data starts as voice call and ends as a Type 2 Data Call.
1. Start the call the same way as voice only call described in the previous sections except that
the communication mode(the M in M_V_F_EP) is set to Voice Call with Appended Data. The
DPMR_HT_CI has to be configured as section 1.2.53.
2. Proceed to voice communication as a normal voice call
3. When the user releases the PTT, the MCU first send a packet with DIGC_DATA_FRAME
field, which includes up to 36 bytes (in 80 ms) of data. In the DIGC_DATA_FRAME fields,
user should also indicate whether valid data are present and the length of the valid data. The
user should also indicate whether this is the last data frame.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
100
4. When CT3258 begin transmitting, it fills data in the TCH frame and starts transmitting data.
As soon as data is being transmitted, it sends a DIGC_DATA_FRAME response packet to the
MCU, at 80 millisecond interval.
5. Upon receiving DPMR_DTAT_FRAME response the MCU write DIGC_DATA_FRAME
with more data to CT3258, also at 80 millisecond interval.
6. At the receiver, upon receiving DPMR pay load, CT3258 extracts data from TCH frames and
report to the MCU with DIGC_DATA_FRAME packet at 80 millisecond interval.
7. When all data has been transmitted, the MCU responds to data query with
DIGC_DATA_FRAME with indication that no more data is to transmit.
8. Drop the call with CALL_STOP command
9. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.4.7 Data Call Type 3 (for future release)
Type 3 Data calls involve a call set up and disconnect procedure as described below:
1. Station A: Send connection request
2. Station B: Send ACK
3. Station A: Send data frames
4. Station B: Send ACK
5. Station A: Send more data frames
6. Station B: Send ACK
7. Station A: Send Disconnect request
The interactions of MCU and CT3258 to complete a data call are described below.
2.4.7.1 Initialization of Data Call Type 3
The initialization of Type3 data call is the same as voice calls.
2.4.7.2 Connection Request
1. Set Station A in TX mode and Station B in RX mode with WORK_MODE command
2. Set call information (CI) for appropriate data format with DPMR_CI_PM command
3. Send CONNECT command in station A
4. Set Carrier Ready in station B
5. CT3258 in station B report HT_CI to station B MCU
6. Station B MCU becomes aware of a data call request, and get ready to send an ACK
7. When the CONNECT message is sent out in station A, CT3258 responds with
ACK_MESSAGE (10)
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
101
2.4.7.3 Connection Acknowledge
1. Set Station B in TX mode and Station A in RX mode with WORK_MODE command
2. Set CI to indicate ACK or NACK (with NACK reason) with DPMR_CI_PM.
3. Send DPMR_ACK command in station B
4. Set Carrier Ready in station A
5. CT3258 in station A report HT_CI to the MCU
6. Station A MCU becomes aware of the acknowledgement from station B, and get ready to send
data.
7. When the Connect Acknowledgement message is sent out in station B, CT3258 responds with
ACK_MESSAGE (10)
2.4.7.4 Sending Type 3 Data Frames
1. Set Station A in TX mode and Station B in RX mode with WORK_MODE command
2. Set CI for appropriate data format with DPMR_CI_PM command
3. Start the call with CALL_START
4. After the calls start, the MCU first send a packet with DIGC_DATA_FRAME field with Type
3 data indication, which includes up to 48 bytes (in 80 ms) of data. In the
DIGC_DATA_FRAME fields, user should also indicate whether valid data are present and the
length of the valid data. The user should also indicate whether this is the last data frame.
5. CT3258 fills data in the data frame and start transmission. As soon as data is being transmitted,
it sends a DIGC_DATA_FRAME query packet to the MCU to request for more data. This
process continues at 80 milli-second interval.
6. Upon receiving DIGC_DATA_FRAME query, the MCU write DIGC_DATA_FRAME to
CT3258, also at 80 millisecond interval.
7. At station B, upon receiving data frames, CT3258 extract data and report to the MCU with
DIGC_DATA_FRAME packet at 80 millisecond interval.
8. Station B MCU assembles the data frames from the DIGC_DATA_FRAME fields.
9. When all data in current data frame has been transmitted, the MCU responds to data query
with DIGC_DATA_FRAME with indication that no more data is to transmit.
10. Drop the call with CALL_STOP command
11. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.4.7.5 Data Acknowledgement
1. Set Station B in TX mode and Station A in RX mode with WORK_MODE command
2. Set CI to indicate ACK or NACK (with NACK reason) with DPMR_CI_PM.
3. Send DPMR_ACK command in station B
4. Set Carrier Ready in station A
5. CT3258 in station A report HT_CI to the MCU
6. Station A MCU becomes aware of the acknowledgement from station B, and get ready to send
more data packet.
7. When the Data Acknowledgement message is sent out in station B, CT3258 responds with
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
102
ACK_MESSAGE (0x17 0x0A) to MCU B.
2.4.7.6 Disconnect
1. Set Station A in TX mode and Station B in RX mode with WORK_MODE command
2. Send DISCONNECT command in station A.
3. Set Carrier Ready in station B
4. CT3258 in station B report HT_CI to the MCU
5. Station B MCU becomes aware of the Disconnect request from station A, and start disconnect
procedure
6. Station B disconnect the cal
7. When the DISCONNECT message is sent out in station A, CT3258 responds with
ACK_MESSAGE (0x17 0x0A)
2.4.8 Short Appended Data (TS 102 658 Only)
ETSI TS 102 658 defines a special message for transmitting short data. It is constructed by a
connection request HEADER frame, one to four appended data frames, and an END frame. To
send Short Appended Data, the MCU can follow the procedure below.
2.4.8.1 Send Short Appended Data
Set Station A in TX mode with WORK_MODE command
1. Set call information (CI) for appropriate data format with DPMR_CI_PM command
2. Send the contents of the short appended data with DIGC_DATA_FRAME command with type
set to Short Appended Data.
3. Send SEND_AD command in station A
4. When the CONNECT message is sent out in station A, CT3258 responds with
ACK_MESSAGE (10)
5. The MCU set Station A in RX mode to get ready to receive an ACK.
2.4.8.2 Receive Short Appended Data
1. Set Station B in RX mode with WORK_MODE command
2. Set Carrier Ready in station B
3. CT3258 in station B receives short appended data and report to station B MCU with
DIGC_DATA_FRAME
4. Set Station B in TX mode to get ready to send an ACK.
2.4.9 Analog Voice Call in DPMR Mode
CT3258 support dual mode operation with digital and analog calls. For analog call, CT3258
supports CTCSS/DCS sub-audio signals.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
103
2.4.9.1 Receiver Side, Start a Call
1. Set CT3258 to analog call mode with PROCESS_MODE command
2. Set CT3258 in RX or DUPLEX with WORK_MODE command
3. Set CTCSS/DCS settings with SUB_AUDIO command
4. When detecting carrier, inform CT3258 that carrier is ready with CARRIER_READY
After the call from transmitter arrives, CT3258 reports whether CTCSS/DCS is matched or not
with SUB_AUDIO command.
2.4.9.2 Transmitter Side, Start a Call
1. Set CT3258 to analog call mode with PROCESS_MODE command
2. Set CT3258 in TX or DUPLEX with WORK_MODE command
3. Set CTCSS/DCS settings with SUB_AUDIO command
4. Start the call with CALL_START command
2.4.9.3 Receiver Side, End a Call
1. Drop the carrier with CARRIER_READY command
2.4.9.4 Transmitter Side, End a Call
1. Drop the call with CALL_STOP command
2.4.10 Handling of Maintenance Message (TS 102 658 Only)
With ETSI TS 102 658, the BS may send multiple maintenance messages such as preservation
messages, Idle messages or Guard messages. CT3258 may report each occurrence of these
messages, or elect to only report the same message once to save traffic between CT3258 and the
MCU. The election is controlled by command DPMR_PROTOCOL_OPTION.
2.4.11 Automatic Analog and DPMR Call Detection
To set up for automatic analog and DPMR call detection, the receiver is set up the same ways as a
digital calls, with the following exceptions:
1. Set CT3258 to Easy mode with PROCESS_MODE command, with mixed call bit enabled: i.
e., the process mode as 131.
2. Set CTCSS/DCS settings with SUB_AUDIO command
The transmitter side is set up exactly as normal analog or DPMR call.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
104
With automatic analog and DPMR call detection, CT3258 monitors the RF channel, and
simultaneously detects FS1/FS2 pattern for DPMR calls, and CTCSS/DCS signaling for analog
calls. If DPMR call is found, it sends CALL_MATCH message (even if the called ID or CC code
does not match). If CTCSSS/DCS signaling is found, it send SUB_AUDIO message.
2.4.12 Audio Muting for Un-matched Calls
By defaults, CT3258 enables audio as soon as a DPMR or an analog call is received, even if called
ID or CTCSS/DCS code does not match. It is up to the MCU to decide whether to take the call or
not. If the MCU decides to take to call, it enables audio PA. If not, it turns off the audio PA, and
send carrier lost to CT3258.
Optionally, the CT3258 can mute the audio until a correct call match is achieved. This can be done
by setting Mute Flag when sending the Carrier Ready command at the receiver. When Mute Flag
is set, CT3258 sends zeros to its audio out line until a called ID of the incoming call matches the
own ID of itself, or the CTCSS/DCS code of the transmitter and receiver match.
2.5 Typical Call Sessions with CT3258 in DMR Mode
2.5.1 DMR Voice Call in DMR Easy Mode
A voice call involves the transmitter and the receiver. In both side, the MCU is the main controller,
controlling the RF circuit, the MMI and CT3258. Before the call, the MCU should set the RF
circuit in TX mode for the transmitter, and in RX mode for the receiver. The sections below only
describe the interaction between the MCU and CT3258.
Note that if SCT3700 support is enabled, DMR Easy mode is not supported.
2.5.1.1 Initial Setting for both the Transmitter and the Receiver
1.Set Vocoder type with VOCODER_SEL, 4 for AMBE+2
Command ID:
VOCODER_SEL
Send Command: 84 A9 61 00 02 00 10 04
Receive
Data:84 A9 61 00 02 00 10 00
2.Set CT3258 to digital mode with PROCESS_MODE command
Command ID:
PROCESS_MODE
Send Command: 84 A9 61 00 02 00 1A 03
Receive
Data:84 A9 61 00 02 00 1A 00
3.Set Color Code corresponding to the RF Channel with DMR_CC command
Send Command: 84 A9 61 00 02 08 77 01
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
105
Receive
Data:84 A9 61 00 02 08 77 00
4.Configure the call option with DMR_CALL_OPTION
Command ID:
DMR_CALL_OPTION
Send Command: 84 A9 61 00 06 08 79 41 00 00 00 00
Receive
Data:84 A9 61 00 02 08 79 00
(In this particular command, CT3258 is set to do SQ detection; slotted mode is used, with unused
slot filled with zeros; SLOT verified number is 1).
5.Set Own ID with DIGC_OWN_ID_BIN or DMR_OWN_ID_BCD
Command ID: DIGC_OWN_ID_BIN
Send Command: 84 A9 61 00 04 08 50 XX XX XX
Receive
Data:84 A9 61 00 02 08 50 00
2.5.1.2 Initial Setting for the Receiver
1. Set the demodulator gain with DEMOD_GAIN command
2. Set the types of field to report when receiving a call with REPORT_FIELD command
Command ID: REPORT_FIELD
Send command: 84 A9 61 00 02 00 1D XX
Receive Data: 84 A9 61 00 02 00 1D 00
2.5.1.3 Initial Setting for the Transmitter
1. Set the modulator gain with MOD_GAIN command
2.5.1.4 Transmitter Side, Start a Call
1.Set CT3258 in TX with WORK_MODE command
Command ID:
WORK_MODE
Send Command: 84 A9 61 00 04 00 18 02 00 00
Receive
Data: 84 A9 61 00 02 00 18 00
2.Set called ID and own ID with DIGC_CALLED_ID and DIGC_OWN_ID
Command ID: DIGC_OWN_ID_BIN
Send Command: 84 A9 61 00 04 08 50 XX XX XX
Receive
Data: 84 A9 61 00 02 08 50 00
Command ID:
DMR_CALLED_ID_BIN
Send Command: 84 A9 61 00 04 08 51 XX XX XX
Receive
Data: 84 A9 61 00 02 08 51 00
3.Set FLC information
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
106
Command ID:
DMR_FLC
Send Command: 84 A9 61 00 04 08 76 00 00 00
Receive
Data:84 A9 61 00 02 08 76 00
(In this particular command, FLCO as group call, FID is standard)
4.Start the call with DMR_CALL_START, for peer-to-peer voice call
Command ID:
DMR_CALL_START
Send Command: 84 A9 61 00 01 08 78
receive command: 84 a9 61 00 02 08 78 00
2.5.1.5 Receiver Side, Start a Call
1.Set CT3258 in RX or DUPLEX with WORK_MODE command
Command ID:
WORK_MODE
Send Command: 84 A9 61 00 04 00 18 01 00 00
Receive
Data:84 A9 61 00 02 00 18 00
2.When detecting carrier, inform CT3258 that carrier is ready with CARRIER_READY command
Send Command: 84 A9 61 00 02 00 19 {0x01 or 0x02}
Receive
Data:84 A9 61 00 02 00 19 00
After the call from transmitter arrives, CT3258 reports useful information. The MCU decides
whether to accept or discard the call.
2.5.1.6 Receiver Side, after a Call is Received
Receive Data:84 A9 61 00 02 30 7F 87
DMR_SLOT_FOUND message. The content is TACT in the CACH, BS call, SLOT
verify not completed
Receive Data:84 A9 61 00 02 30 1B 04
Indicate voice SYNC is received
Receive Data:84 A9 61 00 02 30 7B 11
 DMR_SLOT_TYPE message. CC is 1. Data type is Voice LC Header
Receive Data:84 A9 61 00 04 30 76 00 00 00
 DMR_FLC message
Receive Data:84 A9 61 00 04 30 50 xx xx xx
 DIGC_CALLED_ID_BIN
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
107
Receive Data:84 A9 61 00 04 30 51 xx xx xx
 DIGC_OWN_ID_BIN
Receive Data:84 A9 61 00 05 30 7D xx xx xx xx
 DIGC_CALLED_ID_BCD
Receive Data:84 A9 61 00 05 30 7E xx xx xx xx
 DIGC_OWN_ID_BCD
Receive Data:84 A9 61 00 02 30 27 00
 CALL_MATCH message, indicating a valid DMR call is received, and called ID and CC
are matched.
2.5.1.7 Transmitter Side, End a Call
1. Drop the call with CALL_STOP command
Command ID: DMR_CALL_STOP
Send Command: 84 A9 61 00 01 03 21
receive command: 84 A9 61 00 02 03 21 00
2. When the END message is sent out, CT3258 responds with ACK_MESSAGE (0x17 0x0A)
2.5.1.8 Receiver Side, End a Call
When the transmitter stops the call, CT3258 receives LC terminator from the far end, and report it
with DMR_SLOT_TYPE to the MCU.
Receive Data:84 A9 61 00 02 30 7B 11
 DMR_SLOT_TYPE message. CC is 1. Data type is Voice LC Terminator.
2. After receiving DMR_SLOT_TYPE, the receiver can then drop the carrier with
CARRIER_READY command
Command ID:
DMR_CARRIER_READY
Send
Command: 84 A9 61 00 02 00 19 00
Receive
Data:84 A9 61 00 02 00 19 00
2.5.2 DMR Voice Call in DMR Layer 2 Mode
A voice call involves the transmitter and the receiver. In both side, the MCU is the main controller,
controlling the RF circuit, the MMI and CT3258. Before the call, the MCU should set the RF
circuit in TX mode for the transmitter and in RX mode for the receiver. The sub-section below
only describes the interaction between the MCU and CT3258.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
108
2.5.2.1 Initial Setting for both the Transmitter and the Receiver
1. Set Vocoder type with VOCODER_SEL. An up to 2-3 seconds delay is required to down load
the vocoder from the flash.
Command ID:
VOCODER_SEL
Send Command: 84 A9 61 00 02 00 10 04
Receive
Data:84 A9 61 00 02 00 10 00
2. Set CT3258 to layer 2 mode with PROCESS_MODE command
Command ID:
PROCESS_MODE
Send Command: 84 A9 61 00 02 00 1A 02
Receive
Data:84 A9 61 00 02 00 1A 00
3. Set Color Code corresponding to the RF Channel with DMR_CC command
Command ID:
DMR_CC
Send Command: 84 A9 61 00 02 08 77 01
Receive
Data:84 A9 61 00 02 08 77 00
4. Set DMR call options with DMR_CALL_OPTION command
Command ID:
DMR_CALL_OPTION
Send Command: 84 A9 61 00 06 08 79 41 00 10 00 00
Receive
Data:84 A9 61 00 02 08 79 00
(In this particular command, CT3258 is set to do SQ detection; slotted mode, with unused slot
filled with zeros; SLOT verified number is 1).
2.5.2.2 Initial Setting for the Receiver
 Set the demodulator gain with DEMOD_GAIN command
 Set the types of field to report when receiving a call with REPORT_FIELD command
2.5.2.3 Initial Setting for the Transmitter
1. Set the modulator gain with MOD_GAIN command
2.5.2.4 Receiver Side, Start a Call
1.
Set CT3258 in RX or DUPLEX with WORK_MODE command
Command ID:
WORK_MODE_RX
Send Command: 84 A9 61 00 04 00 18 01 00 00
Receive
Data:84 A9 61 00 02 00 18 00
2.
Set which slot to receive with DMR_CALL_SLOT command
Send Command: 84 A9 61 00 02 08 6F 01
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
109
Receive
Data:84 A9 61 00 02 08 6F 00
(For mobile to mobile call, the slot number is 0)
3.
When detecting carrier, inform CT3258 that carrier is ready with CARRIER_READY
command
Command ID:
DMR_CARRIER_READY
Send Command: 84 A9 61 00 02 00 19 {0x01 or 0x02}
Receive
Data:84 A9 61 00 02 00 19 00
After the call from transmitter arrives, CT3258 reports useful information. The MCU decides
whether to accept or discard the call.
2.5.2.5 Transmitter Side, Start a Call
1. Set which slot to transmit with DMR_CALL_SLOT command. If MS call is to be placed, the
slot number is 0. Otherwise, slot 1 or slot 2 is selected
Command ID:
DMR_CALL_SLOT
Send Command: 84 A9 61 00 02 08 6F 81
Receive
Data: 84 A9 61 00 02 08 6F 00
2. Set CT3258 in TX mode with WORK_MODE command
Command ID:
WORK_MODE_TX
Send Command: 84 A9 61 00 04 00 18 02 00 00
Receive
Data: 84 A9 61 00 02 00 18 00
3. Send LC with DIGC_DATA_FRAME (CC can be sent in the same packet)
Command ID:
DIGC_DATA_FRAME
Send Command: 84 A9 61 00 0E 08 77 01 43 01 09 00 00 00 00 00 01 00 00 01
Receive
Command: 84 A9 61 00 01 20 43
4. Start the call by sending super frame with DIGC_DATA_FRAME
Command ID:
PROTOCOL_DATA_FRAME
Send Command: 84 A9 61 00 0E 08 77 01 43 11 09 00 00 00 00 00 01 00 00 01
Receive
Command: 84 A9 61 00 01 20 43
2.5.2.6 Receiver Side, after a Call is Received
Receive Data: 84 A9 61 00 02 30 7F 87
 DMR_SLOT_FOUND message. The content is TACT in the CACH, BS call, SLOT
verify not completed
Receive Data:84 A9 61 00 02 30 7F A9
 DMR_SLOT_FOUND message. The content is TACT in the CACH, BS call, SLOT
verify completed, with no need to invert slot numbers in previous DMR_SLOT_FOUND
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
110
message. At this point, the mobile station is synchronized with the base station. If the
mobile station wishes to start a call, it needs to check the AT bit in the TACT of CACH,
and proceed if it is not busy.
Receive Data: 84 A9 61 00 0E 30 77 01 43 01 09 00 00 00 00 00 01 00 00 01
 This message contains two fields, DMR_CC and DIGC_DATA_FRAME. CC is 0x01.
The content in the data frame is data burst at SLOT1, length of 9, and Voice LC header.
Receive Data: 84 A9 61 00 0E 30 77 01 43 11 09 00 00 00 00 00 01 00 00 01
 This message contains two fields, DMR_CC and DIGC_DATA_FRAME. CC is 0x01.
The content in the data frame is voice super frame at SLOT1, length of 9, and Voice LC
header. Once CT3258 receives and reports one voice super frame, it wont report
subsequent voice super frame. But it continues to track the synchronization of the base
station, and report 0x1B 0x08 if the synchronization is lost, which the MCU can use as
an indication of call lost.
2.5.2.7 Transmitter Side, End a Call
1. Stop the call by sending Terminator LC. Once CT3258 has sent all message to the far end, it
reports 17 0A to the MCU
Command ID:
PROTOCOL_DATA_FRAME
Send Command: 84 A9 61 00 0c 08 43 02 09 00 00 00 00 00 01 00 00 01
Receive
Command: 84 A9 61 00 01 20 43
Receive
Command: 84 A9 61 00 02 20 17 0A
2.5.2.8 Receiver Side, End a Call
When the transmitter stops the call, CT3258 receives LC terminator from the far end, and report it
with DIGC_DATA_FRAME to the MCU
Receive Data:84 A9 61 00 0E 30 77 01 43 02 09 00 00 00 00 00 01 00 00 01
 This message contains two fields, DMR_CC and DIGC_DATA_FRAME. CC is 0x01.
The content in the data frame is data burst at SLOT1, length of 9, and Voice LC
Terminator.
1. Drop the carrier with CARRIER_READY command
Command ID:
DMR_CARRIER_READY
Send Command: 84 A9 61 00 02 00 19 00
Receive
Data:84 A9 61 00 02 00 19 00
2.5.3 Analog Voice Call in DMR Mode
CT3258 support dual mode operation with digital and analog calls. For analog call, CT3258
supports CTCSS/DCS sub-audio signals.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
111
2.5.3.1 Receiver Side, Start a Call
1. Set CT3258 to analog call mode with PROCESS_MODE command
2. Set CT3258 in RX or DUPLEX with WORK_MODE command
3. Set CTCSS/DCS settings with SUB_AUDIO command
4. When detecting carrier, inform CT3258 that carrier is ready with CARRIER_READY
After the call from transmitter arrives, CT3258 reports whether CTCSS/DCS is matched or not
with SUB_AUDIO command.
2.5.3.2 Transmitter Side, Start a Call
1. Set CT3258 to analog call mode with PROCESS_MODE command
2. Set CT3258 in TX or DUPLEX with WORK_MODE command
3. Set CTCSS/DCS settings with SUB_AUDIO command
4. Start the call with DMR_CALL_START command
2.5.3.3 Receiver Side, End a Call
1. Drop the carrier with CARRIER_READY command
2.5.3.4 Transmitter Side, End a Call
1. Drop the call with CALL_STOP command
2.6 Gain Calibration
This is the first step of calibration. It calibrates the receiver path to calculate SQ_LEVEL correctly
without being affected by gains variation in the analog path..
For SCT3700, follow these steps:
1.
Feed -60dbm FM signal (eg. by HP8920) to receiver and make chip run in receiver mode
2.
Adjust “GAIN_ADJUST” till WB_RSSI equals to -60dbm
Note that if external LNA is used, it needs to be disable when doing GAIN calibration.
Command ID: READ_RSSI
Send Command: 84 A9 61 00 01 20 6C 00
Receive
Data: 84 A9 61 00 07 23 6C 00 3B 00 37 00 00
For example, 0x3B-137 = -78dbm, which means there is -18db mismatch. So we set
GAIN_ADJUST to 0xee, and send
Command ID: WRITE_RSSI
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
112
Send Command: 84 A9 61 00 0D 00 6C EE 00 00 30 10 00 04 00 10 00 04 00
Receive
Data:84 A9 61 00 02 00 6C 00
After that when we read again, it results,
Command ID: READ_RSSI
Send Command: 84 A9 61 00 01 20 6C 00
Receive
Data: 84 A9 61 00 07 23 6C 00 4C 00 36 00 00
This time 0x4c-137 = -61dbm is almost correct, +/-1db is ignorable.
3.
Enable external LNA if it is used
Command ID: 3700CONFIG
Send Command: 84 A9 61 00 03 00 6D 0F 00 00
Receive
Data:84 A9 61 00 02 00 6D 00
4.
Adjust “EXT LNA_GAIN” till WB_RSSI equals to -60dbm
Command ID: readrssi
Send Command: 84 A9 61 00 01 20 6C 00
Receive
Data: 84 A9 61 00 07 23 6C 00 6D 00 18 00 00
0x6D-137 = -28dbm, which means 32db mismatch. So we set EXTLNA_VAL[5:0]=0x20,
EXTLNA_VAL[7:6]=3 which is determined by 0x20-(0x4C-0x3B)=15dB
Bit7-Bit6
Value
11
12<value
10
6< value≤12
01
0<value≤6
Command ID: WRITE_RSSI
Send Command: 84 A9 61 00 0D 00 6C EE E0 00 30 10 00 04 00 10 00 04 00
Receive
Data:84 A9 61 00 02 00 6C 00
Then read WB_RSSI again, where 0x4D-137 = -60dbm.
Command ID: READ_RSSI
Send Command: 84 A9 61 00 01 20 6C 00
Receive
Data: 84 A9 61 00 07 23 6C 00 4D 00 18 00 00
Up till now, RX gain calibration is done.
2.7 DC and IQ Calibration
DC and IQ calibration of SCT3700 can be performed after gain calibration is done. Make sure that
“GAIN ADJUST” and “EXT LNA GAIN” are set correctly before proceeding to this section.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
113
Before starting, the user should be familiar with these 3 commands.
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 0f 20 39 “RXDCI” “RXDCQ” “AMPI” “AMPQ”
“TXDC_high” ”TXDC_low” “AMPCOMP”
Command ID:
DC_OFFSET_WRITE
Send
Command: 84 A9 61 00 0d 00 39 “ADC_DCI” “ADC_DCQ” “DAC_DCI” “DAC_DCQ”
“DAC_GAINI” “DAC_GAINQ”
Receive
Command:84 A9 61 00 00 02 39 00
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 “cali_setting” “rx_coef_amp” “rx_coef_phi”
“tx_coef_amp” “tx_coef_pha”
Receive
Command:84 A9 61 00 00 02 42 00
1. Boot CT3258. Dont select any vocoder.
Put SCT3700 into calibration loop back mode with command
Command ID:
WORK_MODE_CALIBRATOIN
Send
Command: 84 A9 61 00 04 00 18 43 00 00
Receive
Command:84 A9 61 00 02 00 18 00
2. Set the SCT3700 RF to transmit a carrier at frequency Fc+Fif (Fif = 1050 kHz for example).
3. Set the SCT3700 RF to receiver at frequency Fc. After the down conversion by the RF front
end, IQ signals of frequency Fif are at the input of CT3258.
4. Disable IQ calibration filter.
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 44 00 00 00 00 00 00 00 00
Receive
Command:84 A9 61 00 02 00 42 00
5. Disable IF dc filter
Command ID:
MISC_GAIN
Send
Command: 84 A9 61 00 0D 00 6B 08 00 08 00 08 00 00 00 01 00 00 00
Receive
Command:84 A9 61 00 02 00 6B 00
Clear all the dc offset
Command ID:
DC_OFFSET_WRITE
Send
Command: 84 A9 61 00 0d 00 39 00 00 00 00 00 00 00 00 00 00 00 00
Receive
Command:84 A9 61 00 00 02 39 00
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
114
6. Force PGA gain to “0”
Command ID:
RSSI_WRITE
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 80 00 10 00 04 00
10 00 04 00
Receive
Data:84 A9 61 00 02 00 6C 00
Note that “GAIN ADJUST” and “EXT LNA GAIN” should be set to the values obtained from
last section.
7. Read the DC offset “RXDCI” and “RXDCQ” with command DC_OFFSET read command
(100 milliseconds average in this example)
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 0f 20 39 “RXDCI” “RXDCQ” “AMPI” “AMPQ”
“TXDC_high” ”TXDC_low” “AMPCOMP”
8. Write the above DC compensation value “RXDCI” and “RXDCQ” with DC_OFFSET write
command
Command ID:
DC_OFFSET_WRITE
Send
Command: 84 A9 61 00 0d 00 39 “ADC_DCI” “ADC_DCQ” “DAC_DCI” “DAC_DCQ”
“DAC_GAINI” “DAC_GAINQ”
Receive
Command:84 A9 61 00 00 02 39 00
The user can start with ADC_DCI = RXDCI, ADC_DCQ = RXDCQ. DAC_DCI and DAC_DCQ
should be zero.
9. Repeat 6 and 7 until minimum RXDCI and RXDCQ is obtained. This completes the RX DC
calibration for this PGA level.
10. Put RX IQ compensation filter in calibration mode by issue IQCOMP_COEF command with
RX_IQ_MODE bit set to 1 and TX_IQ_MODE bit to 1
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 44 “rx_coef_amp” 00 00 00 00 00 00
Receive
Command:84 A9 61 00 00 02 42 00
Start rx_coef_amp = 0;
Then configure rx_coef_amp = “AMPCOMP” from step 15.
11. Next, start doing RX IQ calibration for this PGA level. Please note whenever you send the
“39” command, you should make sure that you use the correct “ADC_DCI” “ADC_DCQ”
accordingly.
12. Read the amplitude of the signal at I and Q path with command DC_OFFSET read command
(100 milliseconds average in this example). Here we should configure the “DAC_GAINI”
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
115
“DAC_GAINQ” to make sure amplitude big enough (“AMPI” / “AMPQ”is larger than 0x1000
and smaller than 0x7000).
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 0f 20 39 “DCI” “DCQ” “AMPI” “AMPQ” ”TXDC_high”
“TXDC_low” “AMPCOMP”
Send
Command: 84 A9 61 00 0d 00 39 “ADC_DCI” “ADC_DCQ” “DAC_DCI” “DAC_DCQ”
“DAC_GAINI” “DAC_GAINQ”
Receive
Command:84 A9 61 00 00 02 39 00
13. Write AMPCOMP until AMPI and AMPQ are almost equal.
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 44 “AMPCOMP” 00 00 00 00 00 00
Receive
Command:84 A9 61 00 00 02 42 00
14. Put RX IQ compensation filter in normal mode by issue IQCOMP_COEF command with
RX_IQ_MODE bit set to 0
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 00 “rx_coef_amp” “rx_coef_phi” 00 00 00 00
Receive
Command:84 A9 61 00 00 02 42 00
Start rx_coef_phi = 0;
Then configure rx_coef_phi = “AMPCOMP” from step 18.
15. Read the amplitude of the signal at I and Q path with command DC_OFFSET read command
(100 milliseconds average in this example)
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 09 20 39 “DCI” “DCQ” “AMPI” “AMPQ””TXDC_high”
“TXDC_low” “AMPCOMP”
16. Repeat step 17, 18 until AMPI and AMPQ are equal.
17. To complete whole RX DC and RX IQ calibration for all PGA levels, please repeat step 7 to
step 16 each time with different PGA setting. PGA gain totally has 6 steps from 0-5.
Command ID: forceagcgain
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 80 00 10 00 04 00
10 00 04 00
Repeat step 7-16
Command ID: RSSI_WRITE
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 81 00 10 00 04 00
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
116
10 00 04 00
Repeat step 7-16
Command ID: RSSI_WRITE
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 82 00 10 00 04 00
10 00 04 00
Repeat step 7-16
Command ID: RSSI_WRITE
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 83 00 10 00 04 00
10 00 04 00
Repeat step 7-16
Command ID: forceagcgain
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 84 00 10 00 04 00
10 00 04 00
Repeat step 7-16
Command ID: forceagcgain
Send
Command: 84 A9 61 00 0d 00 6C “GAIN ADJUST” “EXT LNA GAIN” 85 00 10 00 04 00
10 00 04 00
Repeat step 7-16
18. Next step is to calibrate TX DC offset. Set “DAC_GAINI” “DAC_GAINQ” to 0. This results
in zero tx baseband I/Q out.
Command ID: DC_OFFSET_WRITE
Send Command: 84 A9 61 00 0d 00 39 “ADC_DCI” “ADC_DCQ” “DAC_DCI” “DAC_DCQ” 00
00 00 00
Receive Command:84 A9 61 00 00 02 39 00
Command ID: DC_OFFSET_READ
Send Command: 84 A9 61 00 02 20 39 05
Receive Command:84 A9 61 00 0f 20 39 “RXDCI” “RXDCQ” “AMPI” “AMPQ”
“TXDC_high” ”TXDC_low” “AMPCOMP”
The initial value for “DAC_DCI” and “DAC_DCQ” should be zero (00 00 00 00)
19. Adjust “DAC_DCI” and “DAC_DCQ” and until minimum DC leakage is obtained (indicated
by ”TXDC_high” “TXDC_low”). “TXDC_high” and “TXDC_low” constitute a 32 bit value
that indicates the DC leakage energy. The larger the value, the more the DC leakage.
Suggested procedure:
You can adjust DAC_DCQ first to get minimum leakage. For example use 0x0100 as a
coarse step and 0x0010 as a fine step.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
117
Then adjust DAC_DCI to get minimum leakage.
Again fine adjust DAC_DCQ.
And Fine adjust DAC_DCI again till leakage is minimum.
This complete the SCT3700 RX IQ calibration as well and RX DC and TX DC calibration process.
The next step is TX IQ calibration. However, in most cases, TX IQ calibration is not necessary as
SCT3700 is used in zero IF mode. Skip the steps below unless there is large TX IQ mismatch and
SCT3700 is used in low IF mode.
20. Set the SCT3700 RF to transmit a carrier at frequency Fc. Now both SCT3700 TX and RX are
using the same carrier frequency.
21. Generate a 1050 Hz sinusoidal I Q signal at the CT3258 TX side, with zero amplitude
Command ID:
MISC_GAIN
Send
Command: 84 A9 61 00 0D 00 6B 08 00 08 00 08 00 18 00 08 00 08 00
Receive
Command:84 A9 61 00 02 00 6B 00
22. Put TX IQ compensation filter by issue IQCOMP_COEF command with TX_IQ_MODE bit
set to 1
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 04 “rx_coef_amp” “rx_coef_phi” “tx_coef_amp” 00 00
Receive
Command:84 A9 61 00 00 02 42 00
23. Read the amplitude of the signal at I and Q path with command DC_OFFSET read command
(100 milliseconds average in this example)
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 09 20 39 “DCI” “DCQ” “AMPI” “AMPQ”
24. Repeat 23, 24 until AMPI and AMPQ are equal
25. Put TX IQ compensation filter in normal mode by issue IQCOMP_COEF command with
TX_IQ_MODE bit to 0
Command ID:
IQCOMP_COEF_WRITE
Send
Command: 84 A9 61 00 0A 00 42 00 “rx_coef_amp” “rx_coef_phi” “tx_coef_amp”
“tx_coef_phi”
Receive
Command:84 A9 61 00 00 02 42 00
26. Read the amplitude of the signal at I and Q path with command DC_OFFSET read command
(100 milliseconds average in this example)
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
118
Command ID:
DC_OFFSET_READ
Send
Command: 84 A9 61 00 02 20 39 05
Receive
Command:84 A9 61 00 09 20 39 “DCI” “DCQ” “AMPI” “AMPQ”
27. Repeat 26, 27 until AMPI and AMPQ are equal. This completes the TX IQ calibration.
2.8 Error Handling
CT3258 responds to every packet received from the MCU, within T_rsp time, even it has parity
error. Currently T_rsp = 40 milliseconds.
When the received packet has parity error, CT3258 responds with ACK_MESSAGE with parity
error indication.
If the MCU does not receive a message from the CT3258 within T_rsp time, or receives an
ACK_MESSAGE with parity error indication, or the received response message has parity error, it
can consider the message lost, and resend the message if necessary.
For messages that initiated by CT3258 (not as response to MCU command), the MCU checks
parity error if parity check is enabled. If parity error fails, it simply discards the message, without
sending a parity error response. This generally falls into two categories:
1. The message is DIGC_DATA_FRAME or DPMR_SLD, with which CT3258 query for new
data to be transmitted to the far end. In the case, if parity error fails, but the MCU can figure
from the context that it is a DIGC_DATA_FRAME or DPMR_SLD message, it send query
result as if there is no parity error. If the MCU can not figure out from the context, it simply
drops the packet without sending a response.
2. The message is a CT3258 report message generated by CT3258. These types of messages do
not require responses from the MCU. When there is a parity error, the MCU simply drops the
message. If the MCU needs any specific information, it can send a query message to the DSP.
2.9 DPMR Standard User Interface
CT3258 supports the Standard User Interface described in ANNEX A of ETSI TS 102 490.
With the Standard User Interface, the mobile user uses a standard telephone key pad, with digits
0 to 9, plus * and # keys, to dial another mobiles number. Each mobile is assigned a 7
digital number, and one or several group numbers. At the receiver, CT3258 match the “Called
Number” of the incoming call to its own individual number and group numbers. It reports a call
match to the MCU if there is a match. Otherwise, it reports a not-match.
Dialing with wild characters, abbreviated dialing and mask dialing are supported.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
119
2.9.1 Message Used for Standard User Interface
2.9.1.1 Enable Standard User Interface
To enable the Standard User Interface, the user uses message with field ADDRESSING_MODE,
and set the mode to Configured Address Mode. The user can also set a mask for mask dialing with
the same field. By default, mask dialing is disabled (mask length is 0).
To enable layer 3 processing, so that call match is performed at the receiver, the user should set the
process mode to 3 with PROCESS_MODE field.
The follow message enables the Standard User Interface and enables layer 3 processing
84 A9 61 00 04 00 1A 03 28 01
2.9.1.2 Set Own Numbers
The user can set its own number with DPMR_OWN_ID_BCD field. For example, the following
message set the own number to 1234567.
84 A9 61 00 05 00 53 12 34 56 70
The user can also set one or several group number with GROUP_ID field. For example, the
following message set the first group number to 1122334. GROUP_ID is 1.
84 A9 61 00 05 00 29 11 22 33 41
2.9.1.3 Set Dialed Numbers
2.9.1.3.1 Full 7 digit Number
The user can pass the dialed number to CT3258 with DPMR_CALLED_ID_BCD field. For
example, the following message set the dialed number to 1234567.
84 A9 61 00 05 00 52 12 34 56 70
2.9.1.3.2 Wild Number Dialing
The user can also uses wild character * to dial a group of numbers, by replacing * with A. For
example, the following message set the dialed number to 123456*.
84 A9 61 00 05 00 52 12 34 56 A0
With this dialed number, called station with number 1234560 to 1234569 will respond.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
120
2.9.1.3.3 Abbreviated Dialing
The user does not always have to dial the full number of the called station. By using abbreviated
dialing, the user can only dial the digits of the called station number that is different than this own
number. For example, if callers own number is 1234567, and the called stations number is
1234568, the user only has to dial a single digit 8. The message sent to CT3258 is thus:
84 A9 61 00 05 00 52 8F FF FF F0.
Note that the un-dialed digits in DPMR_CALLED_ID_BCD is filled with F.
Upon receiving this message, CT3258 forms the complete Called ID by extracting the un-dialed
from its Own ID. In this example, the full Called ID, 1234568 will be sent to the far end.
2.9.1.3.4 Masked Dialing
In some situation, the user is limited by the number of digits he/she can dial. To do this, the MCU
sends a mask number (corresponding to the number of digits that is masked out for the user to dial)
with ADDRESSING_MODE field.
For example, the following message limit the number of digital user can dial to 3.
84 A9 61 00 02 00 28 09.
If callers own number is 1234567, and the user dials 789, the message sent to CT3258 is thus:
84 A9 61 00 05 00 52 78 9F FF F0.
Upon receiving this message, CT3258 forms the complete Called ID by extracting the un-dialed
from its Own ID. In this example, the full Called ID, 1234789 will be sent to the far end.
If the number of digits user dial exceeds the maximum number of digits to dial, the MSB is
discarded. In the previous examples, if user dials 99789, the message sent to CT3258 is:
84 A9 61 00 05 00 52 99 78 9F F0.
CT3258 will remove 99 and form the complete digit as 1234789.
2.9.1.4 Report Call Match
If layer 3 processing is enabled, the receiver matches the called number of incoming call to its
own individual number or group number, and report the matching status with CALL_MATCH
fields.
CALL_MATCH is reported as long as there is an incoming call, whether or not the call is matched
or not.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
121
CALL_MATCH also report the status of Color Code match.
For group call, CALL_MATCH also report the group number that matches the call. For group call
with wild characters, the group number is 0.
For examples, the following reported message from CT3258:
84 A9 61 00 02 00 27 00
tells the MCU that an individual call is matched, and Color Code is also matched;
84 A9 61 00 02 00 27 01
tells the MCU that an individual call is not matched, but Color Code is matched;
84 A9 61 00 02 00 27 02
indicates that a group call with wild characters is received, and Color Code is also matched;
84 A9 61 00 02 00 27 1A
indicates that a group call with group number 1 is received, but Color Code is not matched;
It is possible that a valid call may have a mis-match on the Color Code, as Color code, unlike the
Called ID, is not FEC protected. When the MCU receives a call with un-matched Color Code, it
may poll SCT3250 for Color Code in subsequent voice frames through reading DPMR_CC after
waiting 160 milli-seconds to see if it is indeed a valid call.
The Called ID and Own ID information is embedded in the header frame (80 milliseconds) and in
4 CCH frames (320 milliseconds). For normal calls with valid header frame, call match is done
within 80 milliseconds. However, with late arrival calls, CT3258 has to extract call information
over 4 error free CCH frames. Adding the time to synchronize FS2, the minimum time to report a
call match is over 500 milliseconds. In case of high BER (bit error rate), the SYNC time can be
longer.
2.10 DMR Number and Dialing Plan
CT3258 supports the Numberling Plan described in ANNEX C of ETSI TS 102 361-2.
With the Standard User Interface, the mobile user uses a standard telephone key pad, with digits
0 to 9, plus * and # keys, to dial another mobiles number. Each mobile is assigned a 7
digital number, and one or several group numbers. At the receiver, CT3258 match the “Called
Number” of the incoming call to its own individual number and group numbers. It reports a call
match to the MCU if there is a match. Otherwise, it reports a not-match.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
122
2.10.1 Message Used for DMR Dialing Plan
2.10.1.1 Set Own Numbers
The user can set its own number with DMR_OWN_ID_BCD field. For example, the following
message set the own number to 1234567.
84 A9 61 00 05 00 7E 01 23 45 67
The user can also set one or several group number with GROUP_ID field. For example, the
following message set the first group number to 1122334.
84 A9 61 00 05 00 29 11 22 33 41
2.10.1.2 Set Dialed Numbers
2.10.1.2.1 Full 8 digit Number
The user can pass the dialed number to CT3258 with DMR_CALLED_ID_BCD field. For
example, the following message set the dialed number to 1234567.
84 A9 61 00 05 00 7D 01 23 45 67
2.10.1.2.2. All Call Dialing
The user can use All Call Dialing. See the derails in the table.
BCD ID
Remark
84 A9 61 00 05 00 7D 00 aa aa(00******)
All Talkgroup ID0
84 A9 61 00 05 00 7D 01 aa aa(01******)
All Talkgroup ID1
etc.
etc.
84 A9 61 00 05 00 7D 09 aa aa(09******)
All Talkgroup ID9
84 A9 61 00 05 00 7D 0a aa aa(0*******)
All Talkgroup
2.10.1.3 Report Call Match
In Easy Mode, the receiver matches the called number of incoming call to its own individual
number or group number, and report the matching status with CALL_MATCH fields.
CALL_MATCH is reported as long as there is an incoming call, whether or not the call is matched
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
123
or not.
CALL_MATCH also report the status of Color Code match.
For group call, CALL_MATCH also report the group number that matches the call.
For examples, the following reported message from CT3258:
84 A9 61 00 02 00 27 00
tells the MCU that an individual call is matched, and Color Code is also matched;
84 A9 61 00 02 00 27 01
tells the MCU that an individual call is not matched, but Color Code is matched;
84 A9 61 00 02 00 27 02
indicates that a group call is received, and Color Code is also matched;
84 A9 61 00 02 00 27 1A
indicates that a group call with group number 1 is received, but Color Code is not matched;
It is possible that a valid call may have a mis-match on the Color Code, as Color code, unlike the
Called ID, is not FEC protected. When the MCU receives a call with un-matched Color Code, it
may poll SCT3250 for Color Code in subsequent frames.
The Called ID and Own ID information is embedded in the header frame (30 milliseconds) and in
6 voice frames (360 milliseconds). For normal calls with valid header frame, call match is done
within 30 milliseconds. However, with late arrival calls, CT3258 has to extract call information
over 6 error free voice frames, or 360 milliseconds. In case of high BER (bit error rate), the SYNC
time can be longer.
2.11 Power Saving Mode
The host can put CT3258 into low power modes with command CHIP_LOWPOWER (field type
0x15). The low power modes are listed below.
0: Normal
1: Reserved
2: Reserved
3: Power down certain peripheral of CT3258 including serial port, DMA and timers.
4: CT3258 enters IDLE mode
5: CT3258 enters Sleep mode
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
124
6: CT3258 enters Halt mode
If CT3258 is in power saving mode lower or equal to 4, it can be waken up with command
CHIP_LOWPOWER with field value 0 (normal power mode). CT3258 resume all states before it
enters the lower power mode.
If CT3258 enters power saving mode 5, it can be waken up with INT0. CT3258 resume all states
before it enters the lower power mode.
If CT3258 enters power saving mode 6, it can be waken up with NMI. Once NMI is received by
CT3258, it restarts the CT3258. All information sent to CT3258 is lost and need to be reinitialized.
The difference of reset with NMI and reset with RESET chip is that firmware would not need to
be reloaded with NMI.
The same command can be used to power down the external vocoder and codec by setting bit 5
and bit 5 of field value.
2.12 Codec Selection
CT3258 has native support for the following two codecs:
TI TLV320AIC3204
Wolfson WM8758B
TLV320AIC3204 and WM8758B are stereo codecs. With a stereo codec, the left ADC is
connected to Microphone input, the right ADC is connected to the FM demod port. The right DAC
is connected to the VCTCXO port, while the left DAC is connected to the audio line port in the
RX mode and the VCO port in the TX mode.
The codec can be selected with CODEC_SELECT command (field ID 0x2D).
Other codecs can be used with CT3258 if it supports I2C interface and conforms to the serial
format of CT3258 high speed serial port.
2.13 Codec Configurations
The host can send I2C command to codec through CT3258. The commands are sent to CT3258
via HPI interface, with bit 6 of TYPE field set to 1. Upon receiving such commands, CT3258
extracts information from the packet after the TYPE fields, and adds I2C address of the codec, and
sends the information to the codec via I2C interface.
To configure codec, the host first sends the I2C address of the codec to CT3258 with command
SET_I2C_ADDRESS. It then can send codec configuration command directly to the codec by
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
125
setting the packet type to be 0x40.
For example, to send command to WM8758B to reset it, the user can use the following
commands:
Command ID: SET_I2C_ADDRESS
Send
Command: 84 A9 61 00 02 03 2E 34
Receive Command:84 A9 61 00 02 03 2E 00
Command ID: CODEC_COMMAND
Send
Command: 84 A9 61 00 02 40 00 00
Receive Command:84 A9 61 00 02 40 17 00
When CT3258 receives the above command from the host, it extract “00 00” from the command,
and 0x34 to the beginning, and sends “0x34, 0, 0” to the codec via I2C interface.
2.14 Debug Mode
2.14.1 Setting Up Two Point Modulation
CT3258 has two outputs in TX mode connecting to VCO and VCTCXO port of the RF unit to
facilitate 2 point modulation. The user should refer to “CT3258 Application Notes – Analog
Interface Setup” for details on how to adjust two point modulation.
2.14.2 BER Test
To check the link quality, CT3258 can be configured to do BER test.
The user should refer to “CT3258 Application Notes – Analog Interface Setup” for details on how
to configure for BER test..
2.14.3 Loop Back
To verify the different part of CT3258 hardware and software, a set of loop backs can be enabled.
The following loop back modes are especially useful in verifying external codec and vocoder
connection of CT3258.
2.14.3.1 Audio Codec Loop Back and Modem Codec Loop Back
With audio codec loop back, the audio signal from the microphone goes through the ADC in the
TX path and loops back to the DAC in the RX path, and sent out to the headphone output.
With modem codec loop back, the modem signal from the DEMOD_Q port goes through the ADC
in the RX path and loops back to the DAC in the TX path, and sent out to the MOD_Q port.
Packet Interface of CT3258
Copy Rights © 2015, Wuxi Sicomm Communication Technologies, Inc & Celetra, Inc
126
The user can apply signal generated at the input and monitor the output with a scope. The correct
operation of audio codec loop back and modem codec loop indicate the correct connection of
external codec and the analog audio and modem path.
To set up for audio codec loop back and modem codec loop back, the user should follow these
steps:
Send command to set CT3258 in audio codec loop back mode:
ALOOP_CODEC_LOOP: 61 00 04 00 18 03 11 00
The user should then be able to hear his voice from the headphone, and see the signal from a
scope.
2.14.3.2 Audio Vocoder Loop Back
With audio vocoder loop back, the audio signal from the microphone goes through the ADC, the
decimator, the voice encoder in the TX path and loops back to the voice decoder, the interpolator
and the DAC in the RX path, and sent out to the headphone output.
Correct vocoder loop back indicate correct operation of the external vocoder (e.g. AMBE3000).
To set up for audio vocoder loop back, the user should follow these steps:
Send command to set CT3258 in audio vocoder loop back mode:
ALOOP_VOCODER_LOOP: 61 00 04 00 18 03 03 00
The user should then be able to hear his voice from the headphone.