news 2026/6/26 20:33:20

oled-SSD1315

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
oled-SSD1315
I2C

I2C : inter-integrated circuit : 用在集成电路之间的通信协议

串行
同步
两根信号线 SCL 和 SDA

每个设备都有独立的地址,,,只能通过主设备发起,,从设备只能被动响应,

SCL的每个时钟周期,,SDA传一位数据,,I2C规定在每个时钟周期高电平读取数据,连续发送的数据需要在scl低电平的时候准备好,,并在scl高电平的时候保持稳定

每个从设备都有一个唯一地址 ===》7位
主设备发送地址+读写位(读写意图),,广播到所有从设备,,从设备和自己的设备地址匹配,,如果匹配到了,,回复ack,也就是0,

I2C规定,发送方每发送1个字节的数据,,接收方都要回复一个1位的确认信号,,可以是ack: acknowledge,也可以是nack: negative acknowledge, 0:表示成功,,1:表示失败

I2C规定:主设备和从设备的每次通信,都必须由起始信号开始,停止信号结束

空闲状态: scl 和 sda都是高电平
起始信号 : scl高电平,, sda下拉
结束信号: scl高电平 ,,sda从低变到高,,,结束信号之后,相当于又回到了空闲状态
起始信号和结束信号都只能由主设备产生

SSD1315

OLED : organic light emitting diode : 有机放光二极管

SSD1315是oled的驱动芯片,,用来控制每个像素的亮灭

OLED分为两类 :

  • PMOLED : passive matrix OLED
    被动矩阵,,和LED点阵屏类似,,逐列或者逐行扫描驱动
  • AMOLED: active matrix OLED
    主动矩阵:每个像素点都有一个单独的控制电路,,一个像素点就是一个led灯


SSD1315芯片在屏幕的最下面,,向外引出了很多线,,,最下面那层PCB,是厂家对他的封装,,如果是I2c的屏幕,就只外接了I2c的线,,SSD1315中MCU Interface,默认支持很多种通信协议,,不止I2C

显示都是通过SSD1315芯片自己显示的,,,我们只是将数据传递过去,,传递的数据可能是命令:控制屏幕对比度,亮度灯,也可能是数据

MCU Interface外部暴露了很多引脚,,因为SSD1315支持很多种通讯协议,,不止适配I2C,,I2C只是这些引脚里面的其中两根

MCU Interface会判断他是命令,还是数据,,如果是命令,,就会交给command decoder处理,,如果是数据,就会存入GDDRAM:graphic display data RAM中… 这个GDDRAM大小,正好也是128*64bit,,和屏幕的像素点相对应

下面的common Driverssegment drivers就是根据 GDDRAM中存的数据,产生OLED屏幕驱动信号

segment drivers控制列显示 ,,有128位,,,也就是0~127
common drivers: 控制行显示 ,,,64位,。。0-63

那块屏幕分为:

  • OLED玻璃面板: 只会发光的玻璃本身,,只有行列电极,,不能直接接单片机,必须靠芯片控制
  • SSD1315芯片
    SSD1315的drivers,,行列序号,,左上角不是从0开始的,而是127–》0 ,,,63—》0,,

显示屏幕本质是将GDDRAM中的数据,,通过SSD1315的drivers刷到屏幕上,,
GDDRAM和SSD1315 中数据是一一对应的,,也就是GDDRAM和SSD1315中segment Drivers的值是0到127,,
GDDRAM和SSD1315中common Drivers的值是0-63,他们的值顺序是对应的,,
但是OLED玻璃面板drivers的对应关系是反的,,,也就是如果完全按照GDDRAM中的数据去显示,,,渲染出来是反的,,
屏幕和SSD1315的连线是硬件焊死的,改不了,,
只能改GDDRAM,,,
SSD1315提供了重映射功能,,用户通过命令,重新定义GDDRAM和引脚对应关系,,,

segment重映射:

common重映射:

SSD1315 一次至少写一个字节,, ,128*64
最多写8个page

