《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 觸摸傳感器QST108與PIC單片機(jī)的接口設(shè)計(jì)
觸摸傳感器QST108與PIC單片機(jī)的接口設(shè)計(jì)
摘要: 本文著重介紹了電容式觸摸傳感器QST108的工作方式,、主要操作命令以及QST108與PIC單片機(jī)的接口設(shè)計(jì)。QST108允許用戶用普通或撓性印制電路板設(shè)計(jì)8鍵電容性觸摸板,,因此可將導(dǎo)電墨印刷在電路板上作為感應(yīng)電極,;基于QST108應(yīng)用的外部組件需求很少,每個(gè)通道只需1個(gè)采樣電容和1個(gè)電阻,。由于具有這些特點(diǎn),,QST108非常適合應(yīng)用在能夠?qū)τ脩粲|摸做出響應(yīng)的智能控制界面中。
關(guān)鍵詞: PIC 觸摸傳感器 接口
Abstract:
Key words :

  1 概 述

  QST108是意法半導(dǎo)體公司針對(duì)人機(jī)界面的觸摸按鍵控制而推出的電容觸摸傳感器,。其工作原理采用了美國(guó)昆騰公司的電荷轉(zhuǎn)移電容專利技術(shù)(QProx),,支持8個(gè)獨(dú)立按鍵,且可選擇按鍵狀態(tài)檢測(cè)輸出或I2C總線控制2種正常工作方式,;同時(shí),,通過(guò)軟件命令可使其進(jìn)入低功耗模式,當(dāng)有按鍵按下時(shí)可被喚醒,。QST108特有的相鄰按鍵抑制算法使得一個(gè)按鍵在按下未松開(kāi)時(shí),,其他按鍵處于無(wú)效狀態(tài);自校準(zhǔn)和自動(dòng)漂移補(bǔ)償功能使其無(wú)須人工校準(zhǔn),,從而進(jìn)一步降低了QST108的應(yīng)用難度,。引腳配置如圖1所示,各引腳功能如表1所列,。

QST108的引腳圖

 

QST108的引腳功能介紹

  2 QST108的工作方式

  2.1 按鍵狀態(tài)檢測(cè)輸出方式

  QST108具有按鍵狀態(tài)檢測(cè)輸出和I2C總線控制2種正常工作方式,。引腳OPT1的高低電平?jīng)Q定QST108的具體工作方式:高電平,,工作在按鍵狀態(tài)檢測(cè)輸出方式;低電平,,則為I2C總線控制方式,。當(dāng)工作在按鍵狀態(tài)檢測(cè)輸出方式時(shí),8個(gè)按鍵的狀態(tài)由引腳OPT6的電平?jīng)Q定,,直接或以BCD碼方式通過(guò)引腳KOUT1~KOUT8輸出,。其中,BCD碼方式只用到引腳KOUT1~KOUT4,。由于該操作模式較簡(jiǎn)單,,本文只詳細(xì)討論了QST108工作在I2C總線控制方式下,與PIC單片機(jī)的接口設(shè)計(jì)及注意事項(xiàng),。

  2.2 I2C總線控制方式

  該方式下,,QST108通過(guò)I2C總線與微控制器相連。QST108作為從機(jī),,引腳OPT4,、OPT3、OPT2的輸入電平?jīng)Q定了QST108作為I2C總線上從機(jī)地址的低3位,,高4位地址固定為0101,。通過(guò)軟件設(shè)置可提供QST108使用的最大靈活性??商峁?個(gè)引腳作為通用輸出端口,。

  3 QST108的主要操作命令

  當(dāng)QST108在I2C總線控制方式下工作時(shí),主要是通過(guò)I2C總線協(xié)議向QST108發(fā)送各種控制命令,,其中包括初始化設(shè)置命令,、QST108的按鍵狀態(tài)讀出命令等。操作命令按其長(zhǎng)度分為短命令幀和擴(kuò)展命令幀,??紤]到前者已可完成QST108的正常操作,本文只介紹短命令幀,。其數(shù)據(jù)格式如表2所列,,常用命令如表3所列。注意,,當(dāng)QST108收到不同的命令時(shí),會(huì)給出不同的應(yīng)答幀結(jié)構(gòu),。

短命令幀的數(shù)據(jù)格式和操作命令

  當(dāng)命令為短幀結(jié)構(gòu)時(shí),,命令幀的首字節(jié)的最高位為1,以與擴(kuò)展命令相區(qū)別,。命令I(lǐng)D是命令編號(hào),,由5位數(shù)據(jù)組成,,用來(lái)區(qū)分不同的命令;參數(shù)位只有1位,,當(dāng)該位置1時(shí)代表該命令具有1個(gè)字節(jié)的參數(shù),,若為0則該命令無(wú)參數(shù)且無(wú)校驗(yàn)和字節(jié);校驗(yàn)位用來(lái)產(chǎn)生奇校驗(yàn),,注意該校驗(yàn)位只針對(duì)命令幀的首字節(jié)(即命令幀的第1個(gè)字節(jié)中,,“1”的個(gè)數(shù)為奇數(shù));8位校驗(yàn)和是命令幀的前2個(gè)字節(jié)的累加和的低8位,。

  若QST108未能正確接收到命令或接收了非法命令,,則會(huì)給出統(tǒng)一的含有錯(cuò)誤代碼的應(yīng)答幀(只包含一個(gè)字節(jié)),如表4所列,。對(duì)QST108來(lái)說(shuō),,與讀觸摸按鍵狀態(tài)命令相對(duì)應(yīng)的應(yīng)答數(shù)據(jù)幀結(jié)構(gòu)如表5所列。

