- 相關(guān)推薦
基于ATmega128L的大容量MP3播放機(jī)
摘要:介紹Atmel公司生產(chǎn)的ATmega128L單片機(jī)的特點(diǎn);提出一種以硬盤為存儲(chǔ)介質(zhì)的MP3播放機(jī)的設(shè)計(jì)方案;給出硬件設(shè)計(jì)結(jié)構(gòu)和軟件設(shè)計(jì)思路。引言
以Flash為存儲(chǔ)介質(zhì)的MP34播放器,由于其體積小、攜帶方便、價(jià)位合理及其時(shí)尚的外圍觀設(shè)計(jì),受到很多人的青睞。但Flash的價(jià)位由于受其制造工藝的制約一直居高不下,從而使MP3播放器的容量僅限于32M、64M、128M等幾個(gè)檔次。本文旨在提出一種以筆記本硬盤為存儲(chǔ)介質(zhì)的MP3播放機(jī)的設(shè)計(jì)方案。該款播放機(jī)既具有移動(dòng)硬盤的功能,又可作為MP3播放機(jī)使用。
1 系統(tǒng)結(jié)構(gòu)
在該系統(tǒng)的設(shè)計(jì)中,采用Atmel公司生產(chǎn)的ATmega128L作為主控MCU。整個(gè)系統(tǒng)的結(jié)構(gòu)框圖如1所示。PC機(jī)通過USB接口實(shí)現(xiàn)對(duì)硬盤的管理和對(duì)MP3歌曲、文檔等數(shù)據(jù)信息的存儲(chǔ)。系統(tǒng)啟動(dòng)后,首先將硬盤上的一部分MP3歌曲送入Flash中存儲(chǔ),由MCU控制將儲(chǔ)存于Flash中歌曲的碼流信息送入MP3解碼芯片中解碼,并產(chǎn)生解碼輸出。在系統(tǒng)的DAC模塊把解碼輸出轉(zhuǎn)換為模擬音頻聲音后,經(jīng)一級(jí)音頻放大并驅(qū)動(dòng)耳機(jī),實(shí)現(xiàn)MP3歌曲的播放功能。在按鍵的控制下,通過LCD中菜單選項(xiàng)的選擇,實(shí)現(xiàn)對(duì)歌曲播放模式、聲音音效、液晶對(duì)比度的調(diào)度以及歌曲選擇等功能;在播放的同時(shí),LCD上顯示的信息除滾動(dòng)的歌曲名稱、演唱者、碼流率等ID3信息外,還包括系統(tǒng)供電電池的電量及歌曲播放模式等圖標(biāo)。
系統(tǒng)包括主控MCU、硬盤、Flash緩存、按鍵、LCD、解碼器和D/A轉(zhuǎn)換器等幾部分。
2 ATmega128L的主要特點(diǎn)
ATmega128L內(nèi)核為AVR,具有以下特點(diǎn):
*先進(jìn)的RISC架構(gòu),內(nèi)部具有133條功能強(qiáng)大的指令系統(tǒng),而且大部分指令是單周期;32個(gè)8位通用工作寄存器 外圍接口控制寄存器。
*內(nèi)部有128KB在線可重復(fù)編程Flash、4KBEEPROM和4KB SRAM。
*有53個(gè)I/O引腳,每個(gè)I/O口分別對(duì)應(yīng)輸入、輸出、功能選擇、中斷等多個(gè)寄存器,使功能口和I/O口可以復(fù)用,大大增強(qiáng)了端口功能和靈活性,提高了對(duì)外圍的開發(fā)能力。
*內(nèi)部有2個(gè)8位定時(shí)器/計(jì)數(shù)器和2個(gè)具有比較/捕捉寄存器的16位定時(shí)器/計(jì)數(shù)器;1個(gè)具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器;1個(gè)可編程看門狗定時(shí)器;2通道8位PWM通道;8路10位A/D轉(zhuǎn)換器;雙向I2C串行總線接口;主/從SPI串行接口;可編程串行通信接口;片內(nèi)精確的模擬比較器等。
*功耗低。CPU可工作在IDLE、POWERSAVE、POWERDOWN、STANDYBY等幾種省電模式下;可軟件編程選擇時(shí)鐘頻率。ATmega128L的軟件結(jié)構(gòu)也是針對(duì)低功耗而設(shè)計(jì)的,具有內(nèi)外多種中斷模式。豐富的中斷能力減少了系統(tǒng)設(shè)計(jì)中查詢的需要,可以方便地設(shè)計(jì)出中斷程序結(jié)構(gòu)的控制程序、上電復(fù)位和可編程的低電壓檢測(cè)。
*帶JTAG接口。通過該口利用JTAG仿真器,可以很方便地實(shí)現(xiàn)程序的在線調(diào)試和仿真,編譯調(diào)試正確的代碼,通過JTAG口直接寫入ATmega128的Flash代碼區(qū)中。另外,支持Bootloader功能,即MCU上電后,首先通過駐留在Flash中的BootLoader程序,將存儲(chǔ)在外部媒介中的應(yīng)用程序搬移到ATmega128L的Flash代碼區(qū)。搬移成功后自動(dòng)去執(zhí)行代碼,完成自啟動(dòng)。這對(duì)于產(chǎn)品化后程序的升級(jí)和維護(hù)提供了極大的方便。
*電源電壓為2.7~5.5V
3 系統(tǒng)硬件設(shè)計(jì)中的各個(gè)接口模塊
3.1 MCU與硬盤的接口設(shè)計(jì)
系統(tǒng)設(shè)計(jì)中選擇2.5英寸的筆記本硬盤作為存儲(chǔ)介質(zhì)。筆記本硬盤接口是標(biāo)準(zhǔn)并行IDE接口。MCU與硬盤的接口電路如圖2所示。ATmega128L的PA、PC口與硬盤的16根數(shù)據(jù)線相連。IDE接口是基于寄存器結(jié)構(gòu)的,所有對(duì)硬盤的控制操作均通過對(duì)相應(yīng)寄存器操作來實(shí)現(xiàn)。IDE接口的硬盤驅(qū)動(dòng)器有16個(gè)寄存器,分為2段,每段有8個(gè)寄存器,兩段寄存器的選擇由CS0、CS1來確定,通過DA0、DA1、DA2來選通每個(gè)段的8個(gè)寄存器。寄存器如表1所列。IDE接口有兩種傳輸模式:PIO模式和DMA模式。在本系統(tǒng)的設(shè)計(jì)中,采用PIO傳輸模式。PIO傳輸模式由處理器負(fù)責(zé)信息的傳輸,硬盤以扇區(qū)為單位與處理器進(jìn)行數(shù)據(jù)交換;在進(jìn)行扇區(qū)讀寫時(shí),一次通過端口的數(shù)據(jù)為16位。8G以上的硬盤支持CHS、LBA兩種尋址方式,尋址方式的選擇通過驅(qū)動(dòng)器/磁頭寄存器的第6位控制。通過LBA尋址方可以實(shí)現(xiàn)對(duì)硬盤的每一個(gè)物理地址的訪問。
表1
【基于ATmega128L的大容量MP3播放機(jī)】相關(guān)文章:
淺議旅游景區(qū)游客容量管理04-12
關(guān)于船舶電站容量確定和計(jì)算方法05-04
試析基于勝任素質(zhì)的薪酬模式構(gòu)建01-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險(xiǎn)研究08-28
基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)08-05
基于軟交換的固網(wǎng)智能化05-11
基于BP網(wǎng)遙感影像分類研究與應(yīng)用08-10
基于SWOT的我國社保基金運(yùn)行現(xiàn)狀探析論文04-17