|
10、Beaglebone外围电路设计第三周:实现LCD显示
[复制链接]
刚开始在查阅资料的时候,感觉AM335x系列的LCD raster显示模式应该比较简单,因为在手册介绍中,这种模式通用性很强,对LCD 的想好没有做特别的要求,所以我购买了一款3.5寸的LCD,可悲剧的是我无论怎么配置,都不能让LCD显示预计的效果!无奈只好先用杜邦线连接调试别的LCD了,我选取了两块LCD屏,一块是友善之臂6410的那款4.3寸的LCD:
NEC 4.3寸屏驱动板原理图- LCD-N43i-1043.pdf
(41.97 KB, 下载次数: 40)
NEC-NL4827HC19.pdf
(326.38 KB, 下载次数: 28)
根据raster的连接要求和这款LCD的手册,我成功驱动起来了LCD:
由于我的引脚有其他的功能,所以我接出的LCD接口是16位的,因此在raster初始化配置的时候要注意,只需配置data0~15以及LCD_AC_BIAS_EN、LCD_PCLK、LCD_HSYNC和LCD_VSYNC即可。
同时,配置 pclk :
RasterClkConfig(SOC_LCDC_0_REGS, 480*272*100, 192000000);
以及LCD的显示模式:
RasterModeConfig(SOC_LCDC_0_REGS, RASTER_DISPLAY_MODE_TFT,
RASTER_PALETTE_DATA, RASTER_COLOR, RASTER_RIGHT_ALIGNED);
RASTER_DISPLAY_MODE_TFT针对TFT对位数没有要求,RASTER_RIGHT_ALIGNED则是选择565输出格式,(这里的预定义和RasterModeConfig的函数编写时反着的,所以所谓的“RASTER_RIGHT_ALIGNED"(右对齐格式)其实是565格式。自己知道就可以也没必要改!
一下两组函数的参数则可以参考使用的LCD的手册来得到具体参数,主要是垂直和水平的设置:
/* Configuring horizontal timing parameter */
RasterHparamConfig(SOC_LCDC_0_REGS, 480, 4, 8, 43);
/* Configuring vertical timing parameters */
RasterVparamConfig(SOC_LCDC_0_REGS, 272, 10, 4, 12);
要了解其余的配置就需要仔细研读寄存器的介绍手册了,我还火候不够,不过貌似这些配置和LCD的型号选择已经无关了!可以不必修改,为了验证raster的模式配置过程,我有选用了一块800×480d的LCD屏,厂家不详,师兄给的一块屏:
SPE_IM120906011_FPC.pdf
(1.19 MB, 下载次数: 50)
只是根据手册改变了个别参数:
这款LCD缺少升压电路,背光要求电压是23V,为了方便连接,我在改进的开发板里使用时那款4.3寸的LCD!
最后的效果图如下:
此LCD例子是利用 Ti 的"Stellaris Graphics Library"编写的应用菜单,也是官方给的grlib demo!
原来我用这个GUI做过应用菜单,所以打算使用这个GUI来编写我的功能菜单!!
|
|