用户工具

站点工具


icore4t_62

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_62 [2020/11/09 15:08]
fmj
icore4t_62 [2022/04/01 10:58] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-11-09 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-11-09 ​ |  gingko ​ |  初次建立 ​ | 
行 96: 行 95:
  
   * 两个ITO涂层的两端分别引出X-、X+、Y-、Y+四个电极,见下图,这是电阻屏最常见的四线结构,通过这些电极,外部电路向这两个涂层可以施加匀强电场或检测电压。   * 两个ITO涂层的两端分别引出X-、X+、Y-、Y+四个电极,见下图,这是电阻屏最常见的四线结构,通过这些电极,外部电路向这两个涂层可以施加匀强电场或检测电压。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_2.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_2.png?​direct&​600 |}}
   * 当触摸屏被按下时,两个ITO层相互接触,从触点处把ITO层分为两个电阻,且由于ITO层均匀导电,两个电阻的大小与触点离两电极的距离成比例关系,利用这个特性,可通过以下过程来检测坐标,这也正是电阻触摸屏名称的由来,如下图。   * 当触摸屏被按下时,两个ITO层相互接触,从触点处把ITO层分为两个电阻,且由于ITO层均匀导电,两个电阻的大小与触点离两电极的距离成比例关系,利用这个特性,可通过以下过程来检测坐标,这也正是电阻触摸屏名称的由来,如下图。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_3.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_3.png?​direct&​600 |}}
   - 计算X坐标时,在X+电极施加驱动电压Vref,X-极接地,所以X+与X-处形成了匀强电场,而触点处的电压通过Y+电极采集得到,由于ITO层均匀导电,触点电压与Vref之比等于触点X坐标与屏宽度之比,从而:   - 计算X坐标时,在X+电极施加驱动电压Vref,X-极接地,所以X+与X-处形成了匀强电场,而触点处的电压通过Y+电极采集得到,由于ITO层均匀导电,触点电压与Vref之比等于触点X坐标与屏宽度之比,从而:
 {{ :​icore4t:​iCore4T_ARM_HAL_62_4.png?​direct&​200 |}} {{ :​icore4t:​iCore4T_ARM_HAL_62_4.png?​direct&​200 |}}
行 111: 行 110:
   * 2.模拟输入特性   * 2.模拟输入特性
     * MUX,ADC的模拟输入以及I2C接口电路如下图所示。     * MUX,ADC的模拟输入以及I2C接口电路如下图所示。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_6.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_6.png?​direct&​800 |}}
     * 控制字节顺序位C3,C2,C1,C0以及NS2009之间的配置关系如下表所示:     * 控制字节顺序位C3,C2,C1,C0以及NS2009之间的配置关系如下表所示:
-{{ :​icore4t:​iCore4T_ARM_HAL_62_7.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_7.png?​direct&​800 |}}
   * 3.差分模式   * 3.差分模式
     * 当命令控制位C3为高电平时,NS2009处于X,Y,Z的测量模式,内部ADC参考电压源为差分模式,如下图所示。差分模式的优势:+REF和-REF直接输入YP,YN,可以消除由于开关导通电阻引起的测量误差。缺点是:无论是充裕的还是转换过程,驱动器都需要开启,相对于单端模式,功耗增加了。     * 当命令控制位C3为高电平时,NS2009处于X,Y,Z的测量模式,内部ADC参考电压源为差分模式,如下图所示。差分模式的优势:+REF和-REF直接输入YP,YN,可以消除由于开关导通电阻引起的测量误差。缺点是:无论是充裕的还是转换过程,驱动器都需要开启,相对于单端模式,功耗增加了。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_8.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_8.png?​direct&​400 |}}
   * 4.压力测量   * 4.压力测量
     * NS2009可以测量触摸的压力,即Z方向的测量。通常,此类测量的性能要求不高,因此可以使用8位分辨率模式(但是,下面的计算是采用12位分辨率模式的)即可。有几种不同的方法可以实现压力测量。     * NS2009可以测量触摸的压力,即Z方向的测量。通常,此类测量的性能要求不高,因此可以使用8位分辨率模式(但是,下面的计算是采用12位分辨率模式的)即可。有几种不同的方法可以实现压力测量。
     * 第一种方法需要知道X面板的电阻,X的测量位置,触摸屏面板在两个附加面板之间的测量值(Z1和Z2)。可以使用下列公式计算触摸电阻:     * 第一种方法需要知道X面板的电阻,X的测量位置,触摸屏面板在两个附加面板之间的测量值(Z1和Z2)。可以使用下列公式计算触摸电阻:
