Component - Graphic LCD Controller V1.70 - Chinese

®
PSoC Creator™ Component Datasheet
图形 LCD 控制器(GraphicLCDCtrl)
1.70
特性
 完全可编程的屏幕尺寸,支持最高达 HVGA 分辨率,包括:
 QVGA (320x240) @ 60 Hz 16 bpp
 WQVGA (480x272) @ 60 Hz 16 bpp
 HVGA (480x320) @ 60 Hz 16 bpp






支持虚拟屏幕运行
配有 SEGGER emWin 图形库的接口
可在消隐信号间隔期间执行读写操作
生成连续的时序信号发送到面板,而无需 CPU 干预
最高支持 23 位地址、16 位数据的异步 SRAM 用作外部帧缓冲器
在横向和垂直消隐信号间隔的开始和结束时生成可选中断脉冲
概述
图形 LCD 控制器(GraphicLCDCtrl)组件提供了连接 LCD 面板的接口,此 LCD 面板具有 LCD
驱动器但无 LCD 控制器。这种类型的面板不含帧缓冲器。帧缓冲器必须由外部提供。
此组件还可以连接至使用 16 位宽的异步 SRAM 器件实现且外部提供的帧缓冲器。
此组件旨在与 SEGGER emWin 图形库配合使用。此图形库由赛普拉斯提供,用于与赛普拉斯器
件配合使用,可访问赛普拉斯网站 www.cypress.com/go/comp_emWin 获取此图形库。此图形库
提供一组功能齐全的图形函数,用于绘制和渲染文本和图像。
何时使用 GraphicLCDCtrl
GraphicLCDCtrl 组件支持许多 LCD 面板。它可以直接驱动控制信号和管理外部 SRAM 中的帧缓
冲器。此组件可生成 dotclk、hsync、vsync 和 de 输出以访问 SRAM 中的数据并使用将数据显示
在 LCD 上。
赛普拉斯半导体公司• 198 Champion Court • San Jose,CA 95134-1709 • 408-943-2600
Document Number: 001-88791 Rev. *A
修订时间 October 8, 2013
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
仅当帧缓冲器 SRAM 不正在刷新 LCD 面板时,才可访问帧缓冲器 SRAM 进行读取和写入操作。
如果在刷新周期内发出了读取或写入请求,所提供的 API 函数将一直等待,直至刷新进入消隐信
号周期。在消隐信号期间,完成读取或写入操作。
中断可用于指示进入或退出消隐信号期间。当与 RTOS 相结合时,中断尤其有用,在进入和退出
消隐信号周期后,可换入或换出需要访问帧缓冲器的任务。
输入/输出连接
本节介绍了 GraphicLCDCtrl 组件的输入和输出连接。某些 I/O 符号在其描述中所列的条件下可能
隐藏不显示。
输入
可能隐藏
说明
di_lsb[7:0]
否
输入数据总线的低8位。在读取数据操作过程中,它们用于数据传输。将这些信号连接到器
件的输入引脚上,并禁用这些引脚的“Input Synchronized”(同步输入)选项。各信号自
身就是同步的,因为是基于同步输出信号驱动它们的。
di_msb[7:0]
否
输入数据总线的高8位。在读取数据操作过程中,它们用于数据传输。将这些信号连接到器
件的输入引脚上,并禁用这些引脚的“Input Synchronized”(同步输入)选项。各信号自
身就是同步的,因为是基于同步输出信号驱动它们的。
clock
否
操作此组件的时钟。它的频率是dotclk的频率的两倍。
输出
可能隐藏
说明
否
输出数据总线的低8位。在写入数据操作过程中,它们用于数据传输。
do_msb[7:0] 否
输出数据总线的高8位。在写入数据操作过程中,它们用于数据传输。
do_lsb[7:0]
doe
否
PSoC中数据总线组件的输出使能。它通常连接到数据总线的输入/输出引脚组件的输出使
能上。
addr0[7:0]
否
连接到帧缓冲器的地址总线的最低8位。
addr1[7:0]
否
连接到帧缓冲器的地址总线的中间8位。
addr2[6:0]
否
连接到帧缓冲器的地址总线的高8位。帧缓冲器所需的数据位数取决于所使用的SRAM器
件。
nwe
否
帧缓冲器SRAM的写入使能, 低电平有效。
noe
否
帧缓冲器的输出使能, 低电平有效。
de
否
面板的数据使能。
hsync
否
面板的水平同步时序信号。
vsync
否
面板的垂直同步时序信号。
页 2/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
输出
可能隐藏
Graphic LCD Controller (GraphicLCDCtrl)
说明
dotclk
否
驱动至面板的时钟。此时钟的频率是输入时钟的频率的一半。
interrupt
是
边沿触发的中断信号。如果选择了不生成中断,此输出符号将处于隐藏状态。
原理图宏信息
宏使用默认设置配置,连接 Optrex T-55343GD035JU-LW-AEN 面板。宏中包括的时钟被设置为
13 MHz,这使得向 Optrex QVGA 面板提供 6.5 MHz dotclk。
通常,高地址位(addr2)中仅有一些位用于连接到帧缓冲器。具体位数取决于所使用的 SRAM
的大小。根据需要的地址位数,可以使用以下步骤调整此总线的大小。


配置 addr2 输出引脚组件并设置“Number of Pins”(引脚数量)。
右键单击驱动输出引脚的信号,并选择“Edit Name And Width”(编辑名称和宽度)。然
后,调整“Left Index”(左索引)以反映输出引脚的宽度。
取消选择所有数据引脚上的“Input Synchronized”(同步输入)选项,并关闭所有引脚的 API 函
数的生成。
Document Number: 001-88791 Rev. *A
页 3/24
Graphic LCD Controller (GraphicLCDCtrl)
®
PSoC Creator™ Component Datasheet
组件参数
将一个 GraphicLCDCtrl 组件拖放到您的设计上,并双击以打开 Configure(配置)对话框。
GraphicLCDCtrl 的默认设置用于对 Optrex 面板的操作。
Configure GraphicLCDCtrl(配置 GraphicLCDCtrl)对话框包含以下参数。这些设置均为编译时
的选项,用户在运行时无需更改这些设置。它们都是所使用的面板和帧缓冲器 SRAM 的特性。
Sync Pulse Polarity(同步脉冲极性)
基于此设置,hsync 信号和 vsync 信号是 Active High(高电平有效)(生成的脉冲是高脉冲)还
是 Active Low(低电平有效)的。此选择可控制 hsync 极性和 vsync 极性。默认设置为 Active
Low(低电平有效)。
Transition Dotclk Edge(切换 Dotclk 边沿)
Dotclk 是发送到面板的时钟,面板由此时钟驱动。当切换设置为 Rising edge(上升沿),所有
关联的信号(例如 hsync、vsync 和 de)将在 dotclk 的上升沿上切换。当设置为 Falling edge
(下降沿)时,他们将在 dotclk 的下降沿时切换。
通常,如果面板指定了到 dotclk 的一个边沿的建立和保持时间,应将此设置配置为此时钟的另一
个边沿。这提供了大约时钟周期的一半周期的设置和保持时间。默认设置为 Falling edge(下降
沿)。
页 4/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
水平时序(dotclk)

Sync Width(同步宽度)— 定义水平同步宽度, 以 dotclk 为单位。此值的范围为 1 到 256 个
时钟周期。默认设置为 2。

Back Porch(后沿) — 定的水平后沿宽度, 以 dotclk 为单位。此值的范围为 6 到 256 个时钟
周期。最小值 6 向状态机提供了早期足够的指示,以防止在活动的屏幕区域开始之前存在无法
完成的读取或写入访问。一些面板规范将后沿作为同步信号的结尾与活动区域的开头之间的区
域进行衡量。另一些面板规范则将后沿作为从同步脉冲的开头到活动区域的开头之间的区域。
此组件将后沿作为同步脉冲的结尾到活动区域的开头之间的周期进行衡量。默认设置为 66。

Active Region(活动区域) — 定义水平活动区域宽度, 以 dotclk 为单位。活动区域是使用为
4 的倍数的设置实现的。当仅使用 8 位计数器时,这允许区域最大为 1024 x 1024。所有常见
的屏幕尺寸在两个方向上都是 4 的倍数。此值的范围为 4 到 1024(必须是 4 的倍数)个时钟
周期。默认设置为 320。

Front Porch(前沿) — 定义水平前沿宽度, 以 dotclk 为单位。此值的范围为 1 到 256 个时钟
周期。默认设置为 20。
垂直时序(行)

Sync Width(同步宽度)— 定义垂直同步宽度, 以行为单位。此值的范围为 1 到 256 个时钟
周期。默认设置为 2。

Back Porch(后沿)— 定义垂直后沿宽度,, 以行为单位。此值的范围为 1 到 256 个行。一些
面板规范将后沿作为同步信号的结尾与活动区域的开头之间的区域进行衡量。另一些面板规范
则将后沿作为从同步脉冲的开头到活动区域的开头之间的区域。此组件将后沿作为同步脉冲的
结尾到活动区域的开头之间的周期进行衡量。默认设置为 16。

Active Region(活动区域)— 定义垂直活动区域宽度, 以行为单位。活动区域是使用为 4 的
倍数的设置实现的。当仅使用 8 位计数器时,这允许区域最大为 1024 x 1024。所有常见的屏
幕尺寸在两个方向上都是 4 的倍数。此值的范围为 4 到 1024(必须是 4 的倍数)个行。默认
设置为 240。

Front Porch(前沿)— 定义垂直前沿宽度, 以行为单位。此值的范围为 1 到 256 个行。默认
设置为 4。
Interrupt Generation(中断生成)
定义中断生成的设置。默认设置为 None(无)。

如果设置为 Vertical blanking(纵向消隐),在纵向消隐间隔的开始和结束时都将生成一个中
断脉冲。
Document Number: 001-88791 Rev. *A
页 5/24
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)

如果设置为 Vertical & Horizontal blanking(纵向和横向消隐),在每个活动区域的开始和
结束时都将生成一个中断脉冲。
在活动纵向区域期间,每行活动区域的开始和结束时都有一个中断。对于纵向消隐区域,最后
一活动行结束时有一个中断,第一个活动行开始时有另一个中断。
时钟选择
该器件中没有内部时钟。您必须添加一个时钟源。提供的时钟频率必须是输出到面板的 dotclk 所
需时钟频率的两倍。
应用编程接口
通过应用编程接口(API)子程序,您可以使用软件对软件进行配置。下表列出并说明了每个函数
的接口。以下各节将更详细地介绍了每个函数。
默认情况下,PSoC Creator 将实例名称“GraphicLCDCtrl_1”分配给指定设计中组件的第一个实
例。您可以将该实例重命名为符合标识符语法规则的任意唯一值。实例名称会成为每个全局函数
名称、变量和常量符号的前缀。出于可读性考虑,下表中使用的实例名称为
“GraphicLCDCtrl”。
函数
说明
GraphicLCDCtrl_Start()
启动GraphicLCDCtrl接口。
GraphicLCDCtrl_Stop()
禁用GraphicLCDCtrl接口。
GraphicLCDCtrl_Write()
启动对帧缓冲器的写入数据操作。
GraphicLCDCtrl_Read()
启动从帧缓冲器中的读取数据操作。
GraphicLCDCtrl_WriteFrameAddr()
设置在刷新屏幕时使用的帧缓冲器起始地址。
GraphicLCDCtrl_ReadFrameAddr()
读取在刷新屏幕时使用的帧缓冲器起始地址。
GraphicLCDCtrl_WriteLineIncr()
设置相邻行之间的地址间距。
GraphicLCDCtrl_ReadLineIncr()
读取行之间的地址增量。
GraphicLCDCtrl_Sleep()
保存配置,并禁用GraphicLCDCtrl。
GraphicLCDCtrl_Wakeup()
恢复配置,并启用GraphicLCDCtrl。
GraphicLCDCtrl_Init()
初始化或将组件参数恢复为组件定制器提供的设置。
GraphicLCDCtrl_Enable()
使能GraphicLCDCtrl。
GraphicLCDCtrl_SaveConfig()
保存GraphicLCDCtrl的配置。
页 6/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
函数
说明
GraphicLCDCtrl_RestoreConfig()
恢复GraphicLCDCtrl的配置。
全局变量
变量
说明
GraphicLCDCtrl_initVar
GraphicLCDCtrl_initVar指示是否已初始化图形LCD控制器。变量将初始化为0,并在第
一次调用GraphicLCDCtrl_Start()时设置为1。这样,第一次调用GraphicLCDCtrl_Start()
子程序后,组件不用重新初始化即可重启。
如果需要重新初始化组件,则应在调用GraphicLCDCtrl_Start()或
GraphicLCDCtrl_Enable()函数之前先调用GraphicLCDCtrl_Init()函数。
void GraphicLCDCtrl_Start(void)
说明:
根据需要,此函数启用活动模式电源模板位或时钟。这是开始执行组件操作的首选方法。
GraphicLCDCtrl_Start()将initVar设置为1,调用GraphicLCDCtrl_Init()函数,然后调用
GraphicLCDCtrl_Enable()函数。
参数:
无
返回值:
无
副作用:
如果已设置initVar变量,则该函数仅调用GraphicLCDCtrl_Enable()函数。
void GraphicLCDCtrl_Stop(void)
说明:
根据需要,此函数禁用活动模式电源模板位或关断时钟。
参数:
无
返回值:
无
其他影响:
无
Document Number: 001-88791 Rev. *A
页 7/24
Graphic LCD Controller (GraphicLCDCtrl)
®
PSoC Creator™ Component Datasheet
void GraphicLCDCtrl_Write(uint32 addr, uint16 data)
说明:
此函数使用提供的地址和数据启动对帧缓冲器的写入数据操作。此命令将被列入命令队列,
因此,在接口上实际完成写入之前,此函数将返回。如果命令队列已满,此函数不返回,直
至有空间将此写入请求列入队列
参数:
addr:要在组件的地址线上发送的地址(addr2[6:0]、addr1[7:0]、addr0[7:0])。
data:在do_msb[7:0](最高有效位)和do_lsb[7:0](最低有效位)引脚上发送的数据
返回值:
无
其他影响:
无
uint16 GraphicLCDCtrl_Read(uint32 addr)
说明:
此函数启动从帧缓冲器中的读取数据操作。在完成所有当前发布的写入操作之后执行读取操
作。此函数等待直至读取完成,然后返回读取值。
参数:
addr:要在组件的地址线上发送的地址(addr2[6:0]、addr1[7:0]、addr0[7:0])。
返回值:
di_msb[7:0](最高有效位)和di_lsb[7:0](最低有效位)引脚中的读取值
副作用:
无
void GraphicLCDCtrl_WriteFrameAddr(uint32 addr)
说明:
此函数设置在刷新屏幕时使用的帧缓冲器起始地址。在各个纵向消隐间隔期间读取此寄存
器。要实现此寄存器的完全更新,应在活动刷新区域期间写入此该寄存器。
参数:
addr:帧缓冲器起始地址
返回值:
无
其他影响:
无
uint32 GraphicLCDCtrl_ReadFrameAddr(void)
说明:
此函数读取在刷新屏幕时使用的帧缓冲器起始地址。
参数:
无
返回值:
帧缓冲器起始地址
副作用:
无
页 8/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
void GraphicLCDCtrl_WriteLineIncr(uint32 incr)
说明:
此函数设置相邻行之间的地址间距。默认情况下,这是行的显示大小。此设置可用于将行与
不同的字边界对齐,或实现比显示区域大的虚拟行长度。
参数:
incr:行之间的地址增量。必须至少为行的显示大小。
返回值:
无
其他影响:
无
uint32 GraphicLCDCtrl_ReadLineIncr(void)
说明:
此函数读取行之间的地址增量。
参数:
无
返回值:
行之间的地址增量
副作用:
无
void GraphicLCDCtrl_Sleep(void)
说明:
这是准备组件睡眠的首选子程序。GraphicLCDCtrl_Sleep()子程序保存当前组件的状态。然
后它调用GraphicLCDCtrl_Stop()函数,并调用GraphicLCDCtrl_SaveConfig()函数以保存硬件
配置。
在调用CyPmSleep()或CyPmHibernate()函数之前调用GraphicLCDCtrl_Sleep()函数。有关功
耗管理函数的详细信息,请参考《系统参考指南》。
参数:
无
返回值:
无
其他影响:
无
void GraphicLCDCtrl_Wakeup(void)
说明:
该函数是将组件恢复到调用GraphicLCDCtrl_Sleep()时状态的首选子程序。
GraphicLCDCtrl_Wakeup()函数调用GraphicLCDCtrl_RestoreConfig()函数以恢复配置。如果
组件在调用GraphicLCDCtrl_Sleep()函数前已启用,则GraphicLCDCtrl_Wakeup()函数还将重
新启用组件。
参数:
无
返回值:
无
副作用:
调用GraphicLCDCtrl_Wakeup()函数前未调用GraphicLCDCtrl_Sleep()或
GraphicLCDCtrl_SaveConfig()函数可能会产生意外行为。
Document Number: 001-88791 Rev. *A
页 9/24
Graphic LCD Controller (GraphicLCDCtrl)
®
PSoC Creator™ Component Datasheet
void GraphicLCDCtrl_Init(void)
说明:
此函数初始化或将组件参数恢复为组件定制器提供的设置。编译时定义的时序生成的配置会
被恢复设置。帧缓冲器地址的运行时配置设为0;对于行增量,此配置设为显示行大小。
参数:
无
返回值:
无
副作用:
调用此函数之前,必须用GraphicLCDCtrl_Stop()函数禁用组件,否则组件的行为会出现异
常。此函数将重新初始化组件,但以下部分将不被重新初始化:它不清除FIFO中的数据,且
不复位组件硬件状态机。
void GraphicLCDCtrl_Enable(void)
说明:
此函数激活硬件并开始执行器件操作。无需调用GraphicLCDCtrl_Enable(),因为
GraphicLCDCtrl_Start()子程序会调用该函数,这是开始组件操作的首选方法。
参数:
无
返回值:
无
其他影响:
无
void GraphicLCDCtrl_SaveConfig(void)
说明:
该函数会保存组件配置和非保留寄存器。它还保存Configure(配置)对话框中定义的或通过
相应API修改的当前器件参数值。该函数由GraphicLCDCtrl_Sleep()函数调用。
参数:
无
返回值:
无
其他影响:
无
页 10/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
void GraphicLCDCtrl_RestoreConfig(void)
说明:
此函数会恢复组件配置和非保留寄存器。它还将组件参数值恢复为在调用
GraphicLCDCtrl_Sleep()函数之前的值。
参数:
无
返回值:
无
副作用:
如果在调用GraphicLCDCtrl_SaveConfig()之前调用API,组件配置将恢复到其默认设置。帧
缓冲器地址的运行时配置设为0;对于行增量,此配置设为显示行大小。
样例固件源代码
PSoC Creator 在“Find Example Project”对话框中提供了包括原理图和代码示例的许多示例项
目。要查看特定组件实例,请打开“Component Catalog”中的对话框或者原理图中的组件样例。
要查看通用样例,请打开“Start Page”或 File 菜单中的对话框。根据要求,可以通过使用对话
框中的 Filter Options 选项来限定可选的项目列表。
更多有关信息,请参考《PSoC Creator 帮助》中主题为“查找示例项目”中的内容。
功能描述
此组件生成连续时序信号发送到面板,而无需 CPU 干预。在刷新期间,组件还生成对帧缓冲器的
读取请求,通过 16 位像素数据的帧进行扫描。在消隐间隔(横向和纵向)期间,组件可在帧缓冲
器接口上生成读取或写入数据操作。
屏幕刷新和时序
在整个帧时间中,组件在 vsync 上生成已配置的纵向时序模式,而在帧的各个行中,组件在 hsync
上生成已配置的横向模式。除了 hsync 和 vsync,一些面板需要 de(数据使能)信号,该信号在
屏幕刷新的有效期间处于高电平有效状态。尽管刷新周期各个部分的时序不同,但所有面板都以
同样的方式操作。图 1 显示典型面板的时序图。
Document Number: 001-88791 Rev. *A
页 11/24
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
图 1. 典型面板时序
Vertical timing:
SYNC
BP
ACT
FP
vsync
y
hsync
1
2
3
4
1LINE
2LINE
5
6
3LINE
239LINE
240LINE
243
244
7
245
246
247
248
249
1
dotclk
Horizontal timing:
SYNC
ACT
BP
FP
hsync
de
x
1
2
3
4
318
319
320
dotclk
纵向信号的各个帧的序列和横向信号的各行的序列遵循此模式:




