43
22
[FAQ0101488]如何使用AW83611DEMO板演示负载诊断功能
2025年12月

A:AW83611 DEMO板演示负载诊断功能,需要按如下操作:

1、按照下图完成连接,IIC接通讯小板和PC连接,电源正常供电;

连接正常后上电,UI左下角两个绿灯亮起表示通信正常。

2、上图右侧红色区域为用于演示负载诊断功能的切换开关,不同开关功能如图。

(1)OUTP/OUTN互短,将对应开关拨到左侧(OUTN位置),此时需要INN/INP有输入信号才能触发异常,DEMO异常状态灯亮起,UI Read all Reg读取寄存器状态后,如下,OC和SL状态会亮起;解除短路后,重新读取,状态位恢复正常。

(2) OUTP/OUTN与GND短路,将对应开关拨到左侧GND位置,注意,由于DEMO板为了安全,在此开关和GND之间串有100ohm电阻,拨动开关后,OUTP/N对GND非完全短路,此时无法触发芯片OC,故无法触发负载异常诊断流程,需要重新下电后上电,此时才会诊断短异常。用户实际场景正常对GND短路会立即触发OC,然后进行负载诊断,上报异常。触发后UI状态如下,红框处S2G标志会亮起

(3) OUTP/OUTN与PVCC短路和短GND类似,开关和PVCC之间仍然串有100ohm电阻,拨动对应开关到PVCC后,OUTP/N对PVCC非完全短路,无法触发OC,需要重新上电走一遍负载诊断,才能上报异常。用户实际场景正常对PVCC短路会立即触发OC,然后进行负载诊断,上报异常。触发后UI状态如下,红框处S2P状态会亮起。

(4)负载开路,负载开路不会影响芯片状态和输出PWM信号,此时必须下次上电启动负载诊断才会上报异常。负载开路UI状态如下,红框处OL状态会亮起。

附:如下是AW83611芯片负载诊断流程,只有在上电和触发OC两种状态才会进行负载诊断。

38
22
[FAQ0101485] SKT算法出现get awinic_params.bin size failed报错如何解决.
2025年12月

A:

算法报错出现报错log,如下图所示:

[Awinic]: get [/vendor/firmware/awinic_params.bin] size failed !

排查思路:

1、确认/vendor/firmware/awinic_params.bin是否存在

adb shell ls -l /vendor/firmware/awinic_params.bin

2、若文件存在检查是否有权限问题

adb shell chmod 777 /vendor/firmware/awinic_params.bin

3、使用adb将算法包中提供的算法参数push到机器中重新验证

32
22
[FAQ0701483]AW21024X_AW21036X如何实现open或short检测?
2025年11月

A:AW21024X_AW21036Xopenshort检测,需在灯常亮状态下执行。核心操作逻辑是先点亮所有LED灯,再通过寄存器配置启动检测并读取结果,具体操作流程及参数配置如下:

1、 点亮所有LED,完成以下寄存器配置步骤:

1) 使能芯片:0x00寄存器的CHIPEN位设置为1

GCR: Global Control Register(Address 00H)

Bit

Symbol

R/W

Description

Default

0

CHIPEN

RW

Chip enable

0: Disable (default)

1: Enable

0

2) 将所有LED灯的亮度BRx和颜色COLx都设置为0xff

BR: BR Register(Address 01H~24H)

Bit

Symbol

R/W

Description

Default

7:0

BR

RW

Individual 8bit BR parameter for LED1~36.

After configuring the BR registers, should write 0x00 to register UPDATE to update the data.

0x00

COL0~COL35: COL Register(Address 4AH~6DH)

Bit

Symbol

R/W

Description

Default

7:0

COL

RW

Individual 8bit COL parameter for LED1~36.

0x00

3) 通过给0x49寄存器写0x00让亮度BRx寄存器的值生效

UPDATE: Update Register(Address 49H)

Bit

Symbol

R/W

Description

Default

7:0

UPDATE

W

Write 0x00 to update BR register.

0x00

4) 0x78寄存器的bit7:bit5设置为b111,即PWM占空比设置成100%

SSCR: Spread Spectrum Control Register (Address 78H)

Bit

Symbol

R/W

Description

Default

7

PWMDIS2

RW

0: PWM duty of LED 25~36 determined by BR24~BR35

1: PWM duty of LED 25~36 fixed as 100%

0

6

PWMDIS1

RW

0: PWM duty of LED 13~24 determined by BR12~BR23

1: PWM duty of LED 13~24 fixed as 100%

0

5

PWMDIS0

RW

0: PWM duty of LED 1~12 determined by BR0~BR11

1: PWM duty of LED 1~12 fixed as 100%

0

5) 根据当前项目使用的LED参数和硬件电阻大小,设置全局电流(0x6E寄存器);推荐设置为0x0f

GCCR: Global Control Register(Address 6EH)

Symbol

R/W

Description

Default

GCC

RW

Global current control.

0x00

注意:

K=200, VREXT = 0.4V, n=1, 2, 3, …, 36

2、 打开openshort检测,同步设置openshort阈值(0x71寄存器);

OSDCR: Open Short Detect Control Register(Address 71H)

Bit

Symbol

R/W

Description

Default

3

OTH

RW

Open threshold

0: 0.1V

1: 0.2V

0

2

STH

RW

Short threshold

0: VDD-1V

1: VDD-0.5V

0

1:0

OSDE

RW

Open short detect enable

b0x: Detect disable

b10: Short detect enable

b11: Open detect enable

00

3、 延时50ms

4、 0x72~0x76寄存器查看检测结果,其对应的位置如下:

5、 OSST0~3: Open/Short Status Register (Address 72H~75H)

Bit

Symbol

R/W

Description

Default

7:0

OSST

R

Open/short status of LED1~LED32

0: No open/short event detected

1: Open/short event detected

0x00

OSST4: Open/Short Status Register (Address 76H)

Bit

Symbol

R/W

Description

Default

7:4

RESERVED

R

Reserved

0000

3:0

OSST

R

Open/short status of LED33~LED36

0: No open/short detected

1: Open/short detected

0000

6、 AW21036QNR举例如下:

1. //1.点亮所有灯

2. // Chip enable

3. aw_i2c_writebyte(I2C_ADDR, 0x00, 0x01);

4. // Set BRx

5. for(int i = 0;i < NUMS; i++){ //NUMSLED的个数

6. aw_i2c_writebyte(I2C_ADDR, 0x01 + i, 0xFF);

7. }

8. // Set SLx

9. for(int i = 0;i < NUMS; i++){ //NUMSLED的个数

10. aw_i2c_writebyte(I2C_ADDR, 0x4A + i, 0xFF);

11. }

12. // update BRx

13. aw_i2c_writebyte(I2C_ADDR, 0x49, 0x00);

14. //  Set pwm duty

15. aw_i2c_writebyte(I2C_ADDR, 0x78, 0xE0);

16. //  Set global current

17. aw_i2c_writebyte(I2C_ADDR, 0x6E, 0x0f); //需要根据项目进行计算设置

18.

19. //2.开始short检测

20. aw_i2c_writebyte(I2C_ADDR, 0x71, AW210XX_STH << 2 | AW210XX_BIT_SHORT_EN); // AW210XX_STH是短路的阈值,0=VDD-1V,1=VDD-0.5V;AW210XX_BIT_SHORT_EN = 0x02short检测

21. soft_delay(50); //延时50ms

22. for(int i = 0x72;i < 0x76; i++){

23. aw_i2c_readbyte(I2C_ADDR, i, short_result); //short_result值就是咱们short检测结果,按照手册描述查找对应位置

24. }

25. //3.开始open检测

26. aw_i2c_writebyte(I2C_ADDR, 0x71, AW210XX_OTH << 3 | AW210XX_BIT_OPEN_EN); // AW210XX_OTHopen的阈值,0=0.1V,1=0.2V; AW210XX_BIT_SHORT_EN = 0x03short检测

27. soft_delay(50); //延时50ms

28. for(int i = 0x72;i < 0x76; i++){

29. aw_i2c_readbyte(I2C_ADDR, i, open_result); //open_result值就是咱们open检测结果,按照手册描述查找对应位置

30. }

31. //4.软件复位并按照项目需求进行初始化

30
22
[FAQ0701481]如何排查AW9523B_AW9527_AW9110C_AW9106C按键失效?
2025年11月

A:在芯片正常的情况,可以按照如下步骤进行排查

步骤一、按键失效时需先确认I2C通信:

(1) VCC供电是否在2.5V~5.5V之内;

(2) RSTNSHDN使能引脚是否拉高;

(3) I2C地址有AD0AD1的链接方式决定,通信过程中是否正确;

(4) 通过读0x10寄存器的CHIPID 0x23来判断I2C通信是否成功。

步骤二、确认硬件设计:端口做gpio input时,PX_XOUTx端口和INTN都必须要有级别的外部上拉

步骤三、接着确认寄存器配置

(1) 端口的模式配置:

AW9523BAW95270x120x13寄存器如下:

Table 1. LED mode switch register12H

Address

Name

Description

Default

12H

LED Mode Switch

Configure P0_7~P0_0 as LED or GPIO mode

1GPIO mode

0LED mode

FFH

Table 2. LED mode switch register13H

Address

Name

Description

Default

13H

LED Mode Switch

Configure P1_7~P1_0 as LED or GPIO mode

1GPIO mode

0LED mode

FFH

AW9110CAW9106C0x120x13寄存器如下:

Table 3. P0WKMD(12H), GPIO control switch to LED driver register

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0WKMD[5]

OUT9 mode control

0:LED mode

1:GPIO mode

1

D4

P0WKMD[4]

OUT8 mode control

0:LED mode

1:GPIO mode

1

D3

P0WKMD[3]

