导言
SSD1906是Solomon公司推出的一款中小规划的显现操控芯片。这款显现操控芯片集成了显存及时序电路,因而为手持设备和消费电子范畴供给了一个低成本、低功耗的单芯片解决方案。
AT91RM9200是Atmel公司推出的一款依据ARM9的嵌入式处理器,时钟频率为180MHz。AT91RM9200处理器内部没有集成LCD操控器,因而需求经过专用的显现操控器,完成LCD显现。本文介绍SSD1906显现操控器在依据AT91RM9200微操控器的嵌入式体系中的详细使用。
1 、SSD1906显现操控器介绍
SSD1906显现操控芯片,内部集成了256KB的SRAM显存,能够支撑单色和五颜六色LCD,以及多种有源和无源面板。SSD1906还具有强壮的总线兼容性,可与多种类型的MCU衔接。此外,SSD1906供给的功用还包含虚拟显现、起浮窗口(窗口巨细可变)显现,并支撑两个光标,能够削减软件的操作。32位的内部数据通道,能够供给高带宽的显现内存,以完成现快速的屏幕改写。SSD1906还个有单电压供电的长处。
SSD1906显现操控器的另一个特色,是具有很短的CPU拜访推迟时间,因而能够支撑无READY/WAIT交互信号的微处理器。此外,SSD1906支撑单时钟信号输入,即总线时钟(BCLK)、内存时钟(MCLK)和像素时钟(PCLK)都能够由时钟输入CLK1得到。这款显现操控器对MCU的类型和操作体系没有详细要求,因而是实践使用中的一个抱负的显现解决方案。依据SSD1906的显现操控体系结构如图1所示。
1.1 总线兼容性
SSD1906显现操控器兼容多种类型的MCU接口,特别是对现在常用的嵌入式处理器,基本上都能够完成无缝衔接。关于不同的总线接口,SSD1906内部供给了多个时序操控寄存器,能够依据不同接口的时序要求,进行相应的装备。SSD1906支撑的MCU总线接口类型包含:具有WAIT信号的通用#1型和通用#2型总线接口;Intel StrongARM/Xscale;Motorla MX1龙珠;Motorola MC68K;Motorola龙珠MC68ez328/MC68VZ328;日立SH3和SH4。
除了支撑16位和32位的处理器以外,SSD1906还能够支撑8位的处理器。SSD1906内部集成了256KB的显存,支撑寄存器在内存中的映射;经过M/R输入信号,挑选拜访内存地址空间,或许拜访寄存器地址空间。此外,经过18位地址总线,MCU能够直接拜访SSD1906内部接连的256KB显存。
1.2 显现支撑与显现形式
SSD1906显现操控器支撑多种类型的LCD接口,包含4/8位单色STN接口;4/8位五颜六色STN接口;9/12/8位有源矩阵TFT接口。此外,SSD1906支撑1/2/8/16bpp四种色深。关于单色无源LCD面板,SSD1906还个有64个灰度级;关于无源STN面板和有源矩阵TFT面板,SSD1906都能够支撑多达256K色彩。此外,SSD1906还支撑多种分辨率,包含320×320,160×160和160×240(其间色深为16bpp)。
1.3 显现特性
在显现特性方面,SSD1906支撑显现旋转形式,经过对SSD1906内部相应操控寄存器的设置,能够完成显现图画的90°、180°和270°硬件旋转。一起,SSD1906还支撑虚拟显现,即显现的图画尺度能够比实践选用的LCD面板大。用户能够经过上下和左右翻滚屏幕,完成完好图画的观看。
SSD1906显现操控器支撑起浮窗口显现形式。在这种形式下,主显现窗口中能够一起显现一个起浮窗口,这个起浮窗口能够坐落主窗口中的恣意方位,详细能够经过起浮窗口操控寄存器进行设置。此外,SSD1906还支撑两个硬件光标(只支撑4/8/16bpp),并支撑双缓存/多页形式,因而能够显现流通的动画,并能够完成实时的屏幕改写。
2 、AT91RM9200微操控器
Atmel公司的AT91RM9200是依据ARM Thumb的ARM920T微操控器,时钟频率为180MHz,运算速度能够到达200MIPS。AT91RM9200内部别离有16KB的数据缓存和指令缓存,具有存储器办理单元(MMU)。此外,AT91RM9200内部还包含16KB的SRAM和128KB的ROM,具有外部总线接口(EBI),支撑SDRAM、静态存储器、Burst Flash、CompactFals、SmartMedia以及NAND Flash。
AT91RM9200微操控器供给的体系外设包含:增强的时钟发生器和电源办理操控器;2个具有双PLL的片上晶振,低时钟操作形式以及经过软件完成的电源优化功用;具有4个可编程的外部时钟信号;体系守时器包含守时中止、看门狗和第二计数器;具有报警中止的实时时钟;具有调试单元、两线UART,而且支撑调试通讯通道;具有8个优先级的高档中止操控器,可独立屏蔽的向量中止源,具有伪中止维护功用;具有7个外部中止源和1个快速中止源;4个32位的PIO操控器,多达122条可编程的I/O线,每条I/O线具有输入改变中止和漏极开路电容;具有20个通道的外围数据操控器(PDC)。
3、 硬件规划
3.1 SSD1906的总线接口
SSD1906显现操控可与多种MCU相连,详细的衔接方法取决于MCU所支撑的总线类型。SSD1906支撑单时钟输入(CLKI),然后能够由MCU的总线时钟为其供给时钟信号。关于通用#1总线,SSD1906用于与MCU相连的引脚为:
A0——接低电平;
A[17:1]——体系地址总线位17~1;
D[15:0]——体系数据总线输入;
WE0——低8位数据的写使能信号输入;
WE1——高8位数据的写使能信号输入;
CS——片选输入;
M/R——挑选读写显现内存或内部寄存器。高为显现内存,低为内部寄存器;
BS——接高电平;
RD/WR——高8位数据的读指令输入;
RD——低8位数据的读指令输入;
WAIT——等候信号输出。能够经过装备,决议该信号为高电平有用或低电平有用;
RESET——复位输入信号。
3.2 总线接口分析与完成
AT91RM9200微操控器的总线接口归于通用#1型接口,因而可与SSD1906直接相连。其间,AT91RM9200的A[17:1]、D[15:0]、NWR0、NWR1、NCS2、NWAIT、NRST引脚,能够别离与SSD1906的A[17:1]、D[15:0]、WE0、WE1、CS、WAIT和RESET引脚直接衔接。而AT91RM9200的NRD引脚能够使能16位或许8位的读拜访,因而可与SSD1906的RD/WR和RD引脚相连,作为高字节和低字节的读使能信号。关于SSD1906的M/R信号,能够由AT91RM9200的A18信号进行操控。SSD1906与AT91RM9200的总线衔接如图2所示。
此外,因为SSD1906的CLKI的输入时钟频率最高为66MHz,而其总线时钟频率最高也为66MHz,因SSD1906的总线时钟BCLK能够直接由CLKI供给,其频率比为1:1。别的,AT91RM9200的总线类型为通用#1型,选NWAIT信号为低有用,总线接口为小端形式,所以能够确认SSD1906的装备引脚CF[7:0]为0x0Bh。
4 、寄存器装备
在寄存器装备方面,包含对MCU的初始化及对SSD1906的初始化和设置。关于AT91RM9200微操控器,首要,有必要设置相应的PIO操控寄存器,将有复用的I/O线装备为所需求的功用。其次,考虑到SSD1906的CLKI时钟频率最高为66MHz,因而,需求对AT91RM9200的PMC_PCK0寄存器进行设置,确保PCK0的输出时钟频率不超越66MHz。下面别离介绍SSD1906的首要寄存器装备。
4.1 SSD1906的内部时钟设置
SSD1906支撑单时钟输入,即一切的时钟信号都能够由CLKI的输入时钟供给。关于SSD1906的总线时钟BCLK,能够经过装备CD[7:6]引脚,对CLKI得到需求的BCLK。这儿将CF[7:6]装备为00,即BCLK=CLKI。
内存时钟MCLK用于拜访SSD1906内部的SRAM。SSD1906的规划充分考虑了省电操控,当显现操控器不作业时,时钟主动关才。而另一方面,减小MCLK的频率,会添加MCU时钟推迟,然后下降屏幕改写的功用。因而,为了在省电与功用之间到达最优的平衡,MCLK的频率装备有必要满意两点:既要有足够高的内存拜访频率,以供给较快的改写率,又要确保MCU的推迟为一个可接受的值。经过装备寄存器REG[04h],由BCLK得到MCLK时钟。
像素时钟PCLK用于操控LCD面板。PCLK的挑选有必要与LCD面板的最优帧速率相匹配。帧速率的计算公式为
帧速率=fPCLK/(HT)×(VT)
其间:fPCLK为PCLK时钟频率,单位为Hz;
HT=((REG[12h]bits 6-0)+1)×8Ts,为水平总周期;
VT=((REG[19h]bits 1-0,REG[18h]bits 7-0)+1)lines,为笔直总周期。
像素时钟PCLK的挑选具有很大的灵活性。首要,LCD面板的帧速率一般都有一个答应的规划。其次,像素时钟频率也能够指定为一个很的值,然后,经过调整水平缓笔直显现周期,将帧速率下降到一个最优值。像素时钟的时钟源能够为MCLK或BCLK。经过装备寄存器REG[05h],能够得到不同的PCLK。
4.2 虚拟显现形式的设置
SSD1906支撑虚拟显现形式,详细能够经过以下寄存器的设置完成。首要,设置主窗口显现开始地址寄存器REG[74h]、REG[75h]和REG[76h],指定显现内存中主窗口图画的开始地址。然后,设置主窗口线地址偏移寄存器REG[78h]和REG[79h],确认虚拟图画的水平像素数。当然,设定的水平像素数有必要大于LCD面板的实践显现像素宽度,才能够完成虚拟显现,否则为一般显现形式。图3所示为主窗口与虚拟显现区域的联系。
4.3 起浮窗口的设置
起浮窗口可坐落虚拟显现区域内的任何方位,其定位能够经过起浮窗口操控寄存器REG[7Ch]到REG[91h]来进行设置。起浮窗口的色深和显现方向与主窗口相同。本方案中选用的是正常方向形式显现,即制止显现旋转。图4为本方案中起浮窗口与主窗口的联系,以及定位寄存器的设置。
4.4 硬件光标的设置
SSD1906支撑在主窗口中显现两个硬件光标。这两个光标能够坐落主窗口的任何方位,详细定位经过光标形式寄存器REG[C0h]到REG[111h]操控。硬件光标只支撑4/8/16bpp显现形式。
光标的色深和显现方向与主窗口共同。本方案中光标的定位以及相应的操控寄存器设置如图5所示。
这儿只介绍了SSD1906中的一些首要寄存器的装备。其它的寄存器设置,请参阅相关材料。
结语
SSD1906归于中小规划的图形显现操控器,特别适用于工控、便携式设备及其它一些日常消费产品的液晶显现。在AT91RM9200嵌入式体系中,充分利用了SSD1906小体积、低功耗、低成本、多显现功用的长处,能够很好地使用于工业操控以及车载GPS等范畴中。
责任编辑:gt