Sync pulse(同步脉冲):同步脉冲有效时期
Back Porch(后沿):从同步脉冲结束直至有效显示区域的时期
Active(活动):屏幕上的显示区域
Front Porch(前沿):从有效显示结束直至同步脉冲开始的时期
地址生成
当屏幕已刷新,组件必须扫描帧缓冲器以生成屏幕上像素的地址。每个像素需要帧缓冲器中的一
个 16 位读数。对于各个帧的开头,帧缓冲器中的索引复位为帧缓冲器的指定起点。此值初始设为
0,之后可用 API 函数进行更改。帧缓冲器地址不影响读取和写入 API 函数,它仅影响刷新操作。
帧缓冲器数据操作
控制器组件可执行读取或写入数据操作。这些数据操作具有以下参数:



“Read”(读取)或“write”(写入)
Address(地址):最多达 23 位地址
Data(数据)16 位值。数据在“do”(数据输出)输出,在“di”(数据输入)输入。
页 12/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
用于此组件的实现将 23 位地址和 1 位读/写指示符进行组合。这允许用三个字节将地址和数据操作
类型传输到组件。它还允许将数据操作类型和地址一同放在数据路径 FIFO 中。
在横向和纵向消隐间隔期间执行读取和写入数据操作。
空闲状态
在帧缓冲器接口上未发生读取和写入操作时,接口处于空闲状态。空闲状态控制信号的值与读状
态时控制信号的值相同。在空闲情况下,输出引脚的值如下所示:





