韩国理伦电源2020,一人吸乳一人做爰,欧美丰满熟妇bbb久久久,日本人も中国人も汉字を

當前位置:首頁 > 觸控技術 > 多點觸摸技術
多點觸摸技術

電阻式觸摸屏的Controller TSC2046驅動調試常見問題

    觸摸屏驅動調試常見問題總結。電阻式觸摸屏的Controller從原理上,簡單的說就是一個可切換通道的AD轉換器,常見的有類似TSC2046這一系列的獨立芯片,也有Buildin在MPU里的集成模塊。這里記錄的主要是這類觸摸屏驅動的調試中我所遇到過的一些問題,因為具體硬件平臺和環境不同,有些問題,現象和原因可能不一定與你的實際情況相同,僅供參考。

數據線上無法得到正確的數據

癥狀

    讀取的測量數據變化不定,幾乎沒有規律
 
分析

    Tsc2046控制器在接收到8個bit的測量指令后,需要一段的時間完成測量和AD轉換工作,這期間在其busy線上會輸出高電平,直到電平拉低后在數據線上才會輸出數據。 而這期間,其片選信號從spec上看,應該要保持有效,所以在使用SPI接口時候,需要采用比如32位傳送的方式,使得在傳完8位指令后,繼續保持片選和時鐘,已接收后續的測量結果數據,因為這期間無法測量busy信號,假定其為某一恒定時間,位移得到所需測量結果。分析數據不穩定的原因在于這段busy等待時間在不同的測量情況下,長度可能不一定是確定的,導致無法準確判斷應該提取SDO口上的哪段數據作為測量結果。
 
    所以主要矛盾在于我所使用的CPU的SPI口的片選和時鐘信號無法與數據線分開獨立自由控制。
 
解決
   
    采用GPIO口模擬SPI時序,從而可以自己控制clk和片選信號,因此此時可以測量busy線的信號,從而準確的得知何時tsc2046開始完成測量并輸出測量結果。

busy線長期處于忙等待狀態

癥狀
   
    送完指令,等待busy拉低的過程中,busy信號始終為高
 
分析
   
    仔細分析spec,發現在busy狀態下,tsc2046依然需要clk來完成AD轉換工作,所以在等待busy信號的時候,要同時繼續保持CLK信號
 
解決
 
    每讀一次busy信號的同時,繼續用GPIO口模擬一個周期的CLK信號。

不斷產生pendown中斷

癥狀
   
    在第一次觸摸屏幕,pendown中斷產生,并完成測量后,即使放開觸摸屏,依然連續不斷的有pendown中斷信號產生,反復進入測量過程。
 
分析
   
    測量觸摸屏X+ pin 上的電平發現,即使在等待中斷的過程中,X+ pin 也始終為低電平,而理論上,此時該pin應該為高電平,由于Y- pin 接地,在觸摸屏被按下的時候,X+ pin 電壓被拉低,從而產生pendown中斷。
   
    反復調試發現該pin電壓為低的原因在于在上一次測量中,最后一次測量的是Z1,在觸摸屏放開的時候,測量Z1的過程中,X+為低電平。而后回到等待中斷狀態的時候,X+ pin 由于外部電容的原因,被上拉電阻重新拉高為高電平需要一段的時間,在此之前,如果打開中斷,就會誤判,錯誤的收到中斷信號
 
解決
 
    有幾種辦法可以解決:
 
    減小外部電容
    將中斷由電平觸發改為下降沿觸發
    在完成測量之后,打開中斷之前,延遲一段時間。等待X+ Pin回到高電平狀態
 
    改變電容涉及到硬件電路改變,而改變觸發方式則因為目前使用的中斷線無法改成邊沿觸發,不可行,所以目前是用最后一種方式。

 
    可以嘗試改變測量順序,先測Z1再測X,Y看是否這樣可以避免最后一種方式所需的延遲。減小cpu占用率。

采集的數據有劇烈抖動    

癥狀
   
    觸摸屏壓下以后,即使保持位置不動,所取得的XY坐標也會不時發生較大范圍的跳動,幅度達到十幾個到幾十個像素
 
分析
   
    通常觸摸屏的抖動是不可避免的,畢竟是一個模擬信號的AD轉換的過程,但是正常抖動應該在幾個像素以下。大范圍的坐標抖動,說明AD轉換采樣取得的電壓值有較大變化。理論上大致會有兩類原因造成:
 
    AD轉換的參考電壓跳動
    取樣PIN腳輸入電壓跳動
 
因此,外推一下,不外乎是:
   
    參考電壓或取樣PIN腳電壓受到干擾
    取樣時刻,對應PIN腳的電壓值還未穩定
    觸摸屏本身質量原因(如貼合存在空隙等),觸壓時電阻值變化較大,造成輸出電壓的抖動
 
解決
   
    具體解決時就要具體分析跳動的現象和規律了
    通常如果是內置觸摸屏控制模塊的MPU,取樣PIN腳數據受到干擾的可能性較大,因為這時候,電阻式觸摸屏的4個PIN腳的走線相對獨立的觸摸屏控制芯片來說,可能會比較長,周邊的其它信號線可能也比較多。要注意保護好信號。
    后兩者對應的措施包括延遲消抖,合理安排采樣時間,間隔。 改進觸摸屏本身等。
 
    最后,抖動有時候是不能完全消除的,可以通過數據平滑的措施在一定程度上減弱抖動帶來的干擾。

CPU占用率超高

癥狀
   
    觸摸筆壓下后,CPU占用率迅速攀高到一個不合理的地步,松開后降低
 
分析
   
    通常這種情況都是由于使用了不合理的查詢手段來獲取采樣數據,例如忙等待AD轉換的結束,采樣頻率過快等等
 
解決
   
    理論上,所有這類IO設備都應該采用中斷驅動的方式來獲取數據。很遺憾的是,有些內置的觸摸屏控制模塊,轉換結束后并不產生中斷信號,只是設置一個狀態寄存器,需要由軟件查詢得到。這種情況下,如果轉換完成時間不定,又沒有較高精度的定時中斷源,只能犧牲相應速度,在每次查詢間隔之間睡眠一段足夠長的時間,讓出CPU。 通常來說,在jiffies值為10ms間隔的系統上,最快每秒查詢50-100次,也基本能夠滿足像手寫輸入這樣的應用的需求了。
 


相關文章
精彩評論:
0  相關評論
主站蜘蛛池模板: 阿荣旗| 黄平县| 德钦县| 武鸣县| 界首市| 蓬溪县| 阿合奇县| 青龙| 沅江市| 茂名市| 余干县| 香河县| 东山县| 定远县| 柘荣县| 麟游县| 彩票| 简阳市| 丹寨县| 新河县| 郎溪县| 屯昌县| 图木舒克市| 乌海市| 邳州市| 甘南县| 扶绥县| 伊金霍洛旗| 安龙县| 鄂伦春自治旗| 循化| 中阳县| 广南县| 大新县| 盐亭县| 花垣县| 新兴县| 红河县| 财经| 比如县| 澎湖县|