THOMSON CD-DVD模块一般都内置了THOMSON特有的串行总线通讯协议。TCM系列采用的一般是THOMSON双线通讯协议,该协议要求时钟线连接到MCU的一个外部中断IO口,并置上拉电阻;而数据线是普通的双向IO口,可以不带上拉电阻。THOMSON双线通讯的典型数据传输速度在400kbps到800kbps之间。TDM系列一般采用THOMSON三线通讯协议。这种协议要求使用三个双向IO口,这三个IO口都需要在MCU端接上拉电阻。THOMSON三线通讯的数据传输速度由TDM模块的解码芯片和外置MCU之间较慢的那个IC的运行速度决定。
一般来说家用音响系统都包括以下几个功能:CD/DVD换碟机械系统;CD/DVD碟片播放;收音机;磁带播放、录制;时钟、定时开关机;各种显示模式;面板按键和遥控器。
现在的发展趋势是增加以下的新功能:PC-LINK—播放电脑中的音频视频文件;播放各类存储卡中的音频视频文件;刻录和存储卡存储;更多的显示内容。
后面这四种功能需要选用较高端的MCU,所以目前还不是流行的设计,本文不作深入讨论。本文将就前七种功能下的音响系统的显示屏、MCU选择及其程序设计,结合THOMSON的CD-DVD模块作详细的分析。
显示屏的选择
表1:一个完整的音响系统所包括的信号。 一般来说,CD-MP3系列会使用LCD屏作为显示器。如果只播放CD碟片则一般六位数字LCD屏就够了,如果需要播放MP3碟片则应该用至少八位数字的LCD显示屏;如果要显示曲名或电台RDS信息,则必须用14段的数字字符。如果是DVD组合音响,VFD显示屏也是常规选择。总之,较好的音响显示屏应该至少是4COM(32SEG。至于显示的内容,各种产品和各个厂家都有自己的风格,各类用户也有不同的喜好。
外置MCU的选择
为了降低整个方案的元器件成本,由于THOMSON CD-DVD模块的工作电压是5V,建议外置MCU的工作电压最好也兼容5V,而且MCU应该自带内置的显示驱动,最好有LCD和VFD两个兼容MCU系列。
另一方面,中断特性也是选择MCU的一个重要评判标准。对于音响产品,至少应该有两个内部时钟中断:一个是较慢的系统时钟,用来处理时间、各类定时任务以及暂停;另一个是较快的时钟,最好是带有比较寄存器的时钟中断,用来处理快速时间任务,如遥控器的解码。
MCU的外部中断根据音响系统和THOMSON CD-DVD模块的特点,应该包括以下几个:
遥控信号中断; THOMSON CD双线通讯的时钟信号中断; RDS时钟信号中断; 磁带机计数信号中断; 整机断电保护中断。
这些中断最好拥有独立的中断入口地址。中断是否可分优先级并不一定特别重要,因为音响系统毕竟不是非常实时的嵌入式系统,也没有特别的安全考虑。
此外,选用MCU需要考虑的还有IO口的分配。一般来说,一个完整的音响系统应包括表1中的信号。
综上所述,适用于以上音响系统的MCU应该具有以下IO口特性:至少4COM(32SEG的显示驱动IO口;3~5个外部中断IO口;22~42个通用IO口。
另外,选外置MCU还要考虑RAM和ROM的容量大小。根据我们的经验,512B RAM加16KB ROM可以满足基本的功能要求,如较为简单的显示内容及效果和较少的节目编程存储;而1KB RAM加32KB ROM可以做到相当完善的功能—各类信息的显示和充分自主的节目编程存储,并且可以有良好的功能扩展,比如更大的显示屏等。
最后,还要考虑所选MCU的开发工具的易得性和易用性,开发测试是用OTP还是用FLASH也是要考虑的重要因素,因为它们都会影响项目的成本、规划和进程。
控制IC比较
这里列举三家可用于此类音响系统开发的控制IC厂家并做比较。这种比较仅根据我们的经验和思考,供工程师参考。
NEC 78K0系列IC性能优良而且稳定。其产品系列化程度很好,兼容LCD-VFD两种显示驱动,有不同的RAM和ROM容量可供选择。时钟中断和外部中断都比较规范,容易使用。最终产品可以是MASK、OTP和FLASH。工具特性:编译器支持ASM和C。NEC自有ASM指令系统比较完善,有很多很好的宏可以将ASM写得类似C程序。仿真器功能强大,具有实时调试的功能。
RENESAS H8/300系列IC的功能十分强大。中断、LCD驱动都比较好,不支持VFD。有不同的RAM和ROM容量可供选择,有些产品具有数据寻址IO,可支持外部存储设备。最终产品可以是MASK、OTP和FLASH。编译仅支持C/C++。仿真器功能强大,具有实时调试的功能。技术支持好。
EMC78系列IC的LCD驱动功能较好,中断和通用IO够用。其所有中断只有一个入口地址,中断程序负担重,容易发生中断冲突。目前,最大RAM容量为2KB,最大ROM容量为16KB。最终产品可以是MASK和OTP。编译仅支持ASM。仿真器功能较差,只有断点调试,不具有实时调试的功能。
控制程序设计
最后,MCU控制程序的功能设计是整个系统增值的关键。一方面,要使程序结构化好,容易维护和升级换代;另一方面,要在有限的资源(RAM、ROM、中断等)上完成尽可能多的功能。这些正是嵌入式系统的魅力所在—不同的设计思想会产生不同的程序和不同的产品质量。
针对THOMSON的CD-DVD模块的特点,我们建议程序分成以下几块: 系统控制模块; 显示控制模块; 音响控制模块; 收音控制模块; 磁带控制模块; CD-DVD控制模块。
系统控制模块应该包括时钟控制(包含定时开关机等)、键盘扫描控制、遥控器控制和厂家特殊功能控制部分。
显示控制模块可根据所选用的MCU的显示功能特点设计,结合THOMSON CD-DVD模块,可显示总曲数、总碟时间、单曲名、单曲时间、MP3 ID3 TAG信息等。
音像控制模块和收音控制模块都不包括机械控制,但都包括底层的总线通讯协议。设计好这些协议的接口程序是提高用户端功能的基础。
磁带控制模块包括简单的机械控制和较为复杂的逻辑时序,在设计时还要考虑磁带和CD以及收音的录音配合等。
CD-DVD控制模块一定要考虑到THOMSON模块的通讯协议的特点,设计好底层通讯程序。此模块还包括机械控制部分,有时对时间任务要求较高,特别是多碟的情况,一定要有处理异常情况的程序设计。好的程序流程是该模块好的设计的基础。CD-DVD功能作为家用音响设备的主要功能,应该投入最有经验的程序员进行该功能的程序设计。