do:无需关注(可能保留其上一个状态)
doe:0
addr:无需关注(可能保留其上一个状态)
nwe: 1
noe: 0
读取和写入数据操作的说明中未列出的任何信号都处于空闲状态。
写入数据操作
组件实现图 2 中写入数据操作的时序图。此图显示写入数据操作需要四个 dotclk 周期(所有图都
基于 dotclk 周期)。此数据操作之前或之后可紧跟另一个读取或写入数据操作,或可在写入数据
操作之前或之后处于空闲状态。
与 CPU 的接口允许 CPU 将写命令加入命令队列(请求一次写入并提供地址和数据,然后在数据
操作实际在帧缓冲器中完成之前继续处理其他任务)。实现允许 CPU 有四个待处理写入请求,而
不会停止。
注意 noe 和 doe 信号的模式,此模式防止数据总线同时被组件和帧缓冲器驱动(与信号时滞无
关)。
图 2. 写入数据操作时序图
addr
nwe
noe
do
doe
Document Number: 001-88791 Rev. *A
页 13/24
Graphic LCD Controller (GraphicLCDCtrl)
®
PSoC Creator™ Component Datasheet
读取数据操作
此组件实现图 3 中读取数据操作的时序图。此数据操作之前或之后可紧跟另一个读取或写入数据
操作,或可在写入数据操作之前或之后处于空闲状态。
图 3. 读取数据操作时序图
addr
di
Sample di
页 14/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
框图和配置
GraphicLCDCtrl 组件由一组已配置的 UDB 实现。图 4 显示此实现。
图 4. 框图
Timing generation
Vertical
cy_psoc3_dp8
cy_psoc3_dp8
Sync
counter
BP
counter
Sync
counter
BP
counter
FP
counter
Active
counter
FP
counter
Active
counter
hsync
vsync
de
Output logic
Horizontal
dotclk
doe
nwe
Control logic
noe
interrupt
SRAM Access
cy_psoc3_dp
cy_psoc3_dp
cy_psoc3_dp
Addr2 counter
Addr1 counter
Addr0 counter
Random memory
access Addr2
Random memory
access Addr1
Random memory
access Addr0
cy_psoc3_dp
cy_psoc3_dp
MSB Input
data bus
LSB Input
data bus
MSB Output
data bus
LSB Output
data bus
Document Number: 001-88791 Rev. *A
addr[22:0]
data[15:0]
页 15/24
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
寄存器
GraphicLCDCtrl_STATUS_REG
位
7
值
6
5
4
保留
3
2
1
0
v_blanking
h_blanking
Avail
full(满)
(可用)