OUT7 mode control

0:LED mode

1:GPIO mode

1

D2

P0WKMD[2]

OUT6 mode control

0:LED mode

1:GPIO mode

1

D1

P0WKMD[1]

OUT5 mode control

0:LED mode

1:GPIO mode

1

D0

P0WKMD[0]

OUT4 mode control

0:LED mode

1:GPIO mode

1

Table 4. P1WKMD(13H), GPIO control switch to LED driver register

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1WKMD[3]

OUT3 mode control

0:LED mode

1:GPIO mode

1

D2

P1WKMD[2]

OUT2 mode control

0:LED mode

1:GPIO mode

1

D1

P1WKMD[1]

OUT1 mode control

0:LED mode

1:GPIO mode

1

D0

P1WKMD[0]

OUT0 mode control

0:LED mode

1:GPIO mode

1

(2) 方向配置是否正确:

AW9523B和AW9527的0x040x05寄存器如下:

Table 5. Configuration register04H05H

Address

Name

Description

Default

04H

Config_Port0

P0 port input/output mode select. 0-output; 1-input

00H

05H

Config_Port1

P1 port input/output mode select. 0-output; 1-input

00H

AW9110CAW9106C0x040x05寄存器如下:

Table 6. P0DIR(04H),GPIO input or output select register or as BLINK,SMART-FADE Mode select

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0DIR[5]

OUT9 input or output choice

0:output

1:input

0

D4

P0DIR[4]

OUT8 input or output choice

0:output

1:input

0

D3

P0DIR[3]

OUT7 input or output choice

0:output

1:input

0

D2

P0DIR[2]

OUT6 input or output choice

0:output

1:input

0

D1

P0DIR[1]

P0WKMD[1]=1, OUT5 input or output choice

0:output

1:input

0

D0

P0DIR[0]

P0WKMD[0] =1, OUT4 input or output choice

0:output

1:input

0

Table 7. P1DIR(05H),GPIO input or output selection register, or used for BLINK,SMART-FADE mode choice

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1DIR[3]

P0WKMD[3] =1 , OUT3 input or output choice

0:output

1:input

0

D2

P1DIR[2]

P0WKMD[2] =1 , OUT2 input or output choice

0:output

1:input

0

D1

P1DIR[1]

P0WKMD[1] =1 , OUT1 input or output choice

0:output

1:input

0

D0

P1DIR[0]

P0WKMD[0] =1 , OUT0 input or output choice

0:output

1:input

0

(3) 中断是否使能:

AW9523B和AW9527的0x060x07寄存器如下:

Table 8. Interrupt enable register06H07H

Address

Name

Description

Default

06H

Int_Port0

P0 port interrupt enable. 0-enable; 1-disable

00H

07H

Int_Port1

P1 port interrupt enable. 0-enable; 1-disable

00H

AW9110CAW9106C0x060x07寄存器如下:

Table 9. P0MSK(06H),GPIO Mask Interrupt Register

Bit

Symbol

Description

Default

D[7:2]

-

-

Remain

D5

P0MSK[5]

OUT9 enable interrupt

0:enable

1:disable

0

D4

P0MSK[4]

OUT8 enable interrupt

0:enable

1:disable

0

D3

P0MSK[3]

OUT7 enable interrupt

0:enable

1:disable

0

D2

P0MSK[2]

OUT6 enable interrupt

0:enable

1:disable

0

D1

P0MSK[1]

OUT5 enable interrupt

0:enable

1:disable

0

D0

P0MSK[0]

OUT4 enable interrupt

0:enable

1:disable

0

Table 10. P1MSK (07H),GPIO Mask Interrupt Register

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1MSK[3]

OUT3 enable interrupt

0:enable

1:disable

0

D2

P1MSK[2]

OUT2 enable interrupt

0:enable

1:disable

0

D1

P1MSK[1]

OUT1 enable interrupt

0:enable

1:disable

0

D0

P1MSK[0]

OUT0 enable interrupt

0:enable

1:disable

0

步骤四、PX_XOUTx端口配置成gpio input时,由于外部有上拉电阻,所以默认为高电平;按下按键后变为低电平,其低电平保持超过8us时,INTN会被拉低;

平台连接INTN引脚的GPIO需配置成下降沿触发;那INTN从高电平变为低电平会触发中断并执行中断函数,在中断函数中读0x000x01寄存器确认是哪个引脚被按下

AW9523B和AW9527的0x000x01寄存器如下:

Table 11. Input state register00H01H

Address

Name

Description

Default

00H

Input_Port0

P0 port current logic state, 0-low level1-high level

X

01H

Input_Port1

P1 port current logic state, 0-low level1-high level

X

AW9110CAW9106C0x000x01寄存器如下:

Table 12. P0DI(00H),GPIO input state register

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0DI[5]

OUT9 pin state

0:Low level

1:High level

X

D4

P0DI[4]

OUT8 pin state

0:Low level

1:High level

X

