龙源期刊网 http://www.qikan.com.cn 智能手机屏幕驱动方案设计 作者:董斌 来源:《智富时代》2019年第01期 【摘 要】当前智能手机越来越普及,从当年的诺基亚单色屏,后来的伪彩屏,真彩屏,到现在的OLED等等。屏幕尺寸越来越大,分辨率也越来越高。从240*320,到640*480,到后来的1k,2k,甚至4k屏。分辨率越高对应的数据就越多.对处理器的性能就要求越高,如何低成本、高性能、开发周期短是摆在各大屏幕测试解决方案供应商面前的一大难题。本文就以目前的主流的高分辨率1126*2436屏为例,设计了一套完整的解决方案。 【关键词】手机屏幕驱动;MIPI接口;ARM+FPGA 一、硬件电路设计 早期的液晶显示屏由于分辨路低,硬件接口通常都是并行接口(数据线+控制线)占用资源多,传输速率低。而现在的高清屏多已使用MIPI接口,通信速率多达1.5Gbps.传统的单片机模拟并行总线,或使用FSMC等外设均不能满足高速通信要求。而使用带有专用的MIPI外设的CPU,成本高昂。软件驱动库开发周期长。因此本方案采用了一种ARM+FPGA的设计方案,ARM主要完成通信控制,图片下载,切换,寄存器初始化等工作,FPGA负责高速MIPI通信,DDR读写等工作。 整个结构如上图,电源部分采用了专用的模块,能够输出多种电压 1.2v/2.5/3.3v供给各个子模块,而ARM和FPGA则采用了FSMC接口,满足高速频繁的通信。Flash用来存储图片及视频数据。DDR用来缓存显示数据。在pcb布线方面由于MIPI信号的高速性,采用等长蛇形走线,周围覆铜接地提高抗干扰能力。 二、固件设计流程 FPGA与屏幕之间的MIPI通信,目前各大FPGA厂商都有集成的IP核调用(商业收费),在这里不再详细介绍。FPGA的工作重点在与按一定的时序读写数据,通信频繁且要求速度快。因此采用ARM自带的FSMC接口。通信时序如下,ARM为master ,FPGA 为slave。 FSMC初始化代码如下: ARM和FPGA之间通过映射内存地址的方式通信,如地址 0x0001,为FPGA的固件版本号,0x0002为FPGA编译日期,0x0100为MIPI 内核初始化,0x0101为MIPI read,0x0102为MIPI write。简化了协议的处理,就像ARM在操作一个外挂的芯片一样简单方便。 本文来源:https://www.wddqw.com/doc/38116d8c78563c1ec5da50e2524de518974bd360.html