標(biāo)題: TI CC2510 51單片機(jī)驅(qū)動(dòng)SES墨水屏的一些技術(shù)細(xì)節(jié) [打印本頁]

作者: ppcbug    時(shí)間: 2024-9-5 23:01
標(biāo)題: TI CC2510 51單片機(jī)驅(qū)動(dòng)SES墨水屏的一些技術(shù)細(xì)節(jié)




具體的硬件和軟件 網(wǎng)上都有開源資料, 這里不多說。
但是網(wǎng)上的版本和我手上的硬件不太一樣, 所以發(fā)了我手上的實(shí)物連接圖。
我們看幾個(gè)技術(shù)細(xì)節(jié):
網(wǎng)上 普遍認(rèn)為 , EPD屏驅(qū)動(dòng)是 UC8151
但是 實(shí)際上不對(duì)。 實(shí)際上是  IL0373
因?yàn)?UC8151 不需要配置 LUT 0x20-0x24 , 但該屏在單色模式,必須配置 LUT。

這種EPD 寄存器比一般屏還少一點(diǎn), 本來應(yīng)該更簡單, 但是實(shí)際上驅(qū)動(dòng)很麻煩。
該屏幕 全局刷新時(shí), 需要填寫 6KB 的全局緩沖區(qū)(/8壓縮后),如果是3色屏,則需要額外的 6KB 緩沖空間, 所以對(duì)單片機(jī)RAM要求高.
該屏幕 局部刷新時(shí), 可以只建立局部區(qū)域的緩沖區(qū),刷新和RAM會(huì)減少。 寫入兩次,一次寫入需要反色消去數(shù)據(jù), 第二次寫入要顯示值
反色消除原理: 讓白色的墨水全部回到上面, 黑色的全部回到下面。例如僅(10,10) 目前是黑的, 即此時(shí) 黑色墨水在上,白色在下;
這時(shí)候?qū)懭敕瓷ò咨┫瓉淼臄?shù)據(jù), 僅將這一位上下顏色翻轉(zhuǎn),從而避免了全部翻轉(zhuǎn)速度很慢的問題。
但這里有個(gè)問題, 單個(gè)點(diǎn)的翻轉(zhuǎn)電場會(huì)影響到周圍點(diǎn), 導(dǎo)致數(shù)次以后,周圍值被改變了,導(dǎo)致模糊。所以不能連續(xù)很多次僅局部刷新。
例如 CC2510 這樣的MCU , 最大 RAM 只有 4KB , 沒辦法支持全屏緩沖,即便單色也不夠。


=====兩種方案====
對(duì)于RAM巨大的高檔MCU:
采用 全緩沖模式, 建立 6KB 的全緩沖區(qū), 3色模式 需要 12KB 全緩沖區(qū)
所有函數(shù)全部操作內(nèi)存緩沖區(qū), 最后刷入屏內(nèi)存, 這個(gè)和平時(shí)單色屏BUFFER模式并沒區(qū)別;
但是大容量MCU耗電自然也高,用來驅(qū)動(dòng)這種超低速為了極致省電的屏的意義實(shí)在不大。

對(duì)于小容量的低功耗MCU:
一般RAM都在 6KB 以下, 建立內(nèi)存全緩沖是不可能了。
但出現(xiàn)另外一個(gè)問題, 沒有緩沖就不知道先前顯示的內(nèi)容, 也就沒法反刷OLD數(shù)據(jù),導(dǎo)致不支持局部刷新。
而全屏刷新又非常的慢,而且刷新閃爍極為嚴(yán)重。

所以 , 墨水屏 適合一次寫入 內(nèi)容不再經(jīng)常修改的情況。對(duì)于例如 時(shí)鐘 這樣的應(yīng)用, 墨水屏并不合適。

我前面的嘗試是這樣的, 日期 星期 和背景的PANDA 一起, 每小時(shí) 全局刷新一次, 只有 一個(gè) 144 x50 的時(shí)鐘區(qū)域, 是局部刷新,
每分鐘刷一次。 即使這樣,其實(shí)效果也不是很理想。

現(xiàn)在墨水屏已經(jīng)廉價(jià)到 帶MCU 都不到 5元, 雖然實(shí)用有些雞肋, 但玩玩還是可以的。
后期 的 墨水屏 都不是 51單片機(jī)了 , 一般都是 ARM M0 架構(gòu)的,  完全不兼容了。




作者: ppcbug    時(shí)間: 2024-9-6 14:30
圖中的那個(gè) 叮當(dāng)貓 是專門為這個(gè)屏 處理的。 分辨率是 146x152, 分成 黑白和紅色兩張圖。 附帶了取樣參數(shù)。
黑白:

紅色:

采樣參數(shù):


作者: ppcbug    時(shí)間: 2024-9-13 14:20


補(bǔ)充一張 Doraemon 實(shí)際顯示的三色圖。

                                                                #if UC8151_WIDTH  == 152
                                                                                                for (i = 0; i < sizeof(DORAEMON_BW146X152)-6; i++)//UC8151_BUF_LEN-sizeof(DORAEMON_BW146X152)+6
                                                                                                {
                                                                                                                *(UC8151_BW_DATA+i)=~DORAEMON_BW146X152[i+6];                                                                
                                                                                                }   
                                                                                                for (i = 0; i < sizeof(DORAEMON_R146X152)-6; i++)//UC8151_BUF_LEN-sizeof(DORAEMON_BW146X152)+6
                                                                                                {
                                                                                                                *(UC8151_R_DATA+i)=DORAEMON_R146X152[i+6];                                                                
                                                                                                }                                                                                                
       
                                                                                                               
                                                                #endif

注意 黑色賦值前面的 ~ 號(hào)。
作者: ppcbug    時(shí)間: 2024-9-13 14:22
黑底白字不多見, 這是對(duì)比圖。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1