当前位置:首页 > 智能硬件 > 智能硬件
[导读]通过对SSD1906显示控制器的介绍,分析其在基于AT91RM9200微控制器的嵌入式系统中的应用;给出详细的硬件连接图及主要的寄存器配置。

    摘要:通过对SSD1906显示控制器的介绍,分析其在基于AT91RM9200微控制器的嵌入式系统中的应用;给出详细的硬件连接图及主要的寄存器配置。

    关键词:SSD1906 AT91RM9200 显示控制

引言

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等领域中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