本文介绍M16C平台在先进的数字液晶电视技术以及硬件配置和软件算法方面的作用,同时也将讨论其他的LSI。此外,也为电视制造商用于26英寸或以上液晶电视提供主要解决方案。
瑞萨的M16C系列是一个具有ROM高效率的多用途32和16位CISC微型机。它具有在高速度条件下的优异噪声免疫性和超低功耗处理能力,其中一组M16C系列的MCU是M16C/62P,该器件可提供低成本开发环境,工作频率高达24MHz。此外,它还支持多工和独立总线模式,可以连接外部存储器和视频处理器。我们在液晶电视解决方案中选择M30620SPGP,它是一个内置10K
RAM的无ROM版本,可以在20MHzPLL时钟的微处理器模式下工作,并使用了一个8位多工总线用于连接整个系统。
由于系统采用不带ROM的M16C MCU作为中央处理单元,视频处理器需要显示帧的缓冲器而运行,所以系统需连接外置的ROM和作锾冲器的RAM。外置ROM是一颗512K
8Bit的闪连存储器W29C040, 而RAM是128Mbit的SDRAM。
在视频信号处理器方面,我们选用泰鼎的第五代集成视频处理器(见表1)。
表1 泰鼎的第五代集成视频处理器(略)
LSI为SVP EX52,为高档数字电视提供主要的解码、处理、调节和显示控制功能。它集成了用于CVBS/S-video/Component以及HD-D1/D2/D3/D4模式的SD/HD模拟视频输入的10位ADC;高达108MHz的PC
RGB输入可支持SXGA/60Hz;隔行扫描刷新为60Hz到100Hz,而逐行扫描刷新为50Hz到75Hz。泰鼎图形引擎可提供卓越的视频图像质量。该技术集成了3D梳状视频解码,并支持PAL、NTSC和SECAM格式、运动适应解隔行扫描、数字噪声消除、图像调节、平均画面水平控制、边界消除和锐利度提升等。其内部低电压差分信号发送器LVDS用来连接LVDS面板,应用LCD过驱动的专有技术,可以改善主画面(MP)和画中画(PIP)通道在LCD面板上的反应时间。
整个系统还加入了一个HDMI接收器Sil9011(高清晰度多媒体接口)。这个LSI与HDMI 1.1规范兼容,且后向兼容DVI
1.0,这可使HDMI系统以一条电缆连接到现有的DVI 1.0主机(例如DVD播放器)。单个Panel Link TMDS数码内核支持视频信号图素时钟速率达165MHz,
覆盖范围至1080p(高清电视分辨率或PC的UXGA (PC分辨率)。而且具有高达192KHz的音频信号的采样率,支持S/PIF及多路音频输出。该芯片所带有工业标准的I2S端口可与音频DAC直接进行连接。Sil9011还嵌入了一个HDCP(高清晰度内容保护)解码引擎连同预编程的HDCP钥匙,用来接收受保护的音频和视频内容,从而提供最高级别的安全性能。
音频处理器应用MSP34x0G系列,可覆盖全球所有模拟电视声音系统的标准。同时,诸如自动音量控制(AVC)、低音增强效果(BBE)和重低音输出等基带声音处理也是在同一个单芯片中执行。MSP34x0G系列带有一个只运行在32KHz内置I2S总线接口,
它不适合直接连接Sil9011。需要增加一个具有192KHz采样率的D/A转换器,以转化音源到基带的音频才作为MSP3410G输出。
基本的硬件配置见图1所示。M16C/62P的第一组I2C总线连接到存储初始值和电视数据的EEPROM。而另外一组用于器件之间的通信,如SVP
EX52、HDMI接收器、音频处理器和调谐器,这一组I2C总线也与一个PC平行端口连接。当MCU程序进入固件调试模式时,MCU释放I2C总线控制。在PC上打开工具应用软件就能够控制所有这些器件,这对系统调试非常有用。视频处理器支持I2C总线和平行接口的通信。不带ROM的M30620SPGP工作在1M字节的微处理器模式下以20MHz速率运行,这需要连接一个10MHz的晶振并设定内置的PLL时钟两倍频率,它们之间的通信采用一个多工总线来实现。MCU的映射定位于CS2起始地址为8000h的区域。程序进入调试模式条件下,需要对SVP
EX52内部的寄存器进行设置,以控制I2C总线,并使多工的平行接口失效。此外,M16C/62P的UART1能够连接到PC串行端口。借助运行嵌入在PC视窗操作系统中的超级终端(Hyper
Terminal),输出信息。这意味着MCU接受我们的遥控或应用本地指令完成任务。在程序正常状态下运行时,PC和液晶电视之间也可持续进行交互。
图1 硬件配置图(略)
系统的软件结构包括由C语言编写的EX、TV API和应用程序三个层次。EXSDK提供了有效的工具和API。基于数据和编码分开的概念,数据包括寄存器表的设置、OSD(屏幕文字信息显示)和用户定义区域等。资源编码工具能够用来创建并维护这些作为资源的数据,运行流程见图2。然后,每一类数据也被看作某一指定的资源被插进应用程序中,例如视频信号处理器SVP
EX52中的数据表和不同LSI中的所有寄存器表等。
图2 运行流程图(略)
这是一个重要和经常用来处理寄存器表的API调用函数:
Void tdWriteRegTable(RPByte rpTable, Byte ucColume Num)
rpTable参数是一个指标,它指向寄存器表内资源所插入生成的数据。ucColumnNum参数是对哪一列数据应该写入的芯片进行选择。
TOE是一个位于高层的功能程序库,叫做TOE.LIB。它可在电视中执行如PC形式的图形用户介面,并支持两个板面的4或8位元颜色OSD显示。
TOE的结构基于MVC(模型、视图和控制器)的设计模式。它由三个部分组成,借调用TOEAPI进行编码。OSD数据编辑器和OSD项目编辑器用来组成OSD的布局设计和视觉结构。TOE是用标准C语言写成,
能支持跨平台作业,没有平台限制。
而EXAPI是一个作为SVP EX52驱动器的低层功能程序库,它亦可以编译在包括PC Win32或许多不同的单片机平台。EXAPI也如众多程序库文档一样,
都隐含着API进入已成为二进制目标码的执行细节。
TVAPI也封装了基本TV的逻辑处理。如果系统有硬件改动,例如改换视频解码器,需要修改TVAPI的源代码来配合, EXAPI 和
TVAPI能够被应用层程序所调用。
微软的Visual C++在PC中是一个强大的工具程式,所编写的电视模拟器借助WIN32平台通过I2C总线对系统进行作业操控,
并且程式也具备OSD模拟器用作预显示, 这样OSD设计就能显示在平面屏幕上。这可提供比较便宜的调试和开发环境。
而高质量的软件开发通过USB电缆连接到专业仿真器PC7501。探针M3062PT-EPB与仿真一起工作。同时,整个系统运行在下列工具软件上,软件列表见表2。
表2 软件列表(略)
应用层主程序运行程序基于下面的流程图,见图3。
图3 主程序流程图(略)
系统从第一个模块开始进行初始化和缺省设置。例如,如果函数BooltdEEPROMCheckOnline(void)没有检查到返回标_EEPROM_IS_INITIALIZED_,应用层软件便应用缺省设置来初始化EEPROM。M30620SPGP
MCU首先被初始化。然后,包括系统资源、由资源工具ResBuilder生成的数据、系统定时器、按键输入、遥控输入和I2C总线在内的整个系统进行初始化。用户输入包括按键或遥控输入被转换成以字节为单位的虚拟键数值,并且对重复键的处理推进到虚拟键值缓冲器中。而驱动的API是:
Void tdInitKeyboard(Word wFirstDelay,Word wRepeatDelay);
Void tdInitRemoteEx(RPByte rpData,Word wFirstDelay,Word wRepeatDelay);
缓冲器通过应用层程式主回路调用Byte tdGetVirtualKey(void)函数就得到虚拟键值。如果缓冲器中没有虚拟键,EXAPI将调用回函数Void
tdCallBackIdle(Void)。必须保证后台工作正常运行,即使当前正在处理OSD菜单,也不能有所影响。所有处理后台工作的模块都按照其标记变换而执行,这些标记都可以根据用户输入、模式切换和信号检测进行改变。后台作业处理包括搜台、声音处理、频道选择和信号处理等。所有背景模块的流程如图4所示:
图4 主要处理流程图(略)
EXAPI提供两种定时器回叫功能,可通过应用层软件实现。
Void tdCallBack1ms(Void);
Void tdCallBack20ms(Void);
上述两个是系统定时中断程序,Void tdRemoteService(Void)则是处理遥控输入的中断程序。在待机模式下,液晶电视仅等候接受控键或遥控输入,显示器的其他部分关闭,并进入节电模式。在正常的模式下,整机操作正常进行。一旦收到_VK-POWER_信号,液晶电视关闭系统并进入待机模式。该信号也可使液晶电视进入工厂模式,强迫液晶电视接受工厂设置或进行系统老化测试,电视面板重复地显示出红、蓝、绿或白色屏幕。
至于在多重视窗的状态下, 可以在显示层上产生九个视窗的排列, 每个小窗口一次显示一个频道并将其定格。然后,下一个频道在下一个窗口上显示。所有模式均有其自己的指令和OSD处理。
|