CN102187331A - 具有集成图形处理单元的微控制器 - Google Patents
具有集成图形处理单元的微控制器 Download PDFInfo
- Publication number
- CN102187331A CN102187331A CN2009801409272A CN200980140927A CN102187331A CN 102187331 A CN102187331 A CN 102187331A CN 2009801409272 A CN2009801409272 A CN 2009801409272A CN 200980140927 A CN200980140927 A CN 200980140927A CN 102187331 A CN102187331 A CN 102187331A
- Authority
- CN
- China
- Prior art keywords
- lcd
- data
- sipu
- state machine
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/34—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
- G09G3/36—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
- G09G3/3611—Control of matrices with row and column drivers
- G09G3/3622—Control of matrices with row and column drivers using a passive matrix
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明揭示一种具有集成特殊指令处理单元和可编程循环状态机的微控制器。所述特殊指令处理单元允许卸载输出数据的密集处理,且所述可编程循环状态机使将所述微控制器连接到外部显示器所必需的定制、芯片外电路的量最小化。
Description
相关申请案
本申请案与第12/139,640号美国专利申请案的标的物相关。
技术领域
本申请案的技术领域涉及一种具有集成图形处理单元的微控制器。
背景技术
微控制器广泛用于消费型产品和工业产品中以在小的增量成本的情况下提供先进的用户交互和数字控制。举例来说,胜于具有开关和简单计时器来控制咖啡机,具有小型触摸屏液晶显示器(LCD)的微控制器可提供优良的用户体验,且允许冲煮循环(brew cycle)的增强定制、过程的实时状态,和与其它家用装置的可能交互。冰箱可并入有具有图形显示器的微控制器以不仅追踪冰箱的性能,而且追踪冰箱的内含物。这将实现对食品过期进行警告,自动产生购物列表,且从递送服务自动订购食品杂货。工业应用可指示备用电源产生器的操作状态以及与已执行的维护和维修的记录组合的维护调度。
在需要图形显示器的情况下,微控制器使用对一种类型的显示器特定且可能限于特定几何形状和色深的定制状态机而与所述图形显示器介接。如果显示器的特性改变,那么必须重新设计定制状态机。举例来说,用户要求可随着时间而改变,使得单色显示器可在新的或现存机器上升级到彩色显示器。或者,如果组件定价显著波动或在环境条件改变的情况下,可替换不同显示器技术。在本发明之前,从单色LCD改变到主动矩阵薄膜晶体管(TFT)显示器可需要重新设计嵌有微控制器和状态机的专用集成电路(ASIC)。另一已知方法为使用增加系统的成本和复杂性的芯片外LCD控制器。
微控制器还可与其它并行数据源或输入/输出装置一起使用,以丰富现存产品和系统的功能性,或可能仅通过计算机处理能力创建新的产品和系统。此类外围装置包括传感器阵列、网络接口,和多点与压敏式触摸屏。可使用并行数据接口和一个或一个以上控制信号来并入大量可能的输入或输出装置。如同图形显示器一样,历来需要定制逻辑或外部控制器以将微控制器与这些输入/输出装置介接。
本文中所描述的应用中的许多者为成本敏感的,且将通过当前技术实施为成本高昂的。目前,在嵌入式环境中实施具成本效益的图形显示器需要定制的专用集成电路(ASIC)和大批量生产运行,在所述大批量生产运行中可摊销所述电路的研究、开发和加工费用。此方法不灵活,且阻止制造商响应能够缩短产品运行或替换替代性显示器技术的市场动态。此不灵活性增加项目的风险,且可进一步抬高费用。
发明内容
根据一实施例,一种微控制器可包含:第一中央处理单元(CPU);存储器;可编程循环状态机;特殊指令处理单元(SIPU);到输出装置的连接件;其中所述SIPU响应于来自所述CPU的命令而操纵所述存储器中的多个值;其中所述可编程循环状态机可连续地(如果外部装置需要,那么可能存在暂停)将数据从所述存储器传送到所述输出装置;且其中所述可编程循环状态机可周期性地将控制信号发射到所述输出装置,以通过所述输出装置的输入定时要求来协调数据传送。
根据另一实施例,一种微控制器可包含中央处理单元(CPU)、特殊指令处理单元(SIPU)、可编程循环状态机,和直接存储器存取控制器(DMA);其中输出数据的密集处理可由所述SIPU执行,因此释放CPU循环以用于其它任务。
根据又一实施例,一种微控制器可包含16位中央处理单元(CPU)、特殊指令处理单元(SIPU)、可编程循环状态机,和直接存储器存取控制器(DMA);其中所述微控制器可在多种尺寸、色深和技术的液晶显示器(LCD)上显示图形信息,且仍具有足够CPU带宽以实时响应于外部中断。
附图说明
可通过参考结合附图所考虑的以下描述来获取本发明及其优点的更完整且透彻的理解,在附图中相同参考数字指示相同特征。最佳参看图1到图17来理解本发明的优选实施例及其优点。
图1为展示微控制器的一个实施例的核心组件和连接到输入/输出装置的可编程循环状态机接口的框图;
图2为展示可编程循环状态机的一个实施例的内部组件的框图;
图3为展示可编程循环状态机的一个实施例的输入和输出信号的框图;
图4为展示一个实施例中所需的用于将数据移位信号从显示器时钟域变换到CPU时钟域的电路的框图;
图5为展示可编程循环状态机的一个实施例的内部组件的框图;
图6为展示一实施例中的在停用移位旁路选项(shift bypass option)的情况下经编程以驱动单色或格式2超扭转向列型(STN)显示器的可编程循环状态机的输出信号的时序图;
图7为展示一实施例中的在启用移位旁路选项的情况下经编程以驱动单色或格式2STN显示器的可编程循环状态机的输出信号的时序图;
图8为展示一实施例中的在停用移位旁路选项的情况下经编程以驱动格式1STN显示器的可编程循环状态机的输出信号的时序图;
图9为展示一实施例中的在启用移位旁路选项的情况下经编程以驱动格式1STN显示器的可编程循环状态机的输出信号的时序图;
图10为展示一实施例中的经编程以驱动薄膜晶体管显示器的可编程循环状态机的输出信号的时序图;
图11为根据可编程循环状态机的一个实施例的驱动图形显示器所需的步骤的框图;以及
图12为指示像素的布局的典型彩色液晶显示器面板的描绘。
图13为指示像素的布局的典型单色液晶显示器面板的描绘。
图14为展示微控制器的一个实施例的内部组件的框图,所述微控制器包含中央处理单元、特殊指令处理单元、存储器,和可以可操作方式连接到输出装置的可编程循环状态机。
图15为微控制器的一实施例的框图,所述微控制器包含图14中所说明的元件,但具有连接所述微控制器的元件的直接存储器存取组件。
图16为展示微控制器的一个实施例的内部组件的框图,所述微控制器包含特殊指令处理单元、直接存储器存取组件、可编程循环状态机、颜色查找表,和两个存储器接口。
图17为展示包含算术逻辑单元、寄存器组和各种多路复用器的特殊指令处理单元的一个实施例的内部组件的框图。
具体实施方式
在本发明的一个实施例中,产生在具有中央处理单元(CPU)和存储器的相同芯片上并入有可编程循环状态机的微控制器。此微控制器适于直接连接到广泛多种外部显示器模块,所述外部显示器模块包括大多数类型的具有并行数据接口的液晶显示器(LCD)模块。此LCD模块通常包括计数和寻址逻辑以将数据从并行接口发射到个别像素。然而,LCD模块无需并入有将允许其与例如直接存储器存取(DMA)逻辑等视频存储器直接介接的任何额外定时或寻址逻辑。在此实施例中,在微控制器上运行的软件创建图像的数字表示。此图像可为静态图像或单一视频帧。这可通过简单地将现存图像文件加载到存储器中来进行或可通过使用用于使用软件建置图像的任何数目个众所周知技术中的一者创建图像来进行。如果应用程序提供用户交互,那么图像可能包括经组合以创建图形用户接口(GUI)的用于数据显示、文本或数字和系统控制功能的可辨识元素。如果软件需要改变一个像素,那么其仅需改变在存储器中表示所述像素的数据值。
独立于CPU(和通常与CPU非同步地)操作,可编程循环状态机正执行连续环路,所述环路从存储器读取表示所述图像的每一值且经由并行接口将所述值发射到LCD模块。在所述连续环路中的某些点处,可编程循环状态机激活或减活如所述特定类型或模型的LCD模块所需的一个或一个以上控制信号。因为许多图形显示器技术的性质的缘故,所以即使图像数据未改变,此环路仍继续;显示器的个别光阻挡或光产生元件维持其当前状态历时小的时间窗口,且必须经周期性地刷新。
在另一实施例中,控制输入选自常见LCD显示器技术的预定子集,以便确定必要的控制输出信号波形和定时规格。控制输入还指定图形显示器的物理几何形状(以像素为单位的宽度和高度),以及由所述图形显示器所支持的像素深度(依据彩色显示器的灰阶等级或色深)。此实施例中的可编程循环状态机的第一控制输出必须支持指示像素信息的帧的边界、像素信息的线的边界、数据在总线上的整体传送的完整表示,和多用途信号的信号。所述多用途信号可连接到专用控制输入,例如,移位控制输入LSHIFT2、模式控制输入MOD,或数据就绪控制输入DRDY,或任何其它合适的控制输入。第二控制输出可支持数据移位信号,所述数据移位信号指示状态机已为从存储器的下一数据传送做好准备。在此实施例中,状态机可包含帧计数器、线计数器,和数据寄存器。最终,状态机可包含用于维持计数器的适当值、启用或停用输出和产生各种控制信号的逻辑。
在另一实施例中,可编程循环状态机并入于与微控制器和图形处理电路相同的集成电路内。在此实施例中,微控制器可包括能够执行(例如)少于每秒6000万条指令(MIPS)的16位CPU,但仍具有在外部显示器上显示彩色图形、图像或视频的能力。所述显示器可为至少与64×64像素一样小和至少与852×480像素一样大。对较大显示器的支持也是可能的。像素深度可通常从每像素一个位变动到每像素二十四个位,其中每像素二十四个位表示三种原色中的每一者的八个位。原色可为红色、绿色和蓝色,或可以其它形式表示。特定来说,如果显示器技术使用减色技术,那么原色可为红色、黄色和蓝色。
在另一实施例中,可使用双稳态(或多稳态)显示器,其将消除对像素信息的连续刷新的需要。在此实现(enablement)中,可编程循环状态机可针对改变而轮询存储器,或可在作出改变时由CPU触发。一旦检测到或宣告改变,可编程循环状态机便将接着在如上文所描述的相同一般过程中将图像数据的整个块输出到显示器。其它优化也是可能的,其中显示器允许图像数据的块或甚至个别像素的寻址。这些优化将需要用于检测块阶层或甚至像素阶层处的改变的逻辑和额外存储器。可经由维护图像数据的复本(duplicate copy)来处置此改变检测,以允许在任何时间应显示何内容与当前显示何内容之间的比较。或者,各种散列算法可用以确定已修改图像数据的哪一部分(如果存在)。在任一实施例中,仅所述改变的块或所述改变的像素将通过可编程循环状态机结合经适当定时的控制信号来读取和发射。
所属领域的一般技术人员应理解,此可编程循环状态机对其它输出装置将为有用的。举例来说,音频编解码器需要从存储器所读取的稳定的数字音频数据流,且可通过可编程循环状态机进行控制。具有并行数据接口的任何输出装置可在此实施例中在无定制逻辑或在最小芯片外定制逻辑的情况下连接到可编程循环状态机,所述并行数据接口需要数字数据与经协调的定时或控制信号的串流。
在另一实施例中,可编程循环状态机可包含额外控制逻辑以允许来自外部数据源的输入。此数据源可为用于音频或其它信号俘获用途的模/数转换器,或可为例如图像俘获装置等传感器的阵列。在此实施例中,可编程循环状态机可从CPU或外部输入装置接受触发器信号,且将从所述外部输入装置开始一个或一个以上读取循环。如在驱动标准图形显示器的实施例的状况下,此实施例可经配置以在不考虑数据的改变的情况下连续地读取经俘获的数据,或其可经配置以在由数据改变所触发的按需基础上操作。
本文中的特定描述不应视作限制性的,如所属领域的一般技术人员将理解,需要基于特定应用或营销计划而进行特定设计折衷。本文中所描述的数据路径通常为并行数据路径且可为总线或直接连接,但所属领域的一般技术人员将认识到,可使用串行连接或串行总线来实施数据路径。此外,状态机可将串行数据源转换到并行数据源,或将并行数据源转换到串行数据源。经由数据输入端传递到数据输出端的数据可为数字音频和/或图形数据。第二控制输出向数据源指示,状态机已为额外数据做好准备。数据源可为寄存器、直接存储器存取(DMA)装置,或先进先出(FIFO)存储器。数据源的特定实施方案对此实施例无关紧要,且所属领域的一般技术人员将理解,替换在此处为适当的。控制输入可由寄存器、只读存储器(ROM)、快闪存储器、例如双列直插式引脚(dual-inline-pin,DIP)开关等机械开关或任何其它源提供。
在另一实施例中,CPU与能够实施图形特定例程的专用图形处理单元(GPU)配对,所述图形特定例程在以软件实施于通用CPU上的情况下将需要显著处理能力。此实施例将允许适度CPU(即,16位、低MIPS设计)在外部显示器上产生图形,同时仍具有处置其它应用逻辑的备用处理能力。此实施例的GPU可执行位块传输(bit blitting)操作或硬件精灵(sprite)绘图,从而允许处理器发送高阶光栅操作以组合位映射图案或重现简单计算机图形。或者,GPU可实施更复杂例程(其实施巨集指令)以绘制包括线、窗口和菜单的图形用户接口元素,以及处置图像或视频解码功能。在此实施例中,CPU将命令发送到GPU以对显示器输出作出改变。此命令将由GPU实施以修改存储器中的视频数据。在典型实施例中,可编程循环状态机正从存储器非同步地且连续地读取此视频数据,以输出到视频显示器。在已完成修改之前由显示视频数据引起的任何视觉“假影”将由可编程循环状态机对视频数据的后续刷新而重写。
在另一实施例中,CPU与可实施浮点算术和阵列运算的数字信号处理(DSP)单元配对。在此实施例中,CPU可将专门和密集数据处理请求卸载到DSP,使得CPU利用保持足够低以响应于用户请求和实时任务。
在另一实施例中,CPU与特殊指令处理单元(SIPU)配对,且进一步包含可编程循环状态机、存储器和直接存储器存取装置(DMA)。在此实施例中,通用CPU可将其处理带宽专用于一般操作、流控制和对实时中断的响应。将重复或复杂任务卸载到SIPU,使得低MIPS CPU与SIPU的廉价组合能够产生全色图形或实时解码音频或视频数据。此SIPU优选处置可对一个或一个以上应用(例如,图形处理,或视频数据或音频数据的实时解码)特定的受限指令集。当与DMA装置配对时,SIPU发出DMA指令以提取并存储来自存储器的数据块作为其处理任务的一部分。否则,SIPU必须包括作为其处理任务的一部分的经由邻接数据存储块而直接循环的逻辑。
SIPU的指令集优选包括以下三个主逻辑运算:“与(AND)”、“或(OR)”,和“异或(XOR)”,其中第一运算数为来自存储器的表示图形输出的当前状态的部分的当前值。(存储器的此部分可被称为视频缓冲器,且还为由可编程循环状态机周期性地输出的数据的源。)或者,第一运算数可为不同于视频缓冲器的存储器位置,其允许“离线”操纵图形数据。此“离线”缓冲器可接着使用画中画操作或在适当时通过重新引导PCSM以从此并行视频缓冲器读取而显示。第二运算数可为由CPU所指定的常数、经受SIPU的操纵的局部变数,或来自存储器的数据值。这些运算允许SIPU执行任何数目个常见的位块传输操作。SIPU的指令集还可包括用于绘制(例如)以下常见几何形状的指令:点、线、矩形、圆、椭圆、圆角矩形,或可通常用以绘制图形用户接口的元素的任何其它形状。SIPU的指令集还可包括背景填充操作,其将跨越整个视频缓冲器复制指定的一维或二维图案。SIPU优选包括块传送指令,其允许将多个数据字从存储器的一个部分传送到另一部分,或从一个存储器传送到另一存储器。最终,SIPU指令集可包括画中画操作,其将数据从存储器的一个部分复制到视频缓冲器的特定部分中。可一次或连续地执行画中画操作。另外,可需要此操作对源图像重设大小(resize)或剪修以适配视频存储器的目标部分。画中画操作的自变量必须包括对原始行和列以及目标区域的长度和宽度的指定。
在另一实施例中,SIPU可对一个以上数据结构操作,每一数据结构表示当前显示的图形的一个方面。一个数据结构可表示背景图像,而另一数据结构可表示用户交互元素(例如,虚拟按钮、虚拟灯、字母/数字符号等)的布置。SIPU将接着使用逻辑“与”、“或”和“异或”运算来组合数据结构,以在存储器的视频缓冲器部分中形成复合图像。
转到各图式,现将描述本申请案的示范性实施例。图1描绘微控制器113的一个实施例的组件和连接到输入/输出装置103的可编程循环状态机接口102。展示CPU 101连接到存储器111和第一数据总线104,然而,所属领域的一般技术人员将了解,可在不影响此实施例的功能或效用的情况下变化这些组件的特定互连。此外,可提供适当选择信号或寻址信号120。同样,所属领域的一般技术人员将理解如何添加额外CPU 101或存储器111组件以通过增加微控制器的性能特性而促进本发明的目标。展示第一数据总线104连接到可编程循环状态机102、存储器111和CPU 101。还涵盖到存储器111或直接存储器存取(DMA)装置的直接连接。存储器111可为寄存器、FIFO存储器装置,或任何其它常见存储器类型。在所述图中,存储器111提供控制输入106的值,但涵盖用于提供关于控制输入106的一些或全部值的其它布置,包括(但不限于)物理开关或可编程只读存储器(PROM)。为提供控制输入106上的值的目的,例如寄存器等单层存储器可为优选的。
展示第二控制输出107以允许从存储器111的循序读取或到所述存储器的循序写入的配置将状态机102连接到所述存储器。所属领域的一般技术人员将了解,将第二控制输出107连接到CPU 101上的中断端口(其中输入从输入/输出装置103和状态输入112检索)的可能性通过一个或一个以上状态或定时信号来指示输入/输出装置103的状态。展示CPU时钟114为到状态机102的输入,然而,所属领域的一般技术人员将认识到,此时钟信号将可用于任何微控制器组件。装置时钟115允许可编程循环状态机产生与装置定时域同步的信号。第二数据总线108提供状态机102与输入/输出装置103之间的数据路径。此数据路径可能为总线且可能为并行总线,但其可为直接连接且可为串行数据路径。第一控制输出110将控制信号提供到输入/输出装置103,且许多应用程序将提供若干控制信号,所述控制信号提供控制和/或定时信息。
虽然图1将输入/输出装置103展示为在微控制器113外部,但所属领域的一般技术人员将理解,所述输入/输出装置可并入到相同集成电路中。举例来说,图像俘获传感器可并入到与所述微控制器相同的集成电路中,以降低成本和应用程序大小以及功率要求。此外,所属领域的一般技术人员将认识到将一个以上可编程循环状态机102并入到将连接一个以上输入/输出装置103的所述微控制器中的价值。
以下图式和描述涉及用以使微控制器与多种显示器类型介接的可编程循环状态机的应用。在一个应用中,可编程循环状态机希望与LCD模块的并行数据接口介接。到LCD模块的数字输入接受呈“帧”形式的数据,其中将一个帧定义为显示信息的一个全屏。一系列“线”在每一帧内,每一行一条线。当LCD显示器的宽度实质上比到LCD模块中的数据路径宽时,多个数据传送在每一条线内。帧、线和移位周期因此在此实施例中用作状态机设计的基础。这允许建构涵盖所有所支持LCD类型的所需定时的超集的状态机。当待介接特定LCD类型时,状态机行为中所有改变为输出的极性和定时。这些改变以及每一信号的相对时间放置和持续时间可为软件可配置的或外部可配置的。
图2描绘经启用以驱动视频显示装置的可编程循环状态机102的一个实施例。帧计数器204对所传送的数据值进行计数并在已传送视频数据的全帧时复位。帧产生器205基于帧计数器204的值和控制输入106的值在帧212输出上产生信号。线计数器206对所传送的数据值进行计数并在已传送视频数据的全线时复位。线产生器210基于线计数器206的值和控制输入106在线214上产生信号。移位产生器202基于线计数器206的值和控制输入106在线移位201上产生信号。移位产生器202还基于线计数器206的值和控制输入106在数据移位218上产生信号,此信号用以请求第一数据总线104上的数据。第一数据总线104提供存储于存储器220中和转发到第二数据总线108的图形数据的源。多用途产生器222在多用途输出224上产生信号,所述信号可用以产生由各种LCD类型所需的DRDY、MOD或DSHIFT2输入。寄存器226存储可编程循环状态机的程序且提供控制输入106。定时同步器200为可编程循环状态机的组成部分的子集。装置时钟115控制可编程循环状态机102的大多数定时。
图3描绘经启用以与LCD显示器驱动器介接的可编程循环状态机102的一实施例。在下表中描述每一输入和输出。虽然此图式和表中的输入和输出中的一些具有固定数据宽度和硬编码值,但可调整所述数据宽度和硬编码值以满足不同应用要求。
表:输入/输出描述
所述模块在lcd_clk域中起作用,所述lcd_clk域为流动到LCD显示器的时钟控制信号。在此实施例中,到所述模块的所有输入在CPU时钟域中。为最小化同步逻辑,需要所有输入在lcdif_en_sync信号变高之前为稳定的。信号lcdif_en_sync通过同步器且可在任何时间改变。
图3中未展示的数据源将数据提供到状态机。数据源可为DMA、FIFO、寄存器,或这些的任何组合。此数据源的确切实施对此实施例的目的并不重要。经由data_in[15:0]输入而提供数据。dshift_sync输出信令数据源当前数据字已移入,且可呈现下一字。lcd_dwidth[1:0]输入指示输入到LCD模块的数据总线的宽度:“00”指示4个位,“01”指示8个位,“11”指示16个位。如果输入到LCD模块的并行数据总线的宽度并不确切地为4个、8个或16个位,那么lcd_dwidth[1:0]应被设定为紧接的最高值。举例来说,12位输入将具有设定为“11”(16个位)的数据宽度,且将不使用四个最高有效位。
通常,寄存器接口将所有控制输入提供到状态机。此寄存器优选连接到CPU以使用软件指令允许对控制输入的改变。然而,涵盖其它配置。在一些应用中,可直接地或经由使用例如双列直插式引脚开关或旋转开关等物理开关间接地设定所述值。在其它应用中,可直接地或经由使用例如EPROM、EEPROM或快闪存储器等非易失性存储器间接地设定所述值。
各种显示器技术可与可编程循环状态机介接。下文详细描述可用显示器技术的子集,但此子集不应视为限制性的。与本发明相关的其它技术包括(但不限于):零功率双稳态显示器、等离子显示器、硅上液晶装置、数字微镜装置、发光二极管面板,和有机发光二极管(OLED)显示器。正是本发明的性质致使其自身适应新显示器技术或应用工程师和营销者先前不关注或可用的现存技术。
单色LCD显示器通常具有4位或8位接口。由于不需要颜色信息,因此每一数据位表示一个像素的状态。图13展示具有面板1300和像素1302的122×32单色LCD显示器的像素布局。以一次n个位(其中n为面板的数据总线宽度)的方式输入数据,其中lshift脉冲信令每一有效数据传送。扫描图案常常在玻璃的左上角开始于行1中的像素1处,且进行到右侧,直到其到达行1中的像素[最后],接着以行2中的像素开始,以此类推。线输出上的脉冲信令新行的开始。在每一行结束之前,大多数显示器将需要“水平非显示周期”。帧输出上的脉冲信令全显示帧的结束和对行1的复位。在每一帧结束之前,大多数显示器将需要“垂直非显示周期”。这些非显示周期可建置成线和帧信号的脉冲宽度。
虽然在各种实施例中参考特定显示几何形状,但这些几何形状并不希望为限制性的。包括各种LCD技术的图形显示器以各种各样的几何形状可用。对于低成本、嵌入式应用来说,主要关注比VGA(640×480像素)或甚至QVGA(320×240像素)小的显示器。这些模块可与122×32像素一样小。然而,视应用而定,本文中所描述的一个或一个以上实施例可用以驱动具有如同WVGA(854×480像素)或更大的几何形状的LCD模块。在一个实施例中,可编程循环状态机支持单色、STN和TFT显示器技术、可变纵横比、达VGA(640×480像素)的分辨率、每线达1024个lcd_clk脉冲、每帧达65,536个lcd_clk脉冲,以及达24个位的数据宽度。
超扭转向列型(STN)显示器通常具有4位、8位或16位接口。屏幕上的每一色点(color point)由并列放置的三个单独像素构成:一个红色像素、一个绿色像素和一个蓝色像素。举例来说,图12中描绘具有面板1200和像素1202的彩色QVGA(320×240像素)面板。因此,320×240像素的面板可显现为具有960×240像素的面板,其中每一像素为一种颜色。以一次n个位(其中n=面板的数据总线宽度)的方式将数据输出到面板,其中lshift脉冲信令每一有效数据传送。数据中的每一位表示颜色中的一者的“开启”或“关闭”值。
扫描图案常常在玻璃的左上角开始于行1中的像素1处,且进行到右侧,直到其到达行1中的像素[最后],接着以行2中的像素1开始,以此类推。线输出上的脉冲信令新行的开始。在每一行结束之前,大多数显示器将需要水平非显示周期。帧输出上的脉冲信令全显示帧的结束和对行1的复位。在每一帧结束之前,大多数显示器将需要垂直非显示周期。举例来说,假设玻璃具有布置为R1G1B1R2G2B2…等的颜色。全红色像素继之以全白色像素将在8位数据总线上展示为100111xx。由xx所表示的最后两个位将为像素R3B3,以此类推。
存在STN接口的三种常见变型。格式1为STN接口的使用称为LSHIFT2的第二时钟的变型,所述第二时钟与lshift时钟为180°异相。当将可编程循环状态机置于STN格式1时,M输出变成LSHIFT2时钟。格式2为STN接口的使用连接到状态机的M输出的称为MOD(在LCD模块上)的信号的变型。此信号的定时视LCD模块而定,且可视mod_rate[7:0]输入针对帧输出的每一双态触发而双态触发一次或一次以上。最终,双重扫描STN显示器具有较宽的数据总线接口,其允许显示器的上半部和下半部同时更新(例如,具有240行和8位接口的显示器将使data_out[7:0]发射R1G1B1R2R121G121B121R122)。状态机无需具有特殊设定以支持双重扫描显示器,因为可将这些显示器视为具有两倍数据宽度和一半数目的行的STN显示器。将仅需要相应地对由存储器呈现到data_in[7:0]的值进行重新排序。DSTN显示器常常具有格式2数据接口。
薄膜晶体管(TFT)面板提供三种技术的最佳颜色和对比度质量。此技术针对每一像素使一个晶体管制造于玻璃上。数据接口具有用于每一颜色的单独位。举例来说,24位彩色TFT将具有用于红色、绿色和蓝色中的每一者的8位输入。因此,一次24个位或一个像素而将数据输入到显示器。当M输出为高时,lshift输入上的脉冲信令有效数据传送。扫描图案常常在玻璃的左上角开始于行1中的像素1处,且进行到右侧,直到其到达行1中的像素[最后],接着以行2中的像素1开始,以此类推。线输出上的脉冲信令新行的开始。在每一行结束之前,大多数显示器将需要水平非显示周期。帧输出上的脉冲信令全显示帧的结束和对行1的复位。在每一帧结束之前,大多数显示器将需要垂直非显示周期。状态机的M输出连接到称作DRDY的到显示器的输入。此信号变高,展示输出数据为有效的(即,状态机当前不处于垂直或水平非显示周期中)。
更一般来说,操作特性如下:当lcdif_en=1时,启用状态机。当lcdif_en=0时,所有输出变低。定时同步器模块200为状态机的主计时器(time keeper)。所述模块由两个计数器组成。一个计数器为帧计数器204,其从零计数达frame_per[15:0]。第二计数器为线计数器206,其从零计数达line_per[7:0]。两个计数器在lcd_clk的相同边沿开始计数。当帧计数器204复位为零时,线计数器206始终复位为零。来自可编程循环状态机的所有其它输出使用这些计数器对其输出的定时进行计数。
到模块的所有输入在CPU时钟域中。然而,lcdif_en_sync和data_in[15:0]为当状态机在作用中时改变的仅有两个输入。这些输入中的第一者lcdif_en_sync通过同步器而到lcd_clk域中,以产生信号lcdif_en(未图示)。这些输入中的第二者data_in[15:0]由于以下原因无需同步:
●当第一data_in[15:0]用时钟输入时(参看图5),预期data_in[15:0]稳定历时若干个lcd_clk周期。
●此后,data_in[15:0]将不改变直到dshift_sync输出变高为止。dshift_sync从信号dshift产生,所述信号dshift又由lcd_clk产生,借此提供所需同步。
当lcdif_en_sync变高时,需要所有其它输入为稳定的。来自此模块的返回到CPU时钟域中的仅有输出为dshift_sync。此信号在数据同步器块400内部同步(在下文描述)。
图4描绘数据同步器块400(经设计以使dshift同步到CPU定时域中且解释LCD面板的变化的输入数据宽度的电路)的一个实施例。同步器包含两个D型触发器402、计数器404和比较器406。所得信号为dshift_sync。数据同步器使在lcd_clk域中的内部dshift信号同步成在CPU时钟域中的dshift_sync输出信号。并且,dshift_sync信号针对输入考虑玻璃的数据宽度。其进行以下动作:
●当lcd_dwidth[1:0]=“00”时,针对每4个dshift脉冲产生一个脉冲;
●当lcd_dwidth[1:0]=“01”时,针对每2个dshift脉冲产生一个脉冲;
●在所有其它状况下,针对每个dshift脉冲产生一个脉冲。
图5描绘包括上文所论述的一些详细逻辑和电路的可编程循环状态机102的另一实施例。帧产生器208产生帧输出。其包含将frame_counter 204与fm_start输入进行比较的比较器。当所述两者相等时,激活帧输出历时fm_per数目个时钟循环。当dtype[1:0]=“11”,低者被认为在作用中。否则,高者被认为在作用中。线产生器210产生线输出。此包含将line_counter 206与ln_start[7:0]输入进行比较的比较器。当所述两者相等时,线输出处于作用中历时ln_per[7:0]数目个时钟循环。当dtype[1:0]=“11”,低者被认为在作用中。否则,高者被认为在作用中。
移位产生器202产生lshift、dshift和data_out[15:0]输出。其包含将线计数器206与shift_start[7:0]进行比较的比较器。当线计数器206达到值shift_start[7:0]时,在lcd_clk的上升沿将输入data_in[15:0]用时钟输入到存储器中。data_out[15:0]端口直接连接到此存储器的输出端。同时,dshift输出变高历时一个lcd_clk循环。此过程重复line_width[9:0]数目次,以将整行中的数据移出。当移出整行时,data_out[15:0]变低。lshift输出视是否连接到TFT接口而以不同方式工作。此使用dtype[1:0]输入来设定。当dtype[1:0]=“11”时,假设所述接口连接到TFT接口。在TFT模式中,lshift输出为lcd_clk的直接输出。否则,假设所述接口连接到非TFT面板。在TFT模式中,当正移出有效data_out[15:0]时,lshift输出为lcd_clk的直接输出。在line_counter的值小于shift_start[7:0]的周期期间,lshift输出为低。并且,当已移出最后数据字时,lshift输出为低。如果存在需要连续lshift输出的非TFT面板,那么shift_bypass_en输入可变高。此情形将直接将lcd_clk输出到lshift输出。
M产生器506描绘经设计以产生多用途信号M的逻辑。此描绘仅为一种可能的实施方案,且不应视为在功能或实施上具有限制性。定时接口的M输出按照dtype[1:0]和mod_rate输入所设定而工作。当dtype[1:0]=“11”时,忽略mod_rate输入。在此模式中,M输出充当数据就绪输出(DRDY)。当线计数器206达到值shift_start[7:0]时,M输出变高。其保持直到移出最后的data_out[15:0]字为止。当dtype[1:0]=“11”时,mod_rate[7:0]输入确定M输出的双态触发速率。当mod_rate[7:0]为零时,M输出在与帧输出相同的时间双态触发。当mod_rate大于零时,其表示M输出的双态触发之间的线输出双态触发的数目。
通过指示在某些条件下的输入和输出信号的时序图(图6到图10)来最佳地解释本发明的另一实施例。因为预期装置介接到来自相异制造商的各种各样的LCD,所以输出信号定时必须经受修改。定时引擎允许通过针对每一信号使用两个输入(xx_start输入和xx_per输入)来调整输出控制信号以在帧内的任何正时钟边沿变高和变低。还存在称为frame_counter和line_counter的两个计数器。
frame_counter确定一个帧中有多少lcd_clk。其计数上达值frame_per[15:0],复位为零,且接着重复。当lcdif_en被取样为高时,这些计数器在第一lcd_clk边沿上开始。
line_counter确定有多少lcd_clk存在于LCD模块的一条线(行)中。此计数为水平显示周期与水平非显示周期的总和。其计数上达值line_per,复位为零,且接着重复。line_counter也将在frame_counter复位的相同时刻复位。注意,水平显示周期中的lcd_clk的数目不必等于显示器的一行中的像素的数目。对于TFT显示器来说,一个lcd_clk常常对应于一个像素。但对于其它显示器技术来说,其视总线宽度和色深而变化。用户可因此对帧和线的长度进行编程。
建置帧所需的最后输入为line_width[9:0]输入。此输入确定其需要data_out[15:0]总线上的多少输出来完成一行。假设每一data_out[15:0]输出需要一个lcd_clk周期。因此,此输入(当由lcd_clk周期相乘时)给出水平显示周期中的总时间。
对于图6到图10,假设以下设定:
●frame_per[15:0]=644:在每一帧中指定644个lcd_clk循环。注意,此并不表示基于标准显示器几何形状的实际值。实际上,其希望展示此机器可起作用的一般方式。
●line_per=244:在每一线中指定244个lcd_clk循环
●fm_start=4:指定当frame_counter达到值“4”时,帧输出应变高。
●fm_per=6:指定当frame_counter达到值“6”时,帧输出应变低。
●ln_start=1:指定当line_counter达到值“1”时,线输出应变高。
●ln_per=4:指定当line_counter达到值“4”时,线输出应变低。
●shift_start=4:指定当帧计数器达到值“4”时,存储器220应锁存入来自data_in[15:0]的新值。存储器220的输出端直接连接到data_out[15:0]。
●line_width=“n”:指定一旦达到shift_start,便继续每一lcd_clk用时钟输入一值,直到line_counter达到值“n”为止。
●注意,所有输入设定应在lcdif_en输入变高之前加以建置。
图6描绘针对单色或STN格式2显示器的在编程时的信号定时,其中shift_bypass_en=0。在此实施例中,shift_bypass_en=0且输入mod_rate=1,其意味着M输出以与线输出相同的速率双态触发。时序图呈现所传送数据的数量略大于一个帧,如由帧信号的两个脉冲所指示。可编程循环状态机的输出与lcd_clk同步。两个计数器在复位输入已下降之后且在lcdif_en设定为1(其指示输入为稳定的)之后开始计数。line_counter在此实例中从0到244对每一线中的像素的数目(240个像素)与所需水平非显示周期的长度(4个时钟循环)的总和进行计数。frame_counter在此实例中从0到644计数。一旦frame_counter达到总帧计数,frame_counter和line_counter两者便复位且过程重复。线信号基于分别为1和4的line_start值和line_per值而变高历时三个时钟循环,在line_counter等于line_start的时钟循环后的时钟循环上开始且在line_counter等于line_per的时钟循环期间结束。同样地,帧信号基于分别为4和6的fm_start值和fm_per值而变高历时两个时钟信号。M输出在此实施例中大体上与线输出相同。lshift输出大体上与lcd_clk输入相同,但仅在水平显示周期期间相同。data_out输出表示水平显示周期期间的有效数据,且在非显示周期期间为零或不作用的。dshift输出仅在水平显示周期期间变高。
图7描绘针对单色或STN格式2显示器的在编程时的信号定时,其中shift_bypass_en=1。输出与图6相同,但有一项例外。因为shift_bypass_en=1,所以lshift信号在lcdif_en=1时为lcd_clk输入的通过。
图8描绘针对STN格式1显示器的在编程时的信号定时,其中shift_bypass_en=0。在此显示器类型中忽视输入mod_rate。此处,lshift输出仅在水平显示周期开始之前处于作用中且在所述周期期间在每一lcd_clk信号上双态触发。M输出(功能上称为LSHIFT2)上的波形大体上与lshift相同,只是其为180度异相。
图9描绘针对STN格式1显示器的在编程时的信号定时,其中shift_bypass_en=1。此处,表示LSHIFT2的M输出随着lcdif_en而变高且每一lcd_clk循环进行双态触发。lshift输出为相同波形,但相移180°。
图10描绘针对TFT显示器的在编程时的信号定时。在此显示器类型中,忽视输入shift_bypass_en和mod_rate。M输出(功能上称为DRDY)仅在作用中数据传送循环期间或仅在水平显示周期期间变高。因为dtype[1:0]=“11”,所以帧输出在此处也具有反向极性。
图11描绘使用可编程循环状态机驱动视频显示器的方法中所执行的步骤。步骤1100为用于接收控制输入上的编程指令的步骤。步骤1102为用于在第一控制输出上产生信号的步骤。步骤1104为用于在第二控制输出上产生信号的步骤。步骤1106为用于存储和转发视频数据的步骤。
图12描绘指示像素1202的布局的典型彩色液晶显示器面板1200。行和列以索引值1开始经循序地编号,但实际实施方案将可能以零开始,如为数字逻辑的惯例。通过组合以产生各种各样的颜色值的三种原色通道来实施彩色LCD的每一像素。在此示范性图式中,原色为红色、蓝色和绿色。因为每一像素中的每一颜色由不同值表示,所以240×320彩色像素显示器最佳表示为具有交替像素颜色的240×960“单色”像素显示器。显示控制器的实际实施方案可每个“单色”像素每种颜色接受多个数据位,或可仅接受一个数据位。如果显示控制器一次仅接受一个位,那么可编程循环状态机将比人眼可感测所显示图像中的改变显著更频繁地刷新所述“单色”像素的值,以控制所述像素的脉冲宽度。这将有效地控制所述颜色在所述像素位置中的强度,且因此允许所要颜色的显示,所述所要颜色由微控制器表示为两位、四位或八位颜色值。如果显示控制器每个像素接受多个位,那么可编程循环状态机仅需一次发送此多位值以产生所要颜色。
图13描绘指示像素1302的布局的典型单色液晶显示器面板1300。如图12中,行和列以索引值1开始经循序地编号,但实际实施方案将可能以零开始,如为数字逻辑的惯例。因为其为单色显示器,所以微控制器仅需将视频信息表示为强度。
图14描绘展示微控制器的一个实施例的内部组件的框图,所述微控制器包含中央处理单元101、特殊指令处理单元1401、存储器111、和可以可操作方式连接到输出装置103的可编程循环状态机102。在此实施例中,CPU 101经由共享数据总线104从存储器111检索指令和数据。所述CPU接着如所需将命令分派到SIPU 1401。SIPU 1401又通过直接操纵存储器111中的数据值而执行这些命令。PCSM 102独立地但基于来自CPU 101的配置指令连续地从存储器111内的块读取数据,且将此数据连同任何所需的控制信号输出到输出装置103。所述配置指令控制此数据传送的定时,以符合输出装置103的输入要求。所属领域的一般技术人员将认识到,共享数据总线104可为一个以上总线,且附接到所述总线的每一装置可具有一个以上数据端口。因此,CPU 101可经由专用端口来存取存储器111,而SIPU 1401和PCSM 102将使用到存储器111中的不同端口。可以想象,存储器111可具有三个端口,且向CPU 101、SIPU 1401和PCSM 102中的每一者提供直接、独立存取。
图15为微控制器的一实施例的框图,所述微控制器包含图14中所说明的元件,但具有连接所述微控制器的元件的直接存储器存取组件1501而非共享总线104。DMA 1501将端口提供到CPU 101、SIPU 1401、存储器111和PCSM 102中的每一者。如同图14中所描绘的实施例一样,CPU 101可经由第二存储器端口直接连接到存储器111。然而,此实施例要求SIPU 1401、存储器111和PCSM 102连接到DMA 1501上的端口。DMA 1501执行块数据传送操作以优化微控制器内的数据流。PCSM 102将通常向DMA 1501给出一个读取视频缓冲器的内容的指令,且将根据其输入定时要求将所述数据传送到输出装置103。此确切指令将接着在输出显示的状况下无限地重复,使得显示器103连续地刷新其对存储器111内的逻辑图形或视频数据表示的显示。在音频输出的状况下,PCSM 102可重复地请求来自存储器111内的固定位置中的缓冲器的数据,或可请求来自存储于存储器111中的音频数据的循序块的数据。
SIPU 1401向DMA 1501发出较多复杂指令,且可从一个以上低优先权端口1505存取数据。举例来说,CPU 101可指导SIPU 1401将常数滤波器应用于图像数据的块。SIPU 1401将接着在第一低优先权端口1505上产生针对图像数据的所述块的读取请求。SIPU 1401将把所述滤波器应用于每一数据,且接着将所述数据递送到第二低优先权端口1505,作为针对图像数据的相同块的写入请求的一部分。因此,DMA 1501将正执行同时读取和写入操作。注意,写入操作将在如执行SIPU 1401内的滤波操作所需的至少相同数目个时钟循环的延迟之后出现。在另一实例中,CPU 101可指导SIPU 1401将二维掩码应用于图像数据的块。在此实例中,SIPU 1401可连接到DMA 1501上的三个低优先权端口1505。一个低优先权端口1505将用以向DMA 1501发出针对图像数据的块的读取命令,而第二低优先权端口1505将用以发出针对存储二维掩码的数据块的读取命令。SIPU 1401将使用逻辑“与”、“或”或者“异或”来应用所述掩码以将所述掩码中的当前像素与图像数据的当前像素组合,且将所得像素信息发送到第三低优先权端口1505作为到DMA 1505的针对图像数据的相同块的写入命令的一部分。或者,如果与寄存器组组合以存储每一逻辑运算的运算数和结果,那么可使用单一DMA端口。
CPU101、SIPU 1401和存储器111每一者连接到低优先权端口1505,且PCSM 102连接到高优先权端口1503。此反映待由这些模块中的每一者执行的任务的性质。连接到低优先权端口1505的模块并非正在执行实时敏感任务,且可甚至在有少数CPU循环延迟的情况下适当地起作用。相比之下,PCSM 103执行将数据提供到外部输出装置103的实时敏感任务。输出装置103具有不能违背且不会产生人类可辨别的输出错误的输入定时要求。举例来说,在输出装置103为LCD的情况下,数据的延迟到达可造成视觉假影,例如,未对准的像素、空白像素等。LCD装置归因于包含每一像素的物理元件的瞬时性质而必须以特定速率刷新。如果输出装置103为用以产生音频的数/模转换器,那么数据的延迟到达可造成音调的移位、砰然声(pop)或非所要的静寂。出于这些原因,PCSM 102经由高优先权端口1503对来自存储器111的数据的请求优先于低优先权端口1505中的任一者上的任何请求。一旦已处理高优先权请求,便重新开始低优先权端口1505上的请求。可使用包括循环调度在内的任一仲裁方案来处置低优先权端口1505上的请求。
图16为展示包含CPU 101的微控制器的一个实施例的内部组件的框图。寄存器1601存储LCD定时模块102的配置设定以及位块传输器(BLT)1603的操作码和DMA设定。BLT 1603将控制信号提供到LCD DMA 1501,且独立地但在CPU 101的指导下执行图形特定数据处理操作。图形数据被从DMA 1501传送到颜色查找表1607,以在LCD定时模块102将所述数据中继到LCD 1613之前被映射到较大颜色空间中。存储器接口1609提供用于在DMA 1501与任何数目个外部存储器装置(可能包括外部P/SRAM 1611和快闪存储器1612)之间传送数据的机制。仲裁器1605提供DMA 1501与装置存储器111之间的接口。DMA 1501接受包括源端口和目标端口的每一端口的至少一个基本命令、开始地址,和用以传送的存储器字的计数。DMA 1501还包括用于处置多个端口的竞争请求的仲裁机制。此仲裁机制在其最基本实施方案中允许在高优先权端口(端口0)进行请求时中断低优先权端口(在此图式中,端口1、2和3)的请求。此情形为必需的,因为高优先权端口对实时LCD定时模块102进行馈入。一旦已满足高优先权请求,便重新开始低优先权请求。
图17为展示包含算术逻辑单元(ALU)1701的特殊指令处理单元的一个实施例的内部组件的框图。ALU 1701在操作码接口处接收指令,且也可从CPU 101(未图示)知晓DMA 1501(未图示)编程指令。寄存器组1703提供运算数和结果的内部存储以供ALU 1701使用。值可从端口2CPU输入或端口2DMA输入而得到,且值可接着经由端口2多路复用器1705传送到DMA 1501(未图示)或CPU 101(未图示)。低优先权端口多路复用器1707和高优先权多路复用器1709允许DMA从CPU 101(未图示)或从ALU 1701接收端口编程指令。端口2多路复用器1705选择来自寄存器1703的集合的适当输出和ALU 1701的直接输出。此实施例说明所述ALU可如何使用单一DMA端口来操作,所述单一DMA端口将寄存器组1703用作临时数据存储库。
尽管已详细描述本发明及其优点,但应理解,在不脱离如由所附权利要求书所界定的本发明的精神和范围的情况下,可在本文中进行各种改变、替换和更改。
Claims (20)
1.一种微控制器,其包含:
第一中央处理单元(CPU);
存储器;
可编程循环状态机;
特殊指令处理单元(SIPU);
到输出装置的连接;
其中所述SIPU响应于来自所述CPU的命令而操纵所述存储器中的多个值;
其中所述可编程循环状态机连续地将数据从所述存储器传送到所述输出装置;且
其中所述可编程循环状态机周期性地将控制信号发射到所述输出装置,以通过所述输出装置的输入定时要求来协调所述数据传送。
2.根据权利要求1所述的微控制器,
其中所述输出装置为液晶显示器(LCD),
其中所述LCD的位深度在1个位与16个位之间,
其中每一像素由一个值或三个值表示,且
其中所述LCD的几何形状在64×64像素与854×480像素之间。
3.根据权利要求1所述的微控制器,其中所述CPU具有不宽于16位的数据路径,且执行少于每秒6000万条指令。
4.根据权利要求1所述的微控制器,其中所述可编程循环状态机支持来自由以下各项组成的集合的至少四种不同图形显示器技术所需的控制信号定时:
单色液晶显示器(LCD),
彩色超扭转向列型(STN)液晶显示器,
双层超扭转向列型(DSTN)液晶显示器,
彩色薄膜晶体管(TFT)液晶显示器,
零功率双稳态显示器,
等离子显示器,
硅上液晶装置,
数字微镜装置,
发光二极管面板,
有机发光二极管(OLED)显示器。
5.根据权利要求1所述的微控制器,其进一步包含具有一个高优先权端口和至少两个低优先权端口的直接存储器存取(DMA)控制器,
其中所述DMA控制器的所述高优先权端口连接到所述可编程循环状态机;
其中所述DMA控制器的第一低优先权端口连接到所述存储器,且所述DMA控制器的第二低优先权端口连接到所述SIPU。
6.根据权利要求1所述的微控制器,其中所述SIPU可操作以执行块传送操作。
7.根据权利要求6所述的微控制器,其中所述SIPU可执行以下逻辑运算:“异或”、“或”,和“与”。
8.根据权利要求6所述的微控制器,其中SIPU指令集包括背景填充操作、像素设定操作和绘线操作。
9.根据权利要求8所述的微控制器,其中所述SIPU指令集包括画中画操作。
10.根据权利要求5所述的微控制器,其进一步包含所述DMA与所述可编程循环状态机之间的颜色查找表(CLT)。
11.一种微控制器,其包含:
中央处理单元(CPU),
特殊指令处理单元(SIPU),
可编程循环状态机,以及
直接存储器存取控制器(DMA);
其中输出数据的密集处理由所述SIPU执行,从而释放CPU循环以用于其它任务。
12.根据权利要求11所述的微控制器,其中SIPU指令集包括以下逻辑运算:“异或”、“或”,和“与”。
13.根据权利要求11所述的微控制器,其中所述SIPU指令集包括背景填充操作、像素设定操作和绘线操作。
14.根据权利要求11所述的微控制器,其进一步包含颜色查找表。
15.根据权利要求11所述的微控制器,其中所述SIPU与所述DMA上的至少两个端口介接。
16.一种微控制器,其包含:
16位中央处理单元(CPU),
特殊指令处理单元(SIPU),
可编程循环状态机,以及
直接存储器存取控制器(DMA);
其中所述微控制器可在多种尺寸、色深和技术的液晶显示器(LCD)上显示图形信息,且仍具有足够CPU带宽以实时响应于外部中断。
17.根据权利要求16所述的微控制器,
其中输出装置为液晶显示器(LCD),
其中所述LCD的位深度在1个位与16个位之间,
其中每一像素由一个值或三个值表示,且
其中所述LCD的几何形状在64×64像素与854×480像素之间。
18.根据权利要求17所述的微控制器,其中所述CPU具有不宽于16位的数据路径,且执行少于每秒6000万条指令。
19.根据权利要求16所述的微控制器,其中所述SIPU能够对所述DMA上的两个端口进行读取存取。
20.根据权利要求19所述的微控制器,其中所述SIPU能够对所述DMA上的第三端口进行写入存取。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/261,779 | 2008-10-30 | ||
US12/261,779 US8456478B2 (en) | 2008-10-30 | 2008-10-30 | Microcontroller with integrated graphical processing unit |
PCT/US2009/062157 WO2010056507A1 (en) | 2008-10-30 | 2009-10-27 | Microcontroller with integrated graphical processing unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102187331A true CN102187331A (zh) | 2011-09-14 |
CN102187331B CN102187331B (zh) | 2015-03-11 |
Family
ID=41611069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980140927.2A Active CN102187331B (zh) | 2008-10-30 | 2009-10-27 | 具有集成图形处理单元的微控制器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8456478B2 (zh) |
EP (1) | EP2342656B1 (zh) |
KR (1) | KR101563989B1 (zh) |
CN (1) | CN102187331B (zh) |
TW (1) | TWI517087B (zh) |
WO (1) | WO2010056507A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021793A (zh) * | 2016-11-02 | 2018-05-11 | 斯凯耶科德公司 | 用于借助于非安全终端认证用户的方法 |
CN113948031A (zh) * | 2021-02-18 | 2022-01-18 | 友达光电股份有限公司 | 驱动电路及相关驱动方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8866698B2 (en) * | 2008-10-01 | 2014-10-21 | Pleiades Publishing Ltd. | Multi-display handheld device and supporting system |
WO2011093017A1 (ja) * | 2010-01-27 | 2011-08-04 | パナソニック株式会社 | パネル制御装置及びパネル制御システム |
US8884563B2 (en) * | 2010-12-02 | 2014-11-11 | Jerry Fan | System and method for supplementing a generated DC power supply |
US9021146B2 (en) * | 2011-08-30 | 2015-04-28 | Apple Inc. | High priority command queue for peripheral component |
US8918680B2 (en) | 2012-01-23 | 2014-12-23 | Apple Inc. | Trace queue for peripheral component |
US8677150B2 (en) * | 2012-02-01 | 2014-03-18 | Intel Mobile Communications GmbH | Low-power multi-standard cryptography processing units with common flip-flop/register banks |
US11082490B2 (en) | 2012-11-28 | 2021-08-03 | Nvidia Corporation | Method and apparatus for execution of applications in a cloud system |
DE112013005689T5 (de) | 2012-11-28 | 2015-09-10 | Nvidia Corporation | Tragbare Spielekonsole |
WO2015102564A1 (en) * | 2013-12-30 | 2015-07-09 | Empire Technology Developement LLC | Information rendering scheme |
US9739517B2 (en) * | 2015-08-21 | 2017-08-22 | Haier Us Appliance Solutions, Inc. | Controlling the operation of a dispenser system |
US10818067B1 (en) * | 2019-05-31 | 2020-10-27 | Texas Instruments Incorporated | GPU assist using DSP pre-processor system and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926644A (en) * | 1991-10-24 | 1999-07-20 | Intel Corporation | Instruction formats/instruction encoding |
US20050110783A1 (en) * | 2003-11-21 | 2005-05-26 | Motorola, Inc. | Method and apparatus for dynamically changing pixel depth |
US20080077771A1 (en) * | 1993-11-30 | 2008-03-27 | Guttag Karl M | Long Instruction Word Controlling Plural Independent Processor Operations |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970002384B1 (ko) * | 1994-10-26 | 1997-03-03 | 엘지전자 주식회사 | 휴대형 단말기의 사운드 발생 및 디스플레이 제어장치 |
US5826106A (en) * | 1995-05-26 | 1998-10-20 | National Semiconductor Corporation | High performance multifunction direct memory access (DMA) controller |
US5767866A (en) * | 1995-06-07 | 1998-06-16 | Seiko Epson Corporation | Computer system with efficient DRAM access |
EP0863497A1 (en) * | 1997-03-06 | 1998-09-09 | Sony Computer Entertainment Inc. | Graphic data generation device with frame buffer regions for normal and size reduced graphics data |
US6157984A (en) * | 1997-05-15 | 2000-12-05 | Seagate Technology, Llc | Integrated controller/processor for disc drive having direct memory access |
JP3895610B2 (ja) * | 2001-03-21 | 2007-03-22 | 株式会社リコー | 画像形成装置および画像形成方法 |
US7234144B2 (en) * | 2002-01-04 | 2007-06-19 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
US7768522B2 (en) * | 2002-01-08 | 2010-08-03 | Apple Inc. | Virtualization of graphics resources and thread blocking |
US7847864B1 (en) * | 2002-03-01 | 2010-12-07 | Broadcom Corporation | All digital radio frequency modulator |
KR100449102B1 (ko) * | 2002-03-19 | 2004-09-18 | 삼성전자주식회사 | 멀티미디어용 시스템온칩 프로세서 |
US7075541B2 (en) * | 2003-08-18 | 2006-07-11 | Nvidia Corporation | Adaptive load balancing in a multi-processor graphics processing system |
US7538762B2 (en) * | 2003-09-30 | 2009-05-26 | Intel Corporation | Switching display update properties upon detecting a power management event |
US7385607B2 (en) * | 2004-04-12 | 2008-06-10 | Nvidia Corporation | Scalable shader architecture |
US7746350B1 (en) * | 2006-06-15 | 2010-06-29 | Nvidia Corporation | Cryptographic computations on general purpose graphics processing units |
US20080001934A1 (en) * | 2006-06-28 | 2008-01-03 | David Anthony Wyatt | Apparatus and method for self-refresh in a display device |
JP2008021228A (ja) * | 2006-07-14 | 2008-01-31 | Renesas Technology Corp | データ処理装置 |
TWI333788B (en) * | 2006-11-17 | 2010-11-21 | Chunghwa Picture Tubes Ltd | Decimation line phenomenon cancellation method and the circuit thereof |
JP2009134391A (ja) * | 2007-11-29 | 2009-06-18 | Renesas Technology Corp | ストリーム処理装置、ストリーム処理方法及びデータ処理システム |
-
2008
- 2008-10-30 US US12/261,779 patent/US8456478B2/en active Active
-
2009
- 2009-10-05 TW TW098133743A patent/TWI517087B/zh active
- 2009-10-27 EP EP09764349.8A patent/EP2342656B1/en active Active
- 2009-10-27 WO PCT/US2009/062157 patent/WO2010056507A1/en active Application Filing
- 2009-10-27 CN CN200980140927.2A patent/CN102187331B/zh active Active
- 2009-10-27 KR KR1020107029544A patent/KR101563989B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926644A (en) * | 1991-10-24 | 1999-07-20 | Intel Corporation | Instruction formats/instruction encoding |
US20080077771A1 (en) * | 1993-11-30 | 2008-03-27 | Guttag Karl M | Long Instruction Word Controlling Plural Independent Processor Operations |
US20050110783A1 (en) * | 2003-11-21 | 2005-05-26 | Motorola, Inc. | Method and apparatus for dynamically changing pixel depth |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021793A (zh) * | 2016-11-02 | 2018-05-11 | 斯凯耶科德公司 | 用于借助于非安全终端认证用户的方法 |
CN113948031A (zh) * | 2021-02-18 | 2022-01-18 | 友达光电股份有限公司 | 驱动电路及相关驱动方法 |
TWI758097B (zh) * | 2021-02-18 | 2022-03-11 | 友達光電股份有限公司 | 驅動電路及相關驅動方法 |
CN113948031B (zh) * | 2021-02-18 | 2023-06-20 | 友达光电股份有限公司 | 驱动电路及相关驱动方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI517087B (zh) | 2016-01-11 |
WO2010056507A1 (en) | 2010-05-20 |
KR101563989B1 (ko) | 2015-10-28 |
KR20110079576A (ko) | 2011-07-07 |
US20100110085A1 (en) | 2010-05-06 |
TW201019264A (en) | 2010-05-16 |
US8456478B2 (en) | 2013-06-04 |
EP2342656B1 (en) | 2019-09-04 |
EP2342656A1 (en) | 2011-07-13 |
CN102187331B (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102187331B (zh) | 具有集成图形处理单元的微控制器 | |
CN102057361B (zh) | 可编程循环状态机接口 | |
US10642405B2 (en) | Drive control device for a display having display elements and touch detection electrodes | |
CN102859431B (zh) | 集成电容感测和显示 | |
JP5815014B2 (ja) | ディスプレイ装置及びディスプレイ装置のタッチ認識方法 | |
US10762827B2 (en) | Signal supply circuit and display device | |
JP6806452B2 (ja) | 表示制御及びタッチ検出装置 | |
CN104155787B (zh) | 触摸显示装置和方法 | |
CN101231835A (zh) | 减少/避免显示图像中的撕裂效果的液晶显示器设备和方法 | |
JP4856038B2 (ja) | 液晶表示装置及びその駆動方法 | |
CN1443322B (zh) | 存储器控制器中枢 | |
US9383857B2 (en) | Driver IC and display device | |
CN101631213A (zh) | 视频逐行字符/图形叠加方法与装置 | |
CN101535930A (zh) | 具有双显示控制器的显示系统及其驱动方法 | |
KR20160094541A (ko) | 표시장치 및 그 구동방법 | |
CN110718191B (zh) | 显示屏模组及电子设备 | |
JPH1021457A (ja) | 表示装置とこの表示装置を用いた自動販売機 | |
CN203910235U (zh) | 显示控制装置 | |
JPH09161093A (ja) | 液晶表示装置 | |
CN100545900C (zh) | 液晶显示器的超额驱动方法 | |
JP2820998B2 (ja) | 発光素子ドットマトリクスディスプレイのスクロール回路 | |
CN104143314A (zh) | 显示控制装置 | |
Losonczi et al. | Driver and interface for Kyocera 320× 240 QVGA LCD | |
KR20170080157A (ko) | 인셀타입 표시장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |