一、概述

电子墨水屏的概念越来越火,与之关联的电子标签,电子公交站牌等产品也如雨后春笋一样涌出。墨水屏具有无蓝光的护眼效果,接近180度的可视角度,类纸张的质感,即使在阳光下也不会影响阅读。且使用时无需布线,功耗低,显示效果稳定可靠,适用于各种办公及商业场景。

本demo是基于墨水屏设计的一款低功耗座位管理器,具备联网管理,续航力强,显示清晰等优势。也可以根据不同场景需求改造终端显示方式,大家是不是跃跃欲试。

二、硬件设计

  • 整体架构方案如图

1.主控板

主控板选择由涂鸦智能出品的TYDE-ZTU-MCU-L431三明治开发板。

点击这里查看主控板完整原理图

点击这里查看主控板完整PCB

主控芯片

TYDE-ZTU-MCU-L431的主控芯片选用STM32L431CCT6。

这是一款基于Arm Cortex -M4 32位RISC核心的超低功耗微控制器,工作频率可达80 MHz。Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm®单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和内存保护单元(MPU),提高了应用的安全性。

STM32L431CCT6设备嵌入高速存储器(闪存高达256kbyte, 64kbyte的SRAM),有四种保护机制:读出保护、写保护、专有代码读出保护和防火墙。

STM32L431还具备一个快速12位ADC (5 Msps),两个比较器,一个运算放大器,两个DAC通道,一个内部电压参考缓冲器,一个低功耗RTC,一个通用32位定时器,一个专用于电机控制的16位PWM定时器,四个通用16位定时器,和两个16位低功耗定时器,此外还有多达21个电容感测通道可用,功能非常强大。

点击这里查看STM32L431数据手册

通讯模组

通讯模组的功能是获取涂鸦IoT平台下发的数据信息,并将该信息传递给主控MCU,MCU也可以也通过通信模组,将数据上报到云端。

涂鸦提供的支持多种通信协议、多种尺寸规格、多种工作温度、多种焊接方式的一系列超高性价比自研模组,广泛应用于各种产品类型和开发方式,开发者可根据自身的产品需求进行灵活选择。

由于本次有低功耗的需求,建议开发者选择一些支持低功耗模式的模组,比如Bluetooth LE,Zigbee等,并且根据所选模组,适当修改一下电路。

供电方式

开发板具有两种供电方式,分别是USB和电池供电,且两种供电方式只能二选一。

方式一

第一种方式是由USB供电。USB提供的5V电压,一部分给U1 CH340C串口芯片供电,另外一部分通过U3 BL1117 LDO,将5V电压转化为3.3V电压,给单片机和模组供电。

具体电路如下图

这种方式适用于调试阶段,由于有CH340C串口芯片,用户插上USB,借助串口调试助手,可以直接和MCU进行通讯。但是U1和U3为非低功耗器件,漏电流较大,因此正常工作时,整机功耗较高。

方式二

另外一种方式是由一颗CR2450扣式纽扣电池,通过D2二极管,直接给单片机和模组供电。

这种方式电路较为简单,整机器件的静态功耗只有几微安,完全满足低功耗设备的要求。

CR2450纽扣电池是锂锰环保纽扣式电池,其储存寿命长、产品性能稳定可靠、自放电率低、抗漏液性强。2450代表着电池的标准尺寸,24表示直径是24mm,5代表电池的高度为5mm,0代表电池形状为圆柱。新电池开路电压通常在3.3V左右,容量大概520mAh。

具体电路如下图

这两路供电方式可以通过P4处的跳线帽进行切换,如下图,其中P_3.3V为USB方式供电,B_3V为纽扣电池供电。

2.功能板

功能板主要有两个核心器件,一个是字库芯片,它可以为开发者提供所需中文、英文或者数字的像素数组,另一个为墨水屏,将像素数组的数据写入墨水屏后,墨水屏即可显示开发者想要的画面。字库芯片和墨水屏使用的都是SPI接口。

点击这里查看功能板完整原理图

点击这里查看功能板完整PCB

字库芯片

本方案采用GT5SLAD3B-FA 标准矢量字库芯片,当然开发者也可以选用其他字库芯片。

GT5SLAD3B-FA是一款支持16-192点阵的矢量字库芯片,使用灰度算法使汉字边缘变得比纯点阵字更加柔和、平滑。采用高通超小型嵌入式矢量字库,具有字体平滑及不失真等特点,可以产生多种高质量的文字输出,可以支持加粗、倾斜、反白、阴影等文字特效,支持GBK 中文,GB18030中文,ASCII码,拉丁文这几种编码。