-{{ :​icore4t:​iCore4T_ARM_HAL_62_9.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_9.png?​direct&​400 |}}
     * 第二种方法需要检测X和Y面板的面板电阻,X和Y位置以及Z1位置。可以使用下列公式计算触摸电阻:     * 第二种方法需要检测X和Y面板的面板电阻,X和Y位置以及Z1位置。可以使用下列公式计算触摸电阻:
-{{ :​icore4t:​iCore4T_ARM_HAL_62_10.png?​direct&​200 |}} +{{ :​icore4t:​iCore4T_ARM_HAL_62_10.png?​direct&​600 |}} 
-{{ :​icore4t:​iCore4T_ARM_HAL_62_11.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_11.png?​direct&​600 |}}
   * 5.数字接口   * 5.数字接口
     * NS2009的数据接口是I2C串行接口,满足I2C接口协议,可以实现标准模式(100K),快速模式(400K)或高速模式(3.4M),分为控制NS2009写入,读取两种命令格式 ,write命令用于输入地址和命令字节,以便在指定的NS2009配置和模式下工作,NS2009 read命令用于输出ADC转换的数据以获得与测量有关的信息。     * NS2009的数据接口是I2C串行接口,满足I2C接口协议,可以实现标准模式(100K),快速模式(400K)或高速模式(3.4M),分为控制NS2009写入,读取两种命令格式 ,write命令用于输入地址和命令字节,以便在指定的NS2009配置和模式下工作,NS2009 read命令用于输出ADC转换的数据以获得与测量有关的信息。
     * 1)Write Command 写命令时序图如下     * 1)Write Command 写命令时序图如下
-{{ :​icore4t:​iCore4T_ARM_HAL_62_12.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_12.png?​direct&​800 |}}
     * 地址字节的第一个字节:     * 地址字节的第一个字节:
-{{ :​icore4t:​iCore4T_ARM_HAL_62_13.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_13.png?​direct&​800 |}}
     * 最低的R / W(bit0),0表示写入命令,1表示读取命令。     * 最低的R / W(bit0),0表示写入命令,1表示读取命令。
     * A0(Bit1)用于硬件地址的控制位,该位必须与8引脚电平一致,才能选中相应的NS2009。     * A0(Bit1)用于硬件地址的控制位,该位必须与8引脚电平一致,才能选中相应的NS2009。
行 135: 行 134:
     * 在第二个字节全部被接收后,NS2009在第9个时钟周期发出响应信号ACK(0级),指示数据已经收到。     * 在第二个字节全部被接收后,NS2009在第9个时钟周期发出响应信号ACK(0级),指示数据已经收到。
     * 命令字节的第二个字节:     * 命令字节的第二个字节:
-{{ :​icore4t:​iCore4T_ARM_HAL_62_14.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_14.png?​direct&​800 |}}
     * C3,C2,C1,C0决定输入信号的NS2009配置以及相应的测量功能。PD1,PD0用于控制内部基准电压源和笔中断信号,如下图所示:     * C3,C2,C1,C0决定输入信号的NS2009配置以及相应的测量功能。PD1,PD0用于控制内部基准电压源和笔中断信号,如下图所示:
- {{ :​icore4t:​iCore4T_ARM_HAL_62_15.png?​direct&​200 |}} + {{ :​icore4t:​iCore4T_ARM_HAL_62_15.png?​direct&​800 |}} 
     * M----模式选择位,用于设置ADC的分辨率。MODE = 0,ADC为12位模式; MODE = 1,ADC为8位模式。     * M----模式选择位,用于设置ADC的分辨率。MODE = 0,ADC为12位模式; MODE = 1,ADC为8位模式。
     * X位(bit3和bit0)为预留位,一般设置为0。     * X位(bit3和bit0)为预留位,一般设置为0。
     * 在第二个字节全部被接收后,NS2009将在第18个时钟周期发出响应信号ACK(0-电平),指示数据已收到。     * 在第二个字节全部被接收后,NS2009将在第18个时钟周期发出响应信号ACK(0-电平),指示数据已收到。
     * 2)Read Command 读命令时序图如下     * 2)Read Command 读命令时序图如下
