1. 基于ASR1803平台使用MIPI协议的方法:
将AW13510QNR的信息配置到平台提供的表格中
例如:RFConfigurator_FalconA0_v5.45_RC5_SLM770A_DIV.xlsm;
2. 配置完成后点击表格中的"Click Here to Generate RF Config File"按钮将表格中的参数配合转成.c源文件;使用
3. 使用平台工具将.c源文件转成bin文件;
4. 平台编译会加载生成的bin文件。
AW13510QNR的信息配置到TXCOUPLER_DIVASM_INFO表格中,其内容参考如下:
注意:写入的寄存器个数一定要是寄存器地址或寄存器值的个数。
VOVLO=VOVLO_TH*(R1+ R2)/R1,由公式可以看出,当R1上偏同时R2下偏时为最大值max,R1下偏R2上偏时为最小值min。VOVLO_TH的SPEC如下图取值范围为1.16~1.24
如果电阻标称值R1是R2的n倍,R1和R2均采用±1%精度电阻,则可得:
VOVLO-Max=1.24*(1.01*n+0.99)/0.99; VOVLO-Min=1.16*(0.99*n+1.01)/1.01。
举例:
通过片外电阻将VOVLO配置到6V时, VOVLO_TH按1.2V标称值计算可得n=R1/R2= 4,则根据上述公式可得:
VOVLO-Max=1.24*(1.01*4+0.99)/0.99=6.3V,相对目标电压6V上偏为+5%;
VOVLO-Min=1.16*(0.99*4+1.01)/1.01=5.7082V,相对于目标电压6V下偏为-4.86%。
触摸按键的算法中有offset自校准功能,用来自动补偿寄生电容,其中有一种是基线异常(超出上下限阈值,可选)自校准功能。
在按键应用,尤其是系统长时间不掉电重启的场景,建议打开基线异常自校准功能,且上下限阈值都打开。
这是因为系统长时间不掉电重启校准,随着系统老化可能出现数据饱和,此时基线也会缓慢跟踪环境变化而饱和,从而导致芯片不能正常识别到触摸。
因此,该场景应用中建议打开基线异常自校准功能,基线异常的上下限阈值需要预留足够的diff值空间。
假设我们的按键触发门限设置的10万,由于compdata饱和值为100万,此时,可以设置基线异常校准的上下限位±80万左右,上限如果大于90万,触摸按键时,由于diff值(compdata减去基线值)小于触发门限,从而无法触发按键事件。
AW9610x系列芯片有初始化完成中断标志,对应的寄存器是F080h的bit0 INITOVERIRQ,当芯片掉电并重新上电之后,会报INITOVERIRQ中断,如果该中断标志位被置1,表明芯片在工作过程中出现过异常掉电。
可以做如下测试排查(可以找一个正常运行的AW86862和传感器作参考):
一、 检查连接:
a) 肉眼检查BTB连接器,查看是否松动/撞件。
b) 连好传感器,万用表点测试点,测通断(传感器 到 AW86862):
传感器端名称 | AW86862端名称 | 引脚描述 |
VCC | VS0 | 传感器供电 |
S+ | AINP | 信号正 |
S- | AINN | 信号负 |
GND | GND | 电源地 |
二、 检测传感器(拆下传感器):
a) 使用万用表电阻档,分别测量传感器VCC/S+/S-到GND之间电阻。以纽迪瑞的PT135,电阻约4KΩ典型值举例,若传感器正常,则理论电阻为:
VCC到GND | S+到GND | S-到GND |
约4KΩ | 约3KΩ | 约3KΩ |
(其他类型的传感器的具体阻值,需要参考传感器规格书)
b)用稳压源2.8V(具体参考本项目VS配置多少电压),给传感器供电(VCC和GND)。使用万用表(独立的万用表,不与传感器共地)直流电压档,测S+和S-之间电压差,即产测中的offset值,±200mV以内则为正常(具体参考产测卡控值)。
三、检测芯片/PCBA(拆下传感器,断开电池):
a) 万用表档位设置为二极管档,红表笔插入V/Ω孔,黑表笔插入公共COM孔。
b) 将万用表红表笔接GND,黑表笔连接芯片端VS0/AINP/AINN。
c) 各个引脚(除GND/NC外)的结果判断:
i. 测试结果若为0.3-0.8V,则芯片本体正常,焊接正常;
ii.测试结果若为OL,芯片引脚为open状态,则芯片可能焊接或引脚异常;
iii.测试结果若为0V,芯片引脚对地短路,则芯片可能焊接或引脚异常;
iv. 以上三种测试结果供参考,若发现芯片引脚二极管特性异常,可与正常芯片进行对比。
1. 更换砝码
a) 把200g/150g的砝码,更换成想要的砝码质量,例如200g/100g。
b) 下压砝码,查看体育秤3~6秒后的显示读数是(需要在±5g以内),并记录下来(一位小数)。
2. 驱动代码
a) 打开AW8686X_Driver_MCU_v0.2.0公版代码中的aw8686x_common.h文件。
b) 在170行附近的WEIGHT_G=200枚举表示200g砝码质量,修改为理论质量。
c) 在170行附近的WEIGHT_MASS=150枚举表示150g砝码质量,修改为理论质量。
d) 保存代码,并编译烧录。
3. 修改治具上位机程序
a) 修改200g/150g信号量raw1和verify1的信号量卡控阈值,例如>200则PASS(根据项目方案而定)。
b) 修改系数cali_coef计算公式中的砝码质量(实际质量),并修改相对应的卡控阈值。
c) 修改mass_deviation计算公式,所使用的两个砝码质量(实际质量)。
有RTP模式需求时,要求haptic独占IIC。为防止RTP断播的情况,根据不同采样率波形文件,推荐使用以下匹配IIC速率。
采样率 | IIC速率 |
12K | ≥250K |
24K | ≥400K |
48K | ≥1M |
1.首先确认单体问题还是共性问题,异常机器概率占比多少?
2.其次可以确认AW软件f0校准偏差是否在±2hz左右范围;
在安卓平台上,比如cat f0 看结果2300【芯片追踪f0值,计算结果放大10倍】,执行echo 1 > cali指令后,看长震波形输出频率是否在真实f0±2hz左右范围
如果2步骤ok,说明AW 软件追踪流程没有问题,需要排查以下方向:
3.同步马达厂输出对应震动量的马达扫频曲线,看偏差±2hz左右范围内震动量是否偏差很大
4.排查马达结构是否有松动,在装配过程结构的松动会造成马达震动量的衰减。可固定打热熔胶尝试
5.如果采用工厂校准,拉取工厂生产过程f0参数大数据,一般建议20~100台机器左右【越多正态分布数据越可靠】,看是否在卡控标准范围
AW99703的内部会将PWM的占空比量化成亮度等级,最高支持11bit量化。即最高支持2048个等级。PWM输入频率和芯片PWM采样率配置共同确定芯片支持的最高量化bit数。
三者的关系如下图:
PWM的采样率由0x08寄存器的【bit7-bit6】控制,图1中绿色、红色、蓝色线分别表示PWM的采样率为24Mhz、4MHz、800Hz时,芯片支持的最高量化bit数值随着输入频率的变化关系。
如果需要支持11bit的量化,则需要满足以下三种条件:
AW36515和AW36518电流等级有差异,并且AW36515支持双闪,但在代码层面修改flash电流方式基本一致。
根据上层下发的level等级,驱动会根据level等级响应torch模式和flash模式。当level<7时,芯片响应为torch模式;level≥7时,芯片响应为flash模式。
调整flash电流可根据datasheet修改level映射数组,如下以AW36518为例。
数组中Code对应实际flash电流数据计算公式如下,同理可根据该公式修改数组中的Code值。
例如:当上层下发level=7时,芯片响应为flash模式,设置电流等级为数组中0x01,即8.81mA,可修改亮度0x01为0x02,即14.68mA,以此类推。
可参考以下方向排查:
1.首先确保iic通讯成功,可读chipid log确认。
2.若未使能PWM模式,在/sys/class/leds/aw99703-bl路径下执行cat reg查看0x06和0x07亮度寄存器是否为0,若为0,需要配置亮度值。
3.若使能了PWM模式,测试主机是否发出了PWM波。
4.确认本项目使用几通道背光,驱动默认配置3通道,若使用一个或两个通道,会触发芯片OVP保护,可能导致背光不亮,需要修改dts配置。
5.若按步骤2修改后背光仍旧不亮, cat reg读取寄存器信息,看0x0E和0x0F两个错误寄存器是否非0,若非0,可对照手册看报错信息。
AW36515可通过strobe引脚外部触发闪光事件,触发方式分为边沿触发和电平触发两种:
首先需要使能01H寄存器的Bit5=1,先给strobe引脚使能之后——
1. 电平触发模式—将01H寄存器的Bit6=0, LED的输出跟随strobe引脚的高低电平变化而变化,即strobe高电平时LED输出高、strobe低电平时LED输出低;
2. 边沿触发模式—将01H寄存器的Bit6=1, LED的输出由strobe信号的上升沿加下降沿触发,即strobe的上升沿来临后,LED跟随storbe下降沿输出,触发后按照08H寄存器bit[0:3]设置的闪光时间,完成一次闪光。
闪光结束后,LED输出回到低电平,等待strobe引脚的下一组上升沿和下降沿来临,再次闪光。波形如下图所示:
可以的,当两个功能同时打开的时候,BR00~BR02 = BR00L, BR03~BR05 = BR00H, BR06~BR08 = BR01L…以此类推。也就是每三个通道的亮度由连续的BR寄存器控制。
首先核对01寄存器是否把对应通道使能(bit1/bit0),然后是否使能了(bit4)Torch Enable.核对无误后最后检查Strobe脚是否被拉高。需要注意必须先配置寄存器,
再拉高Strobe引脚,并且拉高1ms以上,因为Torch模式只能检测上升沿。
AW2023和AW2013本身pin to pin,AW2023和AW2013寄存器基本都是一一对应的,但是AW2023的功能更加丰富一些,详细的描述如下表:
1.工厂操作环境要求参考:FAQ0500320: 在工厂中如何管控整机中马达的F0?
2.在sys/class/leds/aw_vibrator下有f0与cali节点
1)adb执行cat f0【芯片追踪f0值,默认放大了10倍】参考1进行卡控马达单体
2)在f0在正常范围的情况下,adb下echo 1 > cali做校准动作【校准过程预计150ms】,得到校准数据aw_haptic->f0_cali_data保存到NV_Flash[刷机非擦除区域]中。
3)开机从NV_Flash取出校准值更新到aw_haptic->f0_cali_data对应haptic参数中。每次播放会调用upload_lra(aw_haptic, AW_F0_CALI_LRA);来进行更新TRIM_LRA
3.检验f0 校准ok方法:
整机在海绵上,更换不同频率标定马达单体【马达单体规格书上、中、下频率,可联系马达厂获取】,追踪f0值与校准后长震示波器抓取电信号频率对比,看是否一致.(默认芯片测试偏差±2hz)
首先VCC和LED阳极电源的大小主要受限于VCC引脚和各端口的耐压,建议最大不超过5.5V。
在LED应用中,芯片VCC与灯阳极可为同一电源,也可分开独立供电,但要注意两点
- 灯阳极的电压不能大于芯片VCC电压;
- 上电时序要求:VCC上电不能晚于LED阳极电源上电;
同时,还要注意,当AW9106B、AW9110B、AW9523B的全部端口均作为LED驱动时,AD0AD1引脚必须均接高电平,以确保上电后各端口的默认状态为高阻或高电平,保证灯不会误亮。
AW9523B、AW9106B、AW9110B作为LED驱动的更多注意细节,可参考FAQ0200050。
若要实现LED1~3自主呼吸,则在所有灯自主呼吸的基础上(参考《AN_AW21024_应用配置_CN_V1.0》文档),修改ABH寄存器值为0x01;
其他LED可通过实时刷新BR寄存器来实现跑马灯.
1. Group 模式
1)目的:为了简化灯效编程,加速显示刷新,从而对所选LED设置共同的亮度和颜色
2)例:若设置8BH寄存器的GE[0]=1,GSLDIS=0,则LED1~3的亮度值由寄存器GBRH/L控制,颜色值由GSLR/G/B寄存器控制。具体配置如下:
2.RGB模式
1)若设置61H寄存器GCR2中的位RGBMD=1,则配置为RGB模式,只需要配置寄存器BR00-BR02来控制3组RGB灯的亮度,BR03-BR08寄存器不再有效;
2)若RGBMD=0,则寄存器BR00-BR08单独配置对应9个led的亮度参数,具体配置如下:
3.单字节模式
1)默认情况下,每个LED都有一个带有BRxxL和BRxxH的12位BR参数
2)通过在寄存器GCR2(地址61h)中设置位SBMD=1,配置为单字节模式,每个LED都有一个由BR00L-BR04L配置的8位BR参数。具体配置如下。
注:BRxxH的有效位(xx是00-04)在单字节模式下是8位,默认模式是4bit。
传统D类放大器在无输入信号的空闲状态,输出是反相的方波信号,反相的方波直接加在喇叭负载上,会在喇叭上形成很大的开关电路功耗,因此需要在功放输出增加LC滤波器来恢复模拟音频信号。
LC滤波器增加了成本和PCB布板面积,同时增加了功耗,降低了THD+N等性能。
亿百音频功放采用了无需滤波器的放大架构,不需要输出的LC滤波器。在无输入信号的空闲状态,功放的两个输出(VOP,VON)为同相的方波,不会在喇叭负载上产生空闲开关电流。
在输入端加了信号后,输出的占空比发生变化,VOP的占空比变大的同时VON的占空比变小,输出的差分值在喇叭上形成了输出的差分放大信号。
© Copyright 2008-2022 上海亿百体育技术股份有限公司 | Powered by IT