积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 接口设计 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
触摸传感器QST108与PIC单片机的接口设计
 
作者:中国矿业大学 黄亚 钱滔 张益维   来源:《单片机与嵌入式系统应用》    点击数:74   更新时间:2008-7-15
您可以添加到网摘 让更多人关注此文章:

    1 概 述

QST108是意法半导体公司针对人机界面的触摸按键控制而推出的电容触摸传感器。其工作原理采用了美国昆腾公司的电荷转移电容专利技术(QProx),支持8个独立按键,且可选择按键状态检测输出或I2C总线控制2种正常工作方式;同时,通过软件命令可使其进入低功耗模式,当有按键按下时可被唤醒。QST108特有的相邻按键抑制算法使得一个按键在按下未松开时,其他按键处于无效状态;自校准和自动漂移补偿功能使其无须人工校准,从而进一步降低了QST108的应用难度。引脚配置如图1所示,各引脚功能如表1所列。












2 QST108的工作方式


2.1 按键状态检测输出方式


QST108具有按键状态检测输出和I2C总线控制2种正常工作方式。引脚OPT1的高低电平决定QST108的具体工作方式:高电平,工作在按键状态检测输出方式;低电平,则为I2C总线控制方式。当工作在按键状态检测输出方式时,8个按键的状态由引脚OPT6的电平决定,直接或以BCD码方式通过引脚KOUT1~KOUT8输出。其中,BCD码方式只用到引脚KOUT1~KOUT4。由于该操作模式较简单,本文只详细讨论了QST108工作在I2C总线控制方式下,与PIC单片机的接口设计及注意事项。


2.2 I2C总线控制方式


该方式下,QST108通过I2C总线与微控制器相连。QST108作为从机,引脚OPT4、OPT3、OPT2的输入电平决定了QST108作为I2C总线上从机地址的低3位,高4位地址固定为0101。通过软件设置可提供QST108使用的最大灵活性。可提供5个引脚作为通用输出端口。


3 QST108的主要操作命令


当QST108在I2C总线控制方式下工作时,主要是通过I2C总线协议向QST108发送各种控制命令,其中包括初始化设置命令、QST108的按键状态读出命令等。操作命令按其长度分为短命令帧和扩展命令帧。考虑到前者已可完成QST108的正常操作,本文只介绍短命令帧。其数据格式如表2所列,常用命令如表3所列。注意,当QST108收到不同的命令时,会给出不同的应答帧结构。







当命令为短帧结构时,命令帧的首字节的最高位为1,以与扩展命令相区别。命令ID是命令编号,由5位数据组成,用来区分不同的命令;参数位只有1位,当该位置1时代表该命令具有1个字节的参数,若为0则该命令无参数且无校验和字节;校验位用来产生奇校验,注意该校验位只针对命令帧的首字节(即命令帧的第1个字节中,“1”的个数为奇数);8位校验和是命令帧的前2个字节的累加和的低8位。


若QST108未能正确接收到命令或接收了非法命令,则会给出统一的含有错误代码的应答帧(只包含一个字节),如表4所列。对QST108来说,与读触摸按键状态命令相对应的应答数据帧结构如表5所列。







由表4可知,错误帧只有一个字节的数据,校验位提供了判断是否正确接收了该数据的简单依据。错误代码共6位,用来区分不同的错误。比如,错误代码为0x01,表示QST108收到一个非法命令;错误代码为0x11,表示接收的命令的校验和出错等。


由表5可知该应答帧的长度为4个字节,SCK1~SCK8分别代表了触摸按键的状态,为1表示相应的按键按下,为0表示对应的按键没有按下;最后一个字节为校验和,即应答帧前3个字节的累加和的低8位。需要强调的是,按键错误代码只有低3位有效:位0表示QST108正在进行校准状态;位1表示目前累加的按键次数是否到了器件提供的最大按键数目,为1表示达到最大数目;位2表示目前是否达到最少按健次数。同时,还需注意区分QST108发出的应答帧是错误帧,还是正确接收到命令给出的正常应答帧结构。办法很简单,当软件读取应答帧的第1个字节后判断其最高位:是0,表示为正常的应答;是1,表示接收的为错误帧,此时主机只需产生停止位并进行出错处理或停止操作。


4 QST108与PIC的接口电路


图2给出了基于QST108与PIC单片机的触摸按键检测实用电路设计。QST108与PIC通过I2C总线通信,接口简单,按键输入部分参考了其数据手册给出的典型应用电路图的设计方法。单片机选用PIC16F877A,其片内资源丰富,MSSP模块支持I2C总线协议,控制QST108非常方便。QST108的IRQ引脚与PIC16F877A的外部中断输入引脚RB0相连,由于IRQ引脚为开漏输出,所以必须接上拉电阻。当有按键被按下时,IRQ引脚由高变低触发PIC16F877A产生外部中断,单片机发出读取按键状态命令从而确定哪个键被按下,之后根据不同的按键进行不同处理。







5 软件设计


软件部分包括PIC16F877A和QST108的初始化、触摸按键检测子程序、单片机的中断程序,以及根据按键检测的结果进行各种处理的程序等。限于篇幅,本文只给出了PIC16F877A读取按键状态的子程序。假设QST108的器件地址为0,程序如下:












结 语


本文着重介绍了电容式触摸传感器QST108的工作方式、主要操作命令以及QST108与PIC单片机的接口设计。QST108允许用户用普通或挠性印制电路板设计8键电容性触摸板,因此可将导电墨印刷在电路板上作为感应电极;基于QST108应用的外部组件需求很少,每个通道只需1个采样电容和1个电阻。由于具有这些特点,QST108非常适合应用在能够对用户触摸做出响应的智能控制界面中。

[1]



相关文章
· 基于嵌入式系统的汽车行驶记录仪的设计[185]
· 基于嵌入式系统的汽车行驶记录仪的设计[308]
· 基于嵌入式系统的汽车行驶记录仪的设计[129]
· ARM7与FPGA在工业控制的结合[215]
· ARM7与FPGA在工业控制的结合[81]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM嵌入式系统基础教程(N

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
赛普拉斯为用于机器视觉与运动分析应用
赛普拉斯针对机器视觉与全息数据存储应
金融危机来袭 台湾LED产
半导体市场环境恶化 安森美
Vishay 的新型&nb
Intersil推出采用小尺寸QFN
富士通微电子携手西安电子科技大学成立
纤巧和高压的 LDO&nb
华为计划收购北电业务 华为
华为计划收购北电业务 华为
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
四折批发各种数码相机,摄相机等...
最低价销售各种品牌手机...
震撼出售各种品牌笔记本电脑等!...
IC design 的流程...
电子工程师,别拿一分钱不当回事...
新款安全多用途非接触式芯片(T...
关于ARM启动的一篇文章!...
Linux网络设备驱动编程...
linux文件系统基础知识...
求奇想达QXD-DM642开发...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网