3
0
[FAQ0101448]为什么AW83118 EVB板的增益修改不生效?
2025年06月

A:

AW83118 EVB板的GAIN/SLV 排针,可以通过接跳线帽进入不同增益档位;

修改增益前,需保证主板处于下电状态,芯片上电之后增益档位会锁定,即上电后修改跳线帽接入不同增益档位时,增益是不会变化的,需要重新下电再上电才可以进入对应增益档位。

2
0
[FAQ0101447]AW83611、AW83612增益如何设置,通过外围电路是否可以调整放大倍数?
2025年06月

A:

1、AW83611/AW83612规格书标称了四种增益,通过0x03寄存器的bit7:6配置,默认是26dB增益

2、四档增益下,芯片内置输入电阻Rini分别如下:

3、如四档增益无法满足实际应用,可通过在输入电容和INN\INP之间串联外置输入电阻Rine(如下图),进而调整PA的整体增益,此时放大倍数计算公式如下(Rini阻值和I2C配置的增益档位对应):

AV=2*300K/(Rini+Rine),转换增益dB为:20lg(AV)

4、当使用legacy模式时(即未连接I2C时),PA默认是26dB增益,即Rini=30KΩ,放大倍数计算公式如下:

AV=2*300K/(Rini+Rine)=2*300K/(30K+Rine),转换增益dB为:20lg(AV)

1
0
[FAQ1001445]AW35615PFCR如何调试LPD(水汽检测)参数
2025年05月

A:1、 通过reg 10h和reg 11h和寄存器的CCx_OV_TH设置cc的电压检测阈值,可以先设置比cc最大电压略小的电压挡位。例如CC最大电压为3v,则CCx_OV_TH可以设置为101b(2.6v)。

2、 通过reg 16h的LPD_CHK_TIM_SET设置水汽检测时间阈值,设置的值越大,灵敏度越高。

1
0
[FAQ1001446]AW35615PFCR没有接入设备的时候一直报中断怎么办?
2025年05月

A:通过reg 0Fh的bit7和bit8设置1,关闭M_CC1_OV和M_CC1_OV。同时reg 10h和reg 11h的CC_OV_TH设置一定要小于实际的cc最大电压。例如cc高电平为3V,CC_OV_TH可以设置为2.6V挡位。

0
0
[FAQ1001444]PD是如何触发DP投屏的
2025年05月

A:PD触发DP投屏需要以下6个步骤:

1、DP投屏报文在功率握手完成之后,首先Host发出一次SVID请求,然后device回复自己的SVID,包含DP SVID(0xff)(DP out端查询是否支持DP SVID);

2、Host (dp out)发出discover Modes,此消息指定了Host支持的配置,devices进入模式请求,然后上报DP 能力(DP out端查询DP in 端的DP 能力);

3、Host(dp out)发送进入模式请求,devices回复模式进入确认;

4、Host(dp out)发送状态消息请求,devices回复状态消息确认,其中状态消息要包含相关信息;

5、Host(dp out)发出配置请求,devices确认配置请求;

6、dp in端(devices)发出attention状态消息更新热插拔检测(HPD)

7、以下2个接口可以获取艾为驱动中dp的能力(capabilities)和status

DisplayPortCaps_t platform_get_dp_mode(struct Port *port)

{

return port->DisplayPortData.DpPpCap;

}

DisplayPortStatus_t platform_get_dp_attention_status(struct Port *port)

{

return port->DisplayPortData.DpPpStatus;

}

2
0
[FAQ1001443]充电过程中PD发生复位怎么办
2025年05月

A:首先排查该问题是否发生在电流抬升的过程,如下图,电流抬升之后出现175到180条报文无法识别的现象:

使用示波器抓取靠近艾为芯片端的cc上波形,可以发现报文之间有压差,如下图:

该问题是由于线缆的线阻较大,导致了大电流的时候cc的报文出现压差,该差异会导致报文无法识别。可以通过如下图方法优化该问题:

其中apdo_cur大于2A的时候调整寄存器,调整值=0x20-报文压差/17.5。

0
0
[FAQ1001440]为什么充电线阻大会影响PD通信?如何解决
2025年05月

A:在充电的过程中,随着充电电流的抬升,可以在cc上测试到如下波形,发现该波形会导致报文不识别:

原因是PD通信使用双相标记编码(BMC),该编码方式的电平判决,不仅和电平阈值相关,还和实际的占空比相关。

如下图是双相标记编码(BMC)信号,当传输1的时候,需要在1UI中翻转一次电平。

由于实际项目中的cc信电平信号翻转不是直上直下的,如果信号整体下移,不仅会影响逻辑电平的判断,同时也会影响1UI中的占空比,如下图。

可以通过如下代码优化该问题,在不同的电流下使用不同的SDAC值。

