1. 概述與分類
本文所述IO(Input/Output PAD)主要是指內建在CMOS晶片中的連接配接子產品,其負責晶片引腳的外部信号與晶片内部的數字/模拟子產品的互動,它是一顆完整晶片設計中不可或缺的組成部分。 文章首先根據IO的使用類型,介紹了IO的分類;緊接着重點介紹了GPIO的輸入/輸出功能和模式,以及輸入/輸出模式下的一些特點和設計考慮;最後簡要介紹了GPIO的功耗/靜電保護/tolerance IO等一些問題
1.1 電源IO
電源IO的典型應用如下圖所示:
hljs-center

電源IO主要作用就是提供電源在整晶片中的連接配接方式以及對電源本身的ESD保護方案。 對于電源IO, 簡單歸類:1. 是否需要連接配接到IO power ring上?通常認為可以直接連接配接到IO power ring上的電源對噪聲不敏感; 2. 高壓電源/低壓電源的分類,這可能會涉及到ESD保護方案的不同
1.2 晶振IO
晶振IO的主要作用就是提供給外部的晶體一定的驅動能力,配合振蕩晶體和外圍電路産生振蕩信号,為系統提供穩定可靠的時鐘。目前較為常見的是皮爾斯振蕩器,這種振蕩器需要占有2個IO。
皮爾斯晶體振蕩器的典型應用如下圖所示:
Notes: 晶振的Cload值一般是以無源晶體本身來定義;CL1和CL2的串聯值為Cload,即Cload=0.5CL1=0.5CL2 (一般CL1=CL2) 通常這個IO的開發都是專用IO電路,當晶體振蕩器功能不用時,無法複用為GPIO。後續開發傾向于單獨開發晶振驅動電路,和GPIO複用在一起;當晶體振蕩器功能不用時,也能将這兩個IO複用為GPIO。
1.3 GPIO
GPIO(General Purpose Input Output)的典型框圖如下圖所示:
ST GPIO Diagram
能就是實作晶片内外隔離,實作電平變化以及緩沖輸入/輸出的作用。具體的作用和工作模式詳見第二章節介紹。
1.4 特殊引腳IO
在晶片設計中,可能會存在某些特殊的引腳。例如RESET複位PIN就通常設定為一個上拉輸入的GPIO; SWD通信中SWDIO和SWDCLK也有一個上拉電阻的要求。
2. GPIO基本工作模式
本章節針對GPIO的輸入輸出工作模式進行描述。
2.1 輸入接口電路
輸入接口電路負責處理從晶片外部輸入信号到晶片内部。
2.1.1 輸入接口電路的主要作用
- 提供适當的電平轉換
- TTL電平和CMOS電平
- Schmitt觸發器輸入
- 對片内電路起保護作用
- 注意ESD二級保護的電阻應用。一般ESD保護電阻的阻值在250歐姆作用;對輸入緩沖,保護電阻可以設計的大一些,電源/高速時鐘信号則要相對選小一些
施密特(Schmitt)觸發器的基本架構和工作模式如下所示:
施密特觸發器的主要作用:施密特觸發器存在一個明顯的遲滞視窗,有利于提高輸入的噪聲容限;尤其是輸入上升沿/下降沿不夠理想的應用環境
2.1.2 輸入接口電路的模式
PAD模拟輸入 需要注意對模拟内部信号的二次ESD保護 直接将模拟信号精确的輸入或輸出,無需額外的緩沖電路,而且保護電路也不可對模拟信号有所扭曲,使其有所失真 PAD數字輸入 嚴禁浮空輸入 上拉輸入 下拉輸入 上拉/下拉輸入電阻阻值一般在幾十K的數量級,且随電源電壓變化較大
輸入模式下的真值表
2.1.3 輸入模式下的注意點
在所有輸入信号中尤其需要注意VDDC_OFF(POC)功能 該信号為高電壓域信号 該信号的作用:在電源上電過程,如果VDDC或VDDIO還沒有穩定的時候,VDDC_OFF處于有效保護狀态,保證IO處于High-Z狀态,防止輸出的大MOS管發生貫通電流或IO上有強驅動輸出 如果是多管腳輸出設計(例如管腳數量大于64),建議逐漸釋放VDDC_OFF信号,防止産生瞬間的大電流
2.2 輸出接口電路
輸出接口電路負責從晶片内部輸出信号。
2.2.1 輸出接口電路的主要作用
電平轉換 提高信号的驅動能力; 提高足夠大的驅動能力。通常片外負載會在pF數量級别,同時還需要提供适當的上升/下降時間 輸出緩沖的總延遲時間小 Slew rate控制 對片内電路起保護作用;
2.2.2 輸出接口電路的模式
CMOS推挽(Push-Pull)輸出 開漏(Open-Drain)輸出 典型應用場景:I2C 開源(Open-Source)輸出
輸出模式下的真值表 2.2.2.I 開漏(Open-Drain)輸出說明 需要注意的時開漏輸出,其典型的幾種情況如下:
開漏輸出的主要作用:1. 實作“線與”邏輯,即多個開漏輸出的管腳可以直接并在一起;2. 實作不同邏輯電平的轉換(如3.3V和5V之間), 但可能要注意IO的耐壓tolerance問題 2.2.2.II 輸出驅動能力說明 GPIO的輸出驅動能力一般可選:2mA/4mA/…/24mA等 驅動能力的衡量是在外部管腳拉/灌标稱的驅動電流時,輸出還能維持一定的VOH/VOL為判定标準 驅動能力越強,GPIO自身消耗的功耗越大,電源/地線引起的擾動噪聲也越大;是以建議選擇滿足需求的合适的驅動能力 雖然驅動能力不同,但一般來說,IO的面積大小相同。主要因為驅動管和ESD管一般都是共用在一起;而ESD管的面積基本決定了IO的面積大小 輸出驅動管(也包含部分ESD管)一般都會有比較大的PMOS/NMOS尺寸,容易引發latch-up特性。是以在版圖上都會有雙重保護環(double guard ring)的設計要求 2.2.2.III 輸出延遲時間說明 關于IO的延遲時間: 輸出接口電路最重要的一點是對負載電容必須有足夠的驅動能力,以達到适當的上升時間和下降時間。當輸出要驅動一個很大的負載電容時,為保證電路的工作頻率,就必須使電路的輸出級能夠提供夠的驅動電流,電路的延遲時間可 以近似用下式表示:
其中,CL是電路要驅動的總負載電容,V是電路的輸出擺幅,Id是輸出級的驅 動電流。 從上面的式子可以看出,在負載電容和擺幅一定的情況下,若想減小電路的延遲時間,必須增大MOS管的寬長比。然而,輸出級MOS管的寬長比增大,又 将增大前一級的負載電容,影響前一級的工作速度。是以,常采用級聯反相器 作為輸出緩沖電路。且使反相器的尺寸逐級增大;通過設計适當的級數比例, 以使總延遲最小。
按固定的比例因子逐級增大器件尺寸: 這樣,每級反相器有近似相等的延遲時間,對級聯反相器的總延遲最有利。 當n = ln (CL/Cin), S = e時,級聯反相器的總延遲最小。延遲時間約為:
上面的結論隻是從速度優化方面考慮的結果。在實際緩沖器的設計中不能簡單的套用, 而要從速度/功耗和面積多方面綜合考慮。一般這個值會取4~8
3. GPIO的功耗等影響因素
3.1 GPIO的功耗分布
動态功耗如下圖所示 對整個充放電的電流積分乘以電源,可以得到充放電一次消耗的能量為C¬LVDD^2; 是以在一定頻率下的平均功耗為P = Freq* C¬LVDD^2
貫通功耗如下圖所示 大驅動PAD的最後一級MOS管的Size非常大,如果存在P/N管同時導通的情況, 會有很大貫通電流 靜态電流功耗如下圖所示 大驅動PAD的最後一級MOS管的Size非常大。是以,在IO PAD不翻轉時的靜态功耗(漏電流)可能也會比較大,在設計中,必須進行仿真确認。
IO PAD的整體功耗分布如下圖所示
3.2 GPIO的ESD保護
IO的ESD保護是個複雜的大課題,在這裡隻是簡單介紹一些ESD保護的基本概念。 随着工藝尺寸的發展,ESD設計挑戰越來越大。因為gate oxide break down電壓越來越低,ESD設計視窗越來越小
IO的ESD目前而言,一般來說電源IO的power clamp會選用RC trigger; GPIO會利用NMOS的snapback特性
3.3 GPIO的其他注意事項
Cu bonding要求有一定的抗壓能力,對頂層金屬以及通孔陣列有一定的要求 在某些情況下,可能還需要一種類型IO需要tolerance高壓設計,即接口信号電壓高于電源電壓的情況下的應用 Tolerance IO主要應用環境包括 輸入高壓,輸入電壓高于電源電壓 輸出開漏,Termination電壓高于電源電壓 帶charge pump功能的LCD驅動輸出,LCD電壓高于電源電壓 Tolerance IO設計需要考慮的因素 器件的耐壓特性 PMOS器件的漏極和襯底之間的寄生二極管 Tolerance IO的負面影響 IO單元的面積有明顯變大 相同面積下,驅動能力減弱 相同面積下,ESD能力相對下降 Tolerance IO設計下存在的寄生二極管,示意圖如下:
本文作者:yangyf
點選檢視原文