同步隊列串行接口QSPI的應(yīng)用
2 4線電阻式觸摸屏芯片ADS7843簡介
ADS7843是一款具有同步串行接口的4線電阻式觸摸屏控制芯片,具有12位模/數(shù)轉(zhuǎn)換精度。ADS7843的4個模擬電壓輸入引腳X+、X-、Y+、Y-連接觸摸屏的4個電極,觸摸屏通過這4個引腳將觸點電壓送到ADS7843進(jìn)行量化。具體來說,如果要獲取觸點Y坐標(biāo),ADS7843會在Y十和Y-之間施加一個電壓,觸點將X+與Y+和Y-間電阻網(wǎng)絡(luò)的一點導(dǎo)通,與觸點位置相關(guān)的分壓值就會通過X+送入ADS7843,通過量化這個分壓值就可以獲取觸點的Y坐標(biāo)。X坐標(biāo)的獲取也是相同的道理。量化臺階由基準(zhǔn)電壓和每個樣點量化后的位數(shù)n決定,為基準(zhǔn)電壓的1/2”。
2.1 ADS7843工作模式
ADS7843具有兩種工作模式:單端模式和差分模式。兩種模式的區(qū)別在于基準(zhǔn)電壓采用了不同的構(gòu)成方式?;鶞?zhǔn)電壓是ADS7843內(nèi)部模/數(shù)轉(zhuǎn)換模塊的正負(fù)參考電壓+REF和-REF之差。當(dāng)處于單端模式時,+REF來自外部參考電壓輸入,一般選取ADS7843的供電電壓+ Vcc,-REF接地,所以基準(zhǔn)電壓為+Vcc。假設(shè)在該模式下獲取觸點Y坐標(biāo),由于+Vcc是通過三極管施加在Y+和Y一之間,所以三極管的導(dǎo)通電阻始終會分去一部分電壓。這樣無論觸點在哪里,都不可能獲得滿量程。這個問題可以通過工作在差分模式解決。在該模式下,當(dāng)要獲取觸點Y坐標(biāo)時,芯片內(nèi)部自動將Y+與+REF相連,Y-與-REF相連,這樣Y+與Y-之間的電壓始終為基準(zhǔn)電壓,消除了三級管導(dǎo)通電阻的影響。
2.2 ADS7843的數(shù)字接口
ADS7843的數(shù)字接口包括片選CS、串行數(shù)據(jù)輸入DIN、串行數(shù)據(jù)輸出DOUT、時鐘輸入DCLK、中斷信號PENIRQ五個引腳,能與具有串行接口的微控制器或數(shù)字信號處理器進(jìn)行數(shù)據(jù)交換。處理器與ADS7843之間需要24個串行時鐘周期才能完成一次完整的轉(zhuǎn)換。前8個時鐘周期用于向ADS7843提供一個控制字節(jié),該控制字節(jié)組成如下:
S位為“1”時表明控制字節(jié)的開始;A[2:0]用于選擇量化通道,“001”選擇X通道,“101”選擇Y通道;MODE位為“1”時選擇8位量化精度,為“0”時選擇12位量化精度;SER/DFR位為“1”時選擇單端模式,為“0”時選擇差分模式;PD[1:0]用于選擇一種省電模式。控制字傳輸完后,接下來的16個時鐘周期用于傳輸量化后的坐標(biāo)數(shù)據(jù)。
ADS7843數(shù)字接口還有以下特點:片選低電平有效,時鐘空閑時為低電平,時鐘的上升沿采樣串行數(shù)據(jù)。
3 基于ColdFire處理器QSPI接口的觸摸屏驅(qū)動設(shè)計
3.1 硬件電路
觸摸屏控制芯片ADS7843與ColdFire系列處理器的硬件連接圖如圖4所示。
ADS7843數(shù)字接口的4個引腳與COLDFire處理器QS-PI模塊對應(yīng)引腳相連,中斷信號引腳PENIRQ與處理器外部中斷引腳IRQ4相連。注意,需要10kΩ上拉電阻。
3.2 軟件設(shè)計
從觸摸發(fā)生到獲取觸摸點坐標(biāo)的過程如下:觸摸發(fā)生時,ADS7843會通過PENIRQ引腳觸發(fā)一個中斷,在中斷子程序中首先應(yīng)延遲10~20 ms以去除抖動帶來的影響,然后向ADS7843發(fā)送控制字獲取X、Y坐標(biāo)。
獲取一個坐標(biāo)的值需要向ADS7843輸入24個時鐘周期。對QSPI模塊來說,可以把這24個周期作為3次8位的傳輸隊列,或1次8位、1次16位的傳輸隊列。這里選擇3次8位傳輸隊列的方式。QSPI初始化代碼如下:
評論