它的应用原理图非常简单,具体如下图

具体引脚功能为:

  • 串行数据输出(SO):该引脚用来把数据从芯片串行输出,数据在时钟的下降沿移出。

  • 串行数据输入(SI):该引脚用来把数据从串行输入芯片,数据在时钟的上升沿移入。

  • 串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出。

  • 片选输入(CS#):所有串行数据传输开始于CS#下降沿,CS#在传输期间必须保持为低电平,在两条指令之间保持为高电平。

  • 总线挂起输入(HOLD#):该信号用于片选信号有效期间暂停数据传输,在总线挂起期间,串行数据输出信号处于高阻态,芯片不对串行数据输入信号和串行时钟信号进行响应。

    当HOLD#信号变为低并且串行时钟信号(SCLK)处于低电平时,进入总线挂起状态。

    当HOLD#信号变为高并时串行时钟信号(SCLK)处于低电平时,结束总线挂起状态。

字库芯片使用方便。在此之前,开发者通常是使用文字取模软件进行取模,然后存储在程序数组里,再拿去显示,如果只显示一些特定的字符或文字,这是一个不错的方式。但是当需要显示的字符比较多时,这种方法就不太适合了,这时候字库芯片的作用就体现出来了。

字库芯片厂家有提供对应的.lib静态库文件,这种静态库文件, 是由c源文件经过与开发者相似的环境进行编译得到的,使用方式和c文件一致,把lib文件和对应的h头文件添加到开发者的开发项目工程里即可,根据头文件定义的函数接口,进行调用。

开发者只需要输入所需文字的对应字符编码(比如GB18030编码),文字宽度,文字高度,文字粗细这几个参数,就可以获取该文字的点阵数组,再将点阵数组数据传递显示函数中,就可以将文字显示出来了,非常简单,具体细节可以查看固件开发章节。

点击这里查看GT5SLAD3B-FA数据手册

墨水屏

电子墨水屏又被称为电子纸显示技术。电子纸显示技术(简称EPD),由美国麻省理工大学教授约瑟夫.雅各布森及其研发团队,经历30余年研发成功。

墨水屏的原理很简单,电子墨水屏是由许多电子墨水组成,电子墨水可以看成一个个胶囊的样子。每一个胶囊里面有液体电荷,其中正电荷染白色,负电荷染黑色。当我们在一侧给予正负电压,带有电荷的液体就会被分别吸引和排斥。这样,每一个像素点就可以显示白色或者黑色了。

因为电子墨水的刷新是不连续的,每一次刷新完成就可以保持现在的图形,即使拔掉电池也依旧保存。可能有人会问,为何电池没电,墨水屏也会一直显示最后的画面,那是因为电子墨水具有双稳态磁滞效应,所以即便电池没电,小球也不会回复原状或者进入随机的混沌状态,而是保持最后画面的状态,此时耗电量为0。

本次使用墨水屏型号为QYEG0420BNS19A,外形尺寸为91.0 x77.0x 1.2mm,显示区域尺寸为84.8 x 63.6mm,分辨率为400 x 300,支持显示黑色和白色两种颜色,支持全屏刷新和局部刷新两种模式,刷新功耗为12.6mW。

这里给开发者介绍一下全刷和局部刷的区别

1)全刷:电子纸刷新需要画面闪烁多次后,最终显示所需要的画面,其中闪烁的目的是清除显示残影,以达到最佳的显示效果。

2)局刷:电子纸刷新无画面闪烁,局刷需要用户在使用的时候,刷新几次后,进行一次全刷操作,以清除显示残影。

另外,墨水屏正常使用的温度范围:0~50℃ ,湿度范围:35%~65%RH,要避免阳光长时间直射显示屏表面。

它有如下特性

● 内置驱动器IC,无需另配驱动器,仅需少量外围器件,即可通过MCU控制显示,节省资源。

● 超宽视角 将近180°

● 超低功耗(断电可以继续保持显示内容)

● 纯反射模式

● 防眩硬涂层前表面

● 低电流深度睡眠模式

● 采用COG封装, IC厚度300um

● 使用寿命(无故障刷新次数):100万次以上

开发者可以参考下面的电路原理图

其中主要引脚功能如下