D3

P0DI[3]

OUT7 pin state

0:Low level

1High level

X

D2

P0DI[2]

OUT6 pin state

0:Low level

1:High level

X

D1

P0DI[1]

OUT5 pin state

0:Low level

1:High level

X

D0

P0DI[0]

OUT4 pin state

0:Low level

1:High level

X

Table 13. P1DI(01H),GPIO input state register

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1DI[3]

OUT3 pin state

0:Low level

1:High level

X

D2

P1DI[2]

OUT2 pin state

0:Low level

1:High level

X

D1

P1DI[1]

OUT1 pin state

0:Low level

1:High level

X

D0

P1DI[0]

OUT0 pin state

0:Low level

1:High level

X

步骤五、用示波器测试PX_XOUTx端口和INTN的信号,看其电平变化是否符合第四步描述

27
22
[FAQ0701482]如何排查AW9523B_AW9527_AW9110C_AW9106C输出电平异常?
2025年11月

A:在芯片正常的情况,可以按照如下步骤进行排查

步骤一、按键失效时需先确认I2C通信:

(1) VCC供电是否在2.5V~5.5V之内;

(2) RSTNSHDN使能引脚是否拉高;

(3) I2C地址有AD0AD1的链接方式决定,通信过程中是否正确;

(4) 通过读0x10寄存器的CHIPID 0x23来判断I2C通信是否成功。

步骤二、确认硬件设计:端口做gpio output时,

(1) PX_XOUTx端口尽量不要有下拉电阻,防止下拉能力过强导致端口输出高也无法拉高;

(2) AW9523BAW9527P1_X端口为Push-Pull输出;P0_X端口默认为Open-Drain输出,也可以通过0x04寄存器的bit4设置为Push-PullP0_XOpen-Drain输出时,外部需准备上拉电阻。

步骤三、接着确认寄存器配置

(1) 端口的模式配置:

AW9523BAW95270x120x13寄存器如下:

Table 1. LED mode switch register12H

Address

Name

Description

Default

12H

LED Mode Switch

Configure P0_7~P0_0 as LED or GPIO mode

1GPIO mode

0LED mode

FFH

Table 2. LED mode switch register13H

Address

Name

Description

Default

13H

LED Mode Switch

Configure P1_7~P1_0 as LED or GPIO mode

1GPIO mode

0LED mode

FFH

AW9110CAW9106C0x120x13寄存器如下:

Table 3. P0WKMD(12H), GPIO control switch to LED driver register

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0WKMD[5]

OUT9 mode control

0:LED mode

1:GPIO mode

1

D4

P0WKMD[4]

OUT8 mode control

0:LED mode

1:GPIO mode

1

D3

P0WKMD[3]

OUT7 mode control

0:LED mode

1:GPIO mode

1

D2

P0WKMD[2]

OUT6 mode control

0:LED mode

1:GPIO mode

1

D1

P0WKMD[1]

OUT5 mode control

0:LED mode

1:GPIO mode

1

D0

P0WKMD[0]

OUT4 mode control

0:LED mode

1:GPIO mode

1

Table 4. P1WKMD(13H), GPIO control switch to LED driver register

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1WKMD[3]

OUT3 mode control

0:LED mode

1:GPIO mode

1

D2

P1WKMD[2]

OUT2 mode control

0:LED mode

1:GPIO mode

1

D1

P1WKMD[1]

OUT1 mode control

0:LED mode

1:GPIO mode

1

D0

P1WKMD[0]

OUT0 mode control

0:LED mode

1:GPIO mode

1

(2) 方向配置是否正确:

AW9523B和AW9527的0x040x05寄存器如下:

Table 5. Configuration register04H05H

Address

Name

Description

Default

04H

Config_Port0

P0 port input/output mode select. 0-output; 1-input

00H

05H

Config_Port1

P1 port input/output mode select. 0-output; 1-input

00H

AW9110CAW9106C0x040x05寄存器如下:

Table 6. P0DIR(04H),GPIO input or output select register or as BLINK,SMART-FADE Mode select

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0DIR[5]

OUT9 input or output choice

0:output

1:input

0

D4

P0DIR[4]

OUT8 input or output choice

0:output

1:input

0

D3

P0DIR[3]

OUT7 input or output choice

0:output

1:input

0

D2

P0DIR[2]

OUT6 input or output choice

0:output

1:input

0

D1

P0DIR[1]

P0WKMD[1]=1, OUT5 input or output choice

0:output

1:input

0

D0

P0DIR[0]

P0WKMD[0] =1, OUT4 input or output choice

0:output

1:input

0

Table 7. P1DIR(05H),GPIO input or output selection register, or used for BLINK,SMART-FADE mode choice

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1DIR[3]

P0WKMD[3] =1 , OUT3 input or output choice

0:output

1:input

0

D2

P1DIR[2]

P0WKMD[2] =1 , OUT2 input or output choice

0:output

1:input

0

D1

P1DIR[1]

