701N屏幕驱动配置说明
701N屏幕驱动配置说明文档
珠海市杰理科技股份有限公司
Zhuhai Jieli Technology Co.,LTD
版权所有,未经许可,禁止外传
修改记录
| 版本 | 更新日期 | 描述 |
|---|---|---|
| 1.0 | 2021 / 12 / 13 | 701N watch屏幕驱动配置使用手册 |
| 更新: | ●建立初始版本 |
目录
一、 整体介绍...................................................................................................... 4
(一) 编写目的.........................................................................................................................................4
(二) 规格.................................................................................................................................................4
二、 SPI屏接口时序...........................................................................................5
(一) 3-wire SPI时序以及配置............................................................................................................... 5
(二) 3-wire DSPI时序以及配置............................................................................................................6
(三) 4-wire SPI时序以及配置...............................................................................................................8
(四) 4-wire DSPI时序以及配置.......................................................................................................... 10
(五) QSPI时序以及配置......................................................................................................................11
三、 屏幕驱动参数配置说明............................................................................ 15
(一) 板级配置....................................................................................................................................... 15
(二) 屏幕相关参数配置....................................................................................................................... 16
(三) 屏幕接口注册............................................................................................................................... 18
四、 屏幕驱动具体配置.................................................................................... 20
(一) 配置相关说明...............................................................................................................................20
1. 4wire-spi ................................................................................................................................... 21
2. 4wire-dspi ................................................................................................................................. 23
3. 3wire-spi ................................................................................................................................... 24
4. 3wire-dspi ................................................................................................................................. 25
5. qspi ........................................................................................................................................... 26
五、 客户常见问题反馈解答............................................................................28
Q1:3wire-SPI和4wire-SPI有什么区别? ................................................................................................28
一、整体介绍
(一)编写目的
该文档主要描述701x_SDK开发包的屏幕驱动配置的使用说明及开发中注意的一些问题,为用户进行二次开发提供参考。
(二)规格
701x 系列芯片的硬件推屏模块可支持SPI屏( SPI/DSPI/QSPI)、8bit MCU 屏以及8bit RGB屏,颜色类型支持RGB565、RGB666 以及RGB888,最大可支持480x480分辨率。
二、SPI屏接口时序
(一)3-wire SPI 时序以及配置
(1) RGB565, 1P2T, 1T 8B
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P2T |PIXEL_ 1T 8B)
(2) RGB666, 1P3T, 1T 8B
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T 8B)
(3) RGB565, 1T 16B
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 16B)
(4) RGB666, 1T 18B
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 18B)
(5) RGB888, 1T24B
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T24B)
(二)3-wire DSPI 时序以及配置
(1) RGB565, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 8B)
(2) RGB666, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T9B)
(3) RGB666, 2P3T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_2P3T |PIXEL_ 1T6B)
(4) RGB888, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 12B)
(5) RGB888, 2P3T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE3)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_2P3T |PIXEL_ 1T 8B)
(三)4-wire SPI 时序以及配置
(1) RGB565
配置:
| #define SPI_IF_MODE | ( SPI_MODE| SPI_WIRE4) | | --- | --- | | #define OUT_FORMAT | FORMAT_RGB565 | | #define PIXEL_TYPE | (PIXEL_ 1P 1T |PIXEL_ 1T 16B) | | 或
#define SPI_IF_MODE | ( SPI_MODE| SPI_WIRE4) | | #define OUT_FORMAT | FORMAT_RGB565 | | #define PIXEL_TYPE | (PIXEL_ 1P2T |PIXEL_ 1T 8B) |
(2) RGB666
配置:
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 18B)或
#define SPI_IF_MODE ( SPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T 8B)
(3) RGB888
配置:
| #define SPI_IF_MODE | ( SPI_MODE| SPI_WIRE4) | | --- | --- | | #define OUT_FORMAT | FORMAT_RGB888 | | #define PIXEL_TYPE | (PIXEL_ 1P 1T |PIXEL_ 1T24B) | | 或
#define SPI_IF_MODE | ( SPI_MODE| SPI_WIRE4) | | #define OUT_FORMAT | FORMAT_RGB888 | | #define PIXEL_TYPE | (PIXEL_ 1P3T |PIXEL_ 1T 8B) |
(四)4-wire DSPI 时序以及配置
(1) RGB565, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 8B)
(2) RGB666, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T9B)
(3) RGB666,2P3T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_2P3T |PIXEL_ 1T6B)
(4) RGB888, 1P 1T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P 1T |PIXEL_ 1T 12B)
(5) RGB888,2P3T
配置:
#define SPI_IF_MODE (DSPI_MODE| SPI_WIRE4)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_2P3T |PIXEL_ 1T 8B)
(五)QSPI 时序以及配置
(1) RGB565
1 RGB565,mode 0(1 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE0)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P2T |PIXEL_ 1T 8B)
2 RGB565,mode 1(4 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE1)
#define OUT_FORMAT FORMAT_RGB565
#define PIXEL_TYPE (PIXEL_ 1P2T |PIXEL_ 1T2B)
(2) RGB666
1 RGB666,mode 0(1 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE0)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T 8B)
2 RGB666,mode 1(4 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE1)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T2B)
3 RGB666,mode 2(4 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE2)
#define OUT_FORMAT FORMAT_RGB666
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T2B)
(3) RGB888
1 RGB888,mode 0(1 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE0)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T 8B)
2 RGB888,mode 1(4 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE1)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T2B)
3 RGB888,mode 2(4 lane)
配置:
#define SPI_IF_MODE (QSPI_MODE|QSPI_SUBMODE2)
#define OUT_FORMAT FORMAT_RGB888
#define PIXEL_TYPE (PIXEL_ 1P3T |PIXEL_ 1T2B)
三、屏幕驱动参数配置说明
屏幕驱动三个部分的配置,分别为板级配置,屏幕相关参数配置以及屏幕接口配置。
(一)板级配置
板级配置主要是配置跟屏相关的普通io 口, 比如复位脚、背光脚、TE 脚等等。
.pin_reset : 复位脚
.pin_cs : 片选脚
.pin_rs : 命令/数据选择脚(4-wire spi/4-wire dspi)
.pin_bl : 背光控制脚(可接pwm输出,调节背光亮度)
.pin_dc : mcu屏数据/命令选择脚
.pin_en : 屏使能脚(可控制屏的电源开关)
.pin_te : te脚(不带te 的屏可不配)
(二)屏幕相关参数配置
scr_x/scr_y/scr_w/scr_h : SPI/MCU屏有效显示区域设置(可指定屏幕的部分或者全部区域)
in_width:显示缓存宽度(一般跟屏幕有效区域宽度scr_w相等)
in_height : 显示缓存高度(一般跟屏幕有效区域高度scr_h相等)
in_format : 显示缓存格式,一般选择RGB565,如果屏幕接口支持RGB888 格式, 同时想要更好的显示效果可选RGB888,不过会消耗更多的内存。
enum OUTPUT_FORMAT {
OUTPUT_FORMAT_RGB888,
OUTPUT_FORMAT_RGB565,} ;
lcd_width : 屏幕的水平分辨率
lcd_height : 屏幕的垂直分辨率
lcd_type : 屏幕接口类型
typedef enum lcd_type_cfg {
LCD_TYPE_SPI,// SPI屏
LCD_TYPE_MCU,// MCU屏
LCD_TYPE_RGB,// RGB屏} LCD_TYPE;
buffer_num : buffer 的数量(范围:1~2),为了获得更好的性能,一般默认为 2
buffer_size : buffer 的大小,可支持分块(分块可以减少显示缓存的大小),分块的原则是水平方向不分块,垂直方向分块
fps:期望推屏帧率,会通过期望的帧率计算出合适的推屏时钟,可能会跟实际推屏帧率有偏差
spi_mode:参考Chapter 2
pixel_type:参考Chapter 2
out_format:参考Chapter 2
port:SPI 出口选择,SPI屏默认选择SPI_PORTA
#define SPI_PORTA 0
#define SPI_PORTB 1
注:SPI_PORTA支持SPI、DSPI、QSPI接口, SPI_PORTB只支持SPI
以及DSPI
spi_dat_mode:根据屏的 dat 脚是否为双向引脚来选择,一般默认选择 SPI_MODE_UNIDIR
#define SPI_MODE_UNIDIR 0//半双工,d0分时发送接收
#define SPI_MODE_BIDIR 1//全双工,d0发送、d1接收
debug_mode_en:调试模式,一般在调屏时打开,推纯色显示
debug_mode_color:调试模式颜色设置
(三)屏幕接口注册
logo:屏驱动名称,在有多个屏驱动的应用场合,用于匹配屏驱动的标识
row_addr_align:行对齐,根据屏幕手册设置,一般为 1
column_addr_align:列对齐,根据屏幕手册设置,一般为 1
lcd_cmd:初始化命令列表
cmd_cnt:命令数量
param:屏幕参数结构地址
reset:复位引脚接口,对复位时序有特殊要求时注册,否则使用内部通用的复位时序
backlight_ctrl:背光控制接口,熄屏/亮屏时调用
entersleep:屏幕休眠接口,熄屏时调用
exitsleep:屏幕唤醒接口,亮屏时调用
四、屏幕驱动具体配置
(一)配置相关说明
这里以一款RM69330控制器、454x454分辨率的圆屏为例进行说明。
从以上描述中可以看到,这款屏可以支持3-wire SPI、4-wire SPI、QSPI 以及8bit-MCU接口。
1.4wire-spi
(1) Lcd可读写
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏

3 板级配置

(2) Lcd只写
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏
3 板级配置

2.4wire-dspi
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏

3 板级配置

3.3wire-spi
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏
3 板级配置

4.3wire-dspi
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏

3 板级配置

5. qspi
1 硬件配置 IM[1:0]引脚电平配置为01
2 驱动配置
根据屏所支持的时序,参考701N屏幕驱动配置说明.docx,选择合适的宏

3 板级配置

五、客户常见问题反馈解答
Q1:3wire-SPI和4wire-SPI有什么区别?
请看下图:
3wire和4wire最主要的区别是有没有WRX脚,即我们通常说的命令/数据选择脚。
同时3wire和4wire还有interface I和interface II 的区分,interface I是半双工的,interfaceII是全双工的。
