嵌入式軟體 - ccy.dd.ncu.edu.tw
Transcript of 嵌入式軟體 - ccy.dd.ncu.edu.tw
嵌入式軟體
期中作業
OLED Driver
系級: 資工碩一 李怡臻
學號: 995202078
授課教授: 陳慶翰 教授
中 華 民 國 一百 年 五 月 二十七 日
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
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 腳為低電位
時,執行晶片的初始化動作
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模式中,寫入程序如下圖所示:
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 模式下的情況:
Command Table
2.SIOC 的 Driver 設計及主要程式說明
寫入暫存器的程式碼主要分成兩個部分,依照規則將 CS 與 DC 線輸出高電位或
是低電位來控制寫入 Command 或 Data 暫存器,用軟體模擬 SPI 傳輸模式,
由於 SIOC 的速度很快,因此在軟體產生 SCLK 的時候需要用軟體延遲一小段時
間。
1.
2.
所使用到的控制訊號線都是由 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,穿插黑白點顯示
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,其他接腳如下
表所示。
SIOC OLED SIOC OLED
SCLK(D0) PA1 CS PA4
SDIN(D1) PA2 DC PA5
RES PA3
4.SIOC 驗證(使用 VCP 或使用其他周邊顯示結果)將螢幕 hardcopy
或照片貼至報告中
Show Pattern – Format ,初始畫面
All Pixels On,利用寫入資料的方式寫入值,將畫面填滿白色
Checkerboard,確認是否有寫入 data,穿插黑白點顯示
Rainbow,利用 command 畫出方框來顯示彩虹的區段色塊
Show Pattern – Frame,利用方框來顯示漸進的畫框色彩
Show String,利用寫入資料來顯示字串