P0WKMD[1] =1 , OUT1 input or output choice

0:output

1:input

0

D0

P1DIR[0]

P0WKMD[0] =1 , OUT0 input or output choice

0:output

1:input

0

(3) 输出电平:

AW9523B和AW9527的0x020x03寄存器如下

Table 8. Output state register02H03H

Address

Name

Description

Default

02H

Output_Port0

Set P0 port output value. 0-low level; 1-high level

Refer to table1

03H

Output_Port1

Set P1 port output value. 0-low level; 1-high level

Refer to table1

AW9110CAW9106C0x020x03寄存器如下:

Table 9. P0DO(02H),GPIO output state register or as driver control in SMART-FADE mode

Bit

Symbol

Description

Default

D[7:6]

-

-

Remain

D5

P0DO[5]

OUT9 pin state

0:Low level

1:High level

Depend on AD0 and AD1

D4

P0DO[4]

OUT8 pin state

0:Low level

1:High level

D3

P0DO[3]

OUT7 pin state

0:Low level

1:High level

D2

P0DO[2]

OUT6 pin state

0:Low level

1:High level

D1

P0DO[1]

P0WKMD[1]=1,as driving OUT5 pin state

0:Low level

1:High level

D0

P0DO[0]

P0WKMD[0]=1,as driving OUT4 pin state

0:Low level

1:High level

Table 10. P1DO(03H),GPIO output state register or as driver control in SMART-FADE mode

Bit

Symbol

Description

Default

D[7:4]

-

-

Remain

D3

P1DO[3]

P1WKMD[3]=1,as driving OUT3 pin state

0:Low level

1:High level

Depend on AD0 and AD1

D2

P1DO[2]

P1WKMD[2]=1,as driving OUT2 pin state

0:Low level

1:High level

D1

P1DO[1]

P1WKMD[1]=1,as driving OUT1 pin state

0:Low level

1:High level

D0

P1DO[0]

P1WKMD[0]=1,as driving OUT0 pin state

0:Low level

1:High level

步骤四、用示波器测试PX_XOUTx端口信号,看是否上述第三步设置

注意:

VCC上电且RSTNSHDN拉高后,PX_XOUTx端口的电平默认状态和AD1AD0的关系如下:

AW9523BAW9527默认输出电平:

AD1

AD0

P1_7

P1_6

P1_5

P1_4

P1_3

P1_2

P1_1

P1_0

P0_7

P0_6

P0_5

P0_4

P0_3

P0_2

P0_1

P0_0

GND

GND

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

GND

VBAT

0

0

0

0

1

1

1

1

0

0

0

0

Hi-Z

Hi-Z

Hi-Z

Hi-Z

VBAT

GND

1

1

1

1

0

0

0

0

Hi-Z

Hi-Z

Hi-Z

Hi-Z

0

0

0

0

VBAT

VBAT

1

1

1

1

1

1

1

1

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

AW9110CAW9106C默认输出电平:

AD1

AD0

OUT9

OUT8

OUT7

OUT6

OUT5

OUT4

OUT3

OUT2

OUT1

OUT0

GND

GND

0

0

0

0

0

0

0

0

0

0

GND

VCC

0

0

Hi-Z

Hi-Z

Hi-Z

Hi-Z

1

1

1

1

VCC

GND

Hi-Z

Hi-Z

0

0

0

0

0

0

0

0

VCC

VCC

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

1

1

1

1

69
29
[FAQ0701480]AW20144X_20198X_AW20216X如何实现open或short检测?
2025年10月

A:1、 AW20144X_20198X_20216Xopenshort检测需要在灯常亮是进行;所以需要点亮所有灯,其流程如下:

1) 使能芯片和当前项目使用的SW通道:

l PAGE0页的0x00寄存器的CHIPEN位设置为1

l PAGE0页的0x00寄存器的SWSEL根据项目使用的SW设置。

GCR: Global Control Register (Page 0: Address 0x00)

Bit

Symbol

R/W

Description

Default

7:4

SWSEL

R/W

Active the SW number select

0000: SW1 active SW2~SW12 not active

0001: SW1~SW2 active SW3~SW12 not active

0010: SW1~SW3 active SW4~SW12 not active

0011: SW1~SW4 active SW5~SW12 not active

0100: SW1~SW5 active SW6~SW12 not active

0101: SW1~SW6 active SW7~SW12 not active

0110: SW1~SW7 active SW8~SW12 not active

0111: SW1~SW8 active SW9~SW12 not active

1000: SW1~SW9 active SW10~SW12 not active

1001: SW1~SW10 active SW11~SW12 not active

1010: SW1~SW11 active SW12 not active

1011~1111: SW1~SW12 active

1011

0

CHIPEN

R/W

Chip enable

0: Disable

1: Enable

0

2) PAGE1页所有灯珠的PWMxPAGE2页所有灯珠的SLx都设置为0xff

PWMx (x=0~215): PWM Configure Register (Page 1: Address 0x00~0xD7)

