引言
通用輸入輸出(GPIO)端口擴展器IC能夠在小尺寸、低成本設(shè)計中提供適量的I/O端口,能夠提供8個或16個端口的芯片幾乎是與其相關(guān)的I2C和SPI串行總線同時問世。早期器件的功能主要包括:帶限流驅(qū)動的漏極開路輸出或推挽輸出,具有非閉鎖瞬變檢測的邏輯輸入??商峁?a target="_blank">TSSOP最小封裝。本應(yīng)用筆記討論了最新推出的端口擴展器,這些器件功能與空間受限、成本敏感的折疊手機設(shè)計密切相關(guān)。
折疊式手機的內(nèi)部連接
折疊手機的外殼類似于蛤殼,由折疊在一起的兩個外殼組成(圖1)。主體部分通常是較厚的一半,包括基帶電路、射頻電路,以及鍵盤、電池、天線等。常見的緊湊型手機布局是將大的顯示屏置于機蓋內(nèi)部,小顯示屏置于機蓋外部,如圖所示。外屏通常是半反射型LCD,在沒有背光時也能看清,并一直打開,顯示手機的空閑狀態(tài)及其它信息。機蓋周邊還有電話耳機,及其它音頻、振鈴電路。許多機蓋還設(shè)計了一個照相機模塊。圖1. 采用柔性電路連接手機的兩部分,但折疊手機的轉(zhuǎn)軸是內(nèi)部連接的瓶頸。
在大多數(shù)機蓋配件中,顯示屏、攝像頭帶有單獨的、速率適當(dāng)(Mbps)的并行接口總線,用于刷新顯示屏和下載圖片。然而,通過轉(zhuǎn)軸從機蓋到主機體傳遞數(shù)據(jù)存在一定瓶頸。轉(zhuǎn)軸通常是由Mylar?和銅線制造的柔性電路,為確保在反復(fù)折疊使用后電路的可靠性,布線密度(即布線數(shù))必須有所限制。手機設(shè)計者須減少機蓋、機體之間的連線數(shù),增加了設(shè)計難度。
GPIO端口擴展器在折疊手機應(yīng)用中的優(yōu)勢
通常,設(shè)計折疊手機應(yīng)將連接機蓋、機體的柔性電路的銅線數(shù)降至最少。發(fā)展趨勢是將機蓋顯示屏和照相機之間的高速并行連接進(jìn)行串行轉(zhuǎn)換。減少其他連線的簡單方法是將信號線與控制線加以識別,并在機蓋上直接合成,而不是通過柔性電路連接。小尺寸、低成本的端口擴展器可以控制邏輯信號輸入、輸出、LED驅(qū)動器或電源控制開關(guān)。端口擴展器通過I2C或SPI接口連接至主板,這些接口機蓋上可能已提供。端口擴展器也是一種低功耗設(shè)備,若想在手機設(shè)計中發(fā)揮作用,端口擴展器必須滿足以下條件:
- 具有小尺寸封裝(2mm x 2mm或3mm x 3mm薄型QFN封裝),以便放置在任何位置。
- 具有一個標(biāo)準(zhǔn)的串行協(xié)議接口,諸如I2C或SPI接口。
- 中斷驅(qū)動,避免CPU輪詢造成較大功耗。
- 無需CPU干涉即可發(fā)揮主要功能(PWM、輸入監(jiān)測)。
- 工作在1.8V至3V低電源電壓,工作電壓甚至可低于1V。
- 電源電流損耗低于1μA。
LED驅(qū)動
LED在手機中用于顯示屏和鍵盤背光(2至6個LED)、功能或狀態(tài)指示、RGB閃爍以及電池、信號強度指示。端口擴展器可節(jié)省空間、功耗,并減少系統(tǒng)不必要的操作,主要表現(xiàn)在以下幾個方面:單個LED的PWM亮度控制;高壓、大電流驅(qū)動,無需占用空間的分立晶體管;直接由電池供電的LED驅(qū)動,降低成本,并消除了電荷泵或基于電感的升壓電源的EMI。漏極開路端口提供大電流驅(qū)動
漏極開路輸出端口易于驅(qū)動一個LED,該端口如同一個硬件輸出開關(guān),利用一個串聯(lián)電阻(通常稱為鎮(zhèn)流電阻器)設(shè)置LED電流。端口擴展器非常適合驅(qū)動額定電壓高于電源電壓的大電流端口,通過脈寬調(diào)制(PWM)信號調(diào)節(jié)LED亮度。例如,MAX6965 LED驅(qū)動器提供9路輸出,具有亮度控制和熱插入保護(hù),采用3mm x 3mm的QFN封裝。該器件提供9路額定電壓為7V的漏極開路GPIO,可吸入50mA電流,提供獨立的PWM輸出。直接由電池供電時可為LED提供恒流端口驅(qū)動
比較理想的LED驅(qū)動方式是恒流源,代替?zhèn)鹘y(tǒng)的硬件輸出開關(guān)和限流鎮(zhèn)流電阻方案。恒流LED驅(qū)動器具有兩個主要優(yōu)點:- LED電流與LED正向?qū)妷夯?a target="_blank">LED電源電壓的變化無關(guān)。
- 降低LED電源電壓(接近于LED正向?qū)妷?,可以提高效率。
即使輸出端口兩端的壓降高于所規(guī)定的最小值(圖2),恒流驅(qū)動器,如MAX6966 (10端口LED驅(qū)動器和I/O擴展器,帶PWM亮度控制)也能精確地調(diào)節(jié)其恒流輸出。端口輸出電壓是負(fù)載(通常為LED)電源電壓和負(fù)載兩端電壓(LED正向電壓)之差。如果LED電源電壓下降,無法維持最小端口輸出電壓,驅(qū)動器的輸出級將進(jìn)入電源失效狀態(tài),負(fù)載電流隨之下降。對于10mA的吸入電流,MAX6966最小端口電壓約為0.5V;對于20mA的吸入電流,最小端口電壓約為1V。
圖2. MAX6966 GPIO IC包括LED驅(qū)動器和邏輯I/O口
LED直接由手機電池供電時,可節(jié)省空間、省去升壓變換器的成本。因此,典型的LED電源為一節(jié)可充電鋰電池,電池電壓在充滿時最大為4.2V,使用中為3.4V至3.7V,完全放電后降至3V。電池供電不足時,LED電源電壓明顯低于電源失效狀態(tài)的電壓。
圖3所示為LED電源電壓從2.5V變化到7V時,3V藍(lán)光LED (LITEON LTST-C170TBKT)的典型吸入電流。圖中所示LED由預(yù)先編程設(shè)置為10mA和20mA的恒流端口驅(qū)動,電源電壓在2.5V至7V范圍內(nèi)連續(xù)變化??梢钥闯觯琇ED正向?qū)妷弘S電流降低而降低,因此,電源失效時LED電流將緩慢降低,而不是直接降至失效狀態(tài)。LED電源電壓降至3V時,LED電流降至6mA或7mA,這在電池耗盡情況下對于多數(shù)背光應(yīng)用是可以接受的。
圖3. MAX6966恒流輸出直接采用手機電池驅(qū)動白光LED
均分LED電流
傳統(tǒng)的PWM控制方式是所有的PWM輸出采用相同的PWM時序,即所有輸出在同一時刻接通(圖4)。所以,由PWM設(shè)置的LED驅(qū)動器將同時吸入電源電流。例如,如果所有輸出的占空比均設(shè)置為50:50,則一半時間內(nèi)電流吸入為零(所有負(fù)載斷開),另一半時間內(nèi)吸入電流為滿幅(所有負(fù)載接通)。圖4. 傳統(tǒng)的PWM架構(gòu)導(dǎo)致所有輸出端口同時切換
MAX6966恒流LED驅(qū)動器各端口的PWM輸出采用錯相工作,相差1/8的PWM周期(圖5),在PWM周期均勻分配各個端口的輸出開關(guān)時間,從而降低了電源輸出開關(guān)瞬變di/dt和峰值/均值電流,同時也減小了EMI,而且允許電源采用較窄的PCB布線。
圖5. MAX6966使PWM錯相工作,均衡了對電源電流的需求
自動降低LED亮度
MAX6966的自動控制功能允許電流輸出逐步降至自動關(guān)斷狀態(tài)(緩降),退出關(guān)斷狀態(tài)時電流逐步上升,無需更多操作(圖6和圖7)。緩降過程包括一段可編程設(shè)置的延遲時間,期間輸出電流仍保持最大值,之后在預(yù)設(shè)的漸弱時間內(nèi)電流逐漸降低。圖6. MAX6966使LED亮度自動緩降,經(jīng)過一定延遲后逐漸變?nèi)?br>
圖7. MAX6966可由硬件觸發(fā),以控制LED亮度的上升速率,從而獲得一定時間斷開不需要的外設(shè)
關(guān)斷狀態(tài)下,可用CS輸入端的一個短脈沖激活MAX6966。這種硬件喚醒功能允許電源管理控制器或類似的ASIC以預(yù)置的LED亮度配置啟動MAX6966。退出關(guān)斷狀態(tài)時,LED輸出可以自動緩慢上升至預(yù)設(shè)電流(圖7)。這種設(shè)計方法解決了系統(tǒng)處理器的時間管理難題;也允許系統(tǒng)進(jìn)入待機模式,而LED驅(qū)動器自身則執(zhí)行定時功能。
許多GPIO器件提供了較高的源出電流和吸入電流,在電源直接供電時可用來打開或關(guān)閉外設(shè)。從這一功能可以了解到以下應(yīng)用技巧:
- 在任何應(yīng)用中,應(yīng)盡量控制外圍設(shè)備的GND引腳,而不是控制正電源。易于受接地開關(guān)控制的負(fù)載設(shè)備包括振動電機、LED和許多IrDA接口模塊。接地開關(guān)由于普遍可提供大電流、漏極開路端口成為首選。
- 采用推挽式GPIO (MAX7310、MAX7312、MAX7320)控制外圍設(shè)備的正電源,要求電源電流較小。這種方法普遍用于IC的掉電保護(hù)。
- 使用外部PFET擴展推挽式GPIO的高邊電流驅(qū)動。只需將PFET柵極連接至推挽輸出端口,源極接電源正極,漏極接負(fù)載。需要注意的是,當(dāng)前的控制邏輯是反向的:輸出端口的邏輯低電平接通PFET。
- 并聯(lián)漏極開路端口可獲得更大的驅(qū)動電流。
- 確保端口同時打開、關(guān)閉,共同驅(qū)動負(fù)載。
端口擴展器 - 簡單I/O實現(xiàn)電平轉(zhuǎn)換
GPIO還有另一個重要功能:使輸入和輸出在高、低電壓之間來回切換。下面列出了一些電平轉(zhuǎn)換用途:- 輸入端口的耐壓值通常高于GPIO的工作電壓,該性能允許工作在低電源電壓的GPIO能夠監(jiān)測較高電壓的邏輯輸入。
- I2C接口可承受5.5V電壓,與GPIO的工作電壓無關(guān)。因此,通過電阻上拉到3.3V的I2C總線能與工作在2.5V或1.8V的GPIO進(jìn)行通信。
- 漏極開路I/O通??沙惺艿碾妷号cGPIO的工作電壓。例如,MAX6964/MAX6965和MAX7313-MAX7316 系列的I/O端口能夠承受5.5V或7V電壓。在端口和所要求的電源之間連接一個上拉電阻,任何端口都能產(chǎn)生達(dá)到指定邏輯電平的擺幅。
- 漏極開路I/O和I2C接口通常具有熱插拔保護(hù),這意味著斷開GPIO的電源電壓時,這些連接不需要額外吸收寄生電流就可承受所施加的電壓。當(dāng)與單獨供電的手機附件連接時,熱插拔功能非常有用,也就是說,手機和附件能以任意次序接通電源。
- 通過一個大阻值上拉電阻(~1MΩ),可將上電時的推挽式I/O端口的默認(rèn)電平設(shè)置為電源電壓,或通過一只下拉電阻將其設(shè)置為地電平。上電時I/O端口默認(rèn)為高阻輸入,因此,在通過其串行接口編程設(shè)置GPIO之前,由電阻設(shè)定初始邏輯電平。
端口擴展:自動輸入監(jiān)測
如上所述,外設(shè)應(yīng)由事件中斷驅(qū)動,避免CPU輪詢。對于那些偶然事件監(jiān)視,如手機翻蓋或電源失效告警的GPIO輸入,這一點尤為重要。多數(shù)GPIO包括瞬變檢測電路,可監(jiān)測所有的邏輯輸入變化,并在輸入狀態(tài)改變時產(chǎn)生中斷。MAX7319是I2C端口擴展器,帶有8路漏極開路I/O,擴展了傳統(tǒng)的瞬變檢測功能,如下所述:- 鎖存中斷輸出/INT,直到讀取MAX7319時瞬態(tài)改變才會產(chǎn)生中斷請求。
- 讀取MAX7319后,變化標(biāo)志寄存器可以識別任何發(fā)生變化的端口,即使是瞬態(tài)變化。
- 中斷屏蔽寄存器只允許特定的輸入端口在其變化時觸發(fā)中斷。
評論
查看更多