full(满)如果指令/数据 FIFO 已满,将置位该位
avail(可用):如果对于 CPU 的读取数据可用,将置位该位
h_blanking:在横向消隐间隔期间,将置位该位
v_blanking:在纵向消隐间隔期间,将置位该位
资源
图形 LCD 控制器组件放置在整个 UDB 阵列中。该器件利用以下资源。
资源类型
配置
默认值
数据路径
单元
宏单元
状态单元
控制单元
DMA通道
中断
7
35
1
1
–
–
API 存储器使用
根据不同编译器、器件、所使用的 API 数量以及组件的配置情况,组件所用的存储器大小也不一
样。下表提供了给定组件配置中的所有 API 存储器使用。
通过发布模式中所配置的相应编译程序来完成测量操作。在发布模式下,可以得到最优化的尺
寸。对于特定的设计,分析编译器生成的映射文件后可以确定存储器的使用。
PSoC 3 (Keil_PK51)
配置
默认值
页 16/24
PSoC 5LP(GCC)
闪存
SRAM
闪存
SRAM
字节
字节
字节
字节
417
6
500
9
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
直流和交流电气特性
除非另有说明,否则这些规范的适用条件是:-40°C ≤ TA ≤ 85 °C 且 TJ ≤ 100 °C。除非另有说
明,否则这些规范的适用范围为 1.71 V 到 5.5 V。
直流电特性
参数
说明
最小值
典型值
最大值
单位
[2]
[1]
−
组件电流消耗
IDD
−
55
µA/MHz
交流电特性
参数
说明
最小值
典型值
最大值
[3]
单位
fDOTCLK
Dotclk频率
−
−
20
MHz
fCLOCK
组件时钟频率
−
2*fDOTCLK
−
MHz
tDOTCLK
Dotclk周期
−
1/fDOTCLK
−
ns
tCKL
Dotclk低时间
−
0.5
−
1/fDOTCLK
tCKH
Dotclk高时间
−
0.5
−
1/fDOTCLK
屏幕刷新和数据操作时序
tHSYNC
水平同步脉冲周期
1
−
256
tDOTCLK
tHBP
水平后沿周期
6
−
256
tDOTCLK
tHACTIVE
水平活动区域周期
4
−
1024
tDOTCLK
tHFP
水平前沿周期
1
−
256
tDOTCLK
tHBLANK
水平消隐期
−
tHSYNC +
tHBP +
tHFP
−
tDOTCLK
HCYCLE
行周期
−
tHBLANK +
tHACTIVE
−
tDOTCLK
tVSYNC
垂直同步脉冲周期
1
−
256
HCYCLE
tVBP
垂直后沿周期
1
−
256
HCYCLE
1. 未包括设备 IO 和时钟分配的电流。这些值是在温度是 25 °C 时的值。
2. 电流消耗与组件的输入时钟相关。
3. 这些值提供了此组件的最大安全工作频率。可以在更高的时钟频率运行器件,在该频率将需要使用 STA 结果验证时序要求。
Document Number: 001-88791 Rev. *A
页 17/24
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
参数
说明
最小值
典型值
最大值
[3]
单位
tVACTIVE
垂直活动区域周期
4
−
1024
HCYCLE
tVFP
垂直前沿周期
1
−
256
HCYCLE
tVBLANK
行周期
−
tVSYNC +
tVBP +
tVFP
−
HCYCLE
VCYCLE
垂直周期
−
tVBLANK +
tVACTIVE
−
HCYCLE
像素时序
tHV
同步信号下降沿的相差
−
tHFP
−
tDOTCLK
tVSYS
垂直同步建立时间
−
0.5
−
tDOTCLK
tVSYH
垂直同步保持时间
−
0.5
−
tDOTCLK
tHSYS
水平同步建立时间
−
0.5
−
tDOTCLK
tHSYH
水平同步保持时间
−
0.5
−
tDOTCLK
tDS
到LCD面板的数据建立时间
−
0.5
−
tDOTCLK
tDH
到LCD面板的数据保持时间
−
0.5
−
tDOTCLK
帧缓冲器操作时序
tAS
地址建立时间
1
−
−
tDOTCLK
tAH
地址保持时间
−
2
−
tDOTCLK
tPWE
NWE脉冲宽度
−
1
−
tDOTCLK
tDSW
帧缓冲器的数据建立时间
−
1
−
tDOTCLK
tDHW
帧缓冲器的数据保持时间
−
1
−
tDOTCLK
tCYCLE
时钟周期时间
写周期
4
−
−
tDOTCLK
读周期
2
−
−
tDOTCLK
tACC
数据访问时间
−
1
−
tDOTCLK
tOH
输出保持时间
−
0
−
tDOTCLK
页 18/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
图 5. 屏幕刷新和数据操作时序
Vertical timing
VCYCLE
vsync
(active high)
hsync
(active high)
vsync
(active low)
tVACTIVE
tVSYNC
tVFP
hsync
(active low)
tVBP
de
lines
Dummy
LINE
0
LINE
1
LINE
N-2
LINE
N-1
Dummy
dotclk
Horizontal timing
HCYCLE
hsync
(active high)
hsync
(active low)
tHACTIVE
tHSYNC
tHFP
de
tHBP
pixel data
pixel
0
pixel
1
pixel
2
pixel
N-2
pixel
N-1
dotclk
(falling edge)
dotclk
(rising edge)
Document Number: 001-88791 Rev. *A
页 19/24
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
图 6. 像素时序图
tVSYS
tVSYH
vsync
(active low)
tHSYS
hsync
(active low)
tHSYH
tHV
vsync
(active high)
hsync
(active high)
dotclk
(falling edge)
tDOTCLK
dotclk
(rising edge)
tDS
pixel data
页 20/24
tDH
tCKH
tCKL
Valid Data
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
图 7. 帧缓冲器操作时序图
Write Cycle
tCYCLE
dotclk
tAH
tAS
addr
tPWE
nwe
noe
doe
tDSW
do
tDHW
Valid Data
Read Cycle
tCYCLE
dotclk
addr
tACC
di
tOH
Valid Data
如何将 STA 结果用于特性数据
您可以用下列方法,使用静态时序分析(STA)结果计算设计的最大值:
fclock 最大组件时钟频率显示在命名外部时钟的时钟汇总中的时序结果中。下图显示了时钟限制
的示例。
其余参数特定于实现,在时钟周期中进行计算。它们可以分为两类。
Document Number: 001-88791 Rev. *A
页 21/24
Graphic LCD Controller (GraphicLCDCtrl)