Bit

Symbol

R/W

Description

Default

7:0

PWMx

R/W

PWM modulated

0x00

SLx (x=0~215): SL Configure Register (Page 2: Address 0x00~0xD7)

Bit

Symbol

R/W

Description

Default

7:0

SLx

R/W

Control the constant current

0x00

3) 根据项目在PAGE0页的0x01寄存器设置全局电流;推荐设置为0x0f

GCCR: Global Current Control Register (Page 0: Address 0x01)

Bit

Symbol

R/W

Description

Default

7:0

GCC

R/W

Global current control

0x00

注意:

Open判断的条件是:CSx引脚上的电压小于VTHopenPAGE00x2B寄存器OTH bit00.1V10.2V);

Short判断的条件是:CSx引脚上的电压大于PVCC-VTHshort(手册的开短路描述VTHshort大小,例如AW20216QNRVTHshort =0.8V

SRCR: Open/Short Control Register (Page 0: Address 0x2B)

Bit

Symbol

R/W

Description

Default

5

OTH

R/W

Open threshold

0: 0.1V

1: 0.2V

0

2、 PAGE0页的0x00寄存器的OSDE打开openshort检测;

GCR: Global Control Register (Page 0: Address 0x00)

Bit

Symbol

R/W

Description

Default

2:1

OSDE

R/W

Open/short detect enable

0x: Detect disable

10: Short detect

11: Open detect

00

3、 延时100ms

4、 PAGE0页的0x03~0x26寄存器查看检测结果,其对应的位置如下:

OSR0~OSR35: Open/Short Status Register (Page 0: Address 0x03~0x26)

Bit

Symbol

R/W

Description

Default

5:0

OSR

R

Open/short status of LED0~LED215

0: Open/short not happen

1: Open/short happen

000000

5、 注意:需要先检测short,将其对应灯珠修改后再进行open检测

6、 AW20216QNR举例如下:

1、 //1.点亮所有灯

2、 // Chip enable and open SW1-SW11

3、 aw_i2c_writebyte(I2C_ADDR, 0xf0, 0xc0);

4、 aw_i2c_writebyte(I2C_ADDR, 0x00, 0xb1);

5、 // Set PWMx

6、 aw_i2c_writebyte(I2C_ADDR, 0xf0, 0xc1);

7、 for(int i = 0;i < NUMS; i++){ //NUMS is the number of LEDs

8、 aw_i2c_writebyte(I2C_ADDR, i,0xff);

9、 }

10、 // Set SLx

11、 aw_i2c_writebyte(I2C_ADDR, 0xf0, 0xc2);

12、 for(int i = 0;i < NUMS; i++){ //NUMS is the number of LEDs

13、 aw_i2c_writebyte(I2C_ADDR, i,0xff);

14、 }

15、 // Set global current

16、 aw_i2c_writebyte(I2C_ADDR, 0xf0, 0xc0);

17、 aw_i2c_writebyte(I2C_ADDR, 0x01, 0x0f); //Need to calculate based on the project

18、

19、 //2.开始short检测

20、 // Set short detection

21、 aw_i2c_readbyte(I2C_ADDR, 0x00, &reg_value);

22、 reg_value &= AW20144_BIT_CHIPEN_DIS; //AW20144_BIT_CHIPEN_DIS = (~(1<<0))

23、 reg_value |= AW20144_BIT_SHORT_EN; //AW20144_BIT_SHORT_EN (0x5)

24、 aw_i2c_writebyte(I2C_ADDR, 0x00, reg_value);

25、 soft_delay(100); //100ms

26、 for(int i = 0x03;i < 0x26; i++){

27、 aw_i2c_readbyte(I2C_ADDR, i, short_result); //short_result值就是咱们short检测结果,按照手册描述查找对应位置

28、 }

29、 //3.修好short位置

30、 //4.开始open检测

31、 // Set VTHopen

32、 aw_i2c_writebyte(I2C_ADDR, 0x29, 0x20);

33、 aw_i2c_writebyte(I2C_ADDR, 0x2B, 0x22); //0x02 OTH=0 VTHopen=0.1V,0x22 OTH=1 VTHopen=0.2V,

34、 // Set open detection

35、 aw_i2c_readbyte(I2C_ADDR, 0x00, &reg_value);

36、 reg_value &= AW20144_BIT_CHIPEN_DIS; //AW20144_BIT_CHIPEN_DIS = (~(1<<0))

37、 reg_value |= AW20144_BIT_OPEN_EN; //AW20144_BIT_OPEN_EN  (0x7)

38、 aw_i2c_writebyte(I2C_ADDR, 0x00, reg_value);

39、 soft_delay(100); //100ms

40、 for(int i = 0x03;i < 0x26; i++){

41、 aw_i2c_readbyte(I2C_ADDR, i, open_result); //open_result值就是咱们open检测结果,按照手册描述查找对应位置

42、 }

43、 aw_i2c_writebyte(I2C_ADDR, 0x29, 0x00);

44、 //5.软件复位并按照项目需求进行初始化

7、 AW20216SQNR举例如下:

1、 //1.点亮所有灯

2、 // Chip enable and open SW1-SW11

3、 aw_spi_writebyte(CMD_PAGE0, 0x00, 0xb1);

4、 // Set PWMx

5、 for(int i = 0;i < NUMS; i++){ //NUMS is the number of LEDs

6、 aw_spi_writebyte(CMD_PAGE1, i,0xff);

7、 }

8、 // Set SLx

9、 for(int i = 0;i < NUMS; i++){ //NUMS is the number of LEDs

10、 aw_spi_writebyte(CMD_PAGE2, i,0xff);

11、 }

12、 // Set global current

13、 aw_spi_writebyte(CMD_PAGE0, 0x01, 0x0f); //Need to calculate based on the project

14、

15、 //2.开始short检测

16、 // Set short detection

17、 aw_spi_readbyte(CMD_PAGE0, 0x00, &reg_value);

18、 reg_value &= AW20144_BIT_CHIPEN_DIS; //AW20144_BIT_CHIPEN_DIS = (~(1<<0))

19、 reg_value |= AW20144_BIT_SHORT_EN; //AW20144_BIT_SHORT_EN (0x5)

20、 aw_spi_writebyte(CMD_PAGE0, 0x00, reg_value);

21、 soft_delay(100); //100ms

22、 for(int i = 0x03;i < 0x26; i++){

23、 aw_spi_writebyte(CMD_PAGE0, i, short_result); //short_result值就是咱们short检测结果,按照手册描述查找对应位置

24、 }

25、 //3.修好short位置

26、 //4.开始open检测

27、 // Set VTHopen

28、 aw_spi_writebyte(CMD_PAGE0, 0x29, 0x20);

29、 aw_spi_writebyte(CMD_PAGE0, 0x2B, 0x22); //0x02 OTH=0 VTHopen=0.1V,0x22 OTH=1 VTHopen=0.2V,

30、 // Set open detection

31、 aw_spi_readbyte(CMD_PAGE0, 0x00, &reg_value);

32、 reg_value &= AW20144_BIT_CHIPEN_DIS; //AW20144_BIT_CHIPEN_DIS = (~(1<<0))

33、 reg_value |= AW20144_BIT_OPEN_EN; //AW20144_BIT_OPEN_EN  (0x7)

34、 aw_spi_writebyte(CMD_PAGE0, 0x00, reg_value);

35、 soft_delay(100); //100ms

36、 for(int i = 0x03;i < 0x26; i++){

37、 aw_spi_writebyte(CMD_PAGE0, i, open_result); //open_result值就是咱们open检测结果,按照手册描述查找对应位置

38、 }

39、 aw_spi_writebyte(CMD_PAGE0, 0x29, 0x20);

40、 //5.软件复位并按照项目需求进行初始化

177
28
[FAQ0101474]如何搭建音频RC滤波板,如何使用示波器接滤波板测试PA输出电压?
2025年09月

A:D类或者K类音频功放输出为方波PWM载波形式,因此测量功率(电压)时,需要在两个输出各接一个低通滤波器将其开关调制频率滤除,然后测量滤波器的差分输出即可得到模拟输出信号。

图1 RC低通滤波器的电路

图2 搭建的RC低通滤波器实物图

低通滤波器推荐如下表中的电阻、电容值:

滤波电阻

滤波电容

低通截止频率

500Ω

10nF

32kHz

1kΩ

4.7nF

34kHz

例如下图3测量AW87318输出端信号时,在两个输出各接一个低通滤波器将开关调制频率滤除,然后测量滤波器的差分输出即可得到模拟输出信号。

图3 AW87318输出测试

测试步骤:

1、滤波板与PA输出和示波器接线如下图4,滤波板输入与喇叭并联接到功放VON、VOP输出,滤波板输出接到示波器两个通道。

图4 滤波板与PA输出和示波器接线示例

2、示波器2个通道分别采集VON、VOP滤波后的波形,再做差得到最终的PA输出电压波形结果。

图五 示波器测试界面示例

PA输出功率计算: (:喇叭的负载阻抗)

79
28
[FAQ0101469]音频数字芯片搭配3.1版本数字底板使用时,需要外供PVDD,在底板上如何修改?
2025年09月

A:1.音频数字芯片搭配3.1版本数字底板使用时,在EVB板安装位置的背面,焊接0Ω电阻以连接外部PVDD电压,在数字底板的PVDD接口处连接正确的PVDD电压,即可实现芯片外供PVDD

注意:

1. 配套的稳压电容的耐压值需大于35V;

2. 芯片是否支持PVDD外供,以及外供PVDD时的上电顺序,请参考具体的芯片手册。

86
28
[FAQ0101463]MCU平台如何使用数字PA 的ACF固件?
2025年09月

A:MCU平台数字PA驱动不能直接使用acf bin文件,需要将acf bin转化为aw_params.h,步骤如下:

1、将acf bin文件比如aw883xx_acf.bin文件拷贝到PA驱动目录的acf_parse_h文件夹下:

2、在acf_parse_h目录下按shift+右键—>在此处打开PowerShell窗口:

3、调用acf_parse_h.exe工具将bin文件转化为aw_params.h

输入参数:acf_parse_h.exe  aw883xx_acf.bin

转换成功会有”header file fill complete”信息提示,同时当前目录下会有aw_params.h文件生成:

4、将aw_params.h中的chip id修改成实际PA型号的ID:

5、使用修改后的h文件替换驱动中的原始文件即可。

备注:该方法适用于数字PA AW88166,AW88394,AW88399使用。

45
27
[FAQ0701462]AW96308常温误触测试中如何解决误触发?
2025年08月

A:在常温误触测试过程中,将机器对空放置,用手触摸上天线,下天线diff值发生耦合上升。

可通过增加一个时隙,将上天线对应的CS作为下天线的参考通道。

以本测试为例,上天线对应CS3,将CS3映射为CH3,选择将CH3作为CH0的参考通道,将REFADOWNCOEF和REFAUPCOEF配置为1,以此抵消耦合上升量。

80
27
[FAQ0101458]scpV4快速导入修改和导出acf.bin文件
2025年08月

A:本文介绍如何使用scpV4打开已有(艾为提供)的acf.bin文件(适用于AW87565/AW87394/AW87391new/AW88271等功放参数),修改增益、功率等,然后重新输出生成acf.bin文件。具体操作如下:

1.打开页面选择open project file(bin);

2.选择打开对应AW87565的acf.bin(初版由艾为提供);

3.点击对应右侧场景(如music),按需求修改对应参数;

4.修改参数后,右击project,然后选择生成acf.bin,保存成修改后的文件名即可。

72
27
[FAQ0101464]MTK平台SKTune_V7 Aurisys算法如何切换场景?
2025年08月

A:MTK HAL AURISYS场景切换支持两种方案实现:

1、 通过arsi_set_addr_value接口实现动态切换参数,可通过以下两种方式实现

(1)adb指令

adb shell "AudioSetParam AURISYS_SET_PARAM,HAL,ALL,AWINIC,ADDR_VALUE,0x10013d30, scene_id=SET"

(2)HAL 层调用 aurisys_set_parameter(const char *key_value_pair)接口:aurisys_set_parameter("AURISYS_SET_PARAM,HAL,ALL,AWINIC,ADDR_VALUE,0x10013d30,scene_id=SET");

2、通过audio_mode/reserve2参数进行切换

平台调用arsi_query_param_buf_by_custom_info/arsi_parsing_param_file_by_custom_info接口进行参数获取时,艾为通过接口中arsi_task_config_t结构体内audio_mode和reserve2两个参数进行场景参数的输出:

当reserve2等于0时,获取的场景ID等于audio_mode,如果reserve2不等于0,获取的场景ID等于reserve2+20。

50
27
[FAQ0301467]AW9110C&AW9106C配置IIC到GPIO生效的时间间隔是多少?
2025年08月

A:AW9110C&AW9106C配置IIC到GPIO生效的时间间隔在100ns以内

测试速率:400k, 测量时间点:写output寄存器值后,芯片应答位到gpio生效的时间间隔

78
27
[FAQ0101465]MCU平台如何使能数字PA渐入渐出功能?
2025年08月

A:AW提供MCU代码中有该功能,打开步骤如下:

1、PA初始化信息中添加渐入渐出功能使能开关:

2、设置淡入淡出时间(设置参考值2-5ms):

3、设置淡入淡出步长(一般保持默认值即可)

渐入、渐出功能作用时间 = 目标音量/步长 * 淡入淡出时间

98
26
[FAQ0101460] 数字PA扫频曲线测试,为什么输出电压幅值不平坦,高频处的电压为什么会翘起?
2025年08月

A:

图1-AW88261FCR 1W扫频曲线

图1为AW88261FCR 20hz-20khz 1W输出功率时的扫频曲线,20Khz电压幅值比1Khz高0.21dB。

不同频点的输入信号幅值相同,输出电压幅值不同的原因是:在不同频点时PA的增益有差异,高频部分增益更大,所以扫频曲线高频部分电压更高。

图2 AW88261FCR不同频率的增益曲线

图2 是AW88261FCR规格书上不同频率的增益曲线,20Khz电压幅值比1Khz高约0.2dB。

(不同频率的增益不同,是CLASSD环路特性导致的,因为CLASSD环路存在极点,为了补偿环路稳定性,在环路带宽内会补偿零点,零点会导致高频增益出现上翘。)

一般PA 20-20khz增益差值在±0.5dB以内,一定范围内增益的偏差不会对用户使用产生影响。不同PA的增益曲线参考芯片规格书。