-{{ :​icore4t:​iCore4T_ARM_HAL_62_16.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_16.png?​direct&​800 |}}
     * 读取命令包含3个字节,第一个字节是地址,类似于bit0为高的写命令;接下来的2个字节是NS2009中的12位(如果是8位模式,则仅为1字节数据),冗余4位为零。     * 读取命令包含3个字节,第一个字节是地址,类似于bit0为高的写命令;接下来的2个字节是NS2009中的12位(如果是8位模式,则仅为1字节数据),冗余4位为零。
     * NS2009收到地址数据的第一个字节后,在第9个时钟周期发出响应信号ACK(0电平),然后开始输出数据的第一个字节,主机收到数据的第一个字节后应发出响应主机ACK(0级),NS2009接收到掩码(masker ACK)后,ACK开始发送第二个字节的数据,主机接收到第二个字节的数据后,不用应答,此时,SDA将被拉高,也就是上图所示的掩码(masker ACK)信号。     * NS2009收到地址数据的第一个字节后,在第9个时钟周期发出响应信号ACK(0电平),然后开始输出数据的第一个字节,主机收到数据的第一个字节后应发出响应主机ACK(0级),NS2009接收到掩码(masker ACK)后,ACK开始发送第二个字节的数据,主机接收到第二个字节的数据后,不用应答,此时,SDA将被拉高,也就是上图所示的掩码(masker ACK)信号。
行 150: 行 149:
   * 7.数据格式   * 7.数据格式
     * NS2009输出的数据格式是标准的二进制格式。下图给出了不同电压对应的理想编码。     * NS2009输出的数据格式是标准的二进制格式。下图给出了不同电压对应的理想编码。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_17.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_17.png?​direct&​600 |}}
   * 8.PENIRQ中断输出功能   * 8.PENIRQ中断输出功能
     * PENIRQ可以通过PD0设置,PEN中断输出功能如下图所示。     * PENIRQ可以通过PD0设置,PEN中断输出功能如下图所示。
-当PD0=0时,YN驱动打开,Y触摸屏面板连接到GND。PENIRQ 输出通过两个开关连接到XP。在待机模式下,当有触摸屏操作时,XP输入通过触摸屏下拉至GND,PENIRQ输出为低电平。当没有运动的触摸屏断开至GND时,PENIRQ为高输出。在X,Y和Z的测量过程中,PENIRQ输出为低电平;+    * 当PD0=0时,YN驱动打开,Y触摸屏面板连接到GND。PENIRQ 输出通过两个开关连接到XP。在待机模式下,当有触摸屏操作时,XP输入通过触摸屏下拉至GND,PENIRQ输出为低电平。当没有运动的触摸屏断开至GND时,PENIRQ为高输出。在X,Y和Z的测量过程中,PENIRQ输出为低电平;
     * PD0 = 1,禁止了PEN中断功能,无法监视触摸屏上的触摸运动。如果要重新启用中断功能PEN,需要控制PD0 = 0写入NS2009,如果最后一个控制字包含PD0 = 0,则该命令完成后将使能PEN中断输出。     * PD0 = 1,禁止了PEN中断功能,无法监视触摸屏上的触摸运动。如果要重新启用中断功能PEN,需要控制PD0 = 0写入NS2009,如果最后一个控制字包含PD0 = 0,则该命令完成后将使能PEN中断输出。
     * 为避免误触发,​建议处理器向NS2009发送命令时,​屏蔽掉PENIRQ的中断。     * 为避免误触发,​建议处理器向NS2009发送命令时,​屏蔽掉PENIRQ的中断。
-{{ :​icore4t:​iCore4T_ARM_HAL_62_18.png?​direct&​200 |}}+{{ :​icore4t:​iCore4T_ARM_HAL_62_18.png?​direct&​600 |}}
  
 ==== 四、 实验程序 ==== ==== 四、 实验程序 ====
icore4t_62.1604905720.txt.gz · 最后更改: 2020/11/09 15:08 由 fmj