MAX7359用于PDA/智能電話的多功能鍵和游戲鍵控制
發(fā)布時(shí)間:2008/6/2 0:00:00 訪問次數(shù):546
max7359是一款低功耗、特定功能的按鍵開關(guān)控制器,非常適合蜂窩電話、打印機(jī)及其他便攜式應(yīng)用。該器件可最多控制64個(gè)按鍵。器件為每個(gè)按鍵的按下和彈起都分配了獨(dú)立的代碼。多個(gè)按鍵可以按照不同順序同時(shí)按下和/或保持、彈起。多達(dá)16個(gè)按鍵按下、彈起的輸入操作可以被保存在fifo內(nèi)。max7359以一個(gè)字節(jié)為單位采集按鍵的按下或彈起輸入,并通過簡單的i2c接口讀取。為了增強(qiáng)芯片的抗噪聲能力,按鍵提供去抖檢測(cè)。換句話說,它在很短的時(shí)間內(nèi)對(duì)每次擊鍵操作進(jìn)行兩次掃描,以確認(rèn)擊鍵動(dòng)作是否有效。
為降低功耗,max7359在等待按鍵動(dòng)作時(shí)處于休眠模式,僅消耗1.2μa電流。按鍵按下時(shí),該控制器在200μs之內(nèi)喚醒,從而采集按鍵的按下/彈起信息。經(jīng)過一個(gè)固定的按鍵操作間隔時(shí)間(0.256s至8s)后,芯片再次進(jìn)入休眠模式。需要注意的是,即使在休眠模式下也可以讀取按鍵fifo的信息。為了減輕主機(jī)的工作負(fù)荷,可以使用中斷信號(hào)。當(dāng)按鍵按下或fifo達(dá)到預(yù)設(shè)的輸入值時(shí),芯片產(chǎn)生中斷信號(hào)。該中斷信號(hào)可以通過i2c接口讀取,或在fifo清空時(shí)被清除。
max7359是max7349改進(jìn)版,供電范圍為1.8v到3.3v。圖1給出了max7359通過i2c與主機(jī)的典型連接。由于該i2c接口是開漏端口,因此max7359可連接到不同供電電壓的主機(jī)。
圖1. 通過i2c接口連接max7359。
max7359編程
fifo中存儲(chǔ)的是按鍵操作信息,所要求的功能由控制器內(nèi)的其它寄存器定義。fifo的寄存器地址是0x00,配置寄存器的地址是0x01,0x02到0x06地址的寄存器用于定義其余操作。
max7359寄存器的內(nèi)容可以通過i2c寫命令設(shè)定,并通過i2c讀命令進(jìn)行校驗(yàn)。i2c寫命令首先發(fā)送控制器的器件地址,控制器地址取決于ad0引腳的狀態(tài),分別為0x70、0x74、0x78、0x7c。隨后是寄存器地址,寄存器地址之后可能發(fā)送多個(gè)數(shù)據(jù)字節(jié)。如果只有一個(gè)字節(jié)的數(shù)據(jù),它將存儲(chǔ)在前一個(gè)字節(jié)指定的寄存器內(nèi)。當(dāng)數(shù)據(jù)多于一個(gè)字節(jié)時(shí),第一個(gè)字節(jié)存儲(chǔ)在指定的寄存器內(nèi),下一個(gè)字節(jié)將存儲(chǔ)在對(duì)應(yīng)的下一個(gè)地址寄存器內(nèi),依次類推。該操作基于控制器寄存器地址的自動(dòng)遞增特性。例如,執(zhí)行寫命令:0x70、0x01、0x0a、0x00,器件將把0x0a寫入0x01寄存器,0x00寫入0x02寄存器。寄存器地址的自動(dòng)遞增特性適用于fifo地址0x00以外的所有可進(jìn)行寫操作寄存器,包括寫命令和讀命令。如果i2c寫命令的寄存器地址之后沒有數(shù)據(jù)字節(jié),那么它通常用于設(shè)置下一次讀命令的地址。
i2c讀命令從發(fā)送max7359芯片地址開始,后面緊隨一個(gè)或多個(gè)數(shù)據(jù)字節(jié)。當(dāng)只讀取一個(gè)數(shù)據(jù)字節(jié)時(shí),數(shù)據(jù)來自上一次沒有相應(yīng)數(shù)據(jù)字節(jié)的寫命令指定的寄存器。否則,該數(shù)據(jù)將來自上一次寫或讀命令操作的寄存器。超過一個(gè)數(shù)據(jù)字節(jié)時(shí),第一個(gè)字節(jié)來自指定的寄存器,除fifo寄存器外,地址遞增機(jī)制同樣適用于其余的數(shù)據(jù)字節(jié)。換而言之,重復(fù)讀fifo寄存器0x00不需要重新設(shè)置地址。
上電復(fù)位時(shí),max7359將隨時(shí)準(zhǔn)備進(jìn)行按鍵彈起檢測(cè)、按鍵按下喚醒以及自動(dòng)關(guān)斷功能(缺省設(shè)置)。另外,只有兩列可用作按鍵開關(guān)控制,共計(jì)16個(gè)有效鍵。其余六列/gpo (通用輸出)在高電平時(shí)工作于gpo模式。下面的i2c命令可用于激活六列/gpo端口,用于按鍵的開關(guān)控制,共64個(gè)有效鍵。
// a write command to disable gpo ports
0x70 // max7359 device address
0x02 // gpo enable and debounce register
0x00 // disable gpo ports and 9ms debounce time
下面的i2c命令用于讀fifo輸入:
// a write command to set the register address to 0x00 and a read command from the fifo
max7359是一款低功耗、特定功能的按鍵開關(guān)控制器,非常適合蜂窩電話、打印機(jī)及其他便攜式應(yīng)用。該器件可最多控制64個(gè)按鍵。器件為每個(gè)按鍵的按下和彈起都分配了獨(dú)立的代碼。多個(gè)按鍵可以按照不同順序同時(shí)按下和/或保持、彈起。多達(dá)16個(gè)按鍵按下、彈起的輸入操作可以被保存在fifo內(nèi)。max7359以一個(gè)字節(jié)為單位采集按鍵的按下或彈起輸入,并通過簡單的i2c接口讀取。為了增強(qiáng)芯片的抗噪聲能力,按鍵提供去抖檢測(cè)。換句話說,它在很短的時(shí)間內(nèi)對(duì)每次擊鍵操作進(jìn)行兩次掃描,以確認(rèn)擊鍵動(dòng)作是否有效。
為降低功耗,max7359在等待按鍵動(dòng)作時(shí)處于休眠模式,僅消耗1.2μa電流。按鍵按下時(shí),該控制器在200μs之內(nèi)喚醒,從而采集按鍵的按下/彈起信息。經(jīng)過一個(gè)固定的按鍵操作間隔時(shí)間(0.256s至8s)后,芯片再次進(jìn)入休眠模式。需要注意的是,即使在休眠模式下也可以讀取按鍵fifo的信息。為了減輕主機(jī)的工作負(fù)荷,可以使用中斷信號(hào)。當(dāng)按鍵按下或fifo達(dá)到預(yù)設(shè)的輸入值時(shí),芯片產(chǎn)生中斷信號(hào)。該中斷信號(hào)可以通過i2c接口讀取,或在fifo清空時(shí)被清除。
max7359是max7349改進(jìn)版,供電范圍為1.8v到3.3v。圖1給出了max7359通過i2c與主機(jī)的典型連接。由于該i2c接口是開漏端口,因此max7359可連接到不同供電電壓的主機(jī)。
圖1. 通過i2c接口連接max7359。
max7359編程
fifo中存儲(chǔ)的是按鍵操作信息,所要求的功能由控制器內(nèi)的其它寄存器定義。fifo的寄存器地址是0x00,配置寄存器的地址是0x01,0x02到0x06地址的寄存器用于定義其余操作。
max7359寄存器的內(nèi)容可以通過i2c寫命令設(shè)定,并通過i2c讀命令進(jìn)行校驗(yàn)。i2c寫命令首先發(fā)送控制器的器件地址,控制器地址取決于ad0引腳的狀態(tài),分別為0x70、0x74、0x78、0x7c。隨后是寄存器地址,寄存器地址之后可能發(fā)送多個(gè)數(shù)據(jù)字節(jié)。如果只有一個(gè)字節(jié)的數(shù)據(jù),它將存儲(chǔ)在前一個(gè)字節(jié)指定的寄存器內(nèi)。當(dāng)數(shù)據(jù)多于一個(gè)字節(jié)時(shí),第一個(gè)字節(jié)存儲(chǔ)在指定的寄存器內(nèi),下一個(gè)字節(jié)將存儲(chǔ)在對(duì)應(yīng)的下一個(gè)地址寄存器內(nèi),依次類推。該操作基于控制器寄存器地址的自動(dòng)遞增特性。例如,執(zhí)行寫命令:0x70、0x01、0x0a、0x00,器件將把0x0a寫入0x01寄存器,0x00寫入0x02寄存器。寄存器地址的自動(dòng)遞增特性適用于fifo地址0x00以外的所有可進(jìn)行寫操作寄存器,包括寫命令和讀命令。如果i2c寫命令的寄存器地址之后沒有數(shù)據(jù)字節(jié),那么它通常用于設(shè)置下一次讀命令的地址。
i2c讀命令從發(fā)送max7359芯片地址開始,后面緊隨一個(gè)或多個(gè)數(shù)據(jù)字節(jié)。當(dāng)只讀取一個(gè)數(shù)據(jù)字節(jié)時(shí),數(shù)據(jù)來自上一次沒有相應(yīng)數(shù)據(jù)字節(jié)的寫命令指定的寄存器。否則,該數(shù)據(jù)將來自上一次寫或讀命令操作的寄存器。超過一個(gè)數(shù)據(jù)字節(jié)時(shí),第一個(gè)字節(jié)來自指定的寄存器,除fifo寄存器外,地址遞增機(jī)制同樣適用于其余的數(shù)據(jù)字節(jié)。換而言之,重復(fù)讀fifo寄存器0x00不需要重新設(shè)置地址。
上電復(fù)位時(shí),max7359將隨時(shí)準(zhǔn)備進(jìn)行按鍵彈起檢測(cè)、按鍵按下喚醒以及自動(dòng)關(guān)斷功能(缺省設(shè)置)。另外,只有兩列可用作按鍵開關(guān)控制,共計(jì)16個(gè)有效鍵。其余六列/gpo (通用輸出)在高電平時(shí)工作于gpo模式。下面的i2c命令可用于激活六列/gpo端口,用于按鍵的開關(guān)控制,共64個(gè)有效鍵。
// a write command to disable gpo ports
0x70 // max7359 device address
0x02 // gpo enable and debounce register
0x00 // disable gpo ports and 9ms debounce time
下面的i2c命令用于讀fifo輸入:
// a write command to set the register address to 0x00 and a read command from the fifo
熱門點(diǎn)擊
- PWM至線性信號(hào)轉(zhuǎn)換電路適于風(fēng)扇速度控制
- 人機(jī)界面的技術(shù)發(fā)展史
- 富士觸摸屏與西門子PLC通訊中的問題及解決方
- 為微控制器提供4到20mA回路的電路
- 一種集升降溫控制功能為一體的溫控器
- 國半100V半橋式PWM控制器有效減小設(shè)計(jì)空
- FZY-S系列小型工頻軸流風(fēng)機(jī)主要技術(shù)參數(shù)
- 基于Motorola單片機(jī)的機(jī)器人追跑控制系
- Atmel針對(duì)AVR微控制器的開發(fā)工具提供片
- 倒相式音調(diào)控制器
推薦技術(shù)資料
- 自制經(jīng)典的1875功放
- 平時(shí)我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細(xì)]
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢(shì)
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對(duì)位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究