目前,DVD播放机逐渐被BD播放机取代已经成为一种趋势。这种趋势也会延伸到便携式光盘播放机领域。在2011年的美国CES展上,Sony、Philips、Sumsung等都继松下之后推出了自己的便携式BD播放机,可以说明这种趋势已经形成。本文从系统方案的角度出发,详细阐述便携式BD播放机的设计开发内容,旨在为国内的同行们今后在设计产品时提供一个方案、一些思路,避免出现类似课题,提高开发效率,提高产品的质量和竞争力。
系统硬件构成
整个系统硬件的构成如图1所示,包括OPU、解码器、MCU、电源电池管理、按键及遥控接收、LCD驱动、HDMI输出、USB、网络接口、各Switch检测等。下面详细阐述各构成的功能。
图1 系统硬件构成
OPU:因为BD播放机需要兼容DVD和CD,因此这个模块需要配置能够读取CD/DVD/BD三种光盘数据的激光头,目前市场上三洋,索尼等的产品均能满足这个要求。
Decoder:BD播放机的解码器要求能够解码1920×1080P的全高清的视频信号,包括H.264/VC-1/MPEG等,MTK、博通的芯片均能满足要求。本文列举的解码芯片内置了以太网,HDMI,ADAC等芯片,集成度较高。实际选型时根据产品开发的需求,具体选择。
MCU:MCU的角色很重要。因为便携式播放机的功能很多,目前在市场上能够全部完成所有便携式功能的单一的解码芯片还没有,因此需要增加一个单独的MCU来协助解码器构成整个系统,实现系统的所有功能。MCU负责处理按键及遥控器,控制LCD的驱动芯片,电源管理,电池充放电处理,音频功放等,同时和解码器通过双方之间的通信进行命令的交互和信息的传递。
电池电源管理:负责整个系统的电源管理,包括开关机,适配器/电池使用的切换,电池的充放电处理等。
按键和遥控器:处理本体按键和遥控器按键的输入。
Switch:负责外部开关,耳机插入的检测。
RTC:实时时钟模块,可以作为实际的计时使用。
FAN:风扇,用于给系统散热用;BD播放机工作时,芯片工作频率较高,功耗较大,需要外加装置给主要芯片散热。
Over Current Protection:这个芯片用来对USB接口进行过电流的检测和保护。
USB:用于外接USB设备,扩展光盘播放机的功能,对应网络下载的高清素材播放等。
网络接口:有三个作用,(1)满足BDA要求的BD live播放;(2)对应软件网络升级,BD播放机的软件复杂,且BD规格不断更新,配置这个功能可以在产品上市以后通过网络的自动升级功能对应市场问题,满足市场不断变化的需求,降低消费者的投入,提高产品的竞争力;(3)对应各种网络应用功能。
系统软件设计
系统主要由解码器和MCU构成,解码器和MCU之间通过通信来进行配合协调,完成整个系统的功能。因此系统的软件设计包含3个部分即解码器部分的软件设计、MCU部分的软件设计、通信设计。
1解码器的软件设计
解码器软件在Linux操作系统上架构而成,包括设备驱动、中间件和应用层。采用模块化的设计理念,根据系统功能将系统进行划分成不同层次和不同模块来进行实现。不同任务的运行通过启动不同的进程来控制。
便携式蓝光播放机同以往类似产品的最大区别在于可以播放蓝光碟片和具有丰富的网络功能。解码器软件的系统构成如图2所示。
图2 解码器软件系统构成
2 MCU的软件设计
MCU的软件设计采用了小型操作系统来管理两个任务。SubTask用于和解码器进行通信,MainTask负责通信之外的所有处理,整个系统分为驱动层,中间层和应用层。驱动层包含了硬件设备和OS,有端子配置、按键输入、开关检测、AMP、FAN、RTC等;中间层则包含了需要向应用层提供的实现具体功能和动作的各个模块接口;应用层根据系统的功能,分为UI、OSD等模块,完成系统所需要实现的各种功能。MCU软件的系统构成如图3所示。
图3 MCU软件系统构成
3 通信设计
MCU和解码器之间的通信,物理层可以采用多种接口形式,这里选用的是UART。关于协议层的设计需要重点考虑两个方面的问题。一是系统所需要的所有功能是否可以实现,不要产生因为协议设计的不全面导致系统功能实现受影响的失误;二是通信的异常处理机制是否考虑周全,这个影响到系统的可靠性,包括出错时重复发送次数的设定,通信忙时等待延时时间的设定等。
功耗设计
功耗设计对于便携式产品甚为重要,不仅要考虑到正常工作时消耗的功率,还要考虑到待机时的功耗。功耗设计涉及到系统多方面的内容,包括芯片的选择,电路的设计等。具体到本系统需要从OPU部分的功耗、LCD的背光、解码器的工作功率、周边电路、待机时的电源管理等进行研讨和验证。