具體的硬件和軟件 網上都有開源資料, 這里不多說。
但是網上的版本和我手上的硬件不太一樣, 所以發了我手上的實物連接圖。
我們看幾個技術細節:
網上 普遍認為 , EPD屏驅動是 UC8151
但是 實際上不對。 實際上是 IL0373
因為 UC8151 不需要配置 LUT 0x20-0x24 , 但該屏在單色模式,必須配置 LUT。
這種EPD 寄存器比一般屏還少一點, 本來應該更簡單, 但是實際上驅動很麻煩。
該屏幕 全局刷新時, 需要填寫 6KB 的全局緩沖區(/8壓縮后),如果是3色屏,則需要額外的 6KB 緩沖空間, 所以對單片機RAM要求高.
該屏幕 局部刷新時, 可以只建立局部區域的緩沖區,刷新和RAM會減少。 寫入兩次,一次寫入需要反色消去數據, 第二次寫入要顯示值
反色消除原理: 讓白色的墨水全部回到上面, 黑色的全部回到下面。例如僅(10,10) 目前是黑的, 即此時 黑色墨水在上,白色在下;
這時候寫入反色(白色)消除原來的數據, 僅將這一位上下顏色翻轉,從而避免了全部翻轉速度很慢的問題。
但這里有個問題, 單個點的翻轉電場會影響到周圍點, 導致數次以后,周圍值被改變了,導致模糊。所以不能連續很多次僅局部刷新。
例如 CC2510 這樣的MCU , 最大 RAM 只有 4KB , 沒辦法支持全屏緩沖,即便單色也不夠。
=====兩種方案====
對于RAM巨大的高檔MCU:
采用 全緩沖模式, 建立 6KB 的全緩沖區, 3色模式 需要 12KB 全緩沖區
所有函數全部操作內存緩沖區, 最后刷入屏內存, 這個和平時單色屏BUFFER模式并沒區別;
但是大容量MCU耗電自然也高,用來驅動這種超低速為了極致省電的屏的意義實在不大。
對于小容量的低功耗MCU:
一般RAM都在 6KB 以下, 建立內存全緩沖是不可能了。
但出現另外一個問題, 沒有緩沖就不知道先前顯示的內容, 也就沒法反刷OLD數據,導致不支持局部刷新。
而全屏刷新又非常的慢,而且刷新閃爍極為嚴重。
所以 , 墨水屏 適合一次寫入 內容不再經常修改的情況。對于例如 時鐘 這樣的應用, 墨水屏并不合適。
我前面的嘗試是這樣的, 日期 星期 和背景的PANDA 一起, 每小時 全局刷新一次, 只有 一個 144 x50 的時鐘區域, 是局部刷新,
每分鐘刷一次。 即使這樣,其實效果也不是很理想。
現在墨水屏已經廉價到 帶MCU 都不到 5元, 雖然實用有些雞肋, 但玩玩還是可以的。
后期 的 墨水屏 都不是 51單片機了 , 一般都是 ARM M0 架構的, 完全不兼容了。
|