作者:Bird
上一篇文章【Maker 電子學】小型 OLED 顯示裝置的原理與應用—PART 2,我們將 SSD1306 的 OLED 顯示器模組和 NodeMCU 連接起來,並用了 Arduino 寫了簡單的程式在,透過 I2C 界面的控制在 128×32 的 OLED 顯示器上寫出「Hello World!」。這一回我們要更深入地檢視 SSD1306 的 datasheet,了解 OLED 顯示器的運作方式。
從 Datasheet 開始 #
功夫要練得好,馬步要先蹲好。要徹底了解一個零件,閱讀它的 datasheet 和 reference manual 是很重要的基本功,或許一開始閱讀起來很吃力、很緩慢,但當你大量閱讀後,隨著閱讀與理解能力的提升,便會漸漸知道如何在茫茫字海當中,找到需要的資訊,即使是像 MCU 或 SoC 等隨隨便便都上千頁的文件,讀起來也不會那麼迷失。
那我們就從 SSD1306 的 datasheet 開始吧。Soloman Systech 的 SSD1306 產品頁並沒有直接給出 SSD1306 的 datasheet,不過 Adafruit 似乎在取得授權之後,將 SSD1306 的 datasheet 放在了小型 OLED 顯示裝置的產品頁上,讀者可以由此一窺究竟。
封裝學問大 #
SSD1306 有兩種產品封裝,分別是 COG 封裝的 SSD1306Z,以及 TAB 封裝的 SSD1306TR1。

(圖片來源:Bird 提供)
COG 和 TAB 都是 IC 封裝的術語,IC 封裝的目的是爲了將晶片(die)上的訊號引出來,與外部電路連接。
一般電路板能處理的連接密度最高大概在 0.4 mm 左右,也就是說每 4 mm 可以容納 10 條左右的連接線,但 IC 內部 die 上面將訊號引出來的連接點(稱之爲 bonding pad)遠小於這個尺寸,通常在數十 um 左右,因此一般的 IC 封裝會將 IC 放在一個有許多接腳的接線框(lead frame)中,並利用金線連接 bonding pad 與接腳,最後再用黑色的環氧樹脂將 die 與金線的部分封住,隔絕灰塵、溼氣等外在環境因子,並提供機械性的保護,成爲我們常見的 IC 樣貌。
但這種傳統的 IC 封裝製程對接腳數量很多的 IC 來說,會做出外形非常巨大的 IC。以我們常見的四方形 QFP 封裝來說,目前最大大概做到 208-pin,如果用 0.4 mm 的腳距離,封出來的 IC 差不多是 22 mm x 22 mm。
如果用高價的 BGA 封裝來做,15×15 = 225 pin 的 BGA 用目前最高階、最小的 0.4 mm 球距來做,也要 8 mm x 8 mm 左右,更不用說這麼細的 BGA 對電路板製程及 layout 的困難度有極高的要求。
那麼 SSD1306 有多少隻腳呢?總供 281 隻。
事實上,這些與顯示裝置驅動相關的 IC 多半都是蜈蚣家族的,接腳數量一定非常多,因爲你要驅動一個 128 x 32 的矩陣顯示器,至少就需要 128 + 32 隻驅動接腳,因此 SSD1306 光是與 OLED 連接用的接腳就 160 隻了,而這還不包括其它的電源、控制訊號等接腳。
因此,多年以來,與顯示裝置驅動相關的 IC 發展出了一套自己的封裝技術,前面提到的 COG 及 TAB 就是顯示裝置上很常用的封裝技術。
TAB 叫做「tape-automated bonding」,它是將晶片先放置在一片小小的軟性電路板上,並與軟性電路板上的線路連接,讓訊號可以引出來,而 IC 就帶著這片軟板出貨。這片軟性電路板通常有兩端,一端與顯示裝置的玻璃基板連接,另一端與外部電路連接。
與顯示裝置連接的部分,如同前面說的,線路的數量會非常多,因此密度非常高,通常使用異方性導電膜(Anisotropic Conductive Film,ACF)與玻璃基板連接。ACF 也是個很厲害的發明,它利用在樹脂中摻雜尺寸非常小的導電粒子,讓薄膜本身只在一個軸向導通,因此只要軟板與玻璃上的線路在垂直方向上對準,訊號就可以導通,但相鄰的線路之間卻不會導通。至於與外部電路連接的那一端,通常線路數量不多,因此可以使用標準的錫焊製程,或是使用 FFC 連接器。
COG 叫做「chip-on-glass」,是將晶片準備成可以直接安裝在玻璃基板上的狀態,並利用 ACF 與玻璃基板上的電路連接。玻璃基板上的電路是用微影製程製作的,因此可以處理密度非常高的連接,與 die 上的連接點直接一個蘿蔔一個坑對接完全沒有問題。至於對外的訊號,通常再使用軟性電路板與玻璃基板連接,再用軟性電路板接出來。

