FAE疑难问题总结_fae工作总结
FAE疑难问题总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“fae工作总结”。
疑难问题总结
一、传统互容1(06、16系列)
1、06系列项目,在下边缘画线,容易画出超出AA区的折线(尤其在分辨率特别大时)此时需修改flowwork.c中void FlowWork(void)函数中参数: 3220行:
#ifdef TOUCHKEY_EN structFrameInfoVar.ucFrameRow += 1;if(structTouchKeyStatus.ucTouchKeyFlg == 1){for(i = 0;i
#ifdef TOUCHKEY_EN //for(i = 0;i
2、电源干扰调试步骤;
(1)、增大CAP值;一般调试到最大,即160/80;(2)、选择最佳频率;可通过频谱仪选择干扰最小的频率;(3)、ID滤针算法;针对偶尔出现的干扰跳点问题,改善较明显;(4)、前级针滤波算法;可很大程度上改善严重跳点问题,但会影响整体体验;
3、ESD跳点调试步骤;
(1)、打开ESD宏定义;
(2)、滤针;参见以下代码;
DateProcePost.c中PointFilterProce函数:
230行:
voidPointFilterProce(STRUCTAPPTOUCHSTATUS *pstructTouchStatus){ if(pstructTouchStatus->ucLastPointNum> 0)
{return;} if(pstructTouchStatus->ucCurrentPointNum>pstructTouchStatus->ucLastPointNum){if(G_ucTouchedCnter
{G_ucTouchedCnter ++;pstructTouchStatus->ucCurrentPointNum = pstructTouchStatus->ucLastPointNum;else {G_ucTouchedCnter = 0;} if(pstructTouchStatus->ucCurrentPointNum == 0){pstructTouchStatus->bTouchStatus = 0;} }
4、按键几率性无功能调试;
(1)、TP整体rowdate值调试至相差不超过300且TP需校准并保存;
(2)、打开按键宏定义,未使用的通道需挖空处理;
(3)、关闭防水宏;
5、手指分离算法;
详见说明文档(PeakMergeProce);
6、电源干扰(表现为快速点击时乱跳点)
修改代码如下:
voidPointFilterProce(STRUCTAPPTOUCHSTATUS *pstructTouchStatus){ if(pstructTouchStatus->ucLastPointNum> 0)
{return;}
if(pstructTouchStatus->ucCurrentPointNum>pstructTouchStatus->ucLastPointNum)
{ //if(G_ucTouchedCnterucFilterPointCnt)if(G_ucTouchedCnterucFilterPointCnt){//G_ucTouchedCnter ++;G_ucTouchedCnter = G_ucTouchedCnter-1;
pstructTouchStatus->ucCurrentPointNum = pstructTouchStatus->ucLastPointNum;}}
7、大尺寸整机(5506、5606),在应用中出现边缘区域问题处理;
最新FW“config.h”中:
#define TRACE_STABLE_OFFSET 210//180 //a bit smaller than biggest touch diff-data //differ的一致性的差值不要超过的阈值
二、传统互容2(02系列)
三、单层多点(i系列)
1、5436I划线飞点处理;
修改AppTouchKeyProce.c函数,可之间改善此问题,参考代码见附件;
四、自容(6x06系列)
1、TP视窗与按键中间黑色丝印上报按键坐标问题调试; 按键上方的黑色区域一般客户要求触摸无功能,但在实际调试时,因为手指触摸面积较大,会让按键通道产生较大differ变化量从而上报按键坐标;如果将按键的触发阀值调高可改善此问题,但会使按键悬空时无功能,所以一般解决此问题时,我们加入AA区的最后两个通道做判断,即当按键通道的differ的变化量超出阀值,但AA区的最后两个通道differ大于一定数值时,我们认为触摸在黑色丝印区域,此时不上报坐标;
参考代码如下:
if(pstructTraceVar->sCapDiff[TP_CHANNEL_NUM-1]+pstructTraceVar->sCapDiff[TP_CHANNEL_NUM-2]sCapDiff[TP_CHANNEL_NUM]> VIRTUAL_KEY_THRESHOLD){上报第一个按键坐标;} if(pstructTraceVar->sCapDiff[TP_CHANNEL_NUM+1]> VIRTUAL_KEY_THRESHOLD){上报第二个按键坐标;} if(pstructTraceVar->sCapDiff[TP_CHANNEL_NUM+2]> VIRTUAL_KEY_THRESHOLD){上报第三个按键坐标;} } 有的项目在调试时遇到AA区Y方向坐标无法调到最大时,即开了拉边函数依然与最大像素差10个像素左右,则有可能是因为按键范围过大造成,同样可以采用此方法限制按键范围,改善此问题;
2、ESD跳点问题调试;
(1)、打开ESD宏定义;(2)、调试大面积宏定义;
3、同侧画线不同甩尾效果调试;
此时需针对不同的甩尾效果,采用不同的甩尾修正参数;
参考代码如下:Margin_proce.c中BorderShiftManualHandle函数;
以4列竖三角分辨率为800的项目为例
ShiftVal =(cLeftManualCoeff[(MARGIN_LX11])//定义修正甩尾的数组
if(Ynew380)&&(Ynew
{ShiftVal = ShiftVal;}
else
//其余情况,按数组的4/5来进行修正
{ShiftVal = ShiftVal * 4 /5;}
Ynew += ShiftVal;4、6x06系列3个通道实现3个按键划线飞线问题处理办法;
6x06系列的IC,在用3个通道实现3个按键的项目中,当从AA区往处划线时,当手指划到按键上会触发功能造成折线,针对此问题需修改flowwork.c中ResetGlobleVars函数:
static void ResetGlobleVars(void){if(0 == G_structTouchStatusVar.ucCurrentPointNum){#if(0
5、增强抗LCD Noise处理办法;
在sys_config.h中,修改如下: /* * AFE Scan data mode * 0: Raw data(Only for testing, do NOT use for release code)* 1: Filter 3 data * 2: Filter 5 data * 3: ACC data */ #define AFE_DATA_MODE 2 #if((1 == AFE_DATA_MODE)||(2 == AFE_DATA_MODE))/* * AFE filter(Filter 3 or Filter 5)scan mode threshold * Range 0~1023 * The smaller the value is, the more efficient for the filter function */ #define AFE_FILTER_MODE_THRES 5
五、驱动
1、APK升级的注意事项;
APK功能需根据“4_Focaltech Android平台Driver介绍_v1.0.pdf”增加驱动后,打开FTS_CTL_IIC,SYSFS_DEBUG这两个宏。驱动中打开 FTS_CTL_IIC宏后,在/dev目录下创建一个ft_rw_iic_drv的结点,通过adb shell chmod 777 /dev/ft_rw_iic_drv打开读写权限。
如果是高通,三星的平台,可以不加此驱动,在编译系统时选中i2c interface,这样在/dev目录就会有i2c-*的读写结点。用adb shell chmod 777 /dev/i2c-*打开读写权限来使用工具。
APK是通过ft_rw_iic_drv节点与芯片通信,如无节点或节点无读写权限都会导致APK升级失败。
APK不能升级的情况有:
(1)、驱动只添加t5x0x_ts.c、ft5x0x_ts.h两个文件,完成电容屏的基本功能,无APK升级功能,需添加其他四个文件。
(2)、未打开FTS_CTL_IIC,SYSFS_DEBUG这两个宏。(3)、ft_rw_iic_drv节点未打开读写权限。
(4)、系统IIC驱动有问题导致升级失败,通过打印信息可以看到IIC读写出错的信息,修改系统软件。注1:以上的APK是指敦泰提供的APK。注2:有部分APK是客户自己开发的,使用的I升级模式,不需通过节点ft_rw_iic_drv与芯片通信,驱动可不加FTS_CTL_IIC,SYSFS_DEBUG宏。案例:华兴达40107,鼎智开发了一个APK升级工具,该工具使用I升级模式,将I文件打包到APK中,运行APK就自动升级,需升级程序时需将新的I文件交给鼎智的工程师从新生成APK。
6x06系列同时需打开sys.config中的FLASH_UPGRADE_WRITE_EN宏;
2、I文件升级失败常见原因;
I升级功能出错最多是因为无法进入升级模式,即第三步读ID的值为0。可对update函数进行如下修改尝试。
for(i=0;i
delay_qt_ms(10+i);//时间为10~60ms,复位到进入升级模式的延时。/*********Step 2:Enter upgrade mode *****/ auc_i2c_write_buf[0] = 0x55;auc_i2c_write_buf[1] = 0xaa;do { i ++;i_ret = ft5x02_i2c_Write(client, auc_i2c_write_buf, 2);delay_qt_ms(5);
}while(i
/*********Step 3:check READ-ID***********************/
delay_qt_ms(1);ft5x02_upgrade_send_head(client);auc_i2c_write_buf[0] = 0x90;auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;ft5x02_i2c_Read(client, auc_i2c_write_buf, 4, reg_val, 2);if(reg_val[0] == 0x79&®_val[1] == 0x06){
pr_info(“[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%xn”,reg_val[0],reg_val[1]);
break;}
else { dev_err(&client->dev,“[FTS]Step3:CTPMID,ID1=0x%x,ID2= %xn”,reg_val[0],reg_val[1]);} }
3、TP初始化后无法正常操作问题;
(1)、RK平台初始化reset后需delay 200ms 才能进行IIC操作;(2)、全智平台初始化reset后需delay 100ms 才能进行IIC操作;
4、COB方案校准验证;
intfts_ctpm_auto_clb(struct i2c_client *client){unsigned char uc_temp = 0x00;unsigned char i = 0;unsigned char j = 0;/*start auto CLB */ msleep(200);ft5x0x_write_reg(client, 0, FTS_FACTORYMODE_VALUE);添加读0寄存器是否0x40看是否进入工厂模式,/*make sure already enter factory mode */ msleep(100);/*write command to start calibration */ ft5x0x_write_reg(client, 2, 0x4);msleep(300);for(i = 0;i> 4)){j = 1;break;}
} 查看j是否为1,看是否返回normal mode,为0时msleep(300);改长
//msleep(200);/*calibration OK */ msleep(300);ft5x0x_write_reg(client, 0, FTS_FACTORYMODE_VALUE);/*goto factory mode for store */ msleep(100);/*make sure already enter factory mode */ ft5x0x_write_reg(client, 2, 0x5);/*store CLB result */ msleep(300);ft5x0x_write_reg(client, 0, FTS_WORKMODE_VALUE);/*return to normal mode */ msleep(300);/*store CLB result OK */ return 0;}
六、硬件设计
1、竖三角设计时避免回勾及甩尾问题需特别注意事项;
(1)、坚持宽窄边比例>5:1;(2)、按键ITO走线设计;
两个按键:加长左边(右边)连接按键部分ITO至右边(左边)按键处;
2、自容量产时提高良率需注意事项;
(1)、外围GND线与按键通道走线的距离需至少大于0.1mm,建议越大越好(尤其激光工艺),如距离小于标准值时,当bongding区的ACF因为压合原因产生溢胶时,容易将这两条通断短路,造成按键不良;
七、量产问题
1、自容系列产线常见不良分析;
因为自容的图形为三角形设计,确认坐标的方法即为计算一组相对三角形的电容比例,所以比较好判断不良现象;
判断时我们一般延着垂直与三角形的方向画直线(即TP垂直放置,横三角画竖线,竖三角画横线,4列的图形需在上下半屏分别作判断),画线的位置取1/4或3/4处; 如果画出的线往三角形的外侧弯,则表明TP存在通道开路或超阻(此时可降低扫描频率,如果现象改善,则为超阻,反之为开路,开路的通道为与画线弯折反方向的通道);
如果画出的线往三角形的内侧弯,则表明TP存在短路; 如果画线直接断开,则表明一对通道同时开路;
2、传统互容TX、RX微短路测试方法;
采用3.3以上版本量产工具,同时需增加以下几项,参数设置范围需采样: 三个按键:a、两条通道形成三个按键,将形成中间按键的两条通道尽量靠近AA区走线;b、三个通道形成三个按键,将形成中间按键的通道延长至左边(右边)按键处。
四个按键:同三个按键处理方式处理。(3)、将按键和AA区中间的悬浮块多切割几次。
3、5336 通道短路的测试方法;
采用3.3以上版本工具,同时需增加以下几项: 一个是测试RX相邻通道短路、一个是测试TX相邻通道短路;使用默认值就可以。原理:通道测试RX、TX通道在关闭防水功能下,检测其相邻通道自容Rawdata的参数,小于1000以下,就是短路现象。