Name Description
GDR N勾道场效应管的栅极驱动控制脚
RESE 控制回路的电流检测输入脚
VSH2 正源极驱动电压
TSCL I2C数字温度传感器的时钟信号接口
TSDA I2C数字温度传感器的数据信号接口
BS1 总线接口选择引脚
BUSY 繁忙状态输出引脚
RES# 复位信号输入脚, 低电平有效
D/C# 数据/命令控制引脚
CS# 芯片片选引脚
SCL SPI接口的时钟引脚
SDA SPI接口的数据引脚
VDDIO 逻辑接口的电源引脚, 应与VCI脚连接
VCI 芯片电源引脚
VSS 参考地
VDD 核心逻辑电源引脚
VPP 测试脚 , 保持开路
VSH1 正源极驱动电压
VGH 正门极驱动电压和VSH1的电源引脚
VSL 负源极驱动电压
VGL 负门极驱动电压,VCOM和VSL的电源引脚
VCOM VCOM驱动电压

翻阅数据手册如下,可知源极驱动电压VSH引脚和门极驱动电压VGH引脚电压典型值都远大于芯片电源引脚,因此对该引脚还需要进行一个升压的处理。

如原理图所示,3.3V输入源,电感L1,MOS管Q1,电容C1,二极管D3,电阻R2构成了一个最基本的boost升压电路,MOS管Q1的导通或截止状态,由E_GDR控制。

当MOS管Q1导通时,输入电压经过电感L1后直接通过限流电阻R2返回到GND,这导致通过电感L1的电流线性的增大,此时输出滤波电容C1向负载放电。

当MOS管Q1截止时,由于电感L1的电流不能在瞬间发生突变,因此在电感L1上产生反向电动势Vs以维持通过电流不变。此时二极管D3导通,3.3V和Vs两电压串联后,以超过3.3V大小的电压向负载供电,并对输出滤波电容C1充电,如此循环,由此实现对E_PREVGH引脚的升压操作。

同样的,对于E_PREVGL引脚:

当MOS管Q1截止时,电容C2充电,二极管D1导通,D2截止,电流经过D1流向GND,理想情况下电容C2两端的电压差为3.3V+Vs。

当MOS管Q1导通时,Q1的漏极接近0V,由于电容C2电压不能突变,可认为二极管D2的K极电势为-(3.3V+Vs),电容C2放电,二极管D1截止,D2导通,电流经过D2流向C2,由此实现对E_PREVGL引脚负电压“升压”操作。

介绍完墨水屏的驱动电路,再和开发者们介绍一下墨水屏的使用方法。

墨水屏的操作流程整体也是比较简单的,大致流程如下。

另外再和开发者强调以下几点:

  • 墨水屏刷新频率建议开发刷新时间间隔至少180秒(支持局刷功能的产品除外)。
  • 墨水屏若有在低功耗场景中使用需求,如果显示画面不经常刷新,建议开发者将墨水屏设置为睡眠模式或者将墨水屏驱动供电部分通过模拟开关断开,这样操作既可以降低功耗,同时也可以延长墨水屏的使用寿命。
  • 使用场所要求:墨水屏显示屏建议在室内使用,若在户外使用,需要让墨水屏避免长时间阳光直射,同时做好紫外线防护措施。开发者在设计产品的时候,要首先考虑使用环境是否满足墨水屏正常工作的温湿度要求。

点击这里查看QYEG0420BNS19A数据手册

三、整机搭建

1.单片机与模组部分

2.开发板与硬件模块部分

字库芯片与墨水屏幕部分:

设备整体图:

以上就是基于涂鸦智能主控板、字库芯片及墨水屏设计的墨水屏座位管理器方案。在完成硬件方案设计及搭建的同时我们也在开发座位管理器嵌入式实现方案,甚至让墨水屏方案能够应用于智慧办公,智慧零售等更多场景。再次之前如果对我们硬件方案设计有更好的建议,后者对墨水屏方案有更多的期待,欢迎留言交流!

