嵌入式軟體 - ccy.dd.ncu.edu.tw

21
嵌入式軟體 期中作業 OLED Driver 系級: 資工碩一 李怡臻 學號: 995202078 授課教授: 陳慶翰 教授 中 華 民 國 一百 年 五 月 二十七 日

Upload: others

Post on 11-Jan-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 嵌入式軟體 - ccy.dd.ncu.edu.tw

嵌入式軟體

期中作業

OLED Driver

系級: 資工碩一 李怡臻

學號: 995202078

授課教授: 陳慶翰 教授

中 華 民 國 一百 年 五 月 二十七 日

Page 2: 嵌入式軟體 - ccy.dd.ncu.edu.tw

1.硬體週邊原理(或規格、或相關技術說明)介紹

OLED說明:

SSD1331 是一顆COMS OLED/PLED 晶片,具備 288segment(RGB三色,

一個顏色[95:0])與 64 個 Command 輸出,支援 96RGB * 64 點矩陣顯示,

SSD1331內嵌Graphic Display Data RAM (GDDRAM) ,支援8、9、16bit 8080

/ 6800 interface。

SSD1331 特色:

Resolution: 96RGB x 64 dot matrix panel

65k color depth support by embedded 96x64x16 bit GDDRAM display buffer

Power supply:

VDD = 2.4V to 3.5V for IC logic

VCC = 8.0V to 18.0V for Panel driving

VDDIO = 1.6V to VDD for MCU interface

256 step contrast control for the each color component plus 16 step master

current contro

Pin selectable MCU interface

8/9/16 bits 6800-series parallel Interface

8/9/16 bits 8080-series Parallel Interface

Serial Peripheral Interface (此 Driver 採用)

Color swapping function (RGB <-> BGR)

Graphic Accelerating Command (GAC) set with Continuous Horizontal,

Vertical and Diagonal Scrolling

Programmable Frame Rate

Wide range of operating temperature: -40 to 85 °C

Page 3: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Pin Description

Pin Nmae Pin Type Description

VDD Power 核心電源供應

D0-D7 IO 8 bit的雙向資料匯流排,連接到 MCU 的資料匯流

排,在 SPI協定中,D0 為 SCLK,D1 為 SDIN

BS1,BS2 I 透過邏輯設定 MCU interface,使用者可以透過調

整 Jump(J2,J3)來設定 pin 腳,或是可以用程式來設

定,設定的規定如下表所示。

DC I 此接腳用來控制 Data/Command,當 Pin 腳為高

電位時,D7-D0 觸發為顯示資料;當 Pin 腳為低電

位時,D7-D0 觸發為指令暫存器

CS I 晶片的選擇輸入,只有當 CS 腳位為低電位時,此晶

片才能和 MCU 通訊

RESET I 此 pin 腳用來 reset 訊號輸入,當 pin 腳為低電位

時,執行晶片的初始化動作

Page 4: 嵌入式軟體 - ccy.dd.ncu.edu.tw

MCU Interface Selection:

SSD1331 MCU interface 由 16 隻資料 pin 腳和 5 隻控制 pin 腳組成,pin 腳

在不同的模式下有不同的功用,如下表所示,而我們所使用的是 SPI 介面。

Serial Interface:

SPI包含 serial data SDIN(D0)、serial clock SCLK(D1)、CS、DC 以及 RES,

在每個 SCLK 提升邊緣時,D7,D6…D0 資料會依照順序的 shift 到暫存器

(Display Data RAM 或 Command register)中。

在 SPI模式下,只有允許寫入指令,如下表所示:

在 SPI模式中,寫入程序如下圖所示:

Page 5: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Graphic Display Data RAM (GDDRAM)

GDDRAM 的大小為 96× 64 × 16bit,軟體可以選擇性的 re-mapping

Segment and Common outputs ,每個像素有 16 位數據。三個子像素的色彩

A,B和 C 分別為 6bit,5bit和 6bit,這些資料 pixle 在圖形顯示資料 RAM 中

的排列如下所示:

資料匯流排在不同匯流排長度以及 color depth 模式下的情況:

Page 6: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Command Table

Page 7: 嵌入式軟體 - ccy.dd.ncu.edu.tw
Page 8: 嵌入式軟體 - ccy.dd.ncu.edu.tw
Page 9: 嵌入式軟體 - ccy.dd.ncu.edu.tw
Page 10: 嵌入式軟體 - ccy.dd.ncu.edu.tw
Page 11: 嵌入式軟體 - ccy.dd.ncu.edu.tw
Page 12: 嵌入式軟體 - ccy.dd.ncu.edu.tw

2.SIOC 的 Driver 設計及主要程式說明

寫入暫存器的程式碼主要分成兩個部分,依照規則將 CS 與 DC 線輸出高電位或

是低電位來控制寫入 Command 或 Data 暫存器,用軟體模擬 SPI 傳輸模式,

由於 SIOC 的速度很快,因此在軟體產生 SCLK 的時候需要用軟體延遲一小段時

間。

1.

2.

Page 13: 嵌入式軟體 - ccy.dd.ncu.edu.tw

所使用到的控制訊號線都是由 GPIO控制,將其對應至 PAx,其中 GPIO 的速度

選擇最低的 2MHz,如下所示:

利用上面寫好的 Write_Command()與 Write_Data(),依照 Command table 規

定寫入的位址方式再寫成 command function,例如控制螢幕的方式就是輸入

Command 0xAF 代表顯示螢幕,如下所示:

主要測試成功的函式有下列幾項:

Set_Display_On_Off(); 設定螢幕開關

Up_Scroll();Down_Scroll();上下滾動畫面

Fill_RAM();利用寫入資料的方式寫入值,將畫面填滿白色

Checkerboard();確認是否有寫入 data,穿插黑白點顯示

Page 14: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Rainbow();利用 command 畫出方框來顯示彩虹的區段色塊

Show Pattern - Frame (Test Pattern) 利用方框來顯示漸進的畫框色彩

Show String 利用寫入資料來顯示字串

3.SIOC 與週邊的接線圖

由於我們使用的是 SPI介面,因此在 OLED 上 將 J2 與 J3短路,始

之接地。

由於 OLED是接 3.3V,因此將 OLED的電源接到 VDD1,SPI協定

的格式是將 OLED的 DO作為 SCLK、D1 作為 SDIN,其他接腳如下

表所示。

Page 15: 嵌入式軟體 - ccy.dd.ncu.edu.tw

SIOC OLED SIOC OLED

SCLK(D0) PA1 CS PA4

SDIN(D1) PA2 DC PA5

RES PA3

Page 16: 嵌入式軟體 - ccy.dd.ncu.edu.tw

4.SIOC 驗證(使用 VCP 或使用其他周邊顯示結果)將螢幕 hardcopy

或照片貼至報告中

Show Pattern – Format ,初始畫面

Page 17: 嵌入式軟體 - ccy.dd.ncu.edu.tw

All Pixels On,利用寫入資料的方式寫入值,將畫面填滿白色

Page 18: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Checkerboard,確認是否有寫入 data,穿插黑白點顯示

Page 19: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Rainbow,利用 command 畫出方框來顯示彩虹的區段色塊

Page 20: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Show Pattern – Frame,利用方框來顯示漸進的畫框色彩

Page 21: 嵌入式軟體 - ccy.dd.ncu.edu.tw

Show String,利用寫入資料來顯示字串