當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]介紹Atmel公司生產(chǎn)的ATmega128L單片機(jī)的特點(diǎn);提出一種以硬盤(pán)為存儲(chǔ)介質(zhì)的MP3播放機(jī)的設(shè)計(jì)方案;給出硬件設(shè)計(jì)結(jié)構(gòu)和軟件設(shè)計(jì)思路。

    摘要:介紹Atmel公司生產(chǎn)的ATmega128L單片機(jī)的特點(diǎn);提出一種以硬盤(pán)為存儲(chǔ)介質(zhì)的MP3播放機(jī)的設(shè)計(jì)方案;給出硬件設(shè)計(jì)結(jié)構(gòu)和軟件設(shè)計(jì)思路。

    關(guān)鍵詞:ATmega128L MP3播放機(jī) 解碼器LCD

引言

以Flash為存儲(chǔ)介質(zhì)的MP34播放器,由于其體積小、攜帶方便、價(jià)位合理及其時(shí)尚的外圍觀設(shè)計(jì),受到很多人的青睞。但Flash的價(jià)位由于受其制造工藝的制約一直居高不下,從而使MP3播放器的容量?jī)H限于32M、64M、128M等幾個(gè)檔次。本文旨在提出一種以筆記本硬盤(pán)為存儲(chǔ)介質(zhì)的MP3播放機(jī)的設(shè)計(jì)方案。該款播放機(jī)既具有移動(dòng)硬盤(pán)的功能,又可作為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ī)通過(guò)USB接口實(shí)現(xiàn)對(duì)硬盤(pán)的管理和對(duì)MP3歌曲、文檔等數(shù)據(jù)信息的存儲(chǔ)。系統(tǒng)啟動(dòng)后,首先將硬盤(pán)上的一部分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歌曲的播放功能。在按鍵的控制下,通過(guò)LCD中菜單選項(xiàng)的選擇,實(shí)現(xiàn)對(duì)歌曲播放模式、聲音音效、液晶對(duì)比度的調(diào)度以及歌曲選擇等功能;在播放的同時(shí),LCD上顯示的信息除滾動(dòng)的歌曲名稱、演唱者、碼流率等ID3信息外,還包括系統(tǒng)供電電池的電量及歌曲播放模式等圖標(biāo)。

