目录

一、串口通讯

二、触摸报告协议

三、芯片的配置寄存器介绍

四、芯片的读/写命令格式

 命令配置示例​


        以AR1000系列电阻式触摸屏控制器的ART1011-I/SS为例哈,

        芯片数据手册:PDF.js viewericon-default.png?t=L9C2https://www.semiee.com/static/js/pdfjs-1.10.88-dist/web/viewer.html?file=https%3A%2F%2Fwww.semiee.com%2Ffile%2FSource15%2FMicrochipTechnology-AR1011-ISS.pdf#pagemode=none

        芯片元件: 

         这款芯片的11脚(SCK/SCL/TX)、13脚(SDI/SDA/RX)是数据通讯引脚,有I2C/SPI/UART三种通讯协议可供选择(通过对M1、M2引脚的硬件配置),我选择的采用UART串口该协议进行通讯。

        因此,我们直接翻到“UART通讯”这一节,如下截图:

一、串口通讯

M1连接到VDD(芯片电源端)即可选择UART作为芯片通讯协议。

UART的波特率为9600波特率。

“8N1”的含义:8:表明8位数据位;N:表明(NO parity)即无奇偶校验;1:表明1位停止位

 睡眠模式会导致TX引脚拉低,实测检验到:刚开机无任何触摸状态时,处于睡眠模式TX端电压为0V状态。

二、触摸报告协议

        紧接着UART通讯章节,我们可以看到触摸传输协议该章节,如下截图:

 上面一大堆英文就是用来解释底下这个协议表的,大致的意思是:

触摸坐标 以 5 bytes数据包的形式从触摸芯片端发送到主机系统,其中包含 X 轴坐标、Y 轴坐标和“Pen-Up/Down”触摸状态 三类数据。

其中,X 轴和 Y 轴的范围坐标范围均为 0 ~ 4095(12 bit)。 触摸坐标分辨率为1024,bitsX1:X0 和 Y1:Y0 为零。

建议开发应用程序从数据包中读取 12 位坐标并以 12 位格式使用它们。 这增强了应用程序的鲁棒性,因为它将使用 10 位或 12 位坐标信息。

英文底下的表格是触摸坐标报告协议。

        第1字节:1 x x x   x x x P 

        该字节的有效位为 最低位‘P’: 存储触摸状态,0:Pen-Up;1:Pen-Down

         第2、3字节存储 X 轴坐标(12bits):

  •     0 X6 X5 X4     X3   X2 X1 X0  
  •     0  0   0  X11    X10 X9 X8 X7  

         第4、5字节存储Y 轴坐标(12bits):

  •     0 Y6 Y5 Y4     Y3   Y2 Y1 Y0  
  •     0  0   0  Y11    Y10 Y9 Y8 Y7  

三、芯片的配置寄存器介绍

 CONFIGURATION  REGISTERS 第8章节 ,截图如下(截不全)。 

 表格前的说明:

通过对配置寄存器值的调整,我们可以对触摸芯片进行定制性应用。我们可以用已优化好的默认值(默认自动使用)。但是配置寄存器的值时我们尽可能不要超出指定范围(表格有说明)

 关于我们选择的AR1011芯片的配置寄存器,该章节的8.1章节也进行了下说明:

翻译过来就是:

通过将 0xFF 的值写入 EEPROM 的地址 0x01 和 0x29,重新上电,就可恢复配置寄存器的出厂默认设置。

表格陈述了将近15个配置寄存器,列出了各自的地址偏移、寄存器取值范围以及相应芯片配置寄存器的默认值:SamplingFast 寄存器设置,当确定触摸移动速度较快时。

  1. TouchThreshold(阈值上限)
  2. SensitivityFilter(触摸灵敏度 上限)
  3. SamplingFast (触摸测量样本平均值的级别(快移动))
  4. SamplingSlow
  5. AccuracyFilterFast(触摸精度增强过滤器的级别(快移动))
  6. AccuracyFilterSlow
  7. SpeedThreshold(触摸移动时速度的阈值)
  8. SleepDelay
  9. PenUpDelay(触摸抬起的持续时间)
  10. TouchMode(触摸状态机,后面有个表格描述)
  11. TouchOptions(“触摸”相关的选项位,触摸校准使能位,后面有个表格描述)
  12. CalibrationInset(触摸校准设置)
  13. PenStateReportDelay(设置发送顺序触摸数据之间的延迟时间设置)
  14. TouchReportDelay(连续触摸数据包之间的延迟时间设置)

表格底下有个备注说明(实则在教我们怎么用这个表格):

英文翻译过来就是:

如果要对上述配置寄存器进行读取或写入,操作如下:

  1. 首先发出 REGISTER_START_ADDRESS_RE-QUEST 该命令获取寄存器组的起始地址。
  2. 然后,计算出所需配置寄存器的绝对地址——寄存器组的起始地址 + 配置寄存器的偏移值。
  3. 最后,使用计算出的寄存器绝对地址发出 REGISTER_READ 或 REGISTER_WRITE 命令。

 配置寄存器TouchMode 详细描述:(点下、抬起和触摸)

 TouchMode 的几个典型设置示例如下:

  1. 初始触摸时按下 P=1,然后触摸期间按下 P=1 流,最后触摸释放时最终抬起 P=0。那么,触摸模式 = 0b01010001 = 0x51。
  2. 在初始触摸时抬起 P=0,然后按下 P=1,最后触摸期间按下 P=1 的流,然后在触摸释放时最终笔向上 P=0。 那么,触摸模式 = 0b10110001 = 0xB1。

 CCE: Calibrated Coordinates Enable bit
1 = Enables calibrated coordinates, if the controller has been calibrated
0 = Disables calibrated coordinates

CCE:校准坐标启用位
1 = 启用校准坐标,如果控制器已校准
0 = 禁用校准坐标

四、芯片的读/写命令格式

我们针对性的看我们的AR1011芯片的部分

 

 

例子: 

固定设置好校准数据、执行加载并使用固定校准值:

 

 命令配置示例

 

Logo

更多推荐