嵌入式ARM下的觸摸屏驅(qū)動系統(tǒng)設(shè)計研究
其硬件原理框圖如下,其中的X+,Y+,X-,Y-與觸摸屏的相應(yīng)引腳相連,接受來自觸摸屏的模擬信號,然后經(jīng)過AD7873芯片的內(nèi)部處理成數(shù)字信號,通過SPI總線將數(shù)據(jù)傳送給CPU,請求處理。CS為片選引腳,與CPU的DTR_DCE1相連,PENIRQ為中斷引腳,接CPU的GPIO1_0.
圖2硬件連線圖
圖3觸摸系統(tǒng)框圖
3軟件系統(tǒng)
3.1Linux設(shè)備驅(qū)動介紹
在Linux系統(tǒng)中,為了簡化對設(shè)備的管理,所有的外圍設(shè)備被歸結(jié)為3類:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備。Linux對所有的物理設(shè)備進(jìn)行了抽象,并定義了一個統(tǒng)一的概念:接口。AD7873被定義為一個字符設(shè)備,采用spi接口與CPU通訊。
3.2驅(qū)動部分重要函數(shù)的設(shè)計
(1)設(shè)備驅(qū)動程序中數(shù)據(jù)結(jié)構(gòu)strcutdriver定義了一系列函數(shù)操作的接口,這個數(shù)據(jù)結(jié)構(gòu)將整個驅(qū)動連為一體,由這個結(jié)構(gòu)可以看出整個驅(qū)動的脈絡(luò)。由于AD7873與CPU連接方式為SPI總線連接,因此將此設(shè)備注冊為SPI設(shè)備,即要用到數(shù)據(jù)結(jié)構(gòu)structspi_driver.
評論