本文主要是介绍CTP调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、 关掉自动调屏,找到文件FLOWWORK.C中的查找CHIPCLB,屏掉,调完后在打开。二、 调屏基本参数,在GLOBAL CONFING.H,中修改
1, 先选择一种芯片,如FT5406,屏掉不用的芯片型号,如 #define FT5406
2, 接口定义,如i2c接口,#define IICEN。
3, 如果定义为i2c接口,要选择一种通信协议,如标准i2c和26字节,#define CFG_SUPPORT_COM_I2C_PROTOCOL 1 //~1:STD PROTOCOL, 0:FT PROTOCOL,1=标准i2c协议,0=26字节协议。
4, 中断io口电压选择,如0=0~3.3V(客户的电压为3.3v和3.0v及2.8v时选此项),1=1~1.8V(客户的电压1.8v时选此项),
如#define IO_LEVEL_SELECTION 0 //0---3.3v; 1----1.8v
5, 设置器件地址,如0x70,#define I2C_SLAVE_ADDR 0x70 //Device addresses top 7 bits
6, 据据芯片型号改Tx Order,rx Order通道数目和调整通道顺序, #define NUM_TX_LOCAL 28 // TX number of CTP
7, 设置触模点数,如5点,#define CURRENT_NUMBER_SUPPORTED 5 //The maximum number of output coordinates
8, 找TX_CAP_VALUE and RX_CAP_VALUE的极值(找极值的方法,请看调屏指南 ) #define TX_CAP_VALUE
{64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64}//在开始调试时设为默 认值 如64. #define RX_CAP_VALUE
{128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128}//在开始调试时设为默认值 如128.
9, 设置电荷泵的电压The chargepump value,Chip Vol可设为默认值如=2,如ft5406时,3.3V供电,有8个档,0=6.75v~8=5v
10, 调整TX_OFFSET_VALUE和RX_OFFSET_VALUE的值,目标使rawdata=8500(+-300). #define TX_OFFSET_VALUE
{0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33}//在开始调试时设为默认值 如 0x33.
#define RX_OFFSET_VALUE {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55}//在开始调试时设为默认值 如0x55.
注意TX_OFFSET_VALUE和RX_OFFSET_VALUE值的高4位和低4位分配,请看调屏指南。
11, 定义描述频率选择,#define SCAN_SELECT 6 // 3-8M;4-6M;5-4.8M;6-4M;7-3.4M;8-3M
12, 定义坐标大小和映射
#define K_X 255 // ((MAPPING_MAX_X - 1)*256)/(RX*POS_PRECISION - 1 - (2 * LEMDA_X))
#define K_Y 255 // ((MAPPING_MAX_Y - 1)*256)/(TX*POS_PRECISION - 1 - (2 * LEMDA_Y))
三, 调屏阀值参数设置,在FlowWork_parameter.h,中修改
1, 灵敏度阀值设置,#define RV_G_THGROUP 160 //此值调节灵敏度,是differ变化量的三分之一。
2 防水上限阀值设置,#define MAX_TOUCH_VALUE 800//用一只手指按住CTP,同时另一只手指按接在地,看值diff data是多少,取峰值在加上50 点,作上限值。
3, 报点频率设置,#define RV_G_PERIODACTIVE 15 //ms,15ms=60hz,20ms=50hz,14ms=70hz
4, firmware版本号设置,#define RV_G_FIRMID 0x05//每次修改后,增加1
四, 进一步调屏
1, 程序烧写后,查看RAWDATA值是否在9500以下,找一个最好的屏,或调到9500以下。
2, 找极值S。
3, 改RX CAP 为0,TX CAP 也为0,以25作十等分,从0开始,点Reflesh base 4, 找到最大值后在按1.5S按2/3倍分到行,1/3分到列,把值放在GLOBAL_CONFIG.H中的Tx_CAP_VALUE和Rx_cap_value数组中。
5, 调好cap值后,在回去调整TX_OFFSET_VALUE和RX_OFFSET_VALUE,使rawdata在8500左右。
6, 根椐differ变化量来设置阀值(灵敏度,变化量的1/3),和防水上限值设置(用一只手指按住CTP,同时另一只手指按接在地,看值DIFFDATA是多 少,取峰值在加上50点,作上限值)。
7, 参数都设好后,打开自动调屏,进行各项测试和产生工厂配置文件,注重
防水测试和画线是否会断线测试及坐标输出是否正确测试。
五, 细节参数设置,Global_Config.h中修改。
1, 最小防水值设置,#define MIN_WATER_VAL -50// = -RV_G_THGROUP*50%
2, 最大diff噪声变化阀值设置,#define MAX_NOISE_VAL 15 // the max diff value of the noise
3, 大面积阀值修改,如ft5406
#ifdef FT5406
#define PEAK_VALUE_MIN 100 //The min value to be decided as the big point
#define DIFF_VALUE_OVER_NUM 60 //The min big points of the big area
#define DIFF_VALUE_PERCENT 7 //reserve for future use #endif //FT5406
这篇关于CTP调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!