天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234
設(shè)計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

觸摸傳感器QST108與PIC單片機的接口設(shè)計

更新時間: 2019-03-23
閱讀量:1511

十年專注單片機方案開發(fā)的方案公司英銳恩,分享觸摸傳感器QST108與PIC單片機的接口設(shè)計。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

1 概 述 

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

2 QST108的工作方式

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

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

2.2 I2C總線控制方式

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

3 QST108的主要操作命令

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

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

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

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

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

4 QST108與PIC的接口電路

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

5 軟件設(shè)計

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

結(jié) 語

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

联系我们: 平湖市| 锦屏县| 汤阴县| 阳山县| 九江县| 鄱阳县| 贵港市| 林周县| 连平县| 兰考县| 砚山县| 光泽县| 镇巴县| 澎湖县| 砀山县| 贺州市| 榆社县| 托克托县| 平和县| 会理县| 柘城县| 建德市| 邳州市| 白城市| 稷山县| 定陶县| 太白县| 兰坪| 南涧| 南澳县| 乐至县| 温宿县| 蕲春县| 北辰区| 山阳县| 扬州市| 周口市| 额济纳旗| 永和县| 鹤峰县| 垣曲县|