其中apdo_cur大于2A的时候调整寄存器,调整值=0x20-报文压差/17.5。

0
0
[FAQ0401436]如何调试GPS灵敏度
2025年05月

A:当GPS灵敏度不达标时候,大家第一印象是找LNA供应商确认LNA有没有调试好? 当前市面上的GPS-LNA 都是集成度高的产品,可调的空间不多。通常只需要调试输入电感,厂家推荐匹配电感在实际电路稍做调试即可。对CN0的影响通常小于0.5dB。下面参考手机GPS框架分析如下





GPS的CN0常规数据参考,用-130dBm。(注:不同项目走线,物料插损、增益、NF有差异)

测试点

TP4

TP3(带输入匹配电感测试)

TP2

TP1

CN0(dB)

40±1

41.5±1

38±1

39±1

  1. 当天线处(TP4)灵敏度不达标时候, 需要参考以上图表分段测试,确认哪里Desense超标
    1. TP1, 收发器接收能力。可以参考收发器规格书指标,一般在39dB左右
    2. TP2,一般可以测试到38dB左右。很多项目因为布局原因,LNA和收发器之间走线较长引起插损大。 通常只要做到50欧姆匹配, 这部分插损可以通过LNA的GAIN补偿回来。
    3. TP3,带输入匹配电感测试CN0在41.5dB左右。有无LNA理论增加3dB的灵敏度,部分项目灵敏度增加多余3dB是因为对LNA后走线的插损大得到了补偿。
    4. TP4,常见项目测试CN0在38.5~41dB。 这里好坏和走线、物料插损等有很大关系

备注:GSP 信号弱,测试过程中GND连接不好可能存在较大误差,传导测试铜管接地建议:GND尽可能靠近信号处接地,GND必须有足够的过孔到PCB主地,选择的GND面积越大越好。

  1. 典型问题分析:
    1. 天线TP4处测试灵敏度比正常少很多(如20dB),或者收不到星问题:
      1. 确认LNA是否正常供电,工作时候LNA_EN是否拉高(如果EN没有被拉高需要检查软件设置)
      2. 确认链路物料是否有用错,漏件问题?
    2. 天线TP4处测试灵敏度比正常少,未达预算值。
      1. 无源测试,确认TP4到TP3的插损,该插损和器件插损相关,参考值1.6~2.2dB。如果过大建议找SAW等器件供应商优化匹配。
      2. LNA的调试:通常调试LNA的输入匹配电感。 快速盲调(如供应商推荐9.1nH,可以测试…←6.8nH,8.2nH,9.1nH,10nH,12nH,→…,测试CN0最佳的电感即可)。
      3. 确认LNA输出端口是否在50欧姆,在50欧姆附近可以保证输出增益。用网分测试TP2到收发器的S11是否在50欧姆,注收发器需要在工作状态。
      4. 支持GPS-L5有的产品在输出端也需要匹配,这种电路建议做输出端口的共轭匹配调试,保证输出增益最优。
      5. TP2、TP1点测试CN0偏差大,需要确认是收发器能力问题还是未按照收发器要求做匹配。
    3. 干扰导致GPS灵敏度差问题(该现象不常见):
      1. 手机有B13/14信号的需要增加NOTCH等,这里不做详述。
      2. LNA被干扰:电源需要用纹波小的LDO供电,不能和大功耗的器件共用电源,电源被干扰可以调试LNA-VDD上的电容可以改善。LNA-EN被干扰:走线靠近CLOCK、DCDC等从LNA-EN引入干扰,一般调试LNA-EN上的电容可以改善。
0
0
[FAQ0101435]多数字PA独享以及共享reset gpio兼容方案.
2025年04月

在多数字PA的应用中,常规应用是每个PA有独立的reset gpio,但有时候资源有限,需要多个PA共用一个gpio,例如,4个PA使用同一个reset gpio或者是4个PA每2个共用一个reset gpio等情况,针对这种应用,需要对驱动做些修改,修改点如下:

1、dts里节点中的reset配置全部加上;注:相同reset引脚号的设备树节点必须相邻

2、驱动代码按如下修改;

1)probe函数中的aw883xx_gpio_request以及aw883xx_hw_reset去掉返回值的判断,如下图红框中的修改;

2)修改aw883xx_gpio_request函数,增加黑色底纹的几行代码,修改如下;

int reset_gpio_request = -1;

static int aw883xx_gpio_request(struct aw883xx *aw883xx)

