AN87391 PSoC® 4 segment LCD 直接驱动模式 作者: Nidhin MS and Rahul Raj Sharma 相关项目:有 相关器件系列:CY8C41xxx 和 CY8C42xxx 软件版本:PSoC Creator™ 3.2 相关应用笔记:AN52927、AN56384 要想获得本应用笔记的最新版本或相关项目文件,请访问网站 http://www.cypress.com/go/AN87391。 AN87391 演示了使用 PSoC® 4 内集成的 LCD 驱动器轻松便利地驱动 segment LCD 显示屏。PSoC 4 能够提供多种 LCD 驱动模式、极低功耗,以及完整的用户界面和系统解决方案。通过各个示例项目,本应用笔记详细介绍了低功耗 LCD 设 计,以及一种包含了 CapSense®的用户界面解决方案。 目录 1 简介 ..........................................................................1 6.2 数字关联驱动模式 ............................................ 8 2 PSoC 资源 ................................................................2 2.1 PSoC Creator ..................................................2 2.2 代码示例 ..........................................................3 6.3 低功耗操作....................................................... 9 8 PSoC 4 用户界面解决方案...................................... 11 PSoC Creator 项目 ................................................. 13 2.3 PSoC Creator 帮助 ..........................................4 8.1 项目 1:简单的 Segment LCD ....................... 13 2.4 技术支持 ..........................................................4 8.2 项目 2:低功耗 Segment LCD ....................... 19 8.3 界面 项 目 3 : Segment LCD 和 CapSense 用 户 ...................................................................... 22 8.4 项目 4: 字母数字 Segment LCD .................. 24 3 PSoC 4 segment LCD 驱动模式的特性 ....................5 4 Segment LCD 的基础 知识 .......................................5 5 PSoC Creator 组件:Segment LCD .........................7 6 PSoC 4 Segment LCD 驱动模式...............................7 6.1 1 7 PWM 驱动模式 .................................................7 9 汇总 ........................................................................ 25 全球销售和设计支持 ........................................................ 27 简介 大部分低功耗、便携式、手持设备(如血糖仪、万用表和血压计)都使用了 segment LCD 来显示信息。segment LCD 需 要通过外部驱动器连接到微控制器。PSoC 4 包含一个集成的低功耗 LCD 驱动器,能够直接驱动 segment LCD 显示屏。 PSoC 4 是真正的可编程嵌入式片上系统,在同一个芯片中集成了可配置的模拟和数字外设功能、电容式触摸感应、存 储器和一个 32 位 ARM® Cortex®-M0 微控制器。PSoC 4 加快了上市时间,集成了关键的系统功能,并降低系统的总成 本。通过电容式触摸感应(CapSense)功能和 LCD 驱动模式,您只需使用 PSoC 4 就能够实现整个用户界面的解决 方案。 PSoC 4 具有灵活的低功耗模式,可降低系统的总功耗。例如,当 PSoC 处于深度睡眠模式时,segment LCD 电流消 耗仅为 3.1 µA。 PSoC Creator™ IDE 提供了一个 segment LCD 组件,便于使用 PSoC 4 中不同类型的 segment LCD。 本应用笔记详细介绍了 PSoC 4 segment LCD 驱动的各项功能,提供低功耗 LCD 设计的最佳实践,并通过各示例项目 进行演示用户界面的解决方案。 如果您对 PSoC 4 还不太熟悉,请参见 AN79953 — PSoC® 4 入门手册中的内容。如果您对 PSoC Creator 还不太熟 悉,请参考 PSoC Creator 主页。 www.cypress.com 文档编号:002-03850 版本** 1 PSoC® 4 Segment LCD 直接驱动模式 PSoC 资源 2 在赛普拉斯网站 www.cypress.com 上提供了大量的资料,这些资料有助于选择符合您设计的 PSoC 器件,并使您能够快速有效 地将器件集成到设计中。有关完整的资源列表,请参考 KBA86521 — 如何使用 PSoC 3、PSoC 4 和 PSoC 5LP 进行设计。下 面提供了 PSoC 4 的简要列表: 概况:PSoC产品系列、PSoC蓝图 产品选型:PSoC 1、PSoC 3、PSoC 4或PSoC 5LP。 此外,PSoC Creator还包含了一个器件选择工具。 技术参考手册(TRM):对每个PSoC 4器件系列中所 使用的架构和寄存器进行了详细说明。 开发套件: 数 据 手 册 : 描 述 并 提 供 了 适 用 于 PSoC 4000 、 PSoC 4100 、 PSoC 4200 、 PSoC 4xx7 BLE 、 PSoC 4100M和PSoC 4200M器件系列的电器规范。 CapSense设计指南:了解如何在SoC 4器件系列中设 计电容式触摸感应应用。 应用笔记和代码示例:涵盖了广泛的主题,从初级到高 级 水 平 。 许 多 应 用 笔 记 还 提 供 了 代 码 示 例 。 PSoC Creator提供了额外的代码示例 — 请参考代码示例。 2.1 CY8CKIT-040,CY8CKIT-042和CY8CKIT-044的各 种PSoC 4 Pioneer套件均为易于使用且廉价的开发 平 台 。 这 些 套 件 包 括 用 于 Arduino™ 兼 容 屏 蔽 和 Digilent® Pmod™子卡的连接器。 CY8CKIT-049和CY8CKIT-043都是成本非常低的原 型平台,用于PSoC 4器件采样。 CY8CKIT-001是所有PSoC系列产品经常使用的开发 平台。 MiniProg3器件提供一个用于进行闪存编程和调试的接 口。 PSoC Creator PSoC Creator 是一个基于 Windows 的免费集成设计环境(IDE)。通过它可以同时在基于 PSoC 3、PSoC 4 和 PSoC 5LP 的 系统中设计硬件和固件。如图 1 所示 :通过 PSoC Creator,您可以进行下面的操作: 1. 2. 将组件图标施放到主要设计工作区中,以进行 您的硬件系统设计 对您的应用固件和 PSoC 硬件进行协同设计 3. 4. 5. 使用配置工具配置各组件 研究包含 100 多个组件的库 查看组件数据手册 图 1. PSoC Creator 特性 www.cypress.com 文档编号:002-03850 版本** 2 PSoC® 4 Segment LCD 直接驱动模式 2.2 图 2. PSoC Creator 中的代码示例 代码示例 PSoC Creator 包含了多个代码示例项目。可以从 PSoC Creator 的“Start Page” (起始页)上获取这些项目,如图 2 所示。 这些示例项目通过为您提供完整的设计(并非一个空白页),可以加快您 的设计过程。示例项目还介绍了如何将 PSoC Creator 组件使用于不同应用 中。此外,它还包含了多个代码示例和数据手册,如图 3 所示。 在图 3 显示的 Find Example Project(查找示例项目)对话框中现在有几个 选项: 根据architecture(架构)或device family(器件系列)(例如: PSoC 3、PSoC 4或PSoC 5LP)、category(类型)或keyword(关键 词)等选项对示例进行筛选 从Filter Options(滤波选项)的示例菜单中进行选择 通过Documentation(文档)选项卡,查看所选的数据手册 查看所选的代码示例。您可以复制该窗口中的代码然后将其粘贴到您的 项目内,从而加快代码的开发过程,或 根据已选项目创建一个新的项目(若需要,可添加新的工作区)。通过 为您提供一个完整的基本设计,它可以加快您的设计进程。然后,您可 以将该设计适用于您的应用中。 图 3. 带有示例代码的代码示例项目 www.cypress.com 文档编号:002-03850 版本** 3 PSoC® 4 Segment LCD 直接驱动模式 2.3 PSoC Creator 帮助 请访问 PSoC Creator 主页以下载 PSoC Creator 的最新版本。启动 PSoC Creator,并将它导航到下列各项: 快速入门指南:依次选择Help > Documentation > Quick Start Guide。本指南提供了开发PSoC Creator项目的基本知识。 简单的组件示例项目:依次选择File > Open > Example projects。这些示例项目展示了如何配置及使用PSoC Creator组 件。 入门设计:依次选择File > New > Project >PSoC 4 Starter Designs。这些入门设计展示了PSoC 4的独特特性。 系统参考指南:请依次选择Help > System Reference > System Reference Guide。该指南列出并描述了PSoC Creator提 供的系统功能。 组件数据手册:右键单击组件,然后选择“Open Datasheet”项。请访问PSoC 4组件的数据手册网页,获取所有PSoC 4组 件的数据手册列表。 文档管理工具:PSoC Creator提供了文档管理工具,以方便您查找和查看文件资源。 要想打开文档管理工具,请选择菜单 项Help >Document Manager。 2.4 技术支持 若有任何疑问,我们的技术支持团队很乐意为您提供帮助。您可以在赛普拉斯技术支持页面上创建一个技术支持请求。 如果您在美国,可以通过拨打我们的免费电话,直接与技术支持团队联系:+1-800-541-4736。在提示符处选择第 8 项。 若想快速获得支持,您同样可以使用下面的支持资源。 自助 所在地销售办事处 www.cypress.com 文档编号:002-03850 版本** 4 PSoC® 4 Segment LCD 直接驱动模式 3 PSoC 4 segment LCD 驱动模式的特性 PSoC 4 segment LCD 驱动模式具有以下特性: 最多支持 8 个 common(COM)和 49 个 segment(SEG)电极 任意 PSoC 4 GPIO 都可驱动 COM 或 SEG 电极 支持 14 segment 和 16 segment 的字母数字显示,7 segment 的数字显示,点矩阵和各种特殊符号。 两种驱动模式:数字相关和 PWM 在 PSoC 4 器件处于活动、睡眠及深度睡眠的系统功耗模式下仍能运行。 可以使用 1.8 V 的 VDD 来驱动 3 V 的显示器 数字对比度控制 注意:PSoC 4 器件所支持的 common 和 segment 的数量会因器件系列和器件包装而有所不同。有关详细信息,请参 见器件数据手册中介绍的内容。 4 Segment LCD 的基础 知识 在 segment LCD 显示屏中有一种液晶材料,该材料悬浮在两组电极之间。单个 LCD segment 的顶部和底部电极分别 称为 common (COM)和 segment(SEG)电极。这些电极一起构成了一个矩阵,如图 4 所示。 图 4. COM 和 SEG 电极 LCD显示屏 电阻 COM3 COM2 COM1 SEG0 SEG1 COM0 图 4 中的集总电容表示了各个理想 LCD segment 的电容负载。每一对 COM 和 SEG 电极被连接到唯一一个 LCD segment。每一对 COM-SEG 电极上的均方根(RMS)电压可控制各电极对之间 LCD segment 连接的不透明度。 www.cypress.com 文档编号:002-03850 版本** 5 PSoC® 4 Segment LCD 直接驱动模式 液晶材料不能长期在直流电压下工作;因此,应用于各 COM 和 SEG 电极之间的波形必须在各 LCD segment 上产生 0 V 的直接电流。各个驱动波形还可通过实现时分复用来同时激活多个 LCD segments。典型的 LCD 驱动器生成各交 流波形, 而它们在 COM 和 SEG 电极上具有多个电压阶跃。文档使用下列术语定义了这些波形: 占空比:当一个驱动器驱动了‘M’个 COM 电极时,便可以确定它运行时的占空比为 1/M。在 1/M 的时间内,各 个 COM 电极被有效驱动。PSoC 4100 和 PSoC 4200 器件支持 1/2、1/3 和 1/4 时长的占空比。PSoC 4100M 和 PSoC 4200M 器件支持 1/2、1/3、1/4 和 1/8 时长的占空比。 偏压:当驱动器的波形使用(1/B) × VDRV 的电压跃时,则可以确定它的偏压为 1/B。VDRV 是系统中最高的驱 动电压(等于 PSoC 4 中的 VDD 电压)。在各个 PWM 驱动模式下,PSoC 4100 和 PSoC 4200 器件能够支持 1/2 和 1/3 时长的偏压。在各种 PWM 驱动模式下,PSoC 4100M 和 PSoC 4200M 器件能够支持 1/2、1/3、1/4 和 1/5 时长的占空比。更多有关信息,请参见第 9 页上的表 1。 帧:一帧表示驱动全部 segment 所需的时长。执行一个帧期间,驱动器通过 COM 顺序循环。在整个帧进行测量 时,所有 segment 将接收 0 V 直流(非零的 RMS 电压)。 一个 segment LCD 像素的强度(或对比度)取决于应用于整个像素上的 RMS 电压。图 5 显示的是某个 LCD segment 的对比度与 RMS 电压之间的关系。 图 5. RMS 电压与对比度的关系 100% Contrast (C) 90% Discrimination Ratio: D= VHI/VLo 10% 0% VOFF VTHR VLO VHI VON AC Voltage between COM and SEG (VRMS) 图 5 中的各术语被定义如下: VOFF:像素的 RMS 电压,低于该电压值时,LCD 显示屏上的所有对比度变更都不可见。 VTHR:像素的 RMS 电压,在该电压值时,LCD 显示屏可显示 10%的对比度。 VON:像素的 RMS 电压,在该电压值时,LCD 显示屏可显示 90%的对比度。 VLO:LCD 驱动器可生成的最低 RMS 电压 VHI:LCD 驱动器可生成的最高 RMS 电压 识别率(D):表示驱动器可执行的 VHI 和 VLO 的比率。识别率越高,则对比度越高。 扭曲向列(TN)和超级扭曲向列(STN)显示是 segment LCD 显示屏最通用的有效类型。与 STN 显示屏不同的 是,TN 显示屏需要更高的 RMS 电压变更程度,以产生不透明度中更明显的区别。因此,对于同一个给定的识别 率,STN 显示屏会提供比 TN 显示屏更高的对比度。另外,STN 显示屏还具有优越的视角。但,TN 显示屏的价格 通常比 STN 显示屏的价格偏移。 关于 segment LCD 基础知识的详细信息,请参考 PSoC 4 技术参考手册。 www.cypress.com 文档编号:002-03850 版本** 6 PSoC® 4 Segment LCD 直接驱动模式 5 PSoC Creator 组件:Segment LCD PSoC Creator 提供一个 Segment LCD 组件,可帮助您轻松地将 segment LCD 显示模块的不同类型连接到 PSoC 4 器 件。简单地将该组件拖放到您的 PSoC Creator 项目原理图中,就可以为您的 LCD 模块配置该组件。该组件还提供一 个易于使用的应用编程接口(API)。更多有关信息,请参考 PSoC 4 Segment LCD 组件数据手册。 另外,还可以参考项目“简单的 Segment LCD”。该项目为您介绍了如何使用 Segment LCD 组件和各 API 来将一个 4 数字的 7 段式 LCD 模块连接到 PSoC 4 器件。 6 PSoC 4 Segment LCD 驱动模式 PSoC 4 支持两个 segment LCD 驱动模式,即为 PWM 和数字关联。这两个驱动模式使用不同的技术来生成 LCD 显示 屏需要的交流波形,并且它们具有不同的对比度和电源消耗特性。下面各节详细介绍了这两个驱动模式的区别。 6.1 PWM 驱动模式 PWM 驱动模式使用高频(32 kHz ~ 48 MHz)PWM 数字信号来生成各 LCD segment 上的低频(30 ~ 150 Hz)模拟 驱动波形。各 LCD segment 的电容特性和显示屏的电阻会筛选出高频的 PWM 信号,以生成各 LCD segment 上不同 的电压级别,如图 6 所示。 图 6. PWM 驱动模式 GPIO输出阻抗 LCD Segment 电容 LCD显示屏电阻 PWM生成器 COM V1 V2 PWM生成器 SEG GPIO的电压(V1) Vddd 0 t 单像素上的有效电压(V2) Vddd 2/3 Vddd 1/3 Vddd 0 t www.cypress.com 文档编号:002-03850 版本** 7 PSoC® 4 Segment LCD 直接驱动模式 6.2 数字关联驱动模式 数字关联驱动模式是赛普拉斯正在申请专利的一种驱动模式,该驱动模式是各种低功耗和基于电池应用的理想方式。它 的工作原理是:加倍 COM 信号在无效帧间隔中的驱动频率。这样会更改各段式上的 VRMS 电压,使这些电压值反过来 影响段式的对比度。(如图 5 所示)。图 7 显示的是数字关联模式波形的示例。 图 7. 数字关联示例 LCD驱动模式的单个“帧” (一次可寻址所有段式) VDD COM0 0 VDD COM1 0 VDD SEG0 0 SEG1 VDD 0 t0 t1 t2 t3 单个帧 选中了COM / SEG 不选中COM / SEG 各段式上的相关电压 (VDC = 0) COM0 -SEG0 VDD 0 -VDD Segment启用: VRMS = 0.791 VDD COM0 -SEG1 VDD 0 -VDD Segment关闭: VRMS = 0.612 VDD VDD COM1 -SEG0 Segment启用: VRMS = 0.791 VDD 0 -VDD COM1 -SEG1 VDD 0 -VDD Segment关闭: VRMS = 0.612 VDD t0 t1 Segment启用 Segment关闭 t2 t3 识别率: D = 0.791/0.612 = 1.291 请参考 PSoC 4 技术参考手册,以查找每个驱动模式的详细介绍及相应的波形。 www.cypress.com 文档编号:002-03850 版本** 8 PSoC® 4 Segment LCD 直接驱动模式 segment LCD 显示屏具有 RC 系列电路的特性;因此,它的功耗与操作频率有关。由于操作于极低频率,因此,数字 关联驱动模式比 PWM 驱动模式消耗相当低的电流。 但,PWM 驱动模式能够提供的对比度的视角比数字关联驱动模式的更为优越。这是因为 PWM 模式拥有更高的识别率 (如图 5 显示)。表 1 显示的各识别率的比较。 表 1. 识别率比较 识别率 COM PWM PWM 1/4 偏压 1/5 偏压 2.236 1.844 1.612 1.915 1.732 1.567 1.528 1.732 1.648 1.528 1.254 1.414 1.581 1.494 数字关联 PWM 1/2 偏压 PWM 1/3 偏压 2 1.732 2.236 3 1.414 1.732 4 1.291 8 1.134 这些驱动模式之间对比度和视角的实际区别取决于 LCD 模块的特性。 6.3 低功耗操作 本节详细介绍了如何使用在 PSoC 4 深度睡眠低功耗模式下的 segment LCD 驱动模式来降低系统的总功耗。深度睡眠 模式是 PSoC 4 的最低功耗模式,它仍然保持 segment LCD 驱动模式的性能。如果您对 PSoC 4 的功耗模式不太熟 悉,请参考“AN86233 — PSoC 4 低功耗模式和降低功耗技术”应用笔记中所讲述的内容。 与 PWM 驱动模式相比,数字关联模式对 TN 显示屏提供了较低但可接受的对比度和视角,而在 STN 显示屏上,对于 对比度和视角,并没有明显的区别。但是,数字关联模式所消耗的电流明显低于 PWM 模式的。表 2 对这两个驱动模式 的电流消耗进行了比较,并且表 3 提供了它们的推荐用法。 表 2. 在深度睡眠模式下使能了 segment LCD(PSoC 4200 器件的 3 COM LCD)器件的典型电流消耗 电流消耗(µA) 帧率(Hz) 数字关联模式 PWM 模式 30 3.1 65.9 50 3.8 66.2 70 4.5 66.5 90 5.1 66.7 110 5.8 67.1 130 6.5 67.3 150 7.4 67.6 表 3. 推荐使用的驱动模式 显示屏类型 TN LCD STN LCD www.cypress.com 深度睡眠模式 活动和睡眠模式 数字关联 PWM 数字关联 注意 固件必须动态切换于各 LCD 驱动模式之间。 STN 显示屏的 PWM 驱动模式在对比度上没有多大优势。 文档编号:002-03850 版本** 9 PSoC® 4 Segment LCD 直接驱动模式 您可以随时修改 LCD 驱动模式以提供电源消耗与显示对比度之间最佳的平衡度。图 8 显示的是动态切换 LCD 驱动模式 的固件执行流程,以在活动模式下获得优越的对比度及视角,并且降低深度睡眠模式下的电源消耗。 更多有关信息,请参考“低功耗 Segment LCD”。 图 8. 低功耗 LCD 操作模式下的固件执行流程 活动模式:运行LCD显示屏于PWM模式,以 获得更良的对比度和视角 进入深度睡眠模式前先要转换为数字关联驱动 模式 调用深度睡眠API函数 当处理器返回到活动模式时,将LCD显示屏 转回PWM模式 www.cypress.com 文档编号:002-03850 版本** 10 PSoC® 4 Segment LCD 直接驱动模式 7 PSoC 4 用户界面解决方案 本节介绍了如何使用单个 PSoC4 器件来创建完整的用户界面 (UI)解决方案。该部分内容的先决条件就是了解 PSoC 4 CapSense 器件的基础知识。欲了解 CapSen 的基础知识,请参考 PSoC 4 CapSense 设计指南一节的内容。 PSoC 4 中的 CapSense 特性能提供前所未有的信噪比(SNR)、一流的防水功能,以及各种传感器,如按键、滑动条 、触控板和接近传感器。您可以将 segment LCD 驱动模式以及 CapSense 和低功耗模式结合使用,以创建出精制、可 靠、低功耗和易于使用的各种 UI 解决方案。 图 9 显示的是一个示例 UI,其中,PSoC 器件驱动 segment LCD 并扫描触摸式显示屏。该触摸式显示屏包括两个 CapSense 按键和一个滑条。 图 9. PSoC 4 用户界面示例 Segment LCD PSoC 4 触摸面板 CapSense 按键 CapSense滑条 CapSense 按键 在深度睡眠模式下,CapSense 不能扫描任意传感器,因此,要求器件按周期唤醒才扫描到各传感器。扫描传感器期 间,PSoC 4 必须保持于活动模式。为了节省电源,需要增加器件深度睡眠时间,并减少器件活动时间。 CapSense 检测到某个触摸时,PSoC 4 会保持于活动模式,并单独扫描各个传感器以读取触摸式显示屏的输入。当显 示屏再次进入无效状态时,器件将返回到深度睡眠模式。 PSoC 4 CapSense 可以将多个传感器组合起来,并作为单个传感器进行扫描。这会减少活动模式所需的总时间。 www.cypress.com 文档编号:002-03850 版本** 11 PSoC® 4 Segment LCD 直接驱动模式 图 10 显示的是低功耗用户界面(UI)解决方案的示例固件执行流程。 图 10. 低功耗 UI 解决方案的固件执行流程 单独扫描所有CapSense传感器; 将LCD驱动模式改为PWM模式 检查触摸面板是否无效 否 是 将LCD驱动模式改为数字关联模式。 进入深度睡眠模式 定时唤醒 将所有传感器组合起来,作为单个 传感器进行扫描 是否检测到触摸? 否 是 更多有关信息,请参考“Segment LCD 和用户界面”项目。该项目展示了具有 4 数字,7 段式的 LCD,以及一个 5 元 素的 CapSense 滑条。 www.cypress.com 文档编号:002-03850 版本** 12 PSoC® 4 Segment LCD 直接驱动模式 8 PSoC Creator 项目 本应用笔记提供了以下四个示例项目: 1. 简单的 Segment LCD:指的是一种简单的项目,用于演示 PSoC Creator PSoC 4 Segment LCD 组件的基本用 法。 2. 低功耗 Segment LCD:该项目显示的是如何以极低功耗使用 Segment LCD 组件。 3. Segment LCD 和 CapSense 用户界面:该项目显示的是如何使用 segment LCD 和 CapSense 组件来创建完整的 用户界面解决方案。 您可以使用任意 PSoC 4 套件或您现有的硬件来评估项目 1 和项目 2。项目 3 使用赛普拉斯的 CY8CKIT-042。 这三个项目都需要一个 VIM 404 segment LCD 模块,它具有四个 7 段式数字,3 个 COM 电极和 12 个 SEG 电 极。请参考第 17 页上的图 17,以了解连线原理图。 4. 8.1 字母数字 Segment LCD: 该项目能够使用 PSoC 4100M/ 4200M 器件中大部分 GPIO 的优点来驱动一个 VIM-828 segment LCD 模块,它是具有 8 个 14 段式数字,4 个 COM 电极和 32 个 SEG 电极的模块。该项目需要使用赛普 拉斯的 CY8CKIT-043 和 VIM-828 LCD。 项目 1:简单的 Segment LCD 若想创建该项目,请执行下面操作: 1. 创建新的 PSoC 4 项目。如果您对 PSoC Creator 还不太熟悉,请参考 PSoC Creator 主页。 2. 将一个 Segment LCD 组件和一个时钟组件拖放到 TopDesign 原理图中。使用一条线连接这两个组件,如图 11 所 示。 图 11. LCD 和时钟之间的连接 3. 双击 Segment LCD 组件,以打开它的配置窗口。 4. 配置组件配置对话框中的 General(常规)选项卡。选择 LCD 驱动模式的设置,如图 12 所示。 图 12. Segment LCD 配置,“General”选项卡 www.cypress.com 文档编号:002-03850 版本** 13 PSoC® 4 Segment LCD 直接驱动模式 5. 在“number of common lines” 和“number of segment lines”框中分别输入数值“3”和“12”,以符 合 VIM 404 segment LCD 模块。 使用 PWM 驱动模块;请参考第 7 页上的 PSoC 4 Segment LCD 驱动模式。 选择 1/2 偏压,因为它能为 VIM 404 segment LCD 模块提供较好的对比度。 选择 Type B 型的波形。Type B 型波形所消耗的电源比 Type A 型波形稍微低。更多有关这两种波形的信 息,请参考 PSoC 4 技术参考手册。 保留其他设置为其默认值。 配置 Display Helpers(显示助手)选项卡。该选项卡将 SEG 和 COM 电极映射到显示模块中。按照 LCD 模块数 据手册进行配置该选项卡(请参考 VIM-404)。 LCD 模块具有 7 个段式数字。要想添加 7 段式的 Display Helpers 选项卡,请在 Helpers 列表框中选择 7 Segment 项,然后电极 按键。可以在 Selected helpers 列表框查看所选的显示特性,如图 13 所示。 图 13. 添加“Display Helpers” LCD 模块具有 4 个 7 段式数字,因此,可通过点击 6. 按键为它再添加 3 个 7 段式数字。 将数字中的一个段式拖拉到“pixel mapping table”(像素映射表)中,如图 14 所示。请参考 VIM-404 数据手册 ,以了解 VIM 404 LCD 模块的像素映射表。 www.cypress.com 文档编号:002-03850 版本** 14 PSoC® 4 Segment LCD 直接驱动模式 图 14. 像素映射程序 7. 依次为显示屏中的每个 segment 重复该程序。在完成了所有像素的映射后,将出现一个完整表,如图 15 所示。 www.cypress.com 文档编号:002-03850 版本** 15 PSoC® 4 Segment LCD 直接驱动模式 图 15. 完整的像素映射表 8. 点击 OK 以完成 Segment LCD 组件配置。若想为各 common 和 segment 电极分配引脚,请打开“.cydwr”(设计范 围资源)文件,然后按照图 16 进行引脚分配。 www.cypress.com 文档编号:002-03850 版本** 16 PSoC® 4 Segment LCD 直接驱动模式 图 16. 引脚分配 9. 将 VIM 404 LCD 显示屏连接到 PSoC 4 器件,如图 17 所示。可以在您的 PCB 上实现该操作,或者采用 CY8CKIT-042 套件和一个 Arduino ProtoShield 电路板。 图 17. PSoC 4 与 LCD 模块的外部连接 3.3V P0[6] P0[0] P3[7] P3[1] P3[0] P3[4] P2[3] P2[6] P2[7] P1[0] P3[5] Vdd 20 19 18 17 16 15 14 13 12 11 1 2 3 4 5 6 7 8 9 10 VIM 404 PSoC 4 Vss www.cypress.com P2[4] P0[4] P0[5] P0[7] 文档编号:002-03850 版本** 17 PSoC® 4 Segment LCD 直接驱动模式 10. 为该项目添加固件。若想创建 1,2,3,...,9,0 等数字的滚动显示,请在 main.c 中的代码 1 添加代码。 Segment LCD 组件提供使用 API 的就绪状态。更多有关 API 函数的信息,请参考 PSoC 4 Segment LCD 组件数 据手。 代码 1. 滚动 LCD 上的数字 #include <device.h> /* Macro for a black space on the 7-segment LCD */ #define BLANK (16u) /* Macro for scrolling length */ #define SCROLL_LENGTH (14u) /* Macro for initial scrolling value */ #define INITIAL_VALUE (0u) /* Define the numbers used for scrolling the 4-digit display */ #define SCROLL0 (0u) #define SCROLL1 (1u) #define SCROLL2 (2u) #define SCROLL3 (3u) #define DIGIT0 (0u) #define DIGIT1 (1u) #define DIGIT2 (2u) #define DIGIT3 (3u) /* Define the loop delay */ #define LOOP_DELAY (512u) void main() { /* This variable is used to index the character array */ uint8 index = 0; /* Array of scrolling numbers including blank spaces to improve visibility */ uint8 numbers[] = {BLANK, BLANK, BLANK, BLANK, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BLANK, BLANK, BLANK}; /* Starts the Segment LCD Component */ LCD_Start(); for(;;) /* do forever */ { /* Scroll the blanks and numbers stored in the array, from right to left */ for(index = INITIAL_VALUE; index < SCROLL_LENGTH; index++) { /* Print the numbers on the LCD glass */ LCD_Write7SegDigit_0(numbers[index + SCROLL3], DIGIT0); LCD_Write7SegDigit_0(numbers[index + SCROLL2], DIGIT1); LCD_Write7SegDigit_0(numbers[index + SCROLL1], DIGIT2); LCD_Write7SegDigit_0(numbers[index + SCROLL0], DIGIT3); /* Give delay for a visible scrolling */ CyDelay(LOOP_DELAY); } } } www.cypress.com 文档编号:002-03850 版本** 18 PSoC® 4 Segment LCD 直接驱动模式 11. 请确保 PSoC 4 器件运行于 3.3 V VDD 的供电源。编程器件并查看 LCD 显示屏以验证其输出。您会看到各数字 1, 2,3,...,9,0 从右边向左边滚动,如图 18 所示。 图 18. LCD 显示模块上的滚动数字 如果显示屏的对比度过高,请在 Segment LCD 组件中调低对比度,然后再次进行编程器件。 8.2 项目 2:低功耗 Segment LCD 该项目是项目 1 的修改版本,以获得较低的平均功耗。 为了降低功耗,PSoC 4 保持于活动模式的时间需要够长以更新显示屏的数据并滚动其数字,该过程的操作时间约为 720 µs。然后,在继续的 512 ms 内,器件将进入深度睡眠低功耗模式。图 19 和图 20 分别显示的是时序框图和固件执 行流程。 使用该技术时,PSoC 4 器件所消耗的平均电流会低于 11 µA。表 4 显示的是这两个项目之间的大概功耗比较。 表 4. 各项目间的功耗比较 功耗模式 工作电流 深度睡眠电流 平均电流 项目 1 项目 2 2.7 mA 2.7 mA n/a 7 µA 2.7 mA 10.9 µA 图 19. 项目 2 的时序图 深度睡眠 512 ms 电流 2.7 mA 720 µs 活动 7 µA 时间 上电 www.cypress.com 文档编号:002-03850 版本** 19 PSoC® 4 Segment LCD 直接驱动模式 图 20. 项目 2 的固件执行流程 将LCD驱动模式改为数字关联模式 进入深度睡眠模式 等待512 ms 返回到活动模式 将LCD驱动模式改为PWM模式。 显示下一个数字。 该项目使用 Global Signal(全局信号)组件来生看门狗定时器(WDT)中断。请按照图 21 配置该组件。WDT 被配置 为每隔 512 ms 的时间生成一次中断。图 22 显示的是该项目的 TopDesign 原理图。 图 21. Global Signal 组件配置。 www.cypress.com 文档编号:002-03850 版本** 20 PSoC® 4 Segment LCD 直接驱动模式 图 22. 项目 2 的 LCD TopDesign 原理图 为了测试该项目,请先对器件进行编程,按照项目 1(图 17)连接显示屏,然后观察其输出。您仍会看到一个滚动的 显示屏,但是,该项目的电源消耗已经明显降低。 www.cypress.com 文档编号:002-03850 版本** 21 PSoC® 4 Segment LCD 直接驱动模式 8.3 项目 3:Segment LCD 和 CapSense 用户界面 该项目演示了一个完整的用户界面(UI),包括 CapSense 触摸感应和一个 segment LCD 显示屏。操作时,UI 控制器 的大部分时间和电源都使用于等待用户输入。为了实现一个低功耗的设计,PSoC 4 需要周期性地进入深度睡眠模式。 注意:该项目使用了 CapSense widget 的手动调试来获得较快的扫描时间和较低的功耗。因此,CapSense 手动调试 的知识就是该项目的先决条件。更多有关手动调试的信息,请参考 PSoC 4 CapSense 设计指南。 该项目是项目 2 的修改版本,以添加 CapSense 性能。图 23 显示的是时序框图,图 24 显示了该项目的 TopDesign 原 理图,以及图 25 介绍了它的固件执行流程。 在该项目中,PSoC 4 仅在 128 ms 内处于深度睡眠模式这有助于 CapSense 扫描各传感器够频繁以检测到快速触摸。 器件唤醒时,CapSense 会将所有滑条元素绑在一起,并将它们作为单个接近传感器进行扫描。如果任意滑条元素被触 摸,接近传感器会检测到一个触摸,然后对每个元素进行单独扫描,以确定滑条触摸位置。滑条位置将显示于 LCD 显 示屏上。 如果在检测到触摸后 128 ms 的时间内,所有 CapSense widget 都无效,那么器件将返回到深度睡眠模式。无触摸 时,PSoC 4 所消耗的平均电流低于 21 µA。 图 23. 项目 3 的时序图 深度睡眠 128 ms 电流 3.5 mA 500 µs 活动 7 µA 时间 上电 图 24. 项目 3 的 TopDesign 原理图 www.cypress.com 文档编号:002-03850 版本** 22 PSoC® 4 Segment LCD 直接驱动模式 图 25. 项目 3 的固件执行流程 将LCD驱动模式改为PWM模式。扫描滑条并显示 手指触摸位置 传感器是否在128 ms的时间 内无效? 否 是 将LCD驱动模式改为数字关联模式。 进入深度睡眠模式 WDT在 128 ms后唤醒 将所有传感器组合起来,作为单个 传感器进行扫描 是否检测到触摸? 否 是 若想测试该项目,请按照图 17 连接滑条,然后触摸滑条并确保 LCD 可以显示滑条的位置。滑条无效时,LCD 将显示 “dSLP”,以表示器件的深度睡眠模式。请注意,在指定的某些条件下,可以手动调试默认 CapSense 参数以用于 CY8CKIT-042。如果触摸响应较差,您可以再次手动调试。或者,您可以使用 SmartSense™来代替,它是一种固件算 法,可以自动将所有参数设置为最佳状态。更多有关信息,请参考 PSoC 4 CapSense 设计指南。请注意,使用 SmartSense 会使电源消耗递增。采用 SmartSense 时,该项目的平均功耗约为 40 µA。 www.cypress.com 文档编号:002-03850 版本** 23 PSoC® 4 Segment LCD 直接驱动模式 8.4 项目 4: 字母数字 Segment LCD PSoC 4100M/4200M 器件具有 55 个 GPIO。该项目能够使用 PSoC 4100M/ 4200M 器件中大部分 GPIO 的优点来驱动 一个 VIM-828 segment LCD 模块,它是具有 8 个 14 段式数字,4 个 COM 电极和 32 个 SEG 电极的模块。该项目需要 使用赛普拉斯的 CY8CKIT-043 和 VIM-828 LCD。 segment LCD 组件提供丰富的 API 函数,用于将各字符串显示于 14 段式的字母数字显示屏。该项目演示了显示于 VIM-828 上的一个静态文字“PSoC4200”。 更多有关信息,请参考 PSoC Creator 项目。表 5 提供了使用于 VIM-828 和 CY8CKIT-43 之间线连接的引脚映射信息。 表 5. 连线信息 LCD 引脚信息 www.cypress.com LCD 引脚功能 CY8CKIT-43 连接 1 COM3 P0[7] 2 SEG0 P0[6] 3 SEG1 P0[5] 4 SEG2 P0[4] 5 SEG3 P0[3] 6 SEG4 P0[2] 7 SEG5 P0[1] 8 SEG6 P0[0] 9 SEG7 P7[1] 10 SEG8 P4[0] 11 SEG9 P3[7] 12 SEG10 P3[6] 13 SEG11 P3[5] 14 SEG12 P3[4] 15 SEG13 P3[3] 16 SEG14 P3[2] 17 SEG15 P3[1] 18 COM2 P3[0] 19 COM0 P6[5] 20 SEG16 P6[4] 21 SEG17 P6[2] 22 SEG18 P6[1] 23 SEG19 P6[0] 24 SEG20 P2[7] 25 SEG21 P2[6] 26 SEG22 P2[5] 27 SEG23 P2[4] 28 SEG24 P1[3] 29 SEG25 P1[2] 文档编号:002-03850 版本** 24 PSoC® 4 Segment LCD 直接驱动模式 LCD 引脚信息 9 LCD 引脚功能 CY8CKIT-43 连接 30 SEG26 P1[1] 31 SEG27 P1[0] 32 SEG28 P5[5] 33 SEG29 P5[3] 34 SEG30 P5[2] 35 SEG31 P5[1] 36 COM1 P5[0] 汇总 本应用笔记演示了 PSoC 4 器件中的 segment LCD 驱动模式。强壮的电容式触摸感应与一流的低功耗性能一同使 PSoC 4 成为了低功耗、单芯片和用户界面解决方案的理想选择。 另外,本应用笔记还提供了 PSoC 4 segment LCD 入门的四个示例项目,它们显示了低功耗性能,并演示了一个完整 的用户界面。 请注意,由于 PSoC 4 具有多种额外的特性,如:可编程模拟和数字、32 位 ARM Cortex-M0 微控制器和串行通信模 块, 因此,它可允许您创建围绕 PSoC 4 的一个完整的系统解决方案。 关于作者 姓名: Nidhin MS 职务: 高级应用工程师 背景: Nidhin 毕业于 GEC 特里苏尔(Thrissur)大学,并获得了电子与通信工程学士学位。他的技术爱好是 模拟信号处理、低功耗设计以及电容式触摸感应等领域。 姓名: Rahul Raj Sharma 职务: 应用工程师 背景: Rahul 毕业于 RNS 技术研究所(班加罗尔),并获得了电子与通信工程学士学位。 www.cypress.com 文档编号:002-03850 版本** 25 PSoC® 4 Segment LCD 直接驱动模式 文档修订记录 文档标题: AN87391 — PSoC® 4 Segment LCD 直接驱动模式 文档编号:002-03850 版本 ** ECN 4989164 www.cypress.com 变更者 NBWB 提交日期 10/27/2015 变更说明 本文档版本号为 Rev**,译自英文版 001-87391 Rev*B。 文档编号:002-03850 版本** 26 PSoC® 4 Segment LCD 直接驱动模式 全球销售和设计支持 赛普拉斯公司具有一个由办事处、解决方案中心、厂商代表和经销商组成的全球性网络。要想查找离您最近的办事处,请访问赛 普拉斯办公所在地。 产品 PSoC®解决方案 汽车级产品 cypress.com/go/automotive psoc.cypress.com/solutions 时钟与缓冲区 cypress.com/go/clocks PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP 接口 cypress.com/go/interface 赛普拉斯开发者社区 照明与电源控制 cypress.com/go/powerpsoc 社区 | 论坛 | 博客 | 视频 | 培训 存储器 cypress.com/go/memory 技术支持 PSoC cypress.com/go/psoc 触摸感应 cypress.com/go/touch USB 控制器 cypress.com/go/usb 无线/射频 cypress.com/go/wireless cypress.com/go/support PSoC 是赛普拉斯半导体公司的注册商标,且 PSoC Creator 是赛普拉斯半导体公司的商标。此处引用的所有其他商标或注册商标归其各自所有者所有。 赛普拉斯半导体公司 电话 :408-943-2600 198 Champion Court 传真 :408-943-4730 San Jose, CA 95134-1709 网址 :www.cypress.com ©赛普拉斯半导体公司,2013-2015。此处所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品内嵌的电路外,赛普拉斯半导体公司不对任何 其他电路的使用承担任何责任。也不根据专利或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯不保证 产品能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对于有可能因为发生功能异常和故障而对用户造成严重伤害的生命支持 系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统中,则表示制造商将承担因此类使用而招致的所有风险, 并确保赛普拉斯免于因此而受到任何指控。 该源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约 规定的保护和约束。赛普拉斯据此向获许可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作 品、编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件,以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普 拉斯集成电路配合使用。除上述指定的用途外,未经赛普拉斯明确的书面许可,不得对此类源代码进行任何复制、修改、转换、编译或演示。 免责声明:赛普拉斯不针对此材料提供任何类型的明示或暗示保证,包括(但不限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不做 出通知的情况下对此处所述材料进行更改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于可能因为发生功能异常和故 障,而对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品使用于生命支持系统中,则表示制造 商将承担因此类使用而招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。 产品使用可能受限于赛普拉斯软件许可协议。 www.cypress.com 文档编号:002-03850 版本** 27