摘要:介绍atmel公司生产的atmega128l单片机的特点;提出一种以硬盘为存储介质的mp3播放机的设计方案;给出硬件设计结构和软件设计思路。
关键词:atmega128l mp3播放机 解码器lcd
引言
以flash为存储介质的mp34播放器,由于其体积小、携带方便、价位合理及其时尚的外围观设计,受到很多人的青睐。但flash的价位由于受其制造工艺的制约一直居高不下,从而使mp3播放器的容量仅限于32m、64m、128m等几个档次。本文旨在提出一种以笔记本硬盘为存储介质的mp3播放机的设计方案。该款播放机既具有移动硬盘的功能,又可作为mp3播放机使用。
1 系统结构
在该系统的设计中,采用atmel公司生产的atmega128l作为主控mcu。整个系统的结构框图如1所示。pc机通过usb接口实现对硬盘的管理和对mp3歌曲、文档等数据信息的存储。系统启动后,首先将硬盘上的一部分mp3歌曲送入flash中存储,由mcu控制将储存于flash中歌曲的码流信息送入mp3解码芯片中解码,并产生解码输出。在系统的dac模块把解码输出转换为模拟音频声音后,经一级音频放大并驱动耳机,实现mp3歌曲的播放功能。在按键的控制下,通过lcd中菜单选项的选择,实现对歌曲播放模式、声音音效、液晶对比度的调度以及歌曲选择等功能;在播放的同时,lcd上显示的信息除滚动的歌曲名称、演唱者、码流率等id3信息外,还包括系统供电电池的电量及歌曲播放模式等图标。
系统包括主控mcu、硬盘、flash缓存、按键、lcd、解码器和d/a转换器等几部分。
2 atmega128l的主要特点
atmega128l内核为avr,具有以下特点:
*先进的risc架构,内部具有133条功能强大的指令系统,而且大部分指令是单周期;32个8位通用工作寄存器+外围接口控制寄存器。
*内部有128kb在线可重复编程flash、4kbeeprom和4kb sram。
*有53个i/o引脚,每个i/o口分别对应输入、输出、功能选择、中断等多个寄存器,使功能口和i/o口可以复用,大大增强了端口功能和灵活性,提高了对外围的开发能力。
*内部有2个8位定时器/计数器和2个具有比较/捕捉寄存器的16位定时器/计数器;1个具有独立振荡器的实时计数器;1个可编程看门狗定时器;2通道8位pwm通道;8路10位a/d转换器;双向i2c串行总线接口;主/从spi串行接口;可编程串行通信接口;片内精确的模拟比较器等。
*功耗低。cpu可工作在idle、powersave、powerdown、standyby等几种省电模式下;可软件编程选择时钟频率。atmega128l的软件结构也是针对低功耗而设计的,具有内外多种中断模式。丰富的中断能力减少了系统设计中查询的需要,可以方便地设计出中断程序结构的控制程序、上电复位和可编程的低电压检测。
*带jtag接口。通过该口利用jtag仿真器,可以很方便地实现程序的在线调试和仿真,编译调试正确的代码,通过jtag口直接写入atmega128的flash代码区中。另外,支持bootloader功能,即mcu上电后,首先通过驻留在flash中的bootloader程序,将存储在外部媒介中的应用程序搬移到atmega128l的flash代码区。搬移成功后自动去执行代码,完成自启动。这对于产品化后程序的升级和维护提供了极大的方便。
*电源电压为2.7~5.5v
3 系统硬件设计中的各个接口模块
3.1 mcu与硬盘的接口设计
系统设计中选择2.5英寸的笔记本硬盘作为存储介质。笔记本硬盘接口是标准并行ide接口。mcu与硬盘的接口电路如图2所示。atmega128l的pa、pc口与硬盘的16根数据线相连。ide接口是基于寄存器结构的,所有对硬盘的控制操作均通过对相应寄存器操作来实现。ide接口的硬盘驱动器有16个寄存器,分为2段,