OLED显示模块与AT91RM9200的接口设计
发布时间:2008/5/26 0:00:00 访问次数:648
    
     电子科技大学 蒋三新 黄晓革
    
    oled全称为organic light-emitting diode,即有机发光二极管显示器,是指有机半导体材料和发光材料在电流驱动下而达到发光并实现显示的技术。oled与lcd相比有许多优势:超轻、超薄(厚度可小于1 mm)、亮度高、可视角度大(可达170°)、由像素本身发光而不需要背光源,功耗低、响应速度快(约为lcd速度的1 000倍)、清晰度高、发热量低、抗震性能优异、制造成本低、可弯曲。所以oled更能够展示完美的视频,再加上耗电量小,可作为移动电话、数码电视等产品的显示屏,被业界公认为最具发展前景的下一代显示技术。
    
    1 p13501显示模块的特性
    
    台湾铼宝公司推出的p13501是一种128×64点阵的单色、字符、图形显示模块。具有如下主要特性:发光颜色为蓝;点阵数为128×64;内置驱动ic为ssd1303;对比度为500:1;视角为160°;接口为6800系列并行接口,8位intel 8080系列并行接口以及串行外部接口;工作温度为-20~+70℃。
    
    2 显示模块的控制器和结构框图
    
    oled显示屏p13501主要包括台湾solomon公司生产的ssd1303内置控制器和oled显示面板。
    
    控制器是一个集行驱动、列驱动和控制器于一体的oled驱动器芯片。该驱动器为132×64点阵oled图形显示而设计,包括行驱动器、列驱动器、电流参考发生器、对比度控制、振荡器和几个mcu接口模式。工作逻辑电压为2.4~3.5 v;具有丰富的软件功能,支持4种颜色选择和每种颜色64级控制,其软件对比度具有256级控制;内嵌的132×64位的图形动态随机存储器(gddram),提供了行remapping、列remapping、垂直滚动和部分显示功能,使得该驱动器适合于不同像素尺寸和颜色的多种oled显示。
    
    ssd1303控制器在接口控制电路内有2套时序电路,通过对时序适配电路的相应设置以满足不同的时序要求。时序适配电路的设置端为bs1和bs2,其时序设置如表1所列。
    
    
    模块的结构框图如图1所示。
    
    
    3显示模块与at91rm9200的接口设计
    
    ssd1303的接口,包括数据输入缓存器、数据输出锁存器、指令寄存器及译码器、忙状态触发器以及时序控制电路等,具有高性能的接口控制电路。计算机可以随时访问ssd1303而无须判断其当前状态。由于oled采用intel 8080时序,因此bs1和bs2均接高电平;又由于at91rm9200中没有命令/数据选择线,所以这里使用其通用端口pb中一口线pb10作oled的命令/数据选择线。当pb1o为低电平时,表示向oled写入的数据为命令字;而为高电平时,则表示写入oled的为数据字。oled的16脚res为复位脚,可直接接到arm的复位电路,但此处为了方便对oled的复位控制,特用另一口线pb11作其复位控制。oled的片选信号user1_cs由at91rm9200的ncs4与地址线a25、a23、a22经38译码器译码产生。经计算可得其物理地址为0x52800000。oled与at91rm9200的接口电路设计如图2所示。
    
    
    4 oled驱动的编程
    
    操作系统的作用之一就是向用户屏蔽硬件的特殊性,使应用程序与底层的具体物理设备无关。设备驱动程序是应用程序与具体硬件的桥梁。linux支持3类硬件设备:字符设备、块设备及网络设备,它们的编写方法大致相同。其中,字符设备和块设备可以像文件一样被访问。字符设备和块设备的主要区别在于:应用程序对字符设备的每一个i/o操作,都会直接传递给系统内核对应的驱动程序;而应用程序对块设备的操作,要经过系统的缓冲区管理,间接传递给驱动程序处理。在此,oled属于字符设备。
    
    通常字符设备提供给应用程序的是一个流程控制接口,主要包括open、close(或release)、read、write、ioctl、poll和mmap等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,linux内核对
    
     电子科技大学 蒋三新 黄晓革
    
    oled全称为organic light-emitting diode,即有机发光二极管显示器,是指有机半导体材料和发光材料在电流驱动下而达到发光并实现显示的技术。oled与lcd相比有许多优势:超轻、超薄(厚度可小于1 mm)、亮度高、可视角度大(可达170°)、由像素本身发光而不需要背光源,功耗低、响应速度快(约为lcd速度的1 000倍)、清晰度高、发热量低、抗震性能优异、制造成本低、可弯曲。所以oled更能够展示完美的视频,再加上耗电量小,可作为移动电话、数码电视等产品的显示屏,被业界公认为最具发展前景的下一代显示技术。
    
    1 p13501显示模块的特性
    
    台湾铼宝公司推出的p13501是一种128×64点阵的单色、字符、图形显示模块。具有如下主要特性:发光颜色为蓝;点阵数为128×64;内置驱动ic为ssd1303;对比度为500:1;视角为160°;接口为6800系列并行接口,8位intel 8080系列并行接口以及串行外部接口;工作温度为-20~+70℃。
    
    2 显示模块的控制器和结构框图
    
    oled显示屏p13501主要包括台湾solomon公司生产的ssd1303内置控制器和oled显示面板。
    
    控制器是一个集行驱动、列驱动和控制器于一体的oled驱动器芯片。该驱动器为132×64点阵oled图形显示而设计,包括行驱动器、列驱动器、电流参考发生器、对比度控制、振荡器和几个mcu接口模式。工作逻辑电压为2.4~3.5 v;具有丰富的软件功能,支持4种颜色选择和每种颜色64级控制,其软件对比度具有256级控制;内嵌的132×64位的图形动态随机存储器(gddram),提供了行remapping、列remapping、垂直滚动和部分显示功能,使得该驱动器适合于不同像素尺寸和颜色的多种oled显示。
    
    ssd1303控制器在接口控制电路内有2套时序电路,通过对时序适配电路的相应设置以满足不同的时序要求。时序适配电路的设置端为bs1和bs2,其时序设置如表1所列。
    
    
    模块的结构框图如图1所示。
    
    
    3显示模块与at91rm9200的接口设计
    
    ssd1303的接口,包括数据输入缓存器、数据输出锁存器、指令寄存器及译码器、忙状态触发器以及时序控制电路等,具有高性能的接口控制电路。计算机可以随时访问ssd1303而无须判断其当前状态。由于oled采用intel 8080时序,因此bs1和bs2均接高电平;又由于at91rm9200中没有命令/数据选择线,所以这里使用其通用端口pb中一口线pb10作oled的命令/数据选择线。当pb1o为低电平时,表示向oled写入的数据为命令字;而为高电平时,则表示写入oled的为数据字。oled的16脚res为复位脚,可直接接到arm的复位电路,但此处为了方便对oled的复位控制,特用另一口线pb11作其复位控制。oled的片选信号user1_cs由at91rm9200的ncs4与地址线a25、a23、a22经38译码器译码产生。经计算可得其物理地址为0x52800000。oled与at91rm9200的接口电路设计如图2所示。
    
    
    4 oled驱动的编程
    
    操作系统的作用之一就是向用户屏蔽硬件的特殊性,使应用程序与底层的具体物理设备无关。设备驱动程序是应用程序与具体硬件的桥梁。linux支持3类硬件设备:字符设备、块设备及网络设备,它们的编写方法大致相同。其中,字符设备和块设备可以像文件一样被访问。字符设备和块设备的主要区别在于:应用程序对字符设备的每一个i/o操作,都会直接传递给系统内核对应的驱动程序;而应用程序对块设备的操作,要经过系统的缓冲区管理,间接传递给驱动程序处理。在此,oled属于字符设备。
    
    通常字符设备提供给应用程序的是一个流程控制接口,主要包括open、close(或release)、read、write、ioctl、poll和mmap等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,linux内核对