系統(tǒng)包括主控MCU、硬盤(pán)、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ì)外圍的開(kāi)發(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接口。通過(guò)該口利用JTAG仿真器,可以很方便地實(shí)現(xiàn)程序的在線調(diào)試和仿真,編譯調(diào)試正確的代碼,通過(guò)JTAG口直接寫(xiě)入ATmega128的Flash代碼區(qū)中。另外,支持Bootloader功能,即MCU上電后,首先通過(guò)駐留在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與硬盤(pán)的接口設(shè)計(jì)

系統(tǒng)設(shè)計(jì)中選擇2.5英寸的筆記本硬盤(pán)作為存儲(chǔ)介質(zhì)。筆記本硬盤(pán)接口是標(biāo)準(zhǔn)并行IDE接口。MCU與硬盤(pán)的接口電路如圖2所示。ATmega128L的PA、PC口與硬盤(pán)的16根數(shù)據(jù)線相連。IDE接口是基于寄存器結(jié)構(gòu)的,所有對(duì)硬盤(pán)的控制操作均通過(guò)對(duì)相應(yīng)寄存器操作來(lái)實(shí)現(xiàn)。IDE接口的硬盤(pán)驅(qū)動(dòng)器有16個(gè)寄存器,分為2段,每段有8個(gè)寄存器,兩段寄存器的選擇由CS0、CS1來(lái)確定,通過(guò)DA0、DA1、DA2來(lái)選通每個(gè)段的8個(gè)寄存器。寄存器如表1所列。IDE接口有兩種傳輸模式:PIO模式和DMA模式。在本系統(tǒng)的設(shè)計(jì)中,采用PIO傳輸模式。PIO傳輸模式由處理器負(fù)責(zé)信息的傳輸,硬盤(pán)以扇區(qū)為單位與處理器進(jìn)行數(shù)據(jù)交換;在進(jìn)行扇區(qū)讀寫(xiě)時(shí),一次通過(guò)端口的數(shù)據(jù)為16位。8G以上的硬盤(pán)支持CHS、LBA兩種尋址方式,尋址方式的選擇通過(guò)驅(qū)動(dòng)器/磁頭寄存器的第6位控制。通過(guò)LBA尋址方可以實(shí)現(xiàn)對(duì)硬盤(pán)的每一個(gè)物理地址的訪問(wèn)。

表1 

DA0 DA1 DA2 扇區(qū)讀操作 扇區(qū)寫(xiě)操作 位 數(shù)
0 0 0 數(shù)據(jù)寄存器 數(shù)據(jù)寄存器 16
0 0 1 出錯(cuò)狀態(tài)寄存器 寫(xiě)預(yù)補(bǔ)償寄存器 8
0 1 0 扇計(jì)數(shù)器 扇區(qū)計(jì)數(shù)器 8
0 1 1 扇區(qū)號(hào)寄存器或LBA的A7~A0 扇區(qū)號(hào)寄存器或LBA的AD7~AD0 8
1 0 0 柱面號(hào)寄存器(高字節(jié))或LBA的A15~A8 柱面號(hào)寄存器(高字節(jié))或LBA的A15~A8 8
1 0 1 柱面號(hào)寄存器(高字節(jié))或LBA的A23~A16 柱面號(hào)寄存器(高字節(jié))或LBA的A23~A16 8
1 1 0 驅(qū)動(dòng)器或磁頭寄存器 驅(qū)動(dòng)器或磁頭寄存器 8
1 1 1 (LBA的A27~A24)狀態(tài)寄存器 (LBA的A27~A24)命令寄存器 8

3.2 Flash接口

作為便攜式產(chǎn)品的設(shè)計(jì),功耗問(wèn)題是一個(gè)要重點(diǎn)解決的問(wèn)題。作業(yè)存儲(chǔ)介質(zhì)的硬盤(pán),其工作電壓為5V,最大功耗可達(dá)20W,硬盤(pán)工作時(shí)間的長(zhǎng)短對(duì)系統(tǒng)功耗將產(chǎn)生直接的影響。由于硬盤(pán)提供了STANDBY、IDLE、SLEEP等幾種低功耗運(yùn)行模式,因此在系統(tǒng)設(shè)計(jì)過(guò)程中,考慮使用一片F(xiàn)lash存儲(chǔ)器作業(yè)緩存,即首先將存儲(chǔ)硬盤(pán)中的一部分音頻壓縮文件送入Flash中存儲(chǔ)(文件數(shù)目由Flash的容量決定),然后控制硬盤(pán)進(jìn)入SLEEP低功耗模式。存儲(chǔ)在Flash中的數(shù)據(jù)進(jìn)入解碼芯片中進(jìn)行解碼。待Flash中所有音頻文件播放完,則喚醒硬盤(pán)重新進(jìn)入正常的工作模式,啟動(dòng)下一次的數(shù)據(jù)緩存任務(wù)。

圖3 解碼+D/A接口

    系統(tǒng)中采用Sumsung公司生產(chǎn)的KM29U128T Flash存儲(chǔ)器作為緩存。KM29U128T是16M×8位NAND Flash存儲(chǔ)器。該芯片支持塊擦除、頁(yè)讀、頁(yè)寫(xiě)的功能。它的尋址采用串行方式,即8根數(shù)據(jù)線既作地址線也作數(shù)據(jù)線。先輸入地址,再傳送數(shù)據(jù)。控制地址、命令鎖存口和讀寫(xiě)允許口實(shí)現(xiàn)對(duì)Flash的讀寫(xiě)。

3.3 解碼和D/A接口

壓縮音頻數(shù)據(jù)的解碼和D/A轉(zhuǎn)換采用Micronas Intermetall公司專為個(gè)人音頻播放器設(shè)計(jì)的MAS3507D和DAC3550A芯片組。MAS3507D是單芯片解碼器,數(shù)據(jù)的處理由內(nèi)部嵌入的RISC DSP核來(lái)完成。單芯片上嵌入的還有電源管理器、程序存儲(chǔ)器、時(shí)鐘管理器、音頻基帶處理器以及I2S、I2C、PIO多種接口。采用集成I2S的音頻輸出方式,可方便地與DAC3550A連接。在芯片內(nèi)集成了數(shù)字、音量、立體聲、聲道混合、低音、高音控制等功能。DAC3550A是與MAS3507D匹配的高質(zhì)量的音頻DAC,內(nèi)部集成了耳機(jī)放大器;內(nèi)置時(shí)鐘振蕩器并由CLKOUT端提供給MAS3507D;具有I2S總線音頻輸入和I2C控制總線;具有低功耗模式。它把MP3播放機(jī)中D/A轉(zhuǎn)換和音頻放大兩部分集成在一起,非常適合于便攜式MP3播放機(jī)的開(kāi)發(fā)。

圖3所示為MCU、MAS3507D和DAC3550A的接口示意圖。ATmega128L通過(guò)SPI串行總線與解碼器MAS3507D的I2S接口相連,實(shí)現(xiàn)音頻壓縮碼流的傳輸。當(dāng)解碼芯片MAS3507D需要數(shù)據(jù)碼流時(shí),通過(guò)DEMAND口向MCU發(fā)出請(qǐng)求信號(hào)。解壓縮后的音頻碼流通過(guò)MAS3507D的I2S的輸出端口送入DAC3550A進(jìn)行D/A轉(zhuǎn)換和放大。MAS3507D和DAC3550A都具有I2C總線,Atmega128L通過(guò)I2C總線實(shí)現(xiàn)對(duì)MAS3507D和DAC3550A各個(gè)寄存器的讀寫(xiě)控制,完成音量、音效等調(diào)節(jié)。

3.4 其它模塊接口

人機(jī)界面是便攜式系統(tǒng)的重要組成部分,尤其對(duì)本系統(tǒng),由于硬盤(pán)可以存儲(chǔ)海量的歌曲,如果能夠?qū)τ脖P(pán)中的歌曲進(jìn)行有效管理和搜索,無(wú)疑會(huì)大大提高系統(tǒng)使用的方便性和靈活性?;谠摽紤],本系統(tǒng)采用了多個(gè)按鍵和1塊點(diǎn)陣式LCD,用于控制和顯示。LCD液晶模塊采用Solomon公司的SSD1815。SSD1815是單片CMOS LCD控制器,有串/并行兩種控制方式。本系統(tǒng)中采用串行控制方式。SSD1815內(nèi)部有一個(gè)用于存放圖形點(diǎn)陣信息的存儲(chǔ)區(qū),將要顯示的圖形或字符的點(diǎn)陣信息送入該區(qū)域即可完成顯示。由于控制的復(fù)雜性,系統(tǒng)需要羅多的按鍵,為了盡可能地減少I/O口的占用和降低控制復(fù)雜性,對(duì)按鍵的查詢采用I2C串行口,通過(guò)一片I2C擴(kuò)展芯片PCF8574,可以實(shí)現(xiàn)對(duì)多個(gè)按鍵的查詢。

