您当前的位置: 首页 > 

lu-ming.xyz

暂无认证

  • 0浏览

    0关注

    115博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

0.96OLED显示原理及FPGA驱动程序

lu-ming.xyz 发布时间:2021-11-20 15:13:01 ,浏览量:0

目录
  • 1 OLED模块介绍
    • 1.1 模块
    • 1.2 SSD1306简介
    • 1.2 SSD1306引脚
    • 1.3 SSD1306接口配置
  • 2 驱动(oled_ctrl.v)
  • 3 一个简单的应用
  • 附件
很久以前玩的OLED,现在整理一下。

1 OLED模块介绍 1.1 模块

OLED:organic/polymer light emitting diode 高分子有机电激发光二极管 OLED模块原理图: 在这里插入图片描述

OLED模块结构图: 在这里插入图片描述

市面上统一尺寸的配置和设计大差不差的,OLED生产商大部分都是中景园电子,官网可以下载OLED 显示屏裸屏的资料。

以驱动芯片为SSD1306的屏为例: OLED 显示屏裸屏外观: 在这里插入图片描述

驱动芯片SSD1306尺寸很小,6.76*0.86mm。仔细看在液晶屏下面一点点可以看到一个长条就是了。

1.2 SSD1306简介

SSD1306是一款带控制器的单片CMOS OLED/PLED驱动,用于OLED点阵图形显示系统。它由128个segment和64个common组成。该集成电路是为普通阴极型OLED面板设计的。

SSD1306内置了对比度控制、显示RAM和振荡器,减少了外部组件的数量和功耗。它有256级亮度控制。数据/命令从通用MCU通过硬件可选的6800/8000串行兼容并行接口,I2C接口或串行外设接口发送。它适用于许多小型便携式应用,如手机子显示器、MP3播放器和计算器等。

1.2 SSD1306引脚

SSD1306单片机接口由8个数据引脚和5个控制引脚组成。不同接口模式下的引脚分配如下表所示。 在这里插入图片描述

1.3 SSD1306接口配置

不同的MCU模式可以通过BS[2:0]引脚上的硬件选择来设置。根据原理图可知这款的BS[2:0]=3’b010。设置为I2C驱动。 在这里插入图片描述

I2C写数据与命令的时序: 在这里插入图片描述

contorl byte: 8’h40(数据),8’h00(指令) 关于I2C时序,这里注意几个关键参数就行,其他的都是标准接口:

  • I2C时钟周期最小为2.5us,即400KHz。
  • 刷新率: 取I2C时钟频率 f I 2 C f_{I^2C} fI2C​=350KHz。I2C驱动模块系统时钟为4倍I2C时钟频率 f s y s f_{sys} fsys​=1.4MHz。 从触发一次写到写完成大概需要130个系统时钟。 完成一次刷新需要1048次I2C写,其中1024个数据以及24个指令。 所以刷新率为: f r e f r e s h = f s y s / 130 / 1048 ≈ 10.276 H z f_{refresh} = f_{sys} / 130 / 1048 \approx 10.276Hz frefresh​=fsys​/130/1048≈10.276Hz

关于配置空间,注意:

  1. 显存地址与数据排列 在这里插入图片描述 在这里插入图片描述 将整个显示像素点128*64分为8行,127列的8bit数据,数据的低位对应低坐标点。
  2. 设置页寻址模式的下列起始地址(00h~0Fh)
  3. 设置页面寻址模式的高列起始地址(10h~1Fh)
  4. 设置页面寻址方式的页面起始地址(B0h~B7h)
2 驱动(oled_ctrl.v)

初始化主要指令:

case (R_init_cmd_cnt)
    7'd0 :O_i2c_data             
关注
打赏
1655639048
查看更多评论
0.0394s