ZHCSNR1 june 2023 AFE43902-Q1 , AFE53902-Q1
PRODUCTION DATA
狀態(tài)機根據(jù)熱折返曲線中保存的值將溫度輸入轉(zhuǎn)換為 PWM 輸出。溫度傳感器的電壓輸出由 ADC 讀取并轉(zhuǎn)換為 ADC 代碼。有三個 X 和 Y 點可用于將 ADC 代碼(X 點)映射到溫度(Y 點)。這些點可用于對溫度傳感器輸出應用線性化。ADC 為 10 位,因此最大代碼為 1023d。方程式 9 根據(jù)電壓輸入計算 ADC 輸出代碼。
此應用示例使用 5V VDD 作為 ADC 基準。方程式 10 計算 2.5V 輸入時的 ADC 代碼。
表 8-6 顯示了此應用示例中使用的 ADC 代碼到溫度的映射。NTC 電阻用作溫度傳感器。較高的 ADC 代碼對應于較低的溫度。
| ADC 代碼 | 溫度 |
|---|---|
| 0x000 | 100°C |
| 0x200 | 50°C |
| 0x3FF | 0°C |
PWM 頻率在 PWM-FREQUENCY SRAM 位置進行設置 (SRAM: 0x2E)。表 7-1 定義了每個可用頻率的代碼。有四個 X 點和 Y 點可用于將溫度(X 點)映射到輸出占空比(Y 點)。PWM 占空比輸出通過一個 7 位代碼進行配置。最大代碼為 127d。方程式 11 計算占空比:
對于 50% 占空比,方程式 11 可計算占空比代碼為 64d。
表 8-7 顯示了此應用示例中使用的溫度到輸出占空比的映射。該曲線可具有負斜率和正斜率。
| 溫度 | 輸出占空比(代碼) |
|---|---|
| 20° C | 78% (0x64) |
| 50°C | 100% (0x7F) |
| 75°C | 63% (0x51) |
| 100°C | 0% (0x00) |
按照以下指導原則在 AFE43902-Q1 上設置寄存器:
| 寄存器字段名稱 | 地址[字段] | 地址位置 |
|---|---|---|
| X1-TEMPERATURE | 0x20[10:1] | SRAM |
| Y1-TEMPERATURE | 0x21[7:0] | SRAM |
| X2-TEMPERATURE | 0x22[10:1] | SRAM |
| Y2-TEMPERATURE | 0x23[7:0] | SRAM |
| X3-TEMPERATURE | 0x24[10:1] | SRAM |
| Y3-TEMPERATURE | 0x25[7:0] | SRAM |
| X1-OUTPUT | 0x26[7:0] | SRAM |
| Y1-OUTPUT | 0x27[6:0] | SRAM |
| X2-OUTPUT | 0x28[7:0] | SRAM |
| Y2-OUTPUT | 0x29[6:0] | SRAM |
| X3-OUTPUT | 0x2A[7:0] | SRAM |
| Y3-OUTPUT | 0x2B[6:0] | SRAM |
| X4-OUTPUT | 0x2C[7:0] | SRAM |
| Y4-OUTPUT | 0x2D[6:0] | SRAM |
| PWM-FREQUENCY | 0x2E[11:7] | SRAM |
| DAC-0-VOUT-CMP-CONFIG | 0x15[12:10][4:0] | 寄存器 |
| DAC-1-VOUT-CMP-CONFIG | 0x03[12:10][4:0] | 寄存器 |
| COMMON-CONFIG | 0x1F[15:0] | 寄存器 |
| DEVICE-MODE-CONFIG | 0x25[15:0] | 寄存器 |
| STATE-MACHINE-CONFIG0 | 0x27[2:0] | 寄存器 |
只有表 8-8 的地址列中列出的位才會保存在 NVM 中,并在狀態(tài)機中使用。例如,對于 DAC-x-VOUT-CMP-CONFIG 寄存器,只有位 12 至位 10 和位 4 至位 0 會保存在 NVM 中。
以下是該應用示例的偽代碼:
//SYNTAX: WRITE <REGISTER NAME(Hex Code)>, <MSB DATA>, <LSB DATA>
//Stop the state machine
WRITE STATE-MACHINE-CONFIG0(0x27), 0x00, 0x03
//Stop the PWM generator
WRITE COMMON-PWM-TRIG(0x21), 0x00, 0x00
//Set the PWM frequncy (this is the device default)
WRITE PWM-FREQUENCY(SRAM 0x2E), 0x05, 0x80
//Set the thermal foldback profile values
//The PWM duty cycle is a 7-bit value
WRITE X1-TEMPERATURE(SRAM 0x20), 0x00, 0x00
WRITE Y1-TEMPERATURE(SRAM 0x21), 0x00, 0x64
WRITE X2-TEMPERATURE(SRAM 0x22), 0x04, 0x00
WRITE Y2-TEMPERATURE(SRAM 0x23), 0x00, 0x32
WRITE X3-TEMPERATURE(SRAM 0x24), 0x07, 0xFF
WRITE Y3-TEMPERATURE(SRAM 0x25), 0x00, 0x00
WRITE X1-OUTPUT(SRAM 0x26), 0x00, 0x14
WRITE Y1-OUTPUT(SRAM 0x27), 0x03, 0x64
WRITE X2-OUTPUT(SRAM 0x28), 0x00, 0x32
WRITE Y2-OUTPUT(SRAM 0x29), 0x03, 0x7F
WRITE X3-OUTPUT(SRAM 0x2A), 0x00, 0x4B
WRITE Y3-OUTPUT(SRAM 0x2B), 0x02, 0x51
WRITE X4-OUTPUT(SRAM 0x2C), 0x00, 0x64
WRITE Y4-OUTPUT(SRAM 0x2D), 0x00, 0x00
//Set the channel 0 reference to VDD, enable the comparator for ADC mode (this is the device default)
WRITE DAC-0-VOUT-CMP-CONFIG(0x15), 0x04, 0x01
//Power on the ADC channel
WRITE COMMON-CONFIG(0x1F), 0x03, 0xFF
//Set the device mode (this is the device default)
WRITE DEVICE-MODE-CONFIG(0x25), 0x90, 0x00
//Start the state machine
WRITE STATE-MACHINE-CONFIG(0x27), 0x00, 0x03
//Save settings to NVM
WRITE COMMON-TRIGGER(0x20), 0x00, 0x02