GT9147 编程指南文件
(适用于 1030 以上版本软件)
目 录
一、接口说明 ............................................................................................................................................... 2
二、通信时序 ............................................................................................................................................... 2
2.1 主机对 GT9147 进行写操作时序 .................................................................................................... 2
2.2 主机对 GT9147 进行读操作时序 .................................................................................................... 3
三、寄存器列表 ............................................................................................................................................ 3
3.1 实时命令(Write only) ................................................................................................................. 3
3.2 配置信息(R/W) ........................................................................................................................... 4
3.3 坐标信息 ....................................................................................................................................... 13
3.4 GT9147 的命令状态寄存器 ........................................................................................................... 17
3.5 Hotknot 的状态寄存器 ................................................................................................................... 18
3.6 HotKnot 的发送缓冲区 .................................................................................................................. 19
3.7 Hotknot 的接收缓冲区 ................................................................................................................... 20
3.8 Hotknot 注意事项 .......................................................................................................................... 22
四、上电初始化与寄存器动态修改 ............................................................................................................. 22
4.1 GT9147 上电时序 ......................................................................................................................... 22
4.2 上电或复位 I2C 地址选择 ............................................................................................................. 22
4.3 上电发送配置信息 ......................................................................................................................... 23
4.4 寄存器动态修改............................................................................................................................. 23
五、坐标读取 ............................................................................................................................................. 23
六、工作模式切换 ...................................................................................................................................... 24
七、版本修订记录 ...................................................................................................................................... 26
1
弘汉专用
一、接口说明
GT9147 与主机接口共有 6 PIN,分别为:VDD、GND、SCL、SDA、INT、RESET。
主控的 INT 口线需具有上升沿或下降沿中断触发功能,并且当其在输入态时,主控端必须设为悬浮态,
取消内部上下拉功能;主机通过输出高、低来控制 GT9147 的 RESET 口为高或低。为保证可靠复位,建
议 RESET 脚输出低 100μs 以上。
GT9147 与主机通信采用标准 I2C 通信,最高速率可以支持至 400Kbps。当主机采用 200 Kbps 以上的
通信速率时,需要特别注意 I2C 的外部上拉电阻阻值,以保证 SCL、SDA 边沿足够陡峭。GT9147 在通信
中始终作为从设备,其 I2C 设备地址由 7 位设备地址加 1 位读写控制位组成,高 7 位为地址,bit 0 为读写
控制位。GT9147 有两个从设备地址可供选择,如下表:
7 位地址
8 位写地址
8 位读地址
0x5D
0x14
0xBA
0x28
0xBB
0x29
每次上电或复位时需要使用 INT 脚进行 I2C 地址设置,方法请参考“上电初始化与 I2C 地址选择 ”一
章节。
二、通信时序
2.1 主机对 GT9147 进行写操作时序
S:起始信号。
Address_W:带写控制位的从设备地址。
ACK:应答信号。
Register_H、Register_L:待写入的 16 位寄存器首地址。
Data_1 至 Data_n:数据字节 1-n。
E:停止信号。
设定了写操作寄存器首地址后,可以只写 1 字节数据,也可以一次性写入多个字节数据,GT9147 自
动将其往高地址顺序存储。
2
SAddress_WRegister_HACKData_1Register_LACKACKACK……Data_nACKE弘汉专用
2.2 主机对 GT9147 进行读操作时序
先通过前述写操作时序设定需要读取的寄存器首地址,重新发送起始信号进行读寻址,读取寄存器数据。
Address_R:带读控制位的从设备地址。
NACK:最后 1 字节读完主控回 NACK。
设定了读操作寄存器地址后,主控可以一次读取 1 字节,也可以一次性读取多个字节数据,GT9147 自
动递增寄存器地址,将后续数据顺序发送。
设定完读操作寄存器地址后的停止信号(上图中的第一个 E 信号)可发可不发,但是重新开始 I2C 通信
的起始信号必须再次发送。
三、寄存器列表
3.1 实时命令(Write only)
Addr
Name
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0x8040
Command
0:读坐标状态 1、2:差值原始值
3:基准更新(内部测试) 4:基准校准(内部测试) 5:关屏
6:进入充电模式 7:退出充电模式 8:切换手势唤醒固件
0x20:进入从机接近检测模式 0x21:进入主机接近检测模式
0x22:进入数据传输模式 0x23:进入主机传输模式
0x28:退出从机检测模式 0x29:退出主机接近检测模式
0x2A:退出数据传输模式
0xAA:ESD 保护机制使用,由驱动定时写入 0xAA 并定时读取检查
其余值无效
0x8041
ESD_Check
ESD 保护机制使用,在初始化时清零,之后由驱动写入 0xAA 并定时读取检查
0x8042
Proximity_En
0x8043
0x8044
0x8045
NC
NC
NC
接近感应开关
Reserved
Reserved
0x8046
Command_Check 下发 0x20~0x2F 间的命令,需将命令先写此处,再写 0x8040,命令才会生效
3
T2>10msT3>100usScan period T = (7~20ms)T4 > 5msT6 > 50msI2C Addr.selectAVDDVDDIOINTEx: rising edge triggerRESETTouch CalibrationTouch Scan Host: Set inputBreak all pointReport data if touchT1<100msT5 < 200ms弘汉专用
部分寄存器补充说明如下:
[0x8040] Command
HotKnot 的命令处在区间 0x20~0x2F,命令执行存在优先级关系。具体优先级关系如下:从接近检
测的优先级最低,主接近检测的优先级高。当在低优先级状态下运行时,收到高优先级的命令,高优先级
命令立即执行,低优先级暂停运行,低优先级等待高优先级退出后再次运行。例如当前处于只进行触控检
测的状态,收到 0x21 命令,执行 0x21 任务,收到 0x20 后,仍然执行 0x21 任务,收到 0x29 后,才执行
0x20 命令;再收到 0x28 命令,则只做触控检测。
[0x8046] Command_Check
对于范围在 0x20~0x2F 间的 HotKnot 命令,为了增强抗 ESD 能力,需要先将命令写往 0x8046
处,再将命令写往 0x8040 处,命令才能生效。非此范围的命令,只需写向 0x8040 就会生效。
3.2 配置信息(R/W)
寄存器
Config Data
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0x8047
0x8048
0x8049
0x804A
0x804B
Config_
Version
X Output Max
(Low Byte)
X Output Max
(High Byte)
Y Output Max
(Low Byte)
Y Output Max
(High Byte)
配置文件的版本号
X 坐标输出最大值
Y 坐标输出最大值
0x804C
Touch Number
Reserved
输出触点个数上限:1~5
0x804D
Module_
Switch1
Water_S
Water_L
peedLimi
argeRest
Stretch_rank
_En
rain_En
X2Y
(X,Y 坐
标交换)
Sito
(软件
降噪)
INT 触发方式
00:上升沿触发
01:下降沿触发
02:低电平查询
03:高电平查询
Key_N
Touch_
oise
Key
0x804E
0x804F
0x8050
0x8051
0x8052
Module_
Switch2
STP_SE
不同图案特殊处理
First_F
ilter_Di
s
Water_
SITO
Water_
Proof_
Reserved
Disable
Shake_Count
手指松开去抖次数
手指按下去抖次数
Filter
First_Filter
Normal_Filter(原始坐标窗口滤波值,系数为 4)
Large_Touch
Noise_
H 形黄光图案削底系数 N
噪声消除值(系数为 1,0-15 有效)
大面积触摸点个数
4
弘汉专用
Reduction
Screen_
Touch_Level
Screen_
Leave_Level
Low_Power_
Control
Refresh_Rate
x_threshold
y_threshold
0x8053
0x8054
0x8055
0x8056
0x8057
0x8058
(0 关闭,系数为 1/(N+5))
屏上触摸点从无到有的阈值
屏上触摸点从有到无的阈值
Reserved
Reserved
进低功耗时间(0~15s)
坐标上报率(周期为 5+N ms)
X 坐标输出门限:0-255(以 1 个最终坐标点为单位,配置为 0 则一直输出坐标)
Y 坐标输出门限:0-255(以 1 个最终坐标点为单位,配置为 0 则一直输出坐标)
0x8059 Gesture_Switch1 左滑
上滑
右滑
0x805A Gesture_Switch2
滑动最
后驱动
Z
S
W
^
O
>
M
V
E
C
双击
下滑
0x805B
0x805C
Space
上边框的空白区(以 32 为系数)
下边框的空白区(以 32 为系数)
左边框的空白区(以 32 为系数)
右边框的空白区(以 32 为系数)
0x805D
Mini_Filter
Reserved
划线过程中的小 filter 设置,配 0 默认为
4
0x805E
0x805F
0x8060
0x8061
0x8062
0x8063
0x8064
0x8065
0x8066
0x8067
0x8068
0x8069
Stretch_R0
Stretch_R1
Stretch_R2
Stretch_RM
拉伸区间 1 系数
拉伸区间 2 系数
拉伸区间 3 系数
各拉伸区间基数
Drv_GroupA_
All_
Num
Driving
Reserved
Driver_Group_A_number
Drv_GroupB_
Num
Sensor_Num
FreqA_factor
FreqB_factor
Pannel_
BitFreqL
Pannel_
BitFreqH
Reserved
Dual_
Freq
Driver_Group_B_number
Sensor_Group_B_Number
Sensor_Group_A_Number
驱动组 A 的驱动频率倍频系数 GroupA_Frequence = 倍频系数 * 基频
驱动组 B 的驱动频率倍频系数 GroupB_Frequence = 倍频系数 * 基频
驱动组 A、B 的基频(1526HZ<基频<14600Hz)
MODULE_SWIT
CH4
Driver_r
sensor_
esersal
resersal
Approch
HotKnot
_En
_En
0x806A
Gesture_Long_Pr
ess_Time
手势长按进入 New_Green 时间
0x806B
Pannel_Tx_
Gain
Reserved
Pannel_Drv_outp
Pannel_DAC_Gain
ut_R
4 档可调
0:Gain 最大
7:Gain 最小
5
弘汉专用
0x806C
0x806D
0x806E
Pannel_Rx_
Pannel_
Gain
PGA_C
Pannel_PGA_R
Pannel_Rx_Vcmi(
Pannel_PGA_Gain
4 档可调)
(8 档可调)
Pannel_Dump_
Shift
手势唤醒原始值放大系数(2 的 N 次方)
屏原始值放大系数(2 的 N 次方)
Drv_Frame_
Reserve
Control
d
SubFrame_DrvNum
Repeat_Num
(采样累加次数)
0x806F
S_FeedBack
S 型改善负反馈量(1/256 为单位)
0x8070
Module_
Switch3
Key_Re
strain_D
is:按键
与屏体
抑制失
能开关,
默认为
0:与之
前版本
兼容,1:
按键与
屏体不
做抑制
Gesture
_Hop_
Dis:手
势唤醒
关跳频
省电
Check_
Screen_
Neg:统
计全屏
负值更
INT_Wa
keup:
唤醒电
平
默认为
新,默认
0:高电
平唤醒,
为 0 关
闭,对于
1:低电
平唤醒
单层 H
型建议
打开
Water_
Single_
Dis:单
指不进
防水,默
认为 0,
单指拖
尾严重
的 TP 置
1
Water_
Shape_
En:水状
态下是
否开启
形变处
理,1:
开启,0:
关闭
Y_
Invert
H 形黄
光出线
方式
0:下出
线 1:
上出线
Shape_
En
形变处
理
0x8071
Screen_Neg_Thr
全屏负值检测统计阈值,单位为 5,为 0
为 5)
es
时默认为 leavelevel
若全屏小于(-阈值/2)的负差值个数+此值
全屏负值检测统计数量(0-15,配 0 默认
0x8072
shape_control
+1)*TouchLevel
进入重按处理阈值=配置值*TouchLevel
进入超重按处理阈值=(配置值
*2 ≥ g_CellTotal/2 ,则更新基准
Touch 判量的倍数,配置越大,消减越多,
建议配置 1~4。配 0 则进入重按时不处理,
0x8073
0x8074
0x8075
EDGE_COMPLE
M_THRES
EDGE_COMPLE
MENT_X
EDGE_COMPLE
MENT_Y
0x8076 WaterFrameTime
按压差值大于此值时进入新形变处理,配
进入超重按时默认为 2 倍。
置小于 3 时默认关闭。
边缘补值阈值(0~255,配置越大补值条件越严格)
X 方向补值系数(0~255,配 0 不补值,配置越大补值越多)
Y 方向补值系数(0~255,配 0 不补值,配置越大补值越多)
水状态下,更新备份数据帧的时间,以 1 个主循环的周期为单位计时,配置小于 8 默
认为 32。
0x8077
WaterUpdateTim
水状态下,没有手指时进行快速更新的时间,以 1 个主循环的周期为单位计时,配置
e
小于 10 默认为 10。
0x8078
Charging_Level_
Up
主控下发充电器命令后,IC 进入充电器状态,把 Touch_Level 和 Leave_Level 提高
充电模式下使用的 level 值=原配置的 Level 值+配置值
配置 0 时,不提高阈值,原配置的 Level 值
6
弘汉专用
0x8079
Gesture_Control
双击唤醒非法时间(100ms 为单位,配置为 0 则为
GestureDrv_PGA_Gain(8 档
1.5s)
可调)
0x807A
Freq_Hopping_
Start
0x807B
Freq_Hopping_
End
0x807C
Noise_Detect_
Times
Detect_Stay_Time
s
(一次噪声检测中每
个频率点上检测次
数,建议 2)
跳频范围的起点频率( 以 BitFreq 为单位 )
跳频范围的终点频率( 以 BitFreq 为单位 )
Detect_Confirm_Times
(多次噪声检测后确定噪声量,1-63 有效,建议 20)
0x807D
Hopping_Flag
Hopping
Range_
Dis_For
Delay_
_En
Ext
ce_Ref
Hopping
Reserved
0x807E
0x807F
0x8080
Hoppging_
Fast_Hopping_Limit
当前频率的干扰值大于
Hopping_Hit_Threshold
(最优频率选定条件,当前工作频率干扰
Threshold
Fast_Hopping_Limit*4 的时候才会启动快
量-最小干扰量>设定值 x4,则选定最优
速跳频判断,该设置最小为 5
频率和跳频)
HotKnotNoiseMa
Reserve
Reserve
p
d
d
200K
250K
300K
350K
400K
450K
Noise_Min_
Threshold
当 ESD 导致最小干扰点大于此阈值时,进行快速消减处理。0 为禁止此功能,设很大
的值(如 200 或更大)也相当于禁止此功能。需要此功能时,建议的设置值是在正常干扰
的最低频点(取 LCD 和共模干扰的大者)基础上加上 5~20
0x8081
NC
0x8082
Hopping_Sensor_
Group
0x8083
0x8084
0x8085
0x8086
0x8087
0x8088
Hopping_seg1_
Normalize
Hopping_seg1_
Factor
Main_Clock_Adju
st
Hopping_seg2_
Normalize
Hopping_seg2_
Factor
NC
Reserved
跳频 Noise 侦测分段数(建议分 4 段)
Seg1 Normalize 系数(采样值*N/128,得到 Rawdata)
Seg1 中心点 Factor
微调主频配置,范围-7~+8
Seg2 Normalize 系数(采样值*N/128,得到 Rawdata)
Seg2 中心点 Factor
Reserved
7
弘汉专用
0x8089
0x808A
0x808B
0x808C
0x808D
0x808E
0x808F
0x8090
0x8091
0x8092
Hopping_seg3_
Normalize
Hopping_seg3_
Factor
NC
Hopping_seg4_
Normalize
Hopping_seg4_
Factor
NC
Hopping_seg5_
Normalize
Hopping_seg5_
Factor
NC
Hopping_seg6_
Normalize
0x8093
Key 1
0x8094
Key 2
0x8095
Key 3
0x8096
Key 4
Seg3 Normalize 系数(采样值*N/128,得到 Rawdata)
Seg3 中心点 Factor
Reserved
Seg4 Normalize 系数(采样值*N/128,得到 Rawdata)
Seg4 中心点 Factor
Reserved
Seg5 Normalize 系数(采样值*N/128,得到 Rawdata)
Seg5 中心点 Factor
Reserved
Seg6 Normalize 系数(采样值*N/128,得到 Rawdata)
Key 1 位置:0-255 有效
(其中 0 表示无按键,4 个键位置均为 8 的倍数时表示为独立按键)
Key 2 位置:0-255 有效
(其中 0 表示无按键,4 个键位置均为 8 的倍数时表示为独立按键)
Key 3 位置:0-255 有效
(其中 0 表示无按键,4 个键位置均为 8 的倍数时表示为独立按键)
Key 4 位置:0-255 有效
(其中 0 表示无按键,4 个键位置均为 8 的倍数时表示为独立按键)
长按更新时间(1~15s) ;
0x8097
Key_Area
长按更新时间为 1~15s,配置为 0 时取消
按键有效区间设置(单侧):0-15 有效
0x8098 Key_Touch_Level
0x8099 Key_Leave_Level
0x809A
0x809B
Key_Sens
Key_Sens
长按更新
触摸按键按键阈值
触摸按键松键阈值
KeySens_1(按键 1 灵敏度系数)
KeySens_2(按键 2 灵敏度系数)
KeySens_3(按键 3 灵敏度系数)
KeySens_4(按键 4 灵敏度系数)
0x809C
Key_Restrain
手指从屏上离开后抑制按键的时间(以
100ms 为单位),0 表示 600ms 抑制
0x809D
0x809E
Key_DownEdge_
Filter
Proximity_Valid_
Time
Reserved
独立按键邻键抑制参数(当次大值超过最
大值的 Key_Restrain/16 时则不输出按
键),推荐设置 7±2
手指滑动并从屏体最下端离开后的按键抑
制时间(以 100ms 为单位)
接近感应生效时间(以 1 个主循环的周期计时)
8
弘汉专用