4 系統(tǒng)的軟件設(shè)計(jì)

筆記本硬盤(pán)是MP3文件的存儲(chǔ)介質(zhì),由于其容量較大,PC機(jī)通過(guò)USB接口對(duì)硬盤(pán)進(jìn)行管理和操作時(shí)采用FAT32文件系統(tǒng)。文件以簇號(hào)鏈的形式在硬盤(pán)上存放,由磁盤(pán)分區(qū)信息和文件分配表的相關(guān)信息計(jì)算出文件在硬盤(pán)中的起始地址,通過(guò)硬盤(pán)數(shù)據(jù)口將該地址的數(shù)據(jù)讀出來(lái)。連續(xù)的讀操作將實(shí)現(xiàn)一個(gè)文件的讀取。

在該系統(tǒng)中,MCU需要完成數(shù)據(jù)從硬盤(pán)到Flash緩沖區(qū)的拷貝、送Flash中的壓縮音頻數(shù)據(jù)流給解碼器解碼、按鍵的監(jiān)測(cè)、根據(jù)按鍵的控制對(duì)歌曲播放模式和歌曲相關(guān)信息的顯示等幾個(gè)主要任務(wù)??紤]到Flash的讀寫(xiě)速度較慢,為保證歌曲的連續(xù)播放,在SRAM中劃分2×512字節(jié)的區(qū)域作為二級(jí)緩存,用于暫存從Flash傳送過(guò)來(lái)的音頻數(shù)據(jù)。根據(jù)解碼器的反饋需求信號(hào),從該緩沖區(qū)中取數(shù)送給解碼器進(jìn)行解碼。歌曲的播放具有實(shí)時(shí)性的要求,即如果解碼芯片的DEMAND信號(hào)為高,MCU必須停止目前正在執(zhí)行的任務(wù)來(lái)響應(yīng)發(fā)送碼流的任務(wù)。為保證數(shù)據(jù)碼流的不間斷,在系統(tǒng)軟件設(shè)計(jì)中,將硬盤(pán)→Flash、Flash→RAM的數(shù)據(jù)緩沖任務(wù)以及給解碼芯片發(fā)送碼流的任務(wù)用中斷來(lái)實(shí)現(xiàn)。系統(tǒng)的軟件設(shè)計(jì)流程如圖4所示。由于給解碼器發(fā)送碼流的任務(wù)實(shí)時(shí)性要求最高,故單獨(dú)用一中斷實(shí)現(xiàn)該任務(wù),且設(shè)置該中斷的優(yōu)先級(jí)最高。硬盤(pán)→Flash、Flash→RAM的數(shù)據(jù)緩沖任務(wù)作為另一中斷的中斷服務(wù)程序;而按鍵檢測(cè)、液晶顯示和電源管理作為前臺(tái)的三個(gè)任務(wù),MCU輪流分配給各個(gè)任務(wù)使用。這樣的設(shè)計(jì)既能滿足歌曲播放的實(shí)時(shí)性要求,又能對(duì)按鍵檢測(cè)、顯示等其它任務(wù)作出響應(yīng)。模塊化設(shè)計(jì)和分時(shí)操作系統(tǒng)思想在軟件設(shè)計(jì)中得到了充分的體現(xiàn)。

結(jié)語(yǔ)

本文討論了基于ATmega128L的大容量MP3播放機(jī)的設(shè)計(jì)思路,對(duì)系統(tǒng)中的各個(gè)模塊接口作了簡(jiǎn)要的描述,并提出了系統(tǒng)軟件設(shè)計(jì)的總體思想。以上軟硬件設(shè)計(jì)思想已經(jīng)實(shí)現(xiàn)產(chǎn)品化。該產(chǎn)品功耗低、功能強(qiáng),性能穩(wěn)定可靠,具有友好的用戶界面和操作性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