HY520 ( 20key I2C通讯) 3 Slide Application
规格书 V1.0
软件简介:
此软件系提供给客户一个简易设定的滑条按键应用方案。客户只要使用IIC通讯格式,即可设定并读取滑条按键及独立按键触摸数据。
特色:
- 此应用使用20个 Touch Pad 让客户可依照设计上的需求进行规划。20个 Touch PAD可规划为滑条按键或是独立按键,滑条最多可规划为3组滑条。当无滑条按键设定时,20 Key 都可做独立按键使用。
- 按键电容漂移补偿补。
- 超强抗RF干扰能力。
- 设计有省电模式,适合用在如遥控器等需要长时间待机的应用。
产品应用范围:
- 大小家电
- 门禁监控设备
- 消费类电子
- 工控类产品触摸面板
应用注意事项:
- IIC最大频率:100KHz
- 固定IIC设备地址:Slave Address=53H
- 寫入資料一組为3个byte data,不使用的BIT请写0
- IIC_INT脚无按键时开漏,有按键时输出低
- TEST为打印输出,请预留测试点
- 按键需要按照TP0~TP19的顺序使用(不可跳按键使用)重要!!!
- W_NUM可定义飞梭(滑条)按键数(一般为3或4个按键)
- S1 S2 S3固定为3个按键
- 除飞梭划条所定义的按键 其他按键为一般按键
- Total_TP定义的是使用的总按键数量,并非一般按键数量
SSOP28 SSOP24
Ps:1. Slave address = 53H
- 按键需要依照顺序来使用,不可以跳按键使用(重要)! !!
- CAP为量测电容接脚,电容大小约10nF~39nF,容值越大灵敏度越高。
- TP0~TP19是触摸按键的量测PAD,HY520 最多可侦测20个按键。
- IIC_INT脚无按键时开漏,有按键时输出低
IIC_SDA是IIC的数据输出/输入脚。
脚位定义:
28Pin | 24Pin | Define | I/O | Pin Description |
13 | 12 | VDD | Power | Positive power supply |
14 | 13 | VSS | Power | Negative power supply, ground |
28 | 24 | CAP | I | Touch sensor input |
1 | / | VSS | Power | Negative power supply, ground |
12 | 11 | IIC_INT | IO | IIC_INT pin |
15 16 | 14 15 | IIC_SCL IIC_SDA | IO IO | IIC_IIC clock pin IIC_IIC data pin |
24 25 26 27 | 20 21 22 23 | TP0 TP1 TP2 TP3 | IO/I IO/I IO/I IO/I | touch pad input touch pad input touch pad input touch pad input |
2 3 4 5 | 1 2 3 4 | TP4 TP5 TP6 TP7 | IO/I IO/I IO/I IO/I | touch pad input touch pad input touch pad input touch pad input |
6 7 8 9 | 5 6 7 8 | TP8 TP9 TP10 TP11 | IO/I IO/I IO/I IO/I | touch pad input touch pad input touch pad input touch pad input |
20 21 22 23 | 19 / / / | TP12 TP13 TP14 TP15 | IO/I IO/I IO/I IO/I | touch pad input touch pad input touch pad input touch pad input |
10 17 18 19 | 9 16 17 18 | TP16 TP17 TP18 TP19 | IO/I IO/I IO/I IO/I | touch pad input touch pad input touch pad input touch pad input |
11 | 10 | TEST | IO/I | TEST |
Table1. HY520pin description
电气特性:
参数 | 符号 | 条件 | 值 | 单位 |
工作温度 | Top | —— | -40~+85 | ℃ |
存放温度 | TSTG | —— | -50~+125 | ℃ |
电源电压 | VDD | Ta=25℃ | VSS-0.3~VSS+5.5 | V |
输入电压 | VIN | Ta=25℃ | VSS-0.3~VDD+0.3 | V |
芯片抗静电强度HBM | ESD | —— | >5 | KV |
备注:VSS代表系统接地 |
参数 | 符号 | 测试条件 | 最小值 | 典型值 | 最大值 | 单位 |
工作电压 | VDD | 2.5 | - | 5.5 | V | |
系统震荡频率 | F | VDD=5V | - | 8M | - | HZ |
工作电流 | IOP | 待机,VDD=3V输出无负载 | - | 1.1 | - | mA |
IOFF | 待机,VDD=3V输出无负载 | 5.3 | 6.8 | 10.0 | uA |
功能描述:
- 触摸按键介绍:
触摸按键是利用测量人体接近导体时产生的电容变化,转换为数值判断的一种方式。此应用中所有的触摸按键都有Threshold 设定参数,用来调整触摸按键的灵敏度。
Threshold 依照按键的按压深度来做调整,数值越小越灵敏,但也越容易受到噪声干扰。
- 飞梭(滑条)介绍:
飞梭(滑条)按键的原理是利用在PCB LAYOUT上测得触摸的按压深度,来解析按压位置的一种方法。优点在可利用最少的按键解析出最多的按键地址。滑条图形主要分为环型跟直条两种应用,如下图:
Figure1. 环形设计
Figure2. 直条设计
注:直条设计中因为首尾不相连(非环形),所以有效地址为0~191,若读取到值192~223或是224~255则需要在主控端分别判断为是191或是0。
Figure1. 环形设计
Figure2. 直条设计
其原理是利用按压Touch Pad 时取得的数值变化,再使用内差法来计算其相对地址。因此需要最少3个按键,用以取得按压最深的按键与左右两边按键的差值来进行运算。
设计上建议按键与按键中心距离需小于30mm。齿与齿间的距离则约为0.4mm(如下图),一般以3~4齿的设计为佳。
Figure3. Layout 设计要点
飞梭(滑条)按键需要依照TP0>TP19编号顺序排列,才能正确计算位置,禁止任意变换排列顺序。
下表为飞梭按键的常用组合方式,可以根据客户的实际应用需求做修改。
W_NUM | 4H | 4H | 4H | 4H | 4H | 0H | FH |
S1EN | 0H | 1H | 1H | 1H | 0H | 0H | 0H |
S2EN | 0H | 0H | 1H | 1H | 0H | 0H | 0H |
S3EN | 0H | 0H | 0H | 1H | 0H | 0H | 0H |
Total_TP | 13H | 13H | 13H | 13H | 10H | 13H | 13H |
TP0 | W_1 | W_1 | W_1 | W_1 | W_1 | Key 1 | W_1 |
TP1 | W_2 | W_2 | W_2 | W_2 | W_2 | Key 2 | W_2 |
TP2 | W_3 | W_3 | W_3 | W_3 | W_3 | Key 3 | W_3 |
TP3 | W_4 | W_4 | W_4 | W_4 | W_4 | Key 4 | W_4 |
TP4 | Key 1 | S1_1 | S1_1 | S1_1 | Key 1 | Key 5 | W_5 |
TP5 | Key 2 | S1_2 | S1_2 | S1_2 | Key 2 | Key 6 | W_6 |
TP6 | Key 3 | S1_3 | S1_3 | S1_3 | Key 3 | Key 7 | W_7 |
TP7 | Key 4 | Key 1 | S2_1 | S2_1 | Key 4 | Key 8 | W_8 |
TP8 | Key 5 | Key 2 | S2_2 | S2_2 | Key 5 | Key 9 | W_9 |
TP9 | Key 6 | Key 3 | S2_3 | S2_3 | Key 6 | Key 10 | W_10 |
TP10 | Key 7 | Key 4 | Key 1 | S3_1 | Key 7 | Key 11 | W_11 |
TP11 | Key 8 | Key 5 | Key 2 | S3_2 | Key 8 | Key 12 | W_12 |
TP12 | Key 9 | Key 6 | Key 3 | S3_3 | Key 9 | Key 13 | W_13 |
TP13 | Key 10 | Key 7 | Key 4 | Key 1 | Key 10 | Key 14 | W_14 |
TP14 | Key 11 | Key 8 | Key 5 | Key 2 | Key 11 | Key 15 | W_15 |
TP15 | Key 12 | Key 9 | Key 6 | Key 3 | Key 12 | Key 16 | W_16 |
TP16 | Key 13 | Key 10 | Key 7 | Key 4 | Key 13 | Key 17 | Key 1 |
TP17 | Key 14 | Key 11 | Key 8 | Key 5 | - | Key 18 | Key 2 |
TP18 | Key 15 | Key 12 | Key 9 | Key 6 | - | Key 19 | Key 3 |
TP19 | Key 16 | Key 13 | Key 10 | Key 7 | - | Key 20 | Key 4 |
Table2. Wheel pad and key pad define
- IIC 协定:
IC使用IIC数据传输协议,两线式总线SCL、SDA来读写数据。INT脚位用来通知Master有按键状态变化。
Figure6. IIC connect for master and HY520
IIC_INT脚无按键时开漏,有按键时输出低。
Figure7. INT pin describe
Switching Characteristics
Symbol | Description | Min | Max | Units |
FSCL | SCL clock frequency. | 0 | 100 | KHz |
THDSTA | Hold time(repeated) star condition. After this period, the first clock pulse is generated. | 4.0 | - | us |
TLOW | Low period of the SCL clock. | 4.7 | - | us |
THIGH | High period of the SCL clock. | 4.0 | - | us |
TSUSTA | Set-up time for a repeated start condition. | 4.7 | - | us |
THDDAT | Data hold time. | 0 | - | us |
TSUDAT | Data set-up time. | 250 | - | ns |
TSUSTO | Set-up time for stop condition. | 4.0 | - | us |
TBUF | Bus free time between a stop and start condition. | 4.7 | - | us |
TSPI | Pulse width of spikes are suppressed by the input filter. | 0 | 50 | ns |
TSPT | Slave processor time | 10 | 75 | us |
Table3. AC characteristics of the IIC SDA and SCL pins for vdd
Timing Waveform
Figure8. Definition for timing for fast/standard mode on the IIC
Packet Stream
Figure9. Write / Read byte form I2C
Data Stream
在飞梭(滑条)应用模式,写入数据以3~4 Data Bytes为一组资料串流。当一笔数据串流写入完成后,系统会将数据覆写并进行系统重设。若写入被中断并重新写入,则前一笔数据会被放弃。
在每次写入完一组3 Data Bytes后,若要再次写入下一组设定,需要送出Stop讯号结束当前数据传输,再重新写入下一组设定。
Write Data
- Setting commands
Write setting
BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | |
DATA0 | CT=0 | KAT | PSM | KOM | ART1 | ART0 | ||
DATA1 | - | - | - | Total_TP | ||||
DATA2 | - | S3EN | S2EN | S1EN | W_NUM |
KAT
按键消抖时间。
KAT | Key Acknowledge Times | ||
2 | 1 | 0 | |
0 | 0 | 0 | 1 times |
0 | 0 | 1 | 2 times |
0 | 1 | 0 | 3 times |
0 | 1 | 1 | 4 times (Define) |
1 | 0 | 0 | 5 times |
1 | 0 | 1 | 6 times |
1 | 1 | 0 | 7 times |
1 | 1 | 1 | 8 times |
PSM
省电模式,无按键4秒后进入睡眠模式。
PSM | Power Save Mode |
0 | Disable (Define) |
1 | Enable |
KOM
按键输出模式,有多个按键输出以及单一按键输出两种模式。此选项是对普通按键的输出设定,飞梭(滑条)按键则不受影响。单一按键输出模式时只会输出第一个被按下的按键,当按键放开后才会承认其它按键。
KOM | Key Output Mode |
0 | Multiple |
1 | Single (Define) |
ART
自动重置时间设定,在按键位置没有改变时开始计时,时间到自动重置。
ART | Auto Reset Time | |
0 | 0 | Disable |
0 | 1 | 10 second (Define) |
1 | 0 | 20 second |
1 | 1 | 30 second |
Total_TP
总按键数设定。(飞梭(滑条)+普通按键)
Total_TP | Total TP Number | ||||
4 | 3 | 2 | 1 | 0 | |
0 | 0 | 0 | 0 | 0 | 1 key |
0 | 0 | 0 | 0 | 1 | 2 keys |
0 | 0 | 0 | 1 | 0 | 3 keys |
0 | 0 | 0 | 1 | 1 | 4 keys |
0 | 0 | 1 | 0 | 0 | 5 keys |
0 | 0 | 1 | 0 | 1 | 6 keys |
0 | 0 | 1 | 1 | 0 | 7 keys |
0 | 0 | 1 | 1 | 1 | 8 keys |
0 | 1 | 0 | 0 | 0 | 9 keys |
0 | 1 | 0 | 0 | 1 | 10 keys |
0 | 1 | 0 | 1 | 0 | 11 keys |
0 | 1 | 0 | 1 | 1 | 12 keys |
0 | 1 | 1 | 0 | 0 | 13 keys |
0 | 1 | 1 | 0 | 1 | 14 keys |
0 | 1 | 1 | 1 | 0 | 15 keys |
0 | 1 | 1 | 1 | 1 | 16 keys |
1 | 0 | 0 | 0 | 0 | 17 keys |
1 | 0 | 0 | 0 | 1 | 18 keys |
1 | 0 | 0 | 1 | 0 | 19 keys |
1 | 0 | 0 | 1 | 1 | 20 keys (Define) |
S3EN
第三组固定为3键的飞梭(滑条)。
S3EN | Slide 3 Enable |
0 | Disable |
1 | Enable (Define) |
S2EN
第二组固定为3键的飞梭(滑条)。
S2EN | Slide 2 Enable |
0 | Disable |
1 | Enable (Define) |
S1EN
第一组固定为3键的飞梭(滑条)。
S1EN | Slide 1 Enable |
0 | Disable |
1 | Enable (Define) |
W_NUM
可定义3~16个按键组成的飞梭(滑条)。
W_NUM | Wheel Number | |||
3 | 2 | 1 | 0 | |
0 | 0 | 0 | 0 | Disable |
0 | 0 | 0 | 1 | Disable |
0 | 0 | 1 | 0 | 3 keys wheel |
0 | 0 | 1 | 1 | 4 keys wheel(Define) |
0 | 1 | 0 | 0 | 5 keys wheel |
0 | 1 | 0 | 1 | 6 keys wheel |
0 | 1 | 1 | 0 | 7 keys wheel |
0 | 1 | 1 | 1 | 8 keys wheel |
1 | 0 | 0 | 0 | 9 keys wheel |
1 | 0 | 0 | 1 | 10 keys wheel |
1 | 0 | 1 | 0 | 11 keys wheel |
1 | 0 | 1 | 1 | 12 keys wheel |
1 | 1 | 0 | 0 | 13 keys wheel |
1 | 1 | 0 | 1 | 14 keys wheel |
1 | 1 | 1 | 0 | 15 keys wheel |
1 | 1 | 1 | 1 | 16 keys wheel |
Write Threshold
BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | |
DATA0 | CT=1 | SET_TP | ||||||
DATA1 | Threshold | |||||||
DATA2 | - |
TP0~TP19 define threshold = 10H
BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | |
DATA0 | CT=1 | 10100 | ||||||
DATA1 | Group 2 threshold | Group 1 threshold | ||||||
DATA2 | - |
Sleep Small define threshold = 33H
BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | |
DATA0 | CT=1 | 10101 | ||||||
DATA1 | Group 2 threshold | Group 1 threshold | ||||||
DATA2 | - |
Sleep Large define threshold = 33H
第一组TP0~TP7 (Group 1)
第二组TP8~TP19 (Group 2)
Ps:写入0无效
SET_TP | Set TP | ||||
4 | 3 | 2 | 1 | 0 | |
0 | 0 | 0 | 0 | 0 | TP0 |
0 | 0 | 0 | 0 | 1 | TP1 |
0 | 0 | 0 | 1 | 0 | TP2 |
0 | 0 | 0 | 1 | 1 | TP3 |
0 | 0 | 1 | 0 | 0 | TP4 |
0 | 0 | 1 | 0 | 1 | TP5 |
0 | 0 | 1 | 1 | 0 | TP6 |
0 | 0 | 1 | 1 | 1 | TP7 |
0 | 1 | 0 | 0 | 0 | TP8 |
0 | 1 | 0 | 0 | 1 | TP9 |
0 | 1 | 0 | 1 | 0 | TP10 |
0 | 1 | 0 | 1 | 1 | TP11 |
0 | 1 | 1 | 0 | 0 | TP12 |
0 | 1 | 1 | 0 | 1 | TP13 |
0 | 1 | 1 | 1 | 0 | TP14 |
0 | 1 | 1 | 1 | 1 | TP15 |
1 | 0 | 0 | 0 | 0 | TP16 |
1 | 0 | 0 | 0 | 1 | TP17 |
1 | 0 | 0 | 1 | 0 | TP18 |
1 | 0 | 0 | 1 | 1 | TP19 |
1 | 0 | 1 | 0 | 0 | Sleep Small |
1 | 0 | 1 | 0 | 1 | Sleep Large |
Read command
Data byte | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
1 | C | WSET | - | - | S3T | S2T | S1T | WT |
2 | Slide Position | |||||||
3 | Key 8 | Key 7 | Key 6 | Key 5 | Key 4 | Key 3 | Key 2 | Key 1 |
4 | Key 16 | Key 15 | Key 14 | Key 13 | Key 12 | Key 11 | Key 10 | Key 9 |
5 | - | - | - | - | Key 20 | Key 19 | Key 18 | Key17 |
C | Calibrate |
0 | Calibrating |
1 | Calibrate Finish |
WSET | Have write setting |
0 | Have write setting |
1 | No write setting |
SxT(WT) | Slide x Touch |
0 | No touch |
1 | Touch |
Slide Position | Position | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Position 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Position 1 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Position 2 |
x | x | x | x | x | x | x | x | … |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | Position 253 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | Position 254 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Position 255 |
K1…K20 | Key1…Key20 |
0 | No touch |
1 | Touch |
特别说明:
- 读写封包,需要间隔1ms。
- 若需要轮询取键值,建议间隔10ms~20ms左右读取一次。
- 若开启睡眠模式,则禁止轮询读取键值,因为每次读取键值时,都会清除进入睡眠的计时,会导致系统无法睡眠。建议在读取到没有按键按压后,即停止读取键值。
- 按键阀值调整的步骤:
Step1. 选择初始测试用的CS电容(见建议线路图):
先确定设计中是否使用滑条功能,若使用滑条功能,则建议33nF作为CS充放电电容,若仅做一般按键使用,则建议使用10nF作为初始测试电容。
Step2. 每个按键做按压测试:
以正常速度轻触按键或使用金属棒做测试条件,若在触摸到按键之前有按键输出,表示灵敏度太高,需要调高阀值,若触摸按键没有按键输出,或是要重压才有按键输出,表示灵敏度太低,需要降低阀值。
滑条按键因为锯齿状设计,在不同位置灵敏度也会不同,故建议做灵敏度测试时,以两个锯齿按键中间位置做灵敏度测试,避免滑动效果不佳。
Step3. 测试按键反应速度:
在判断按键灵敏度的时候,若觉得按键”不够灵敏”,需要进一步判断是按键响应速度不够快,还是按键灵敏度不够。判断方法是触摸停留一段时间(约1秒),并检查是否有按键输出。若没有按键输出,则是按键不够灵敏,重新进行Step2调整,若有按键输出,则是按键响应速度不构快,则进行下一步。
Step4. 调整按键反应速度:
按键消抖时间(KAT)预设为4,若按键反应速度不构快,可以下修值到3。
若下修到3反应速度仍然不够,则建议将CS电容减小。
选择好适当的CS电容后需要回到Step2重新调整灵敏度。
需要注意的是选择较小的CS电容,同时会降低滑条按键的精细度。
SSOP28建议线路:
R0 - R19 接 1K-4.7Kohm 可增强RF干扰!
触摸按键灵敏预设阀值:010H
SSOP24建议线路:
R0 - R19 接 1K-4.7Kohm 可增强RF干扰!
触摸按键灵敏预设阀值:010H
封装说明:(28-SSOP)
(SSOP24)