驴友花雕
发表于 2021-11-2 17:09:40
主控芯片使用 泰凌微TLSR8359F512ET32 (带蓝牙的32-bit RISC V MCU,48MHz)
驴友花雕
发表于 2021-11-2 17:12:08
泰凌微TLSR8359相关参数
驴友花雕
发表于 2021-11-2 17:18:23
泰凌微TLSR8359结构框图
驴友花雕
发表于 2021-11-2 17:20:28
泰凌微TLSR8359芯片引脚图
驴友花雕
发表于 2021-11-2 17:30:58
泰凌微TLSR8359集成开发环境和工具
https://www.telink-semi.cn/for-developers/
驴友花雕
发表于 2021-11-2 17:36:03
泰凌微TLSR8359应用方案——电子货架标签
http://wiki.telink-semi.cn/wiki/solution/ESL/=
驴友花雕
发表于 2021-11-2 17:40:14
泰凌微TLSR8359相关资源
http://wiki.telink-semi.cn/wiki/solution/ESL/
驴友花雕
发表于 2021-11-2 17:43:00
泰凌烧录板
驴友花雕
发表于 2021-11-2 17:46:29
本帖最后由 驴友花雕 于 2021-11-2 17:49 编辑
泰凌微TLSR8359相关技术文档
http://wiki.telink-semi.cn/wiki/chip-series/TLSR835x-Series/
http://wiki.telink-semi.cn/doc/ds/DS_TLSR8359-E_Datasheet%20for%20Telink%20ULP%202.4GHz%20RF%20SoC%20TLSR8359.pdf
驴友花雕
发表于 2021-11-5 05:46:40
本帖最后由 驴友花雕 于 2021-11-17 14:04 编辑
这里要感谢aladdincp提供了四块电子标价签模块,才有了这次的学习与尝试的机会。
用户手册
https://www.waveshare.com/w/uplo ... -user-manual-en.pdf
waveshare/e-Paper 相关库
https://github.com/waveshare/e-Paper/tree/master/Arduino
关于制作新字体的说明
https://wavesharejfs.blogspot.co ... -waveshare-spi.html
为电子纸制作BMP文件
https://www.waveshare.com/wiki/E-Paper_Floyd-Steinberg
驴友花雕
发表于 2021-11-5 06:52:06
本帖最后由 驴友花雕 于 2021-11-5 07:02 编辑
关于电子纸墨水屏价签模块的破解,最近一段时间查看了国内国外的不少文章,这里比较赞同杭州创酷动力研发工程师Xiaole.Tao的三层破解思路。
第一、主板MCU芯片破解
通过程序烧录接口直接重写主板的MCU程序M3单色版本芯片(MSP430G)破解例子http://bbs.eeworld.com.cn/thread-1136730-1-1.html这个帖子是同样芯片的https://www.mydigit.cn/forum.php?mod=viewthread&tid=169620
CC2640R2F的芯片编程,使用CCS(TI Code Composer Studio)或者IAR(IAR Embedded Workbench)进行开发,详情参考此网页http://www.leconiot.com/download/cc2640r2f/get_started/development_environment_set_up/development_environment_set_up.html芯片使用JLink, ccdebuger或者ft2232h工具下载程序到CC2640R2F。CCS with Jlink:https://www.segger.com/products/debug-probes/j-link/technology/ides/ti-code-composer/
TLSR8359 是作为nRF24L01的国产替代芯片出现的,性能略高,RISC V架构。使用Telink自己的IDE(Eclipse based) Telink IDE进行开发。http://wiki.telink-semi.cn/wiki/IDE-and-Tools/IDE-for-TLSR8-Chips/使用Telink专用的Telink Burning and Debugging Tool (BDT) 下载程序http://wiki.telink-semi.cn/wiki/IDE-and-Tools/Burning-and-Debugging-Tools-for-all-Series/
驴友花雕
发表于 2021-11-5 07:01:57
第二、主版SPI破解从现有主板上接出SPI排针,仅使用主板上的SPI驱动。把主板上的MCU和MCU周边器件吹掉,不然SPI通信的时候原主板MCU有同样的vcc引脚连接,上电后原MCU有可能会输出电平到SPI口影响通信。主板SPI破解实例,不同厂家的墨水价签,仅参考https://www.youtube.com/watch?v=RUoMztFxUpE2.13寸破解SPIhttps://www.mydigit.cn/forum.php?mod=viewthread&tid=200156
第三、仅拆下屏幕使用拆下屏幕当作裸屏使用。自己做驱动板(也可以买)。可以单驱动引出spi线当作开发板屏幕,也可以直接做把屏幕插在驱动板上画上MCU做成产品。拆屏幕用的例子https://blog.csdn.net/m0_46622606/article/details/108894337
附录Xiaole.Tao原文链接:
《汉朔(Hanshow)三色电纸墨水价签研究》
https://oshwhub.com/article/research-of-hanshow-epaper
Xiaole.Tao的开源项目
https://tairraos.github.io/
驴友花雕
发表于 2021-11-5 07:36:44
使用裸屏,需要带FPC卡座的驱动板来连接MCU单片机,为保险起见,我在网上找到了二款驱动板,一款7元,一款45元。
7元这款买了三片,24p和34p,不足的是还要一周后才能发货。
驴友花雕
发表于 2021-11-5 08:07:55
电子纸 墨水屏裸屏 驱动板大概这个样子
驴友花雕
发表于 2021-11-5 08:10:11
连接图
驴友花雕
发表于 2021-11-14 14:11:05
终于收到做实验用的四张驱动板实物
驴友花雕
发表于 2021-11-16 10:31:49
接入8排线插头
驴友花雕
发表于 2021-11-16 10:35:33
驱动板接口说明
VCC :3.3V/5V
GND :GND
DIN :SPI通信MOSI引脚
CLK :SPI通信SCK引脚
CS :SPI片选引脚(低电平有效)
DC :数据/命令控制引脚(高电平表示数据,低电平表示命令)
RST :外部复位引脚(低电平复位)
BUSY :忙状态输出引脚(低电平表示忙)
Arduino uno 实验接线
驴友花雕
发表于 2021-11-16 11:02:37
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十七:EPD Eink 电子墨水显示器 SUNY 2.9 英寸 EPD 屏幕无线数字电子纸显示器模块DEPG0290RWS800F6黑白红三色墨水屏(珠海三一科技)
项目之一:黑白色电子钟(测试2.13黑白屏)
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十七:EPD Eink 电子墨水显示器 SUNY 2.9 英寸 EPD 屏幕无线数字电子纸显示器模块DEPG0290RWS800F6黑白红三色墨水屏(珠海三一科技)
实验说明:使用傲雪驱动库e-Paper
项目之一:黑白色电子计时器(测试2.13黑白屏)
*/
#include <SPI.h>
#include "epd2in13.h"
#include "epdpaint.h"
#include "imagedata.h"
#define COLORED 0
#define UNCOLORED 1
/**
由于 Arduino UNO 中的 RAM 不足,不允许使用帧缓冲区。
在这种情况下,分配了一个较小的图像缓冲区,您必须
多次更新部分显示。
1 个字节 = 8 个像素,因此您必须一次设置 8*N 个像素。
*/
unsigned char image;
Paint paint(image, 0, 0);
Epd epd;
unsigned long time_start_ms;
unsigned long time_now_s;
void setup() {
Serial.begin(9600);
if (epd.Init(lut_full_update) != 0) {
Serial.print("e-Paper init failed");
return;
delay(1000);
}
epd.ClearFrameMemory(0xFF); // 位设置 = 白色,位重置 = 黑色
paint.SetRotate(ROTATE_0);
paint.SetWidth(128); // 宽度应该是 8 的倍数
paint.SetHeight(24);
//为简单起见,参数是明确的数字坐标
paint.Clear(COLORED);
paint.DrawStringAt(30, 4, "Hello world!", &Font12, UNCOLORED);
epd.SetFrameMemory(paint.GetImage(), 0, 10, paint.GetWidth(), paint.GetHeight());
delay(1000);
paint.Clear(UNCOLORED);
paint.DrawStringAt(30, 4, "e-Paper Demo", &Font12, COLORED);
epd.SetFrameMemory(paint.GetImage(), 0, 30, paint.GetWidth(), paint.GetHeight());
paint.SetWidth(64);
paint.SetHeight(64);
paint.Clear(UNCOLORED);
paint.DrawRectangle(0, 0, 40, 50, COLORED);
paint.DrawLine(0, 0, 40, 50, COLORED);
paint.DrawLine(40, 0, 0, 50, COLORED);
epd.SetFrameMemory(paint.GetImage(), 16, 60, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawCircle(32, 32, 30, COLORED);
epd.SetFrameMemory(paint.GetImage(), 72, 60, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawFilledRectangle(0, 0, 40, 50, COLORED);
epd.SetFrameMemory(paint.GetImage(), 16, 130, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawFilledCircle(32, 32, 30, COLORED);
epd.SetFrameMemory(paint.GetImage(), 72, 130, paint.GetWidth(), paint.GetHeight());
epd.DisplayFrame();
delay(2000);
if (epd.Init(lut_partial_update) != 0) {
Serial.print("e-Paper init failed");
return;
delay(1000);
}
/**
电子纸显示器中嵌入了2个内存区域
一旦显示刷新,内存区域将自动切换,
即 SetFrameMemory 的下一个动作将设置其他内存区域
因此您必须设置帧存储器并刷新显示两次。
*/
epd.SetFrameMemory(IMAGE_DATA);
epd.DisplayFrame();
epd.SetFrameMemory(IMAGE_DATA);
epd.DisplayFrame();
time_start_ms = millis();
}
void loop() {
time_now_s = (millis() - time_start_ms) / 1000;
char time_string[] = {'0', '0', ':', '0', '0', '\0'};
time_string = time_now_s / 60 / 10 + '0';
time_string = time_now_s / 60 % 10 + '0';
time_string = time_now_s % 60 / 10 + '0';
time_string = time_now_s % 60 % 10 + '0';
paint.SetWidth(32);
paint.SetHeight(96);
paint.SetRotate(ROTATE_90);
paint.Clear(UNCOLORED);
paint.DrawStringAt(0, 4, time_string, &Font24, COLORED);
epd.SetFrameMemory(paint.GetImage(), 80, 72, paint.GetWidth(), paint.GetHeight());
epd.DisplayFrame();
delay(500);
}
驴友花雕
发表于 2021-11-16 11:06:30
实验场景图
驴友花雕
发表于 2021-11-16 11:07:14