基于涂鸦智能开发板的墨水屏座位管理器——1.电路设计篇相关推荐

  1. 基于涂鸦智能开发的墨水屏座位管理器——2.嵌入式功能实现篇

    随着互联网连接技术的日益普及,以及大众环保意识增强,电子纸显示市场不断发展,墨水屏的应用场景也越来越多.墨水屏座位管理器方案具体功耗低,多节点管控,信息实时同步等特点,可应用于智慧办公,智慧零售,智慧 ...

  2. LPC55S69开发板驱动墨水显示屏的方法

    在本文中,我们将使用LPC55S69开发板和墨水屏制作一个气象站项目,并且在墨水显示屏(E-INK)上显示温度.湿度和大气压,这样我们就可以将其放在办公室的窗台上, 在项目中,我们选择了MikroEl ...

  3. 基于ShineBlink物联网开发板和机智云平台开发的“针对短期内宠物无人照顾的智能宠物屋”系统

    正式介绍作品前先说明一下,我是湖南文理学院计算机与电气工程学院的一名大三学生,我叫陈海涛.作品全部内容均为个人创意.个人设计并手工制作,后期会考虑写论文投期刊,So!!严禁抄袭!抄袭必究! 该作品是用 ...

  4. 【基于NSR3588开发板Android12三屏拼接显示实例】

    基于NSR3588开发板Android12三屏拼接显示实例 1.硬件接口 2路HDMI接口 1路Type-c DP转HDMI 如下图: 2.多屏显示拼接简介 RK3588可以支持如下多种拼接模式: 我 ...

  5. 基于arduino uno 开发板制作的 智能书包项目

    基于arduino uno 开发板制作的智能书包,当时收短视频启发,集合自动售货机的代码和RC522 读卡模块代码结合制作,现基本功能可以实现 ,目前代码部分尚不稳定需要继续改进 //一个智能书包小发 ...

  6. 宠物喂食器,基于涂鸦智能的解决方案

    宠物喂食器,基于涂鸦智能的解决方案 作品描述 作品介绍 硬件部分 软件部分 开发流程 代码编写 1. 产品创建 2. MCU SDK 移植 3. 时间系统实现 4. 快速喂食功能实现 5. 余粮检测功 ...

  7. 基于涂鸦智能的宠物喂食器

    基于涂鸦智能的宠物喂食器 基于涂鸦智能的宠物喂食器 项目地址 作品视频 硬件介绍 系统框架 程序编写 1. 产品创建 2. MCU SDK 移植 3.按键选择程序 4.WiFi状态指示灯 5.云端数据 ...

  8. 涂鸦LZ201-CN开发板学习笔记(一)

    涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...

  9. 基于NNEWN NSR3588开发板Android12系统实现四屏异显

    基于NNEWN NSR3588开发板Android12系统实现四屏异显 RK3588四屏异显功能实现介绍 1.硬件连接 2.内核dts配置 3.Android异显示方案 4.四屏异显测试APK及效果演 ...

  10. 基于stm32物联网开发板(1)

    基于stm32物联网开发板(1)   本开发板采用了STM32F103RET6作为核心CPU,72MHZ工作频率,512KB flash,64KB Sram.本开发平台外设模块有ESP8266 WIF ...

最新文章

  1. LoadRunner 测试Tuxedo的问题
  2. 万字长文 | 新零售的五重境界
  3. Axis2 WebService(配置、发布、调用)
  4. 【NC30】缺失的第一个正整数
  5. Python——pip安装报错:is not a supported wheel on this platform
  6. java实验6 词频统计_Java实现的词频统计——单元测试
  7. 计算机组装与维护课程教学内容,《计算机组装与维护》课程教学计划
  8. Linformer 拍了拍 被吊打 Transformers 的后浪们
  9. 视频教程-网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】-网络技术
  10. Windows10的启动项管理
  11. unity3D跑酷游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
  12. 计算机科学自考本科的科目,自考本科计算机专业考哪些
  13. 推荐几个很实用的网址
  14. C++读书笔记:多态
  15. MATLAB人脸检测系统
  16. Python数字图像处理---1.1图像的像素格式与图像读写
  17. 国内外几个主流的CMS系统推荐
  18. FIR滤波器与IIR滤波器
  19. 编码(NRZ、NRZI、曼彻斯特、4B/5B)
  20. 【Python工具】Python实现一款支持各大平台的视频下载器 | 附源码

热门文章

  1. opencv 表示图像的IplImage
  2. python调用高德接口获取国内行政区经纬度数据
  3. 创建Win95 100M无盘工作站
  4. 关于黑苹果安装10.14 屏幕只显示部分区域且区域过小问题的解决方法(i7-6700+AMD vega56+微星MS-7996)
  5. java pdf 水印 加密_Java生成PDF 加密 水印
  6. lincese oracle_关于Oracle数据库企业版的license价格
  7. 老毛桃PE工具去除捆绑软件的方法
  8. 解密带星号手机号网页_外滩大会“硬核科技”解密:支付宝金融级业务的“定海神针”...
  9. OV5640时钟理解与端口理解(一)
  10. 【错误记录】Ubuntu 编译 ffmpeg 报错 ( nasm/yasm not found or too old. Use --disable-x86asm for a crippled bu )