MAX1233/MAX1234觸摸屏控制器入門
摘要:本應(yīng)用筆記介紹怎樣使用MAX1233/MAX1234觸摸屏控制器的功能。所提供的簡(jiǎn)化控制臺(tái)菜單系統(tǒng)支持對(duì)MAX1233/MAX1234器件寄存器的底層直接訪問。每一寄存器在32個(gè)SPI?時(shí)鐘周期內(nèi)完成讀寫操作。軟件對(duì)每一寄存器使用簡(jiǎn)短的助記名。使用MAX1234評(píng)估板(EV Kit)和MINIQUSB+命令模塊時(shí),軟件支持最大底層控制。在隨附的zip文件中,提供所有源代碼。
MAX1233的工作方式和
注意:符號(hào)"/" (例如,/CS)表示CS、PENIRQ、KEYIRQ和BUSY引腳為低電平有效。
內(nèi)容目錄
MAX1233/MAX1234觸摸屏控制器入門
1.1) 需要的硬件
1.2) MINIQUSB+固件更新說明
1.3) 設(shè)置
1.4) 步驟
1.5) 解釋SPI data in實(shí)例格式
2) 模擬I/O實(shí)例
2.1) 控制DAC輸出電壓
2.2) 選擇ADC基準(zhǔn)電源模式
2.3) 測(cè)量外部電壓輸入AUX1和AUX2
2.4) 將AUX1和AUX2轉(zhuǎn)換結(jié)果譯為物理值
2.5) 測(cè)量外部電壓輸入BAT1和BAT2
2.6) 將BAT1和BAT2轉(zhuǎn)換結(jié)果譯為物理值
2.7) 測(cè)量?jī)?nèi)部溫度TEMP1和TEMP2
2.8) 將TEMP1轉(zhuǎn)換結(jié)果譯為物理值
2.9) 將TEMP1和TEMP2轉(zhuǎn)換結(jié)果譯為物理值
2.10) 測(cè)量外部電壓輸入AUX1、AUX2、BAT1、BAT2和溫度
3) 觸摸屏實(shí)例
3.1) 低成本商用觸摸屏
3.2) 連接觸摸屏和評(píng)估板
3.3) 驗(yàn)證觸摸屏的連接
3.4) 檢測(cè)觸摸屏操作:根據(jù)需要掃描
3.5) 檢測(cè)觸摸屏操作:自動(dòng)掃描
4) 鍵盤和通用輸入/輸出引腳
4.1) 配置鍵盤和GPIO引腳
4.2) 讀寫GPIO引腳
4.3) 檢測(cè)按鍵:自動(dòng)掃描
4.4) 從鍵盤中屏蔽單個(gè)按鍵
4.5) 從鍵盤中屏蔽一列
5) 管理功耗
6) 菜單系統(tǒng)
6.1) 寄存器讀/寫命令
6.2) 中斷和狀態(tài)引腳命令
6.3) 加入到更新后的MINIQUSB+固件中的命令
7) 結(jié)論
1.1) 需要的硬件
- Maxim MAX1234評(píng)估板 (MAX1234EVKIT)
- Maxim MINIQUSB+ (包括USB A-B電纜和MINIQUSB-X+擴(kuò)展板)
- Windows? 2000/XP PC,支持USB。
- 四線阻性觸摸屏(例如,PDA數(shù)字轉(zhuǎn)換器/玻璃屏等)
- 可選:測(cè)量DAC輸出電壓的DMM
- 可選:驅(qū)動(dòng)AUX和BAT輸入的電壓源
- 可選:示波器,用于觀察/PENIRQ和/KEYIRQ引腳上的自動(dòng)掃描中斷脈沖。
1.2) MINIQUSB+固件更新說明
MAX1233/MAX1234要求/CS引腳在第一次轉(zhuǎn)換結(jié)束之前,解除高電平置位;否則,ADC將無(wú)法存儲(chǔ)轉(zhuǎn)換結(jié)果。在使用本應(yīng)用筆記之前,必須更新標(biāo)準(zhǔn)MINIQUSB+模塊固件,使SPI接口/CS引腳在第32個(gè)SCLK 1.4μs內(nèi)解除置位。在2MHz時(shí),32位自動(dòng)/CS受控模式將/CS保持低電平21.70μs。只需要對(duì)MAXQ2000微控制器非易失閃存MINIQUSB+固件更新一次。這一新固件和標(biāo)準(zhǔn)01.05.39基本固件后向兼容。除了提高SPI接口的/CS時(shí)序之外,固件更新還包括中斷驅(qū)動(dòng)脈沖累加器,在MAX1233/MAX1234配置為自動(dòng)掃描模式時(shí),支持驗(yàn)證/PENIRQ和/KEYIRQ是否發(fā)送其自清除中斷脈沖。/PENIRQ的持續(xù)時(shí)間取決于所配置的ADC轉(zhuǎn)換率,/KEYIRQ的持續(xù)時(shí)間取決于所配置的開關(guān)反彈時(shí)間。
1.3) 設(shè)置
下載并解壓縮應(yīng)用筆記文件 (ZIP, 2.4MB)。根據(jù)圖1來(lái)組裝硬件。
- 按照表1連接MAX1234評(píng)估板連接器J1和MINIQUSB-X+擴(kuò)展電路板(包含在MINIQUSB+中)。可以采用3M?內(nèi)部連接器922576-40來(lái)替代連接MAX1234評(píng)估板的焊線,將其插入到J1中,以提供方便的連接點(diǎn)。不要連接終端模塊TB1。
表1. MAX1234評(píng)估板和MINIQUSB+電路板之間的連接設(shè)置
* 注釋:必須通過連接器J1來(lái)驅(qū)動(dòng)MAX1234評(píng)估板數(shù)字輸入,不能直接將其驅(qū)動(dòng)至U1周圍的測(cè)試點(diǎn)。必須采用板上MAX1841電平轉(zhuǎn)換器來(lái)驅(qū)動(dòng)MAX1234評(píng)估板數(shù)字信號(hào)。MAX1234 Signal MAX1234 EV Kit MINIQUSB-X+ MINIQUSB Signal GND J1-1 H2-8 GND VCC J1-7 H2-1 3.3V supply from MINIQUSB+ BUSY-Bar J1-27 H2-7 GPIO-K7 (MAXQ2000-INT2) PENIRQ-Bar J1-29 H1-3 GPIO-K6 (MAXQ2000-INT1) KEYIRQ-Bar J1-31 H1-8 GPIO-K5 (MAXQ2000-INT0) DOUT J1-35* H2-2 MISO (SPI master in, slave out) DIN J1-36* H2-5 MOSI (SPI master out, slave in) SCLK J1-37* H2-3 SCLK (SPI clock) CS-Bar J1-38 H2-4 CS-bar (SPI chip select) USB+5V J1-5 J4-7 USB+5V supply from PC - 將MINIQUSB+插入到擴(kuò)展板的頂部。
- 連接MINIQUSB+和PC的USB端口。如果這是MINIQUSB+第一次和PC連接,將出現(xiàn)即插即用向?qū)?。指南窗口將提示器件?qū)動(dòng)器(它包含在隨附zip文件中)的安裝位置。
- 啟動(dòng)固件更新批處理文件FWUPDATE.BAT來(lái)更新MINIQUSB+固件。
- 固件更新完成后,從PC的USB端口斷開MINIQUSB+。
圖1. 硬件配置(在后面章節(jié)中連接觸摸屏)。
圖2. 系統(tǒng)圖片,使用一個(gè)3M內(nèi)部連接器來(lái)連接MINIQUSB+和MAX1234評(píng)估板。
1.4) 步驟
- 將MAX1234評(píng)估板跳接器JU1設(shè)置到“MAX1234”位置。
- 將MINIQUSB+連接至PC的USB端口。確定DACOUT電壓 = mid-scale (2.2V)。
- 啟動(dòng)DEMO1234.EXE程序。屏幕上將出現(xiàn)控制臺(tái)。
- 在控制臺(tái)中輸入下面的命令序列。
DEMO1234 Command* | Expected Program Output | SPI data in | Verification** |
C | Board connected.Got board banner: Maxim MINIQUSB V01.05.41 >Firmware version is OK.(configured for SPI auto-CS 4-byte mode) (SCLK=2MHz) ... | ||
T W DD FF | Write_Register(regAddr=0x000b wr_DAC_data ,data=0x00ff{(no bits defined for this register)}) result = 1 | 0x000b 0x00ff | DACOUT = full-scale (4.5V) |
T R DD | Read_Register(regAddr=0x800b wr_DAC_data ) result = 1,buffer = 0x00ff = 255{(no bits defined for this register)} | 0x800b 0x0000 | Data buffer = 0x00ff |
T W DD 80 | Write_Register(regAddr=0x000b wr_DAC_data ,data=0x0080{(no bits defined for this register)}) result = 1 | 0x000b 0x0080 | DACOUT = mid-scale (2.2V) |
T R DD | Read_Register(regAddr=0x800b wr_DAC_data ) result = 1,buffer = 0x0080 = 128{(no bits defined for this register)} | 0x800b 0x0000 | data buffer = 0x0080 |
** Verification列出了可以進(jìn)行的物理測(cè)試,驗(yàn)證所執(zhí)行的命令。
1.5) SPI data in實(shí)例格式
SPI data in一列列出了驅(qū)動(dòng)至MAX1233/MAX1234 DIN引腳的SPI數(shù)據(jù),采用了十六進(jìn)制格式,最高有效字節(jié)在前。例如,序列0x000b 0x00ff中的SPI數(shù)據(jù)表示同步輸入到DIN的32位序列是0000 0000 0000 1011 0000 0000 1111 1111。第一位0用于寄存器寫操作,1用于寄存器讀操作。寄存器寫操作是0000 0000 a7-a0 d15-d0格式的32位SPI傳送過程。
寄存器讀操作是1000 0000 a7-a0 0000 0000格式的32位SPI傳送過程,在最后16位,接收到的數(shù)據(jù)從DOUT同步輸入。
2) 模擬I/O實(shí)例
下面的例子介紹了怎樣使用DEMO1234.EXE程序來(lái)控制DAC輸出,配置基準(zhǔn)電壓,測(cè)量AUX1/AUX2/BAT1/BAT2電壓輸入,以及測(cè)量?jī)?nèi)部MAX1234溫度。2.1) 控制DAC輸出電壓
由兩個(gè)寄存器來(lái)控制DAC。寫入DAC數(shù)據(jù)寄存器來(lái)設(shè)置輸出電壓。寫入DAC控制寄存器來(lái)關(guān)斷或者對(duì)DAC上電。默認(rèn)上電狀態(tài)是DAC加電,DAC輸出位于量程中部。DAC滿量程電壓通常為AVDD的90% (最小85%,最大95%)。對(duì)于AVDD = 3.3V ±5%,DACOUT滿量程范圍在2.65V和3.27V之間,通常為2.96V。
對(duì)于AVDD = 5.0V ±5%,DACOUT滿量程范圍在4.02V和4.97V之間,通常為4.48V。
表3. DAC輸出命令
評(píng)論