現(xiàn)如今,LCD觸摸屏越來越普及,逐漸成為當今的主流配置,其在艦艇武器裝備的手持檢測設(shè)備上的應(yīng)用也越來越廣泛。觸摸屏分為電阻式、電容式、表面聲波式和紅外線掃描式等類型,其中使用最多的是電阻觸摸屏.四線電阻式觸摸屏由兩個透明電阻膜構(gòu)成.在它的水平和垂直電阻網(wǎng)上施加電壓.就可通過A/D轉(zhuǎn)換在觸摸點測量出電壓從而對應(yīng)得到相應(yīng)的二維坐標值。本文針對觸摸屏接口芯片ADS7843的功能特性.重點探討觸摸屏控制器應(yīng)用中的相關(guān)問題.同時給出其與ATmega64微處理器的通訊實現(xiàn)和軟硬件設(shè)計。
1 ADS7843控制芯片內(nèi)部結(jié)構(gòu)及主要功能
ADS7843之所以能實現(xiàn)對觸摸屏的控制。是因為其內(nèi)部結(jié)構(gòu)很容易實現(xiàn)電極電壓的切換,并能進行快速A/D轉(zhuǎn)換。圖1為其內(nèi)部結(jié)構(gòu)示意圖。
圖1 ADS7843控制芯片內(nèi)部結(jié)構(gòu)示意圖
顯然.觸摸屏的控制芯片要完成兩件事:其一、完成電極電壓的切換;其二、采集接觸點處的電壓值,即A/D轉(zhuǎn)換。BurrBrown公司生產(chǎn)的ADS7843芯片是一個內(nèi)置12位模數(shù)轉(zhuǎn)換、低導(dǎo)通電阻模擬開關(guān)的串行接口芯片,供電電壓2.7~5 V,最高轉(zhuǎn)換速率為125 kHz,在125 kHz轉(zhuǎn)換速率和2.7 V供電電壓下的功耗為750μW.在關(guān)閉模式下的功耗為0.5μW,顯見ADS7843的低功耗、高速率和在便攜式檢測設(shè)備上的良好適用性。
圖2觸點坐標()【軸或Y軸)獲取子程序流程圖
AD57843通過連接觸摸屏x+將觸摸信號輸入到A/D轉(zhuǎn)換器.同時打開Y+和Y一驅(qū)動,然后數(shù)字化X+電壓,得到當前Y位置的測量結(jié)果:同理也可得到X方向的坐標。實際上ADS7843控制器分時向X、Y電極對施加電壓.并把測量電極上的電壓信號轉(zhuǎn)換為相應(yīng)觸摸點的X、Y坐標。
ADS7843根據(jù)微控制器發(fā)來的不同測量命令導(dǎo)通相應(yīng)的模擬開關(guān)。以便向觸摸屏電極對提供電壓,并把相應(yīng)電極上的觸點坐標位置所對應(yīng)的電壓模擬量引入A/D轉(zhuǎn)換器,完成一次電極電壓切換和A/D轉(zhuǎn)換.需要通過串口往ADS7843發(fā)送控制字,轉(zhuǎn)換完成后再通過串口讀出電壓轉(zhuǎn)換值。
2 ATmega64微處理器的功能特性
實際的觸摸屏輸入系統(tǒng)由觸摸屏、觸摸屏控制器和微控制器三部分組成。前文已提及觸摸屏和觸摸屏控制器,至于微控制器—應(yīng)用系統(tǒng)的核心控制部件。它的選擇將在很大程度上影響系統(tǒng)的整體性能。ATmega64是基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間使ATmega64的數(shù)據(jù)吞吐率高達1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。
作為一類高性能、低功耗的8位AVR微處理器。ATmega64內(nèi)部有以下非易失性程序和數(shù)據(jù)存儲器:64K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時讀寫的能力1.擦寫壽命達10000次,2K字節(jié)EEPROM。4K字節(jié)片內(nèi)SRAM,64K字節(jié)可選外部存儲空間。ATmega64的指令有130條.且大多數(shù)指令執(zhí)行時間為單個時鐘周期。另外其有32個8位通用工作寄存器,53個可編程的I/0口,具有獨立振蕩器的實時計數(shù)器(RTC),可工作于主機/從機模式的SPI串行接口,8路10位具有可選差分輸入級可編程增益的ADC。
ATmega64與ADS7843采用串行通訊接口SPI通訊。串行外設(shè)接口 SPI允許ATmega64和外設(shè)之間進行高速的同步數(shù)據(jù)傳輸。ATmega64 SPI的特點是:全雙工。3線同步數(shù)據(jù)傳輸,主機或從機操作.LSB首先發(fā)送或MSB首先發(fā)送可選.7種可編程的比特率。傳輸結(jié)束中斷。
3 應(yīng)用系統(tǒng)的硬件連接及控制實現(xiàn)
艦艇武器裝備的手持檢測設(shè)備上的實際觸摸屏輸入系統(tǒng).采用四線電阻式觸摸屏.觸摸屏控制器采用ADS7843,微控制器用ATmega64。
當屏觸發(fā)生時,ADS7843向ATmega64發(fā)出中斷請求,由ATmega64響應(yīng)該中斷請求.啟動通信過程,讀取ADS7843的轉(zhuǎn)換結(jié)果,從而獲取屏觸點坐標。通過將ss引腳電平的拉低。微處理器啟動一次通訊過程.它將需要發(fā)送的數(shù)據(jù)放入相應(yīng)的移位寄存器,同時,微處理器在SCK引腳上產(chǎn)生時鐘脈沖以交換數(shù)據(jù)擻據(jù)從微處理器的MOSI移出.從MISO移入。
由于ADS7843各信號的時序受外部輸入時鐘信號頻率的影響.因此ATmega64與ADS7843之間的SPI數(shù)據(jù)需要配置確定的傳送時序。對SPI數(shù)據(jù)寄存器SPDR寫人數(shù)據(jù)即啟動SPI時鐘,將8比特的數(shù)據(jù)移入ADS7843。傳輸結(jié)束后SPI時鐘停止.傳輸結(jié)束標志SPIF置位。如果此時SPI控制寄存器SPCR的中斷使能位SPIE置位.中斷就會發(fā)生。圖2、圖3分別給出了觸點坐標(x軸或Y軸)獲取子程序的流程和屏觸中斷服務(wù)程序的流程。
圖3屏觸中斷服務(wù)程序流程圖
實現(xiàn)圖3流程的具體程序為:
#define spiiflag SPSR_Bit7
#define spi_busy PINB_Bit4
void delayms(uchar mst) /*毫秒延時程序*/
{
uint i=0;
uchar j;
for {j=0;j for(i=568;i》0;i--)
{ asm(“nop”);}
}
void spi_init(void) /*SPI傳送初始化設(shè)置*/
{
SPCR=(1《 SPSR=0x00; /*設(shè)置SPl2X=0 SPI不倍速*/
}
void SPI_MasterTransmit(char cData) /*SPI主機傳輸函數(shù)*/
{
SPDR=cData;
while(!spiiflag);
spiiflag=0;
}
unsigned int Get_Touch_Ad(unsigned char channel) /*讀取轉(zhuǎn)換結(jié)果*/
{
unsigned int ad_tem;
while(1){
ANX9030_Resetn_Pin=0;
delay_ms(2);
ANX9030_Resetn_Pin=l;
delay_ms(2);
c=ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDL_REG,&c1);
if((c==0)&&(c1==0x30)){
c=ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDH—REG,&c1);
if((c==o)&&(c1==Ox90))
break;
}}
ANX9030在上電復(fù)位后,設(shè)置DE_GEN和BT_656同步信號檢測。然后進行像素格式和時鐘路徑的設(shè)置來配置視頻信息。由于HDMI兼容DVI.所以發(fā)送端可工作在HDMI模式或DVI模式,在此只需對ANX9030的HDMI—MODE位設(shè)置為I(HDMI)或o(ovt)f10可。檢測到HDMI模式后.設(shè)置HDMI的音頻格式及數(shù)據(jù)包,沒有異常中斷時,使能數(shù)據(jù)包發(fā)送即可把音視頻數(shù)據(jù)包等信息發(fā)送出去.發(fā)送成功后返回。
除了像素時鐘檢測(CKDT)和熱插拔檢測(HPDT)功能外。ANX9030的大部分功能都處于待機狀態(tài),軟件需要正確的配置其他寄存器。這些寄存器的詳細配置可參考ANX9030的芯片資料。
ANX9030的異常處理。由于ANX9030提供了16個中斷觸發(fā)源.包括軟件觸發(fā)中斷、檢測到顯示器中斷、接收端上電/斷電檢測中斷、S/PDIF輸入丟包中斷及CTS變化中斷等,所以源端主控制器需要一個中斷來管理ANX9030所發(fā)出的中斷。一般只需要熱拔插檢測、RI_128連接完整性檢測及音頻FIFO溢出、CTS變化等斷即可。本設(shè)計利用EP9302的中斷引腳INT0來捕獲ANX9030引發(fā)的中斷,然后進行相應(yīng)的中斷處理。
4 結(jié)束語
HDMI是針對下一代多媒體影音設(shè)備所開發(fā)的傳輸接口,適用于數(shù)字電視、DVD播放機、DVD錄放機、PVR、機頂盒及其他數(shù)字視聽產(chǎn)品.現(xiàn)在已廣泛應(yīng)用于PC機及平板顯示器等消費類電子產(chǎn)品上。本文詳細說明了HDMI接口原理、源接口芯片特點、接口電路設(shè)計及在ARM9嵌入式平臺上系統(tǒng)軟件的實現(xiàn)方法,該系統(tǒng)可用于安防監(jiān)控和高清晰視頻會議等領(lǐng)域。
本文作者創(chuàng)新觀念:把高清多媒體接口HDMI應(yīng)用到視頻監(jiān)控系統(tǒng)中,和一般監(jiān)控系統(tǒng)相比,具有監(jiān)控場景更加清晰和使用靈活等優(yōu)點。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
456文章
51192瀏覽量
427341 -
控制器
+關(guān)注
關(guān)注
112文章
16448瀏覽量
179483 -
觸摸屏
+關(guān)注
關(guān)注
42文章
2317瀏覽量
116769
發(fā)布評論請先 登錄
相關(guān)推薦
8051單片機驅(qū)動ADS7846/ADS7843芯片
求一款ADS7843觸摸屏控制器的設(shè)計方案
ADS7843無中斷響應(yīng)是什么原因造成的
ADS7843 pdf datasheet (TOUCH S
ads7843中文資料
ADS7843觸摸屏接口
ADS7843的功能特點和工作原理及應(yīng)用
ADS7845,pdf(ADS7843: Touch Scr
ADS7846,pdf(Touch-Screen Contr
基于單片機80196與觸摸屏ADS7843接口方案
![基于<b class='flag-5'>單片機</b>80196與觸摸屏<b class='flag-5'>ADS7843</b>接口方案](https://file.elecfans.com/web2/M00/49/AC/pYYBAGKhvEyAV_VpAAAmstOOWVc262.png)
觸摸屏的工作原理及其在單片機系統(tǒng)中的應(yīng)用
![觸摸屏的工作原理及其在<b class='flag-5'>單片機</b><b class='flag-5'>系統(tǒng)</b>中的應(yīng)用](https://file.elecfans.com/web2/M00/49/6D/poYBAGKhwLKAG8MDAAA_FdVKCdg250.png)
ADS7843一款12位采樣模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表
![<b class='flag-5'>ADS7843</b>一款12位采樣模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論