Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
interfeysy_1 / ИДЗ_машинка / даташиты / esp32_technical_reference_manual_en.pdf
Скачиваний:
16
Добавлен:
26.01.2024
Размер:
9.62 Mб
Скачать

20eFuse Controller

6.Write 0x5AA5 into register EFUSE_CONF.

7.Write 0x1 into register EFUSE_CMD.

8.Poll register EFUSE_CMD until it is 0x0, or wait for a read-done interrupt.

9.Set the corresponding register bit of the programmed bit to 0.

The configuration values of the EFUSE_CLK_SEL0 bit, EFUSE_CLK_SEL1 bit of register EFUSE_CLK, and the EFUSE_DAC_CLK_DIV bit of register EFUSE_DAC_CONF are based on the current APB_CLK frequency, as is shown in Table 20-4.

Table 20­4. Timing Configuration

Register

Configuration Value

APB_CLK Frequency

26 MHz

40 MHz

80 MHz

 

 

EFUSE_CLK

EFUSE_CLK_SEL0[7:0]

250

160

80

 

 

 

 

EFUSE_CLK_SEL1[7:0]

255

255

128

 

 

 

 

 

 

EFUSE_DAC_CONF

EFUSE_DAC_CLK_DIV[7:0]

52

80

100

 

 

 

 

 

The two methods to identify the generation of program/read-done interrupts are as follows:

Method One:

1.Poll bit 1/0 in register EFUSE_INT_RAW until bit 1/0 is 1, which represents the generation of an program/readdone interrupt.

2.Set the bit 1/0 in register EFUSE_INT_CLR to 1 to clear the program/read-done interrupts.

Method Two:

1.Set bit 1/0 in register EFUSE_INT_ENA to 1 to enable eFuse Controller to post a program/read-done interrupt.

2.Configure Interrupt Matrix to enable the CPU to respond to an EFUSE_INT interrupt.

3.A program/read-done interrupt is generated.

4.Read bit 1/0 in register EFUSE_INT_ST to identify the generation of the program/read-done interrupt.

5.Set bit 1/0 in register EFUSE_INT_CLR to 1 to clear the program/read-done interrupt.

The programming of different system parameters and even the programming of different bits of the same system parameter can be completed separately in multiple programmings. It is, however, recommended that users minimize programming cycles, and program all the bits that need to be programmed in a system parameter in one programming action. In addition, after all system parameters controlled by a certain bit of efuse_wr_disable are programmed, that bit should be immediately programmed. The programming of system parameters controlled by a certain bit of efuse_wr_disable, and the programming of that bit can even be completed at the same time.

Repeated programming of programmed bits is strictly forbidden.

20.3.3 Software Reading of System Parameters

Each bit of the 30 fixed-length system parameters and the three variable-length system parameters corresponds to a software-read register bit, as shown in Table 20-5. Software can use the value of each system parameter by reading the value in the corresponding register.

The bit width of system parameters BLOCK1, BLOCK2, and BLOCK3 is variable. Although 256 register bits have been assigned to each of the three parameters, as shown in Table 20-5, some of the 256 register bits are useless

Espressif Systems

522

ESP32 TRM (Version 5.0)

Submit Documentation Feedback

20 eFuse Controller

in the 3/4 coding and the Repeat coding scheme. In the None coding scheme, the corresponding register bit of each bit of BLOCKN[255 : 0] is used. In the 3/4 coding scheme, only the corresponding register bits of

BLOCKN[191 : 0] are useful. In Repeat coding scheme, only the corresponding bits of BLOCKN[127 : 0] are useful. In different coding schemes, the values of useless register bits read by software are invalid. The values of useful register bits read by software are the system parameters BLOCK1, BLOCK2, and BLOCK3 themselves instead of their values after being encoded.

Table 20­5. Software Read Registers

System parameter

 

Register

 

Name

Bit Width

Bit

Name

Bit

efuse_wr_disable

16

[15:0]

 

[15:0]

 

 

 

 

 

efuse_rd_disable

4

[3:0]

EFUSE_BLK0_RDATA0_REG

[19:16]

 

 

 

 

flash_crypt_cnt

7

[6:0]

[26:20]

 

 

 

 

 

 

uart_download_dis

1

[0]

 

[27]

 

 

 

 

 

WIFI_MAC_Address

56

[31:0]

EFUSE_BLK0_RDATA1_REG

[31:0]

 

 

 

[55:32]

EFUSE_BLK0_RDATA2_REG

[23:0]

 

 

 

 

 

 

 

disable_app_cpu

1

[0]

 

[0]

 

 

 

 

 

disable_bt

1

[0]

 

[1]

 

 

 

 

 

pkg_version

4

[3:0]

 

[2], [11:9]

 

 

 

 

 

disable_cache

1

[0]

EFUSE_BLK0_RDATA3_REG

[3]

 

 

 

 

 

SPI_pad_config_hd

5

[4:0]

 

[8:4]

 

 

 

 

 

BLK3_part_reserve

1

[0]

 

[14]

 

 

 

 

 

CK8M Frequency

8

[7:0]

 

[7:0]

 

 

 

 

 

XPD_SDIO_REG

1

[0]

EFUSE_BLK0_RDATA4_REG

[14]

 

 

 

 

SDIO_TIEH

1

[0]

[15]

 

 

 

 

 

 

sdio_force

1

[0]

 

[16]

 

 

 

 

 

SPI_pad_config_clk

5

[4:0]

 

[4:0]

 

 

 

 

 

SPI_pad_config_q

5

[4:0]

 

[9:5]

 

 

 

 

 

SPI_pad_config_d

5

[4:0]

 

[14:10]

 

 

 

 

 

SPI_pad_config_cs0

5

[4:0]

EFUSE_BLK0_RDATA5_REG

[19:15]

 

 

 

 

 

vol_level_hp_inv

2

[1:0]

 

[23:22]

 

 

 

 

 

dig_vol_l6

4

[3:0]

 

[27:24]

 

 

 

 

 

flash_crypt_config

4

[3:0]

 

[31:28]

 

 

 

 

 

coding_scheme

2

[1:0]

 

[1:0]

 

 

 

 

 

console_debug_disable

1

[0]

 

[2]

 

 

 

 

 

abstract_done_0

1

[0]

 

[4]

 

 

 

 

 

abstract_done_1

1

[0]

 

[5]

 

 

 

 

 

JTAG_disable

1

[0]

EFUSE_BLK0_RDATA6_REG

[6]

 

 

 

 

 

download_dis_encrypt

1

[0]

 

[7]

 

 

 

 

 

download_dis_decrypt

1

[0]

 

[8]

 

 

 

 

 

download_dis_cache

1

[0]

 

[9]

 

 

 

 

 

key_status

1

[0]

 

[10]

 

 

 

 

 

Espressif Systems

523

ESP32 TRM (Version 5.0)

Submit Documentation Feedback

Соседние файлы в папке даташиты