(圖片來源:Bird 提供)
上圖是一個很容易購得的 SSD1306 128 x 32 OLED 模組,圖中標示了 SSD1306 COG 所在的位置。事實上, SSD1306 是黏在玻璃基板的背面,我們將 OLED 模組翻過來,可以看到背面有一塊區域用黑色的環氧樹脂封住,在樹脂裡面埋的就是 SSD1306 的 COG die。
在放大鏡下,我們甚至可以觀察到,在玻璃基板上,從 SSD1306 通往 OLED 顯示陣列的細微線路(這個面板是 128 x 32 的,因此顯示陣列的上方共有 128 條線,側邊則有 32 條線)。
OLED 陣列的驅動 #
顯示陣列上方的 128 條線稱之爲 segment lines,接腳名稱是 SEG0 到 SEG127,它們是 OLED 驅動訊號的正端。側邊的 32 條線稱之爲 common lines,接腳名稱是 COM0 到 COM31,它們是 OLED 驅動訊號的負端。SSD1306 最大可以驅動 128 x 64 的 OLED 顯示陣列,因此它的 COM 訊號最大到 COM63,不過在 128 x 32 的模組上,只用了前面 32 條。

(圖片來源:Bird 提供)
上圖是一個簡化過的 OLED 顯示陣列電路圖,橫向的連接線是 COMMON、縱向的則是 SEGMENT。當我們在 SEG0 上加上電壓、COM0 接地,就會有電流流過 SEG0/COM0 交叉處的那顆有機發光二極體,它就會亮起來。
SSD1306 驅動 OLED 顯示陣列時,是先將整行 128 個點要顯示的狀態輸出在 SEG0 – SEG127 上,然後將對應的 COM 接腳拉到地,這時整行的 OLED 就會照著 SEG0 – SEG127 上的狀態亮起來。等待一小段時間之後,那隻 COM 腳會變回高阻抗,整行 OLED 熄滅,然後 SEG 接腳們會改變狀態,輸出下一行所需要顯示的狀態,等 SEG 接腳準備好後,SSD1306 就會把下一根 COM 接腳拉到地,點亮這一行,如此周而復始。

(圖片來源:Bird 提供)
因此,事實上在顯示的過程中,一次只有一行 OLED 是亮起來的,但因爲它逐行亮起來掃描的速度很快,人眼的視覺暫留效應讓我們覺得它是整面都亮的。
如果我們用手機的相機,調整快門速度到較短的時間,讓曝光時間短於 SSD1306 掃描完整面 OLED 陣列的時間,我們就可以從拍出來的照片中看到 OLED 顯示器在被驅動時,一次只有一部分的線是亮著的。

(圖片來源:Bird 提供)
上圖是我用手機的相機將快門速度設在 1/480 秒,對著上一回我們進行的 “Hello World!” 實驗所拍出來的照片。畫面中的 OLED 顯示陣列只亮了 14 列,因此我們可以算出 SSD1306 點亮這片面板時,每一列的時間是:1/480s / 14 = 1/6720s
而掃描完整個畫面所需要的時間是:1/6720s * 32 = 1/210s
如果我們希望拍出來的 OLED 顯示畫面是完整的,就要將相機的快門時間設定到比 1/210s 還要長,就可以避免這種畫面殘破的現象。
OLED 面板中的有機發光二極體,它們的特性相當接近我們一般使用的 LED 發光二極體,只是一般的 LED 是利用半導體材料的 P-N 接面讓電子電洞對再結合而發出光子,而 OLED 則是利用有機材料本身的特性,在相鄰的導通層與發射層中創造出電子與電洞,並讓它們在發射層中再結合而發出光子。
LED 的反應速度非常快,在通電之後 nano second 的時間內就會達到最大發光強度。OLED 的反應雖然稍慢一些,但也在 micro second 的等級,因此 OLED 面板可以用非常快的速度掃描顯示,讓人眼無法察覺它一次只亮一行。
SSD1306 驅動的這種 OLED 面板稱之爲 passive matrix OLED,它的每條 SEG 和 COM 交叉的地方就只有一個 OLED,直接靠 SEG 和 COM 之間的電壓和電流驅動,但在比較大、速度要求比較高的 OLED 面板上,也會仿效 TFT-LCD 的做法,在每一個 pixel 上用薄膜製程做出電晶體,直接在 pixel 上用電晶體放大訊號來驅動 OLED,這就是所謂的 active matrix OLED,也就是鼎鼎大名的 AMOLED。
新的 iPhone 上用的就是這種顯示器,因此如果你用前面那個講快門調快的技巧去拍攝 iPhone X 的螢幕,就可以看到螢幕上出現掃描所造成的黑帶:

(圖片來源:Bird 提供)
這是用 1/8000 秒的快門時間拍攝 iPhone X 的螢幕所看到的畫面。iPhone 的螢幕是非常優異的 AMOLED,掃描速度非常快,因此要將快門速度拉到這麼高,才看得出來它是不連續顯示的,在一般的應用中非常難發現它會閃爍。
小結 #
這回我們從 SSD1306 的 datasheet 出發,聊了它所使用的封裝技術、與 OLED 面板的連接方式,以及 passive matrix OLED 的驅動原理。下一回我們再繼續探討 SSD1306 的 datasheet 所揭露的資訊,以及更深入地探討 OLED 的控制。
(責任編輯:賴佩萱)