资料介绍
此次PSoC 6先锋套件的评测,其实还了作者自己的一个心愿,那就是对EInk屏幕的原理与驱动代码进行一个深入的分析。
作为9年前就开始使用电纸书进行阅读的本文作者,一直没有抽出时间与精力来对它的原理进行了解确实有点小小遗憾。希望本文能给有需要的朋友能带来一点知识和阅读的兴趣。Happy Reading and Happy Coding!
概览
先来两张效果图:
图 使用PSoC 6来驱动EInk图 使用另外一款开发板驱动EInk
近几年来,有感于中国人读书的数量较其他国家少(比如日本,德国等发达国家),不管是国家还是地方政府相继推出了不少倡导读书的活动:如"读书年","读书月","全民阅读"等等。不过起到的效果如何还是要看个人的自身觉悟情况,归根结底阅读还是属于个人行为。
就作者本人的体会来讲,从小是很喜欢读书,甚至到了干扰正常学习工作的程度。但是自从有了个人电脑,智能手机,读书时间便直线下降。因为电子版本的资源比起纸质版本的更加及时也更加丰富,导致本人有很长一段时间就没有摸过书,相信这也是我们这一代人共同的体验。真正让本人重拾书本认真阅读的就是电纸书这个技术。
2011年本人买了第一个电纸书,从此收不住了。到目前为止,作者拥有6,7个电纸书,不同的电纸书存放不同的书籍种类,如有的放小说,有的放政治历史,有的放外文,有的放时事等等。电纸书阅读给本人的体验就是看起来很舒服,如果配上了均匀的背光,看起来比真正的纸质书还要赏心悦目。当然这是本人的一家之言,也有人认为还是纸质的书好。不论如何,把电纸书技术列作本时代最伟大的发明之一不为过。
本文的主题就是评测Cypress PSoC 6 Pioneer Kit 配套的EInk模块。该模块是Cypress组装的,核心器件由龙亭新技生产,分辨率是264x176,显示密度是117dpi。由于PSoC 6双核,高性能,低功耗的特点,使得其非常适合驱动这种显示器件。当然在探究了其原理之后,后面将尝试移植驱动代码到其他器件上以验证这个学习过程。
需要指出的是,EInk模块不仅仅可以用作电纸书的面板,事实上目前业内应用的不少器件都可以使用EIink来替代以降低功耗。比如很多监控仪器的参数显示面板,如果使用LCD/OLED这种技术,电源不能停,但是其显示更新的频率其实很低,如每天更新只有几次甚至几天一次。如果换成仅仅更新需要电源,维持内容不需要电源的EInk,不仅功耗可大大降低,稳定性也会大大增强。
EInk硬件
先将CY8CKIT-028-EPD原理图的几个部分分别贴出来。
图 外部接口
按照Arduino接口来分布的,除了I2C是其他外设,其余引脚是EInk模块控制信号。除了SPI的4根线之外,还有电源控制,边界控制,放电控制,复位信号,状态信号。
图 电平转换
EINK模块可以被不同的主控板控制,VCC/VDD电压范围2.3v~3.6v,通过电平转换来进行电压匹配。
图 电源控制
因为维持显示内容不需要电源,所以不更新内容时,可以把COG 驱动power off当需要更新显示内容时,再把COG驱动power on。这对于其他技术的显示器来说是巨大的功耗节省。
图 Border控制
边界控制:当进行电子墨水颗粒处理的时候用来保持边框清晰度的一种控制信号,利用时序控制引脚来控制此信号。
图 Discharge控制
放电控制就是在更新完毕后,将EInk驱动的电容上的电荷放掉以进一步减少功耗。
图 核心模块
上图是EINK模块的显示原理图,也就是最终的显示面板。除了Border信号之外,其余信号跟一般的显示器也差不多。这是因为这个驱动器本身也有COG控制IC以简化外围驱动软硬件设计。
Cypress的这个模块除了EInk之外还有其他几个器件:Motion传感器,热敏电阻与PDM接口的麦克风。这些器件与PSoC 6的配合也是值得一写的,权且放在后面的文章中介绍,此文对它们暂且不题。
驱动方式
如何控制这个显示器,也就是如何控制其内置COG (Chip On Glass) 驱动控制IC,新亭原厂提供了驱动例程。大致顺序是先将内容放到COG控制IC的内存(这个内存(memory)可以是图像buffer,SRAM或者Flash)中,接着给COG驱动上电并且初始化COG驱动,然后按照特定的显示数据格式将存储在IC内存中的内容发送到EPD(E-Paper Dispaly)显示。更新EPD显示内容的三种方式:
●4步;
●2 步;
●部分更新。
其中4步更新是最耗时的,但是显示效果也最好(残影少)。2步更新是省去了其中两步,部分更新就是省去了大多数操作。如果原来显示的内容与新内容相差过大,则需要用4步更新,否则酌情减少步骤。当然所需要的更新时间与显示效果是一个Trade-Off关系,需要程序员折中处理。
一般的电纸书应用这样做的:第一次显示某本书使用4步更新,之后每页纸进行部分更新,若干页后进行2步更新,过了更长的阶段后再进行一次4步更新。对于4步更新,过程是这样的:
图 4步更新
注意因为这样的更新方式,所以每次显示都需要保持上次的内容以作取反之用。2步更新法就是省去了取反的过程,部分更新法则是直接显示新内容。本文所使用的显示器是264x176的点阵,无灰阶,则每个Frame的显存为:
264 * 176 = 46464 Bits / 8 = 5808 Bytes
EPD更新显示内容方式的介绍应该是建立在存储在同一内存的两帧数据,之前显示内容变更为新的显示内容(Previous Display-> New Dispaly)之上。所以需要两个Frame,那么显存就是10KB以上了,另外驱动的过程中也需要19KB以上的中间缓存,为什么需要两个Frame呢?故此在选用主控芯片时需要考虑到显存的尺寸。EPD驱动流程图如下:
图 流程图
EPD更新周期内的信号控制图:
图 信号波形
使用PSoC 6驱动EInk
如上文所述,EInk的特点是保持显示内容不需要电源,但是更新显示内容时,不停地需要处理器来做控制与查询。这种任务比较适合于低功耗的内核,比如PSoC 6中的Cortex M0 内核,此例中Cortex M4没有用武之处,所以干脆就没有使能。顶层设计图:
图 顶层设计
包括SPI口为通信口,定时器用来产生1ms的定时Tick,其余几个IO口为通用IO。
图 SPI模组配置图 更新定时器配置
这个定时器的主要作用是提供1ms的Tick计时,实际上任何可以提供1ms的tick的定时器都可以用,比如内核中的SysTick,这里只是为了展示如何配制通用定时器。
至于要显示的资源与内容,因为该显示器的点阵与内存的对应是逐行对应,所以取模时使用横行取模,字节正序即可。CYPRESS提供的EINK例程中支持两种大小字体,分别是CY_EINK_FONT_8X12BLACK和
CY_EINK_FONT_16X16BLACK。当然更高阶的玩家可以使用取模工具支持更多字体开发。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 单IC增益模块提供¼到6的精密增益资料下载
- 详细分析三极管的电平转换及驱动电路资料下载
- 探讨MCU和可编程片上系统(PSoC)在手机与平板电脑应用中的作用资料下载
- 一文读懂:LoRa模块使用原理资料下载
- MCU和PSoC在手机应用中的作用资料下载
- 时序分析是FPGA如何设计?资料下载
- Cortex-M3(M0)汇编-启动代码分析资料下载
- PCB设计6问6答资料下载
- PSoC 6 Pioneer Kit 评测:电流检测功能资料下载
- 常用USB设备结构分析资料下载
- 关于PC板卡供电模块的二三事资料下载
- PSoC 6 Pioneer Kit 评测:PSoC中的BLE开发资料下载
- PSoC 6 Pioneer Kit 评测:温湿度传感器体验资料下载
- PSoC 6使用PSoC Creator调试时不能使用sprintf输出float的解决办法资料下载
- PSoC开发流程和一般MCU开发流程有什么区别?资料下载
- 什么是可编程片上系统?PSOC和FPGA的区别 913次阅读
- 玩转PSoC 6 RTT积木式开发套件,实现毫米波雷达等实用功能 690次阅读
- 代码结构分析 3473次阅读
- 代码文件中的常见资料类问题 833次阅读
- DeepStream智能分析套件的安装方法 1556次阅读
- AbsInt代码安全性能分析套件产品介绍 1355次阅读
- 基于CY8C24894 PSoC的超声波测距系统解决方案 3156次阅读
- digilentPmod专用线套件(6)介绍 1170次阅读
- PSoC 6高性能超低功耗IoT应用方案 4238次阅读
- PSoC到底是什么?浅谈PSoC的发展 1.6w次阅读
- 基于PSoC4 的无刷直流电机控制系统设计及实例分析 3662次阅读
- mpu6050六轴传感器模块驱动程序源代码分享 3.6w次阅读
- 基于PSoC 4的无传感器BLDC控制 2741次阅读
- 基于PSoC的精简LED点阵系统设计方案 1136次阅读
- PSoC3内部模拟布线和管脚选择 2182次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多