(说明:本文没有详细描写有关QSPI通信时的细节,只是作为一个简要记录,说明一下QSPI驱动屏幕时的一些要点)
1、引脚说明:
(1)LED_K:LCD屏背光负极
(2)LED_A:LCD屏背光正极
(该应用中,LED_A常供电3.3V,通过调节LED_K来控制背光的亮灭)
(3)LCD_CS:片选脚,低电平选中
(4)LCD_DA0:QSPI通信0脚
(5)LCD_DA1:QSPI通信1脚
(6)LCD_DA2:QSPI通信2脚
(7)LCD_DA3:QSPI通信3脚
(8)LCD_CLK:QSPI通信始终脚
(9)LCD_RST:复位脚
注:有些驱动IC还需要LCD_RS脚,用于控制当前发送的是命令还是数据,NV3030B不需要
2、空闲时各引脚电平说明:
LED_K:高或悬空,关闭背光;
LCD_CS:高,没有选中IC;
LCD_CLK:高,空闲电平默认为高,驱动IC-NV3030B在CLK上升沿采样数据;
LCD_RST:高,需要复位时下拉RST脚100ms,再拉高即可
LCD_DA0~LCD_DA3:高,QSPI通信时的数据引脚,半双工通信;发送命令阶段都是通过LCD_DA0单线进行的,只有在发送图片数据时才会使用到LCD_DA1~LCD_DA3
3、通信时序图:
(1)发送命令,以及给寄存器发送数据时只使用三根线CS,CLK,DA0,而DA1~DA3固定为高阻或高,RST为高,时序图如下(DA0在CLK下降沿切换数据,上升沿保持数据稳定):
(2)发送图像数据时使用6根线CS,CLK,DA0,DA1,DA2,DA3,而RST固定为高,时序图如下(DA0~DA3在CLK下降沿切换数据,上升沿保持数据稳定):
在传输数据高4位时,DA3~DA0分别表示Bit7~Bit4;
在传输数据低4位时,DA3~DA0分别表示Bit3~Bit0;
4、例程:
.h文件:
//------------------------------------------------------
#define RED 0xF800 //定义颜色常量
#define GREEN 0x07E0
#define BLUE 0x001F
#define WHITE 0xFFFF
#define BLACK 0x0000
#define GRAY 0xEF5D //0x2410
#define GRAY75 0x39E7
#define GRAY50 0x7BEF
#define GRAY25 0xADB5
//------------------------------------------------------
#define QSPI_CS_PIN 34 //片选脚
#define QSPI_CLK_PIN 35 //时钟脚
#define QSPI_RS_PIN 38 //数据/命令脚
#define QSPI_DA0_PIN 40 //数据脚0
#define QSPI_DA1_PIN 41 //数据脚1
#define QSPI_DA2_PIN 11 //数据脚2
#define QSPI_DA3_PIN 12 //数据脚3
#define QSPI_BL_EN_PIN 33 //背光使能脚
#define QSPI_RST_PIN 37 //硬件复位脚
#define QSPI_PWR_EN_PIN 22 //LCD的VCC使能脚
#define QSPI_CS_Clr() nrf_gpio_pin_clear(QSPI_CS_PIN)//CS1
#define QSPI_CS_Set() nrf_gpio_pin_set(QSPI_CS_PIN)
#define QSPI_CLK_Clr() nrf_gpio_pin_clear(QSPI_CLK_PIN);
#define QSPI_CLK_Set() nrf_gpio_pin_set(QSPI_CLK_PIN)
#define QSPI_RS_Clr() nrf_gpio_pin_clear(QSPI_RS_PIN)//DC
#define QSPI_RS_Set() nrf_gpio_pin_set(QSPI_RS_PIN)
#define QSPI_DA0_Clr() nrf_gpio_pin_clear(QSPI_DA0_PIN)
#define QSPI_DA0_Set() nrf_gpio_pin_set(QSPI_DA0_PIN)
#define QSPI_DA1_Clr() nrf_gpio_pin_clear(QSPI_DA1_PIN)
#define QSPI_DA1_Set() nrf_gpio_pin_set(QSPI_DA1_PIN)
#define QSPI_DA2_Clr() nrf_gpio_pin_clear(QSPI_DA2_PIN)
#define QSPI_DA2_Set() nrf_gpio_pin_set(QSPI_DA2_PIN)
#define QSPI_DA3_Clr() nrf_gpio_pin_clear(QSPI_DA3_PIN)
#define QSPI_DA3_Set() nrf_gpio_pin_set(QSPI_DA3_PIN)
#define QSPI_BLK_Clr() nrf_gpio_pin_clear(QSPI_BL_EN_PIN)//BLK
#define QSPI_BLK_Set() nrf_gpio_pin_set(QSPI_BL_EN_PIN)
#define QSPI_RES_Clr() nrf_gpio_pin_clear(QSPI_RST_PIN)//RES
#define QSPI_RES_Set() nrf_gpio_pin_set(QSPI_RST_PIN)
#define QSPI_PWR_EN_Clr() nrf_gpio