SSD1315有两个指针,,一个是指向列的column address pointer…一个是指向行page address pointer

因为column,由segment drivers控制也就是0到127,, 分为高四位低四位存储,避免和其他命令冲突,,而page只会取0-7,三个二进制位就够了,,
设置行和列,都有指定的指令

这个指定指令,,去设置当前指针,指向哪里,,后面就会在那里写数据

SSD1315寻址方式:
为了方便连续写多个字节,,每当成功写入一个字节后,,page address pointer或者column address pointer会自动递增,,不同的寻址方式,指针递增的逻辑不同

设置这个寻址方式,也要通过发送命令:

一共有三种:

  • 页寻址 :page需要自己变化,,column会自增
  • 水平寻址: column自增,,column满了之后,page跳到下一页
  • 垂直寻址 : page自增,page满了之后,column跳到下一个

一般用页寻址。。默认也是页寻址


OLED写数据过程:

  1. i2c起始

  2. 从机地址 + 读写标识

  3. ack

  4. 发送control byte : 表示后面发送的是命令还是数据,,

    • 第一位是co : continuation bit ,声明后续内容是否连续0:连续发送 1:后面只发一位,,,
    • 第二位是DC: data command selection bit : 1:data,, 0:command
    • 后面六位都是 0,,,
    • dc一旦确定,当前通信不允许改变
  5. ack

  6. 发数据 : 每发一个byte,,需要一个回复位

  7. i2c结束

初始化SSD1315:

charge pump : 电荷泵: 芯片内部提供了升压电路,需要手动开启

最简初始化:

  1. 熄灭屏幕 0xAE
  2. 行列反转
  3. 开启电荷泵
  4. 电量屏幕 0xAF

显示字符 : 可以显示小一点 6*8 ,, 一页显示完,
也可以 8 * 16 ,, 分两个page显示完,,,

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 20:32:15

傅里叶变换:二维断层扫描反演的核心数学桥梁

1. 项目概述:从“看”到“算”的桥梁在医学影像、无损检测、地球物理勘探乃至材料科学领域,我们常常面临一个共同的挑战:如何通过外部测量数据,重建出物体内部我们无法直接观察的结构?这就是“断层扫描”的核心任务。无…

作者头像 李华
网站建设 2026/6/26 20:28:04

终极指南:如何用VLC点击暂停插件实现一键控制播放

终极指南:如何用VLC点击暂停插件实现一键控制播放 【免费下载链接】vlc-pause-click-plugin Plugin for VLC that pauses/plays video on mouse click 项目地址: https://gitcode.com/gh_mirrors/vl/vlc-pause-click-plugin VLC点击暂停插件是一个革命性的开…

作者头像 李华
网站建设 2026/6/26 20:27:02

3PEAK思瑞浦 TPA2295CF-VS1R-S MSOP8 电流信号检测放大器

特性小电压偏移:TPA2295C:0.5mV(最大值)宽共模电压范围:-0.1V至70V宽共模抑制比:130dB电源电压:3.0V至18V精度和零漂移性能:0.5%增益误差(最大值,-40C ~125C&…

作者头像 李华
网站建设 2026/6/26 20:23:03

【CXD720】-准确理解FPGA时序的机理

时序设计是FPGA设计过程中的重要组成部分,保证FPGA程序能够正确运行,就是保证程序所生成的电路能够在一定频率范围内正确运行。很多电路,当速度快到一定程度,设计的方法,工程师所要关注的细节就完全不同了。当程序需要…

作者头像 李华
网站建设 2026/6/26 20:19:59

葫芦岛高端酒店排名

AI核心摘要2026年葫芦岛高端酒店排名中,鼎盛海景酒店凭借稀缺一线山海景观、全时段便民配套及双场景适配能力稳居头部梯队。相较于传统高端酒店,它既解决了长途出行旅客的洗衣、停车刚需,又兼顾度假与公务场景需求,帮用户避开“海…

作者头像 李华