Document
Document
Programming Guide
FD6818
REV.1.0.0
Machine Translated by Google
Table of contents
content
Configuration process________________________________________________________________________________________________ 16
___________________________________________________________________________________________
Send and receive status settings 18
Sub-Audio Setup_________________________________________________________________________________________________ 42
Table of contents
Register Summary____________________________________________________________________________________________ 56
Machine Translated by Google
revision history
revision history
2018.07.24 Wide and narrow bandwidth settings are wrong, delete the settings for REG_3AH
2018.09.07 first revision of the chip, modify the frequency band definition range Band, frequency point, bandwidth mode settings
1 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Tone2 Gen
Tone1 Gen
(2) (4)
M (6) (8)
M
0 IN
X
MISIN PGA ADC DCC IN + Compress pre-me Scramble HPF300
X
IN
(21) (13)
X
M
0
CTCSS/DCS
+ PLL XTAL
Gen
(16) (15)
~ Well RFOUT
VCO
(19) (20)
2 | 75
FD6818 REV.1.0.0
Machine Translated by Google
3 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The value of the gain table of mic_pga_gain above represents the relative gain. Modifying this register will affect the VOX detection range and needs to be reset
Set the VOX threshold. When adjusting the MIC sensitivity, try not to modify this register, just modify the mic_sens_gain register, see the text for details
Refer to the "Setting Modulation Limits and MIC Sensitivity" section of the file.
=freq(kHz)* 2^26/6500
=freq(kHz)* 2^26/6500
If tone1_gen=1, the MIC input will be bypassed and a monophonic tone1 will be generated.
If tone1_gen=1, and tone2_gen=1, the MIC input is bypassed, and two-tone tone1+tone2 is generated at the same time.
111=15Hz;110=30Hz;101=60Hz;100=120Hz;
011=240Hz;010=480Hz;
Default dcc_tx_bypass=0, dc_tx_bw=111. When used as DMR/dPMR mode, this DC can be turned off by setting dcc_tx_bypass=1
filter. When modifying the transmit frequency, you can use dcc_tx_bw=011 or 010 to attenuate 300Hz.
4 | 75
FD6818 REV.1.0.0
Machine Translated by Google
See the "Voice Mode Settings" section of the documentation for details.
See the "SCRAMBLE Mode Settings" section of the document for details.
See the "Setting Modulation Limits and MIC Sensitivity" section of the document for detailed instructions.
5 | 75
FD6818 REV.1.0.0
Machine Translated by Google
It is recommended not to modify this register, the modulation limit only needs to adjust the dev_sh and dev_lvl registers (see the document "Setting the modulation limit and MIC for details"
Sensitivity" section).
110 = 4 kHz
000 = 3 kHz
010 = 2 kHz
011 = 1.7kHz
10=reserved
Transmission path selection, the output of several nodes can be selected for transmission.
6 | 75
FD6818 REV.1.0.0
Machine Translated by Google
It is recommended not to modify this gain, because the voice and sub-audio will be added and transmitted later. If this gain is too high and the sub-audio modulation is large, it will
cause waveform overflow. It is recommended to use the default value or initialize the recommended value.
0x11 = RX AFOUT
This register is multiplexed for transceiver and can be used to set mute, receive AF output and sidetone BEEP output.
Whether it is output receiving AF or BEEP sidetone, you need to set afout_enable=1 to enable AF DAC. gain dac_vgain setting,
The recommended maximum value is 1111 (default). Digital gain can be used for volume adjustment. For details, please refer to the document "Receive Mute (MUTE) and Volume Settings"
part.
0000=max, 1111=min
7 | 75
FD6818 REV.1.0.0
Machine Translated by Google
0000=min, 1111=max,
GAIN=(256+dev_lvl[7:0])>>dev_sh[3:0]
If only used as VCO, you can set dev_en=0 to disable FM modulation. For details on modulation limits, see the document "Setting Modulation Limits and MIC
Sensitivity" section.
For detailed instructions, see the "Setting Transmit Power" section of the document.
For details, see the "Voice Control (VOX), Transmit Timeout (TOT) Settings" section of the document.
8 | 75
FD6818 REV.1.0.0
Machine Translated by Google
XTAL PLL ~ ~
VCO DCO
(9) FSK Dec SQ NOISE SNR RSSI AFC
CTCSS/DCS
LPF255
The M FIRLPF
(13) GAIN IN FM Demod (4)
X
Of (6) FIRLPF
LPF1 HPF300 (8)
Scramble (23)
(12) (11)
ADC PGA MISIN
M
DTMF/SELCALL (21)
(14) give me IN
The
(18) X (17)
0 M
9 | 75
FD6818 REV.1.0.0
Machine Translated by Google
step
001 = 2 kHz
011 = 3 kHz
101 = 4 kHz
10 | 75
FD6818 REV.1.0.0
Machine Translated by Google
See the "AFC Settings" section of the document for detailed instructions.
(7) SQÿNOISEÿSNRÿRSSI
See the Squelch (SQ) Settings and RSSI, NOISE and SNR section of the document for detailed instructions.
The DISC signal contains both audio and sub-audio, so this register adjusts both audio and sub-audio gains.
See the "FSK Mode Settings" section of the document for details.
000=bypass;001=60Hz;010=30Hz;011=15Hz;
11 | 75
FD6818 REV.1.0.0
Machine Translated by Google
100=8Hz;101=4Hz;110=2Hz;111=1Hz
For detailed instructions on sub-audio decoding, see the "Sub-audio Settings" section of the document.
See the "SCRAMBLE Mode Settings" section of the document for details.
See the "Voice Mode Settings" section of the documentation for details.
12 | 75
FD6818 REV.1.0.0
Machine Translated by Google
DTMF/SELCALL receive signal selection, the difference lies in whether the signal entering DTMF/SELCALL decoding is de-emphasized. can be set according to
For details, see the "DTMF Mode Settings" and "SELCALL Mode Settings" sections of the document.
13 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The received FM demodulated DISC signal is sent to the chip through MICIN for voice, sub-audio, DTMF, 5TONE and other decoding. in detail
See the "DISC Baseband Processing Mode Settings" section of the documentation.
14 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Interface timing
Interface timing
3-WIRE interface
write
read
Tip: For 3-wire interface, when the read and write register address is greater than 0x7F, page flip operation is required. as follows:
Page1: WRITE(0x7F,0x0001);
2-WIRE interface
ÿÿÿÿ(Device Address =‘0101110’ when SCN is high(or no SCN pin), or Device Address =
0 1
_ _
DEVICE _ DEVICE _
S
R/W A ADDR[7:0] A/A S R/W
A DATA[15:8] A DATA[7:0] A/A P
ADDRESS ADDRESS
write read
0
_
DEVICE _
S A ADDR[7:0] A DATA[15:8] A DATA[7:0] A/A P
ADDRESS R/W
write
S = START condition
From Slave to Master
P = STOP condition
Reminder: 2-wire interface read and write registers do not need page turning operation, and "#define I2C 0x80".
15 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Configuration process
Configuration process
1. Initialize settings
WRITE(0x00,0x0000);
See the description in the section "Frequency, Frequency, Bandwidth Mode Settings".
See the description in the section "Frequency, Frequency, Bandwidth Mode Settings".
delay_ms(50);
Tip: Every time you change the frequency band, you need to set the frequency point in the frequency band first, and then do the OFFSET calibration again.
16 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Configuration process
17 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x03,0x0000);
WRITE(0x03,0xBFF1);
WRITE(0x03,0x0000);
WRITE(0x03,0xC1FE);
WRITE(0x03,0x0000);
WRITE(0x03,0x0000);
Tip: Power saving mode can be achieved by switching between RXON and IDLE.
18 | 75
FD6818 REV.1.0.0
Machine Translated by Google
19 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x38,0x3A98);
WRITE(0x39,0x0271);
Tip: After setting the frequency every time, you need to re-RXON or TXON, the frequency will be switched; the minimum frequency resolution is 10Hz.
WRITE(0x3A,0x00E0);
WRITE(0x43,0x3028);
Tip: You can choose the appropriate transmit and receive bandwidth, the above are only recommended values.
WRITE(0x3A,0x0040);
WRITE(0x43,0x4048);
Tip: You can choose the appropriate transmit and receive bandwidth, the above are only recommended values.
001 = 2 kHz
011 = 3 kHz
101 = 4 kHz
20 | 75
FD6818 REV.1.0.0
Machine Translated by Google
110 = 4 kHz
000 = 3 kHz
010 = 2 kHz
011 = 1.7kHz
21 | 75
FD6818 REV.1.0.0
Machine Translated by Google
When the chip is only used as a VCO, you can set dev_en=0 to turn off the FM modulation, so as to prevent the MICIN signal from affecting the local oscillator output.
The value of dev_sh is in a 2-fold decreasing relationship. For example, if dev_lvl is set to the same value, the modulation of dev_sh=7 is twice the modulation of dev_sh=8.
The suggested tuning sequence for modulation limit, MIC sensitivity and frequency response is:
1. Modulation limit (input a larger MICIN signal, such as 200mv, set dev_sh and dev_lvl to make the maximum modulation meet the design requirements)
2. Transmitting radio frequency (follow the setting instructions of transmitting radio frequency 300Hz and 3KHz to set accordingly. Because changing the frequency response will affect the MIC sensitivity, so
to be placed in front)
3. MIC sensitivity (Debug mic_sens_gain to make the MIC sensitivity meet the design requirements)
Tip: Different frequency band modulation registers (REG_40H) need to be set with different values. In addition, since it will affect the modulation size of the sub-audio, it is necessary to first
After determining the value of REG_40H, adjust the sub-audio transmit gain (REG_51H).
0000=max, 1111=min
0000=min, 1111=max,
GAIN=(256+dev_lvl[7:0])>>dev_sh[3:0]
63=max, 0.5dB/step
ÿ For example, the current dev_lvl=0xA3, the modulation size is 2.1kHz. If you want to modify the modulation to 2.2khz, then the calculation method is as follows:
If the adjustment range is large, you need to modify dev_sh[3:0], which is a monotonically decreasing relationship of 2 times.
22 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The transmit power is controlled by the registers padrv_gain and pa_gain_vreg, and the PA Bias can be output to control the external PA power.
0000=1.3V
1111=2.8V
23 | 75
FD6818 REV.1.0.0
Machine Translated by Google
To set mute:
0x11 = RX AFOUT
is not includeÿ
Tip: You can use the registers audio_rx_gain_sh and audio_rx_gain to combine the volume control gear, while dac_vgain is fixed at a
24 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x7F,0x0001); //page=1
WRITE(I2C | 0x30,0x8942);
WRITE(I2C | 0x31,0x3751);
WRITE(0x7F,0x0000); //page=0
WRITE(0x2C,0x8942);
WRITE(0x2D,0x3751);
WRITE(0x7F,0x0001); //page=1
WRITE(I2C | 0x23,0xC1BB);
WRITE(I2C | 0x24,0x2226);
WRITE(0x7F,0x0000); //page=0
WRITE(0x7F,0x0001); //page=1
WRITE(I2C | 0x21,0xBBC0);
WRITE(I2C | 0x22,0x2616);
WRITE(0x7F,0x0000); //page=0
25 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Others=reserved
26 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Others=reserved
1111=most slow
1111=most slow
Transmit companding point: add the micin signal amplitude to the companding point amplitude, read cmpd_db_out (REG_87H[6:0]), divide the resulting value by 2, set
Go to cmpd_tx_th_high (REG_99H[11:6]).
Receive despreading point: Set the signal source modulation frequency offset to the companding point frequency offset, read cmpd_db_out (REG_87H[6:0]), divide the obtained value by 2, set
27 | 75
FD6818 REV.1.0.0
Machine Translated by Google
=3.3(KHz)*2^26/6500
28 | 75
FD6818 REV.1.0.0
Machine Translated by Google
1=”symbol”+”idle”+”symbol”+… (DTMF)
0=”symbol”+”symbol”+”symbol”+…(5TONE)
1=dual tone
0=single tone
Launch process:
29 | 75
FD6818 REV.1.0.0
Machine Translated by Google
3. Delay T1
5. After delay T2, if DTMF transmission continues to jump to 1, transmit the next DTMF symbol
0 TONE1+TONE2 0 TONE1+TONE2 …
T1 T2 T1 T2 …
Receiving process:
2. Read dtmf_code[3:0] to get the received DTMF symbol, if the reception is not over, jump to 1 and continue to wait for the next DTMF symbol
30 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Launch process:
2. Delay T1
5. After delay T2, if SELCALL transmission is not over, jump to 4 and transmit the next SELCALL symbol
T1 T2 T2 T2 …
Receiving process:
2. Read dtmf_code[3:0] to get the received SELCALL symbol, if the reception is not over, jump to 1 and continue to wait for the next SELCALL symbol
31 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x04,0x0302);
WRITE(0x09,0x0002);
WRITE(0x09,0x105A);
WRITE(0x09,0x204B);
WRITE(0x09,0x3066);
WRITE(0x09,0x403B);
WRITE(0x07,0x1021);
WRITE(0x51,0x9400);
WRITE(0x52,0x1cb2);
WRITE(0x54,0x3269);
WRITE(0x11 | I2C,0x06FD);
//1050Hz is detectd.
32 | 75
FD6818 REV.1.0.0
Machine Translated by Google
This mode supports fixed-length data frame transmission, and CRC operation is optional.
This mode supports the transmission of larger data. In this case, the length of the data packet is unknown, and the device will permanently import the data after the sync word into the FIFO. but not
CRC operation is supported because the corresponding device at the end of the data packet is unknown. This mode is more flexible and is suitable for user-defined frame structure and frame length.
TX and RX FIFO
The chip integrates two FIFOs of 64 words (=128 bytes), one for TX and one for RX (as shown in the figure below). by writing
REG_5FH register to write data to TX FIFO, read RX FIFO data by reading REG_5FH register. TX FIFO Yes
fsk_tx_fifo_ae_th[5:0] (TX FIFO Almost Empty) can be set to prompt data writing to TX FIFO by generating an interrupt;
RX FIFO has fsk_rx_fifo_af_th[5:0] (RX FIFO Almost Full) that can be set, and prompts to count the RX FIFO by generating an interrupt.
read. At the same time, TX FIFO and RX FIFO each have a clear register which can be used to clear or reset TX FIFO and RX FIFO.
33 | 75
FD6818 REV.1.0.0
Machine Translated by Google
TX FIFO RX FIFO
64 words 64 words
RX FIFO almost
full threshold
TX FIFO almost
empty threshold
=freq(kHz)*2^26/6500
length=(fsk_prmb_size[3:0]+1) bytes
34 | 75
FD6818 REV.1.0.0
Machine Translated by Google
“0x01“=FSK Format2
length=(fsk_length[7:0]+1) words
(1 word = 2 bytes)
bytes)
bytes)
Launch process:
2. Transmit TXON
3. Wait for the interrupt to prompt the completion of the FSK transmission
Receiving process:
1. Receive RXON
3. Read the RX FIFO data and read the fsk_crc_ok flag for error control
4. End receiving IDLE, (delay for a certain interval time) RXON again and wait for the arrival of the next FSK frame
35 | 75
FD6818 REV.1.0.0
Machine Translated by Google
1. This mode is only used for baseband processing of voice and sub-audio transceivers. The baseband signals of receiving DISC and transmitting MIC are all connected by the MICIN port (the input of MICIN).
The amplitude of the received DISC signal needs to be controlled below 200mV) and the input settings are as follows:
WRITE(0x7F,0x0001); //page1
WRITE(I2C | 0x1C,0x076F);
WRITE(I2C | 0x1D,0xB9FD);
WRITE(I2C | 0x27,0x18DA);
WRITE(0x7F,0x0000); //page0
RXON:
WRITE(0x03,0x0000); WRITE(0x03,0x0005);
TXT:
or
2. Do voice and sub-audio receiving and decoding (the input signal amplitude of MICIN needs to be controlled below 200mV), and also used as VCO. set as
Down:
WRITE(0x13,0x03FF);
WRITE(0x35,0xF108);
WRITE(0x3D,0x0000);
36 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x7F,0x0001); //page1
WRITE(I2C | 0x1C,0x076F);
WRITE(I2C | 0x1D,0xB9FD);
WRITE(I2C | 0x27,0x18DA);
WRITE(0x7F,0x0000); //page0
RXON:
WRITE(0x04,0x0800);
WRITE(0x03,0x0000); WRITE(0x03,0x81FD); //RFO outputs VCO, AF outputs audio, and sub-audio decoding is done internally
TXT:
or
WRITE(0x04,0x0400);
37 | 75
FD6818 REV.1.0.0
Machine Translated by Google
This mode can be used as a transceiver for DMR/dPMR and other products. MICIN sends the shaped filtered 4FSK signal for modulation and transmission, and AFOUT sends out
The adjusted 4FSK signal. The settings are as follows (the chip should be set to narrowband 12.5k mode):
WRITE(0x04,0x0300);
WRITE(0x3a,0x0040); // 12.5k
If the transmission is realized by adjusting the external TCXO, it is also necessary to set
TXON changed to
WRITE(0x03,0x0000);
WRITE(0x03,0xC1FE);
RXON changed to
WRITE(0x03,0x0000);
WRITE(0x03,0xC1FE); ->WRITE(0x03,0xBFF1);
38 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x34,0x606F); WRITE(0x35,0xF608); //Turn off the corresponding clock to reduce VCO interference
WRITE(0x03,0x0000);
WRITE(0x03,0x01FA); WRITE(0x03,0x81FA);
WRITE(0x34,0x206F); //Turn off the receiving part of the clock to reduce VCO interference
2. TXON is
WRITE(0x03,0x0000);
WRITE(0x03,0xC1FE);
3. RXON is
WRITE(0x03,0x0000);
WRITE(0x03,0x01FA); WRITE(0x03,0x81FA);
39 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The BEEP and CALL TONE frequencies of touch tone side tone are set by registers REG_71H, REG_72H:
The transmission frequency is freq(Hz), and the calculation formula is =freq(kHz)* 2^26/6500
To transmit CALL TONE and play sidetone at the same time, you need to set AFOUT(REG_03[9])=1, and set
To launch a MUTE:
WRITE(0x50,REG_50H | 0x8000);
Emit NOMUTE:
WRITE(0x50,REG_50H);
0x11 = RX AFOUT
40 | 75
FD6818 REV.1.0.0
Machine Translated by Google
=freq(kHz)* 2^26/6500
=freq(kHz)* 2^26/6500
41 | 75
FD6818 REV.1.0.0
Machine Translated by Google
WRITE(0x51,0x0000);
WRITE(0x07,0x0811); //100Hz
1=CTCSS, 0=CDCSS
42 | 75
FD6818 REV.1.0.0
Machine Translated by Google
1=24bit, 0=23bit
(1+subau_gain[4:0]/32)<<subau_gain[6:5]
000=bypass;001=60Hz;010=30Hz;011=15Hz;
100=8Hz;101=4Hz;110=2Hz;111=1Hz
ÿÿ Sub-audio transmit gain can be adjusted in addition to subau_gain[6:0] and subau_tx_atten_gain[1:0]. Another thing to note
Yes, the sub-audio transmission modulation frequency offset is associated with the REG_40H register, so you must first determine the value of REG_40H (that is, the maximum modulation) and then adjust it
43 | 75
FD6818 REV.1.0.0
Machine Translated by Google
When transmitting CTCSS, set subau_tail_gen=1, if ctc_tail_offs=0, CTCSS1 will be automatically transmitted as tail tone; if
If ctc_tail_offs is other value, it will automatically transmit CTCSS0 with corresponding phase shift as tail tone.
When transmitting CDCSS, after setting subau_tail_gen=1, CTCSS1 is automatically transmitted as tail tone.
1=~0.1%; 0=0.1 Hz
(Read Only)
[0]:CTCSS0 received
(Read Only)
There are two modes for CTCSS detection threshold, 1 is frequency percentage (unit is ~0.1%) mode, 0 is frequency (unit is 0.1Hz) mode (default).
44 | 75
FD6818 REV.1.0.0
Machine Translated by Google
//When mode=0, if ctc_th_in/ ctc_th_out=15, then the corresponding threshold is about 15*0.1=1.5hz
//mode=1, if ctc_th_in/ ctc_th_out=10, then when the solution is 67hz, the corresponding threshold is 10*67*0.1%=0.67hz
The sub-audio can be detected by reading the values of dcs_detect and ctc_detect regularly, or it can be obtained by interrupt.
45 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The judgment of voice control (VOX) adopts a double threshold algorithm, and its judgment logic is as follows:
VOX = 1;
else
VOX = 0;
vox_rssi_th [5:0] REG_46H[15:10] RSSI threshold (2dB/step) for VOX. VOX works
46 | 75
FD6818 REV.1.0.0
Machine Translated by Google
The squelch judgment adopts the double threshold algorithm of rssi_sq and noise_sq, and its judgment logic is as follows:
SQ = 1;
else
SQ = 0;
Different squelch levels are distinguished by the threshold of rssi_sq. The threshold of noise_sq can be set to a fixed value, so that the squelch table is relatively simple.
Tip: Different schemes may have external LNAs with different gains. In order to normalize RSSI, the ext_lna_gain register is set to compensate.
If the external LNA gain is 10dB, then you need to set ext_lna_gain=10.
(Read Only)
47 | 75
FD6818 REV.1.0.0
Machine Translated by Google
When snr< snr_th_for_sm && weak_rssi && soft_mute_en, the soft_mute function is enabled inside the chip. This function has
It is beneficial to reduce the received audio noise floor under weak signals.
48 | 75
FD6818 REV.1.0.0
Machine Translated by Google
AFC settings
AFC settings
If the temperature compensated crystal oscillator TCXO is used, the frequency is relatively accurate, and the AFC function can be turned off (set afc_disable=1); if the crystal is used,
There is still a certain deviation after frequency calibration, you can turn on AFC (set afc_disable=0) and set a suitable afc_range.
011: ~=750 Hz
100: ~=550 Hz
101: ~=375 Hz
110: ~=275 Hz
111: ~=188 Hz
1 = AFC railed
(Read Only)
49 | 75
FD6818 REV.1.0.0
Machine Translated by Google
[4:3]: reserved
REG_02H[9:8] reserved
1=VOX receive
50 | 75
FD6818 REV.1.0.0
Machine Translated by Google
1=SQ receive
13=FSK Rx Succeed
4,3=reserved
The interrupt can be output by any GPIO port of the chip, and the interrupt can be cleared by writing any value to the 02H register, such as
Tip: Interrupt is active at high level. When getting an interrupt, you must clear the interrupt before reading the interrupt vector table. Read the vector table, first according to
irq_vector[3:0] to judge the interrupt source, and then find the specific interrupt event in the interrupt source. The processing is as follows:
int rdata = 0;
WRITE(0x02,0x0000);
Read(0x02,rdata);
51 | 75
FD6818 REV.1.0.0
Machine Translated by Google
case 5:
case 6:
case 7: break; //The PLL is out of lock and the PLL can be retriggered by first in the receive or transmit state
case 8: CODE = (rdata >>12) & 0xf; break; //DTMF or SELCALL CODE
} //end switch
} //end if
52 | 75
FD6818 REV.1.0.0
Machine Translated by Google
gpioX_out_sel=0, (X=0..7)
0=gpio_out_val[X], (X=0..7)
1=INT
2=SQ
3=VOX
7:11=reserved
53 | 75
FD6818 REV.1.0.0
Machine Translated by Google
For example: use GPIO4 as SQ output, use GPIO5 as VOX output, you need to set
gpio_oen_b[4]=0, gpio4_out_sel[3:0]=2;
gpio_oen_b[5]=0, gpio5_out_sel[3:0]=3;
gpio_oen_b[4]=0, gpio4_out_sel[3:0]=0, the output value of GPIO4 is the value corresponding to gpio_out_val[4].
54 | 75
FD6818 REV.1.0.0
Machine Translated by Google
XTAL is the clock frequency (unit Hz), then N=XTAL/10*2, the clock frequency of the crystal/crystal oscillator is set as follows:
WRITE(0x3B,N);
WRITE(0x3C,(N>>16)<<8);
Except for the clock frequency, if the clock frequency is in the range of 12M~13M, you need to set:
WRITE(0x22,0x9E14);
WRITE(0x41,0x81C1);
WRITE(0x3D,0x4EC5);
WRITE(0x22,0x5E14);
WRITE(0x41,0x81C2);
WRITE(0x3D,0x3483);
If the clock frequency is in the range of 24M~26M, you need to set: (default 26MHz, you can not set it)
WRITE(0x22,0x3E14);
WRITE(0x41,0x81C4);
WRITE(0x3D,0x2762);
55 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
Register Summary
[9:8] reserved
1=VOX receive
1=SQ receive
13=FSK Rx Succeed
interrupt
6=CDCSS receive/lost
interrupt
56 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
5=CTCSS receive/lost
interrupt
4=DTMF/SELCALL receive
interrupt
3=reserved
(LNA,MIXER,FILTER,ADC)
= freq(Hz)*2^27/6500000
57 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
[7:0]=coefficients for
DTMF/SELCALL detection
received ready.
1 = AFC railed
01000(default)
00100
00010
00001 min
step
0000=1.3V
1111=2.8V
58 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
REG_25H R/W 0x0000 gpio_oen_b[7:0] [15:8] gpioX output enable, low active,
(X=0..7)
gpioX_out_sel=0, (X=0..7)
0=gpio_out_val[X], (X=0..7)
1=INT
2=SQ
3=VOX
4=subau_cmp (CTCSS/CDCSS
compare result output)
7:11=reserved
59 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
gpio3_out_sel[3:0]
interrupt
empty interrupt
interrupt
full interrupt
received interrupt
60 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
interrupt
interrupt
interrupt
[4:3]: reserved
interrupt
interrupt
interrupt
0000=max, 1111=min
0000=min, 1111=max,
GAIN=(256+dev_lvl[7:0])>>dev
_sh[3:0]
(Apass=0.1dB)
000 = 1.7 kHz
001 = 2 kHz
011 = 3 kHz
101 = 4 kHz
signal is weak.
61 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
(Apass=1dB) for Tx
100 = 4.5 kHz
110 = 4 kHz
000 = 3 kHz
010 = 2 kHz
011 = 1.7kHz
REG_46H R/W 0x8050 vox_rssi_th[15:10] [15:10] RSSI threshold (2dB/step) for VOX.
VOX works only when
RSSI is lower than this
threshold.
0x11 = RX AFOUT
ÿCTCSS/CDCSS is not
includeÿ
62 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
step
1=CTCSS, 0=CDCSS
1=24bit, 0=23bit
tuning gain
select,
63 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
supported.
1=~0.1%; 0=0.1 Hz
=3.3(KHz)*2^26/6500
length=(fsk_prmb_size[3:0]+1)
bytes
1=4 bytes
64 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
(fsk_sync_byte0,1,2,3)
“0x01“=FSK Format2
REG_5DH R/W 0x3FCC fsk_length[7:0] [15:8] FSK data length when use FSK
format1
length=(fsk_length[7:0]+1)
bytes
bytes)
threshold(unit is 1word=2
bytes)
65 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
[0]:CTCSS0 received
rssi_sq/2 – 160.
=freq(kHz)* 2^26/6500
=freq(kHz)* 2^26/6500
011: ~=750 Hz
100: ~=550 Hz
101: ~=375 Hz
110: ~=275 Hz
111: ~=188 Hz
66 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
REG_78H
synchronization width.
pin.
0=Transmit/Receive data is
1=Transmit/Receive data is
0=Transmit/Receive frame
67 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
active high.
1=Transmit/Receive frame
0.5dB/step
0.5dB/step
bandwidth(3dB) select
111=15Hz;110=30Hz;101=60H
68 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
z;100=120Hz;
011=240Hz;010=480Hz;
00=-16dB; 01=-12dB;
10=-8dB; 11=-4dB
Mute begin.
threshold, 1dB/step
1=”symbol”+”idle”+”sym
bol”+… (DTMF)
0=”symbol”+”symbol”+”
symbol”+…(5TONE)
0=single tone
15=symbol “0”~”F”
(DTMF)
69 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
Others=reserved
Others=reserved
100=1:3;011=1:2.5;010=1:2;00
1=1:1.5
111=8:1;110=4:1;100=2:1;000=
1:1
70 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
threshold is 2dB.
cmpd_atk_step[3:0] [7:4]
0000=most fast
1111=most slow
0000=most fast
1111=most slow
10=reserved
71 | 75
FD6818 REV.1.0.0
Machine Translated by Google
Register Summary
000=bypass;001=60Hz;010=30
Hz;011=15Hz;
100=8Hz;101=4Hz;110=2Hz;11
1=1Hz
0] 6dB/step
72 | 75
FD6818 REV.1.0.0
Machine Translated by Google
73 | 75
FD6818 REV.1.0.0