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