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