摘要:介绍了为满足智能手机的快速发展产生的LCM的MIPI-DSI协议的优点,描述了DSI协议的操作方式,分析了DSI协议的定义中的数据包格式及其传输方式。还完成了硬件电路的设计,详细阐述了Android下LCM驱动程序结构的介绍及具体的参数配置。详细分析调试过程中产生问题的原理及解决的思路。
关键词:DSI协议;硬件;Android;LCM驱动设计;TE;
0 引言
随着智能手机的高速发展,手机内部含有越来越多不同接口的设备,同时又要满足低功耗、高分辨率以及小体积的显示模块的发展,本文就将探讨新型显示接口技术MIPI-DSI命令模式的LCM驱动设计与调试。一方面,DSI兼容DBI(显示总线接口)、DPI(显示像素接口)、和DCS(显示命令集)。另一方面DSI让手机设备的接口在降低成本、复杂度、功耗以及EMI的同时,也能够增加带宽,从而极大的提高了手机性能。
本文在联发科的MT6572平台进行LCM(LCD module)驱动的设计,在联发科技提供的Android4.1和内核Linux 3.10下进行开发。MTK6572是一款28制程的双核基带芯片,单核的主频可达1.2Ghz,内核Cortex-A7基于ARMv7架构,同时内部有Mali-400图形处理器。同时,MT6572最高支持分辨率720P级的屏幕。LCM是台湾奇景光电股份有限公司的3.5寸液晶屏的TFT LCD模组HX8357d。
1 DSI协议
1.1DSI的连接
DSI协议属于接口通信协议,它是位于显示模组和处理器之间的一种可扩展通道的高速串行接口,其支持一条时钟通道和1-4条数据通道,图1是DSI的物理连接图。DSI根据其兼容的外设的不同架构,具有视频模式(video mode)和命令模式(command mode)这两种操作模式。
命令模式要求LCM有显示缓存,主机通过命令间接控制外设。LCM芯片有一个FMARK脚,用来与主控同步,当主机端接收到LCD发出的TE信号,才会开始往FrameBuffer写数据;当LCD接收到来自主控的刷新命令,LCD才开始从显示缓存中读数据。视频模式是指在主机和外设之间用实时像素流的方式传输,并且只能工作在高速传输模式,不需要有显示缓存。本文采用命令模式进行操作。图2命令模式的示意图。
1.2DSI协议数据的结构
DSI协议下数据包的传输如图3示,该协议规定了短数据包和长数据包这两种数据包。图中LPS(low powerstate)表示低功耗模式,SOT为传输开始,SP为短数据包,EOT为传输结束,LP为长数据包,数据包的前后配置了数据低功耗