MST717C显示驱动芯片驱动TFT液晶显示屏介绍
字(如汉字)、二进制图标等通过取模软件取模后,添加到相应的文件当中。
Project文件下主要是关于KEIL C的工程文件,分64k和128k两种,一般选择128k较好。
Tv是MSTAR专门为模拟电视用户写的一些操作函数。
3.2 各函数功能的具体实现
3.2.1 音效处理芯片驱动
本系统主要在MST717C外围扩展了音效处理芯片PT2314。PT2314支持标准的I2C协议,与24LC16共用MST717C的 GPl00与GPI01软件模拟I2C,MST717C的硬件I2C被用作芯片程序烧写功能。
3.2.2 OSD菜单定制
Maria提供了一个标准的OSD菜单框架,主要包括色彩、对比度、亮度、屏幕显示区域调节、定时关机等。Maria OSD菜单包含有三级菜单,一级菜单根目录root;二级菜单包含图像、音量、功能、系统、时间共5个目录;三级目录即各二级目录内部菜单项,如图像菜单下含有亮度、色度、对比度、语言等四个三级菜单。用户可以自己添加和删除任意级别菜单,本系统中选择PT2314音效处理芯片,支持四通道立体声输入,主机可以通过I2C总线对音量、低音、高音、平衡等选项分别进行控制,故在音量二级目录下建立音量(Volume)、低音(Bass)、高音 (Treble)、平衡(Balance)四个三级目录。MenuTbl.h文件中建立对应的菜单数组MenuItemTypecode AudioMenuItems[]={):其中MenuItem-Type是个数据结构,其原型为
包含有菜单项的相对位置、背景色、被选中时颜色、关联的下一级菜单、菜单描绘类型、显示文本、按键对应事件、功能、显示类型、标志等。各项意义基本上可以由文字描述理解,需要注意的是MST717C OSD菜单只支持16色显示。此处以PT2314一个子菜单为例展示,
3.2.3 按键事件
用户按键采用ADC键值采样区别,不同的按键被按下时,ADC得到不同的电压值(如图4)。程序主循环通过不断地执行按键扫描函数Key ScanKeypad(),来查询有无键被按下。若有键被按下时,程序首先会将其与上次键值(g ucLastKeypad)进行对比,如相等则执行重复按键事件EventRepeatProcess();不同则执行按键事件 EventProcess(),并将此次键值设置为g ucLastKeypad。
Maria按键事件主要由一个定义为KeyEventType类型的数据结构来完成。该数据结构中第一个元素为按键输入状态,这里包含两种输入状态INPUT PRESS与INPUT_HOLD,其中INPUT_PRESS为按键按下状态,仅代表被按下时状态;INPUT_HOLD为按键按下时持续状态,相当于快速连击。第二个元素为按键按下时将会执行的事件,其数据结构为MenuItemAcTIonType。注意不同KeyEventType事件时同一按键对应的Menultem-ActionType事件也不同,以此来区分各级目录下同一按键所执行的不同功能。最后一个元素为输入类型 InputPortType,为枚举型变量,代表不同视频源状态按键输入,如Power按键输入时对应为Input_AllPort,即该键在任何状态下都有效;而遥控器按键1输入时为1<<In-put_TV,即该键值在其他状态下无效。
4 结束语
MST717C是一颗性价比非常高的显示驱动芯片,所需的外围器件也非常少,非常适合车载显示领域应用。需要注意的是显示驱动对电源稳定性要求比较高,PCBLayout时模拟地与数字地最好进行分割,保证视频信号的稳定性,如成本允许最好选择四层板。电源处理不好很容易出现水波纹,另外 VCOM电压一定要稳定,以保证显示图像的稳定性。此外Maria软件架构有些复杂,对开发者的C语言要求有些高,需要花费一定的时间去读懂其代码,进而进行自己的二次开发。