一、电子纸刷新方式介绍
刷新方式一般有全刷(常规刷新方式,刷新时间长,显示效果好)、局刷(分单色局刷和三色局刷,刷新时间短,通常局刷5次后需进行全刷或清屏)、快刷(全刷拓展方式,刷新时间短,画面快速更新)、局部全刷(局部进行全刷更新内容,全刷部分显示效果好)等方式。
二、使用平台
为方便用户更高效的了解及使用电子纸,大连佳显提供多种开发方案驱动电子纸显示屏,以下主要介绍STM32、ESP32、ESP8266开发板驱动电子纸显示屏,也可使用相应转接板搭配Arduino、Raspberry Pi 或者 Raspberry Pi Pico驱动电子纸显示屏及并口屏及驱动方案,如需了解详情,请联系我们或者登陆大连佳显官方网站进行查看。电子纸显示屏主要使用GDEW029T5D。
三、硬件连接及IO设置
以上所列开发平台软硬件中已定义好IO口,只需将电子纸驱动板对插到相应主板即可,无需您进行跳线等操作连接电子纸显示屏,使用不同的刷新方式不需更改硬件只需修改软件即可,下文将为您介绍具体使用的IO口。
电子纸显示屏驱动板原理图如下:
四、刷新效果
1、以下图为例,以GDEW029T5D为例,如果想改变下图片的数字部分,可以使用以下几种刷新方式实现。
全刷:常规刷新方式,每次更新内容屏幕都会闪烁,因此刷新时长,显示效果好。
局刷:局刷(单色局刷,刷新时间短,通常局刷5次后需进行全刷或清屏)。
快刷:全刷拓展方式,刷新时间短,整幅画面快速更新。
局部全刷: 局部进行全刷更新内容,全刷部分显示效果好。
2、三色电子纸局部刷新
当使用三色电子纸时,常常会被十多秒的刷新时间所困扰,如果只是更新少部分内容可以考虑三色局刷功能。以GDEW029Z13为例,刷新效果如下:
五、刷新时间及电流
以下测试结果为相同条件下使用相同电子纸显示屏(GDEW029T5D或GDEW029Z13)使用不同刷新方式的典型值。
六、代码对比
1、GDEW029T5D(单色)
主函数
全刷:
- EPD_init();
- PIC_display(gImage_1);
- EPD_sleep();
- delay_s(2);
复制代码 局刷:
- EPD_init_4Gray();
- EPD_partial_display(0,0,gImage_run1,gImage_run1,296,128,0);
- EPD_partial_display(0,0,gImage_run1,gImage_run2,296,128,1);
- EPD_partial_display(0,0,gImage_run2,gImage_run3,296,128,1);
复制代码 快刷:
- EPD_display_init();
- EPD_full_display(gImage_1,gImage_1,0);
- EPD_deep_sleep();
- EPD_display_init();
- EPD_full_display(gImage_1,gImage_2,1);
- EPD_deep_sleep();
- EPD_display_init();
- EPD_full_display(gImage_2,gImage_3,1);
- EPD_deep_sleep();
复制代码 局部全刷:
- EPD_init();
- PIC_display(gImage_1);
- EPD_sleep();
- EPD_partial_display_Full(0,144,gImage_22,152,128,0);
- EPD_partial_display_Full(0,144,gImage_33,152,128,0);
- EPD_sleep();
复制代码 初始化函数
全刷、局部全刷:
- void EPD_init(void)
- {
- EPD_W21_Init(); //Electronic paper IC reset
-
- EPD_W21_WriteCMD(0x04);
- lcd_chkstatus();//waiting for the electronic paper IC to release the idle signal
- EPD_W21_WriteCMD(0x00); //panel setting
- EPD_W21_WriteDATA(0x1f);
- EPD_W21_WriteCMD(0x61); //resolution setting
- EPD_W21_WriteDATA (0x80);
- EPD_W21_WriteDATA (0x01);
- EPD_W21_WriteDATA (0x28);
-
- EPD_W21_WriteCMD(0X50); //VCOM AND DATA INTERVAL SETTING
- EPD_W21_WriteDATA(0x97);
- }
复制代码 局刷:
- void EPD_init_4Gray(void)
- {
- HRES=0x80; //128
- VRES_byte1=0x01; //296
- VRES_byte2=0x28;
- EPD_W21_Init();
- EPD_W21_WriteCMD(0x01); //POWER SETTING
- EPD_W21_WriteDATA (0x03);
- EPD_W21_WriteDATA (0x00);
- EPD_W21_WriteDATA (0x2b);
- EPD_W21_WriteDATA (0x2b);
- EPD_W21_WriteDATA (0x13);
- EPD_W21_WriteCMD(0x06); //booster soft start
- EPD_W21_WriteDATA (0x17); //A
- EPD_W21_WriteDATA (0x17); //B
- EPD_W21_WriteDATA (0x17); //C
-
- EPD_W21_WriteCMD(0x04);
- lcd_chkstatus();
-
- EPD_W21_WriteCMD(0x00); //panel setting
- EPD_W21_WriteDATA(0xbf);
-
- EPD_W21_WriteCMD(0x30); //PLL setting
- EPD_W21_WriteDATA (0x3c); //100hz
-
- EPD_W21_WriteCMD(0x61); //resolution setting
- EPD_W21_WriteDATA (HRES);
- EPD_W21_WriteDATA (VRES_byte1);
- EPD_W21_WriteDATA (VRES_byte2);
- EPD_W21_WriteCMD(0x82); //vcom_DC setting
- EPD_W21_WriteDATA (0x10);
- EPD_W21_WriteCMD(0X50); //VCOM AND DATA INTERVAL SETTING
- EPD_W21_WriteDATA(0x97);
- }
复制代码 快刷:
- void EPD_display_init(void)
- {
- HRES=0x80; //128
- VRES_byte1=0x01; //296
- VRES_byte2=0x28;
- EPD_W21_Init();
- EPD_W21_WriteCMD(0x01); //POWER SETTING
- EPD_W21_WriteDATA (0x03);
- EPD_W21_WriteDATA (0x00);
- EPD_W21_WriteDATA (0x2b);
- EPD_W21_WriteDATA (0x2b);
- EPD_W21_WriteDATA (0x03);
- EPD_W21_WriteCMD(0x06); //boost soft start
- EPD_W21_WriteDATA (0x17); //A
- EPD_W21_WriteDATA (0x17); //B
- EPD_W21_WriteDATA (0x17); //C
- EPD_W21_WriteCMD(0x04);
- lcd_chkstatus();
- EPD_W21_WriteCMD(0x00); //panel setting
- EPD_W21_WriteDATA(0xbf);
- EPD_W21_WriteDATA(0x0d); //VCOM to 0V fast
-
- EPD_W21_WriteCMD(0x30); //PLL setting
- EPD_W21_WriteDATA (0x3c); // 3a 100HZ 29 150Hz 39 200HZ 31 171HZ
- EPD_W21_WriteCMD(0x61); //resolution setting
- EPD_W21_WriteDATA (HRES);
- EPD_W21_WriteDATA (VRES_byte1);
- EPD_W21_WriteDATA (VRES_byte2);
-
- EPD_W21_WriteCMD(0x82); //vcom_DC setting
- EPD_W21_WriteDATA (0x12);
- EPD_W21_WriteCMD(0X50); //VCOM AND DATA INTERVAL SETTING
- EPD_W21_WriteDATA(0x97);
- }
复制代码 注:不同刷新方式的复位函数 EPD_W21_Init()、BUSY引脚状态检测函数 lcd_chkstatus()函数以及睡眠函数 EPD_Sleep均相同。不同刷新方式的显示函数均不同,具体请查看程序中的详细代码。
如需了解更多详情请联系我们。邮箱:lz@good-display.com,大连佳显电子官网也提供完整程序下载。www.good-display.cn
|