®
PSoC Creator™ Component Datasheet
用于配置此组件的参数:
屏幕刷新和数据操作时序参数
fDOTCLK 驱动至面板的时钟。此时钟的频率是输入时钟的频率的一半。此组件允许您改变数据
传输到面板的dotclk边沿。此参数可设置为“上升沿”或“下降沿”。如果将其设置为
上升沿,所有输出信号将在dotclk的上升沿上进行更改。如果将其设置为下降沿,将在
dotclk的下降沿的同时进行输出。从而,面板将在dotclk的对立边沿上对这些信号进行
重新采样,并满足设置和保持时间。
tHSYNC 在 dotclk 中水平 hsync 脉冲处于活动状态的周期。信号可以是高电平有效(生成的脉
冲是高脉冲),也可以是低电平有效(生成的脉冲是低脉冲)。信号的极性在组件定
制器中设置。
tHBP
在 dotclk 中从 hsync 脉冲的结尾到活动区域的开头的周期。
tHACTIVE dotclk 中的水平活动区域周期(显示区域)。
tHFP
在 dotclk 中从活动显示的结尾直至 hsync 脉冲的开头的周期。
tVSYNC 在 HCYCLE 中垂直同步脉冲处于活动状态的周期。信号可以是高电平有效(生成的脉冲
是高脉冲),也可以是低电平有效(生成的脉冲是低脉冲)。信号的极性在组件定制
器中设置。
tVBP
在 HCYCLE 中从 vsync 脉冲的结尾到活动区域的开头的周期。
tVACTIVE HCYCLE 中的垂直活动区域周期(显示区域)。
tVFP
在 HCYCLE 中从活动显示的结尾直至 vsync 脉冲的开头的周期。
VCYCLE 更新一个完整的帧的周期。这定义为 tVSYNC 周期、tVBP 周期、tVACTIVE 周期与 tVFP 周期
的总和。
tVBLANK 帧周期的消隐行的数量。在此周期期间,可以更新帧缓冲器(此组件启动了到帧缓冲器
的写/读操作)。在消隐信号期间,没有到 LCD 面板的数据流。此周期是 tVSYNC 间隔、
tVBP 间隔与 tVFP 间隔之和。
HCYCLE 更新一个水平行的周期。定义为 tHSYNC 周期、tHBP 周期、tHACTIVE 周期与 tHFP 周期的总
和。
tHBLANK 一个水平行的消隐像素的数量。在此周期期间,可以更新帧缓冲器(此组件启动了到
帧缓冲器的写/读操作)。在消隐信号期间,没有到 LCD 面板的数据流。此周期是
tHSYNC 周期、tHBP 周期与 tHFP 周期总和。