錯(cuò)誤幀和正確幀結(jié)構(gòu)圖

  由表4可知,,錯(cuò)誤幀只有一個(gè)字節(jié)的數(shù)據(jù),,校驗(yàn)位提供了判斷是否正確接收了該數(shù)據(jù)的簡(jiǎn)單依據(jù)。錯(cuò)誤代碼共6位,,用來(lái)區(qū)分不同的錯(cuò)誤,。比如,錯(cuò)誤代碼為0x01,,表示QST108收到一個(gè)非法命令,;錯(cuò)誤代碼為0x11,表示接收的命令的校驗(yàn)和出錯(cuò)等,。

  由表5可知該應(yīng)答幀的長(zhǎng)度為4個(gè)字節(jié),,SCK1~SCK8分別代表了觸摸按鍵的狀態(tài),為1表示相應(yīng)的按鍵按下,,為0表示對(duì)應(yīng)的按鍵沒(méi)有按下,;最后一個(gè)字節(jié)為校驗(yàn)和,即應(yīng)答幀前3個(gè)字節(jié)的累加和的低8位,。需要強(qiáng)調(diào)的是,,按鍵錯(cuò)誤代碼只有低3位有效:位0表示QST108正在進(jìn)行校準(zhǔn)狀態(tài);位1表示目前累加的按鍵次數(shù)是否到了器件提供的最大按鍵數(shù)目,,為1表示達(dá)到最大數(shù)目,;位2表示目前是否達(dá)到最少按健次數(shù)。同時(shí),,還需注意區(qū)分QST108發(fā)出的應(yīng)答幀是錯(cuò)誤幀,,還是正確接收到命令給出的正常應(yīng)答幀結(jié)構(gòu)。辦法很簡(jiǎn)單,,當(dāng)軟件讀取應(yīng)答幀的第1個(gè)字節(jié)后判斷其最高位:是0,,表示為正常的應(yīng)答,;是1,表示接收的為錯(cuò)誤幀,,此時(shí)主機(jī)只需產(chǎn)生停止位并進(jìn)行出錯(cuò)處理或停止操作,。

  4 QST108與PIC的接口電路

  圖2給出了基于QST108與PIC單片機(jī)的觸摸按鍵檢測(cè)實(shí)用電路設(shè)計(jì)。QST108與PIC通過(guò)I2C總線通信,,接口簡(jiǎn)單,,按鍵輸入部分參考了其數(shù)據(jù)手冊(cè)給出的典型應(yīng)用電路圖的設(shè)計(jì)方法。單片機(jī)選用PIC16F877A,,其片內(nèi)資源豐富,,MSSP模塊支持I2C總線協(xié)議,控制QST108非常方便,。QST108的IRQ引腳與PIC16F877A的外部中斷輸入引腳RB0相連,,由于IRQ引腳為開(kāi)漏輸出,所以必須接上拉電阻,。當(dāng)有按鍵被按下時(shí),,IRQ引腳由高變低觸發(fā)PIC16F877A產(chǎn)生外部中斷,單片機(jī)發(fā)出讀取按鍵狀態(tài)命令從而確定哪個(gè)鍵被按下,,之后根據(jù)不同的按鍵進(jìn)行不同處理,。

基于QST108與PIC單片機(jī)的觸摸按鍵檢測(cè)實(shí)用電路

       5 軟件設(shè)計(jì)

  軟件部分包括PIC16F877A和QST108的初始化、觸摸按鍵檢測(cè)子程序,、單片機(jī)的中斷程序,,以及根據(jù)按鍵檢測(cè)的結(jié)果進(jìn)行各種處理的程序等。限于篇幅,,本文只給出了PIC16F877A讀取按鍵狀態(tài)的子程序,。假設(shè)QST108的器件地址為0,程序如下:
軟件設(shè)計(jì)程序
軟件設(shè)計(jì)程序

 

  結(jié) 語(yǔ)

  本文著重介紹了電容式觸摸傳感器QST108的工作方式,、主要操作命令以及QST108與PIC單片機(jī)的接口設(shè)計(jì),。QST108允許用戶用普通或撓性印制電路板設(shè)計(jì)8鍵電容性觸摸板,因此可將導(dǎo)電墨印刷在電路板上作為感應(yīng)電極,;基于QST108應(yīng)用的外部組件需求很少,,每個(gè)通道只需1個(gè)采樣電容和1個(gè)電阻。由于具有這些特點(diǎn),,QST108非常適合應(yīng)用在能夠?qū)τ脩粲|摸做出響應(yīng)的智能控制界面中,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。