本系统HDMI单元采用的是MST3388,这是一个HDMI接收器,有三路RGB/YUV模拟信号输入端口和一路HDMI数字信号输入端口,所有输入经过MST3388后输出24位的RGB数字信号。
HDMI信号通过MST3388完成信号的解码,输出24位的RGB数字信号和I2S音频信号,分别送往DVP-M和MSP3410进行处理。系统中HDMI支持的最高分辨率为1080p。
VGA和YPbPr信号分别进入其中两个模拟信号输入端口。对于VGA输入,转换成24位的RGB数字信号,进入DVP-M的数字通道。对于YPbPr信号,首先通过MST3388进行检测,如果分辨率在720p以上,则通过MST3388转换成数字信号,输出到DVP-M,否则直接从DVP-M的模拟通道输入。
2.声音处理单元
声音处理单元采用的主芯片是MSP3410,它支持几乎所有的模拟电视声音信号,如B/G、L、I、D/K、M/N和FM-Radio,而且支持丽音(NICAM)数字音频标准。它和MCU之间通过I2C总线通信。
Tuner(TV调谐器)的声音中频(Sound IF)信号从MSP3410的SOUND IF端口输入,HDMI解码出来的声音信号从I2S端输入,VGA和YPbPr信号源对应的声音信号分别从其中两组SCART端口输入,AV和SCART的声音信号通过MCU控制M52790,选择其中某一路进入一组SCART端口。
处理后的声音信号从扬声器输出,电视信号通过MSP3410的SCART1端口输出到系统中的SCART1接口,作为电视输出,其它的声音信号从MSP3410 SCART2端口输出到系统中的AV OUT端口,作为AV输出。
另外,在自动搜台时还需要借助MSP3410才能正确完成,搜台时首先需要从MSP3410中读取当前TV信号的声音制式,然后根据不同的声音制式向Tuner写入相应的中频数据。
3.状态存储单元
状态存储单元,也叫Last Memory。采用的是一个32KB的EEPROM,存储一些系统状态、频道信息、各信号源的状态信息等内容。
主要包括以下几个部分:最后的信号输入模式(如TV,AV1,HDMI等),最后选择的语言状态(如英语,法语等),最后的声音信息(如音量、低音、高音等),各信号源对应的图像亮度、对比度、色彩、色调等信息,VGA/HDMI显示状态(水平位置,垂直位置,相位,时钟),频道名及各频道的频率、色彩制式和声音制式等。
每次进行与以上状态信息相关的操作时,MCU都会更新EEPROM中相应的内容,记忆当前的状态。开机时MCU会读取EEPROM中的内容,从而进入关机前的状态。
4.软件结构分析
该系统的软件是基于BOS嵌入式操作系统的,根据系统需求分为五个任务和五个周期处理函数,软件结构如图2所示。
(1)MainTask
主要完成信号状态检测、I/O端口检测和按键处理,并根据不同的状态和按键动作向其它任务发送相应的请求。
(2)EepTask
根据收到的请求,对EEPROM进行读写,如台号、音量、色彩调节信息的读写。
(3)DvpTask
根据请求对DVP-M相应寄存器读写,完成通道切换、色彩调整、图像调整、OSD显示等工作。
(4)OSDTask
根据请求和当前状态完成OSD菜单(On Screen Display)显示内容的处理,并向DvpTask发送请求,写OSD相关寄存器,实现OSD显示。
(5)DeviceTask
根据请求控制Tuner的选台、搜台和MSP3410的声音解码和音量控制,以及对I/O口的输入/输出控制等操作。
结束语
本系统采用DVP-M作为主视频处理芯片,由于其集成度高,简化了硬件电路的设计,同时DVP-M还具有针对不同制式电视信号的超强处理能力。该系统提供了较为灵活的软件平台,在应用方面具有较大的发挥空间。