基于组件实现固定的参数:
像素时序参数
tDOTCLKdotclk 信号的周期。
页 22/24
Document Number: 001-88791 Rev. *A
®
PSoC Creator™ Component Datasheet
Graphic LCD Controller (GraphicLCDCtrl)
tCKL
此组件生成了 50%占空比的 dotclk。
tCKH
此组件生成了 50%占空比的 dotclk。
tVSYS
在 dotclk 信号的活动边沿之前 vsync 信号有效的最小时间量。
tVSYH
在 dotclk 信号的活动边沿之后 vsync 信号有效的最小时间量。
tHSYS
在 dotclk 信号的活动边沿之前 hsync 信号有效的最小时间量。
tHSYH
在 dotclk 信号的活动边沿之后 hsync 信号有效的最小时间量。
请注意,tVSYS、tVSYH、tHSYS、tHSYH 参数取决于垂直时序的 dotclk 和 vsync 与水平时序
的 dotclk 和 hsync 之间的关系。您可以针对到面板的信号更改 dotclk 边沿。从而,面
板将在 dotclk 的对立边沿上对这些信号进行重新采样,并满足设置和保持时间。从
而,您几乎可以拥有建立和保持时间(即 tVSYS、tVSYH、tHSYS、tHSYH 信号)的整个
dotclk 周期的一半周期。
tHV
同步信号活动边沿的相差。在组件的实现过程中,在水平前沿的第一个周期内执行垂
直计数,因此 hsync 之前的 vsync 的相差等于水平前沿周期(tHFP)。
tDS
在 dotclk 信号之前数据在面板的输入上有效的最小时间量。
tDH
在 dotclk 信号之后数据在面板的输入上有效的最小时间量。
要确定这些参数,用作帧缓冲器的 SRAM 的时序必须 GraphicLCDCtrl 组件的实现一
起考虑。当屏幕刷新时,此组件将扫描帧缓冲器,同时生成屏幕上的像素的地址。帧
缓冲器的地址在有效的 dotclk 边沿上进行更改。dotclk 信号与地址信号之间的延迟接
近于零,因为这两种信号都是在内部组件时钟上生成并传送到输出引脚上的。从而几
乎允许保持时间为整个 dotclk 周期的一半。设置时间可以计算为 dotclk 的整个周期的
一半周期减去 SRAM 帧缓冲器的 tAA。tAA 可以在相应的 SRAM 数据表中找到。
帧缓冲器数据操作参数
tAS
在 nwe 信号的下降沿之前地址信号有效的最小时间量。
tAH
在 nwe 信号的上升沿之后地址信号有效的最小时间量。
tPWE
写入信号的最小脉冲宽度低时间。
tCYCLE
在帧缓冲器的接口上执行单一操作(写/读)的时间段。
tDSW
在写信号的下降沿之前数据有效的最小时间量。
tDHW
在写信号的上升沿之后数据有效的最小时间量。
tACC
在读操作的地址有效之后对数据进行重新采样的最小时间量。
tOH
在数据采样的 dotclk 信号的有效边沿之后数据应有效的最小时间量。
Document Number: 001-88791 Rev. *A
页 23/24
Graphic LCD Controller (GraphicLCDCtrl)
®
PSoC Creator™ Component Datasheet
组件更改
本节列出了各版本组件的主要更改。
版本
更改内容
1.70.a 移除了PSoC 5的参考内容。
1.70
更改原因/影响
PSoC 5被替代为PSoC5 LP。
添加了PSoC 5LP支持。
向数据手册中添加了特性部分
1.61
向.cyre文件中包括的所有组件API添加
了CYREENTRANT关键词。
并非所有API都是真正可重入的函数。组件API源文件中的注释指
出了适用的函数。
对于采用了安全方式并且是不可重入的函数,则需要该项变更,
这样可以消除编译器警告:通过标志或关键节防止并发调用。
添加了时序限制以标记此组件中的错误
时序路径。
从时序分析中删除了未使用的路径。这避免了错误的时序冲突消
息。
1.60.a 从数据表中删除了对关联套件的引用。
1.60
将FIFO模块状态信号重新采样到DP时
钟中。
允许组件针对所有PSoC 3芯片和PSoC 5芯片产生相同的时序结
果。
对数据表进行了少量编辑和更新
© 赛普拉斯半导体公司,2013。此处,所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品内嵌的电路以外,赛普拉斯半导体公司不对任何其他电路的使用承担任何责任。也不根据专
利或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯产品不保证能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对
于可能发生运转异常和故障并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统,则表示制造商将承担因此类使用而
招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
PSoC®是赛普拉斯半导体公司的注册商标,PSoC Creator™和 Programmable System-on-Chip™是赛普拉斯半导体公司的商标。此处引用的所有其他商标或注册商标归其各自所有者所有。
所有源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约规定的保护和约束。赛普拉斯据此向获许
可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作品、编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件,
以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普拉斯 集成电路配合使用。除上述指定的用途外,未经赛普拉斯的明确书面许可,不得对此类源代码进行任何复制、修改、转换、
编译或演示。
免责声明:赛普拉斯不针对此材料提供任何类型的明示或暗示保证,包括(但不仅限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不另行通知的情况下对此处所述材料进行更
改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于合理预计可能发生运转异常和故障,并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作
此类系统的关键器件。若将赛普拉斯产品用于生命支持系统,则表示制造商将承担因此类使用而导致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
产品使用可能受适用的赛普拉斯软件许可协议限制。
页 24/24
Document Number: 001-88791 Rev. *A