{

int ret = -1;

if (gpio_is_valid(aw883xx->reset_gpio)) {

if(aw883xx->reset_gpio != reset_gpio_request){

ret = devm_gpio_request_one(aw883xx->dev, aw883xx->reset_gpio,

GPIOF_OUT_INIT_LOW, "aw883xx_rst");

if (ret) {

aw_dev_err(aw883xx->dev, "rst request failed");

return ret;

}

reset_gpio_request = aw883xx->reset_gpio;

}else{

aw883xx->reset_gpio =-1;

aw_dev_info(aw883xx->dev,"rst gpio already requested.");

}

}

if (gpio_is_valid(aw883xx->irq_gpio)) {

ret = devm_gpio_request_one(aw883xx->dev, aw883xx->irq_gpio,

GPIOF_DIR_IN, "aw883xx_int");

if (ret) {

aw_dev_err(aw883xx->dev, "int request failed");

return ret;

}

}

return 0;

}

1
0
[FAQ0101434] Awinic_SKTV6算法兼容MTK平台安卓15方案.
2025年02月

A:一、MTK平台参考Awinic算法压缩包内提供的awinic_audio_effect_porting.patch移植完算法后,编译出现下图的报错信息:

error: invalid operands to binary expression ('const vector<audio_devices_t>' and 'audio_devices_t')

1061 | if (mStreamAttributeSource->output_devices & AUDIO_DEVICE_OUT_SPEAKER) {

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~

报错原因:在安卓15平台两个变量的定义的类型不一致,output_devices是vector<audio_devices_t>类型,而 AUDIO_DEVICE_OUT_SPEAKER是audio_devices_t枚举值,不能直接对vector和枚举值进行位运算操作

原始方案:

output_devices和AUDIO_DEVICE_OUT_SPEAKER直接进行位运算判断音频流的输出设备中是否包含扬声器

修改方案:

使用平台的函数接口 hasTargetDevice()判断当前音频流的输出设备是否包含扬声器

修改参考

/************************************* awinic add ********************************************/

//#ifdef AWINIC_EFFECT_SUPPORT

if (hasTargetDevice(mStreamAttributeSource->output_devices, AUDIO_DEVICE_OUT_SPEAKER)) {

m_awinic.is_module_enable = true;

} else {

m_awinic.is_module_enable = false;

}

//#endif

/************************************** awinic add end ******************************************/

0
0
[FAQ1001415]AW35615CSR 导入pd phy驱动后插入充电器频繁断续充电怎么办?
2024年12月

A:频繁断续充电一般是由于移植代码的时候定时器不准导致的,如果抓取power-报文可以看到如下图的消息包。此时应该排查和确认代码中platform_delay_10us接口中定时器的配置是否正确。

1
0
[FAQ1001411]为什么VIN接入后,读取AW32001E的寄存器,还是报VIN_FAULT?
2024年12月

A:

1、需要检查接入的VIN是否符合VIN_UVLO<VIN<VIN_OVP。

2、VIN_FAULT寄存器状态位(0x09寄存器bit5)是读清机制的。在接入 VIN后,若不读清VIN_FAULT寄存器,该寄存器会一直锁存接入前的状态。所以接入VIN后第一次读取该状态位会读到VIN_FALUT。若VIN电压正常,第二次读取可以读到该异常状态位已被清除。

0
0
[FAQ0901414]AW37504 稳态和瞬态带载电流多少mA?
2024年12月

A:AW37504 稳态带载电流,OUTP 370mA,OUTN 220mA,可以通过03H、04H配置;

瞬态带载电流可以更大,us级别可以到400mA以上;

以OUTN 220mA为例,若输出电容22uF,瞬时电流 440mA,那么超出的220mA由输出电容提供;

最大压降0.5V,按公式ΔI=C*ΔU/ΔT,计算瞬态时间为 ΔT=C*ΔU /ΔI = 22*(10^-6)*0.5/0.22=50us

考虑到22uF是标称值,电容有偏压特性,如果按跌落0.5V,有效容值10uF来看,可以持续22us左右。

0
0
[FAQ0901413]AW36801CSR中LDVCC pin 如何接?LDOUT最小电压建议多少?
2024年12月

A:1,LDVCC pin可以接到VCSEL阳极。

LDVCC pin的作用,是VCSEL电流关断时LDOUT冲高的泄放路径。如果VCSEL阳极供电较高,关断时电流瞬间变化,导致LDOUT会有较高的电压上冲,超过接口耐压值。实测VCSEL阳极5V,电流4A时·,LDOUT上冲最高会到6.4V。所以若LDVCC pin不接,芯片虽然能工作,但也会有LDOUT烧坏的风险;

如果LDVCC pin和VCSEL阳极分开接,建议不能小于VCSEL阳极0.5V,不然会有LDOUT到LVDCC的漏电;

2,LDOUT电压,即落在芯片上的Dropout电压,正常工作时建议最小1V,才能满足IBIAS 1A和ISW 4A;

49
1
[FAQ1001410]AW32001E看门狗复位VSYS时长多长?
2024年11月

A:AW32001E看门狗复位VSYS时长为2s/4s可调,默认为4s。可通过0x01寄存器bit5调节。