新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 一種以優(yōu)盤為存儲(chǔ)介質(zhì)的MP3播放器設(shè)計(jì)

一種以優(yōu)盤為存儲(chǔ)介質(zhì)的MP3播放器設(shè)計(jì)

作者: 時(shí)間:2010-03-19 來(lái)源:網(wǎng)絡(luò) 收藏

  2.

1.3 FAT16/FAT32文件格式的實(shí)現(xiàn)

  該部分程序是根據(jù)FAT16/FAT32文件系統(tǒng)的結(jié)構(gòu),實(shí)現(xiàn)對(duì)文件的讀、寫、創(chuàng)建、刪除等操作。上的數(shù)據(jù)按照其不同的特點(diǎn)和作用大致可分為5部分:MBR區(qū)(主引導(dǎo)記錄區(qū))、DBR區(qū)(系統(tǒng)引導(dǎo)記錄區(qū))、FAT區(qū)(文件分配表區(qū))、FDT區(qū)(文件目錄表區(qū))和DATA區(qū)(數(shù)據(jù)區(qū))。

  在實(shí)現(xiàn)對(duì)文件的讀/寫時(shí),首先根據(jù)MBR區(qū)和DBR區(qū)的大小,找到FAT表的位置,然后根據(jù)FAT表找出相應(yīng)文件的數(shù)據(jù)位置,即可對(duì)此文件進(jìn)行相應(yīng)的處理。其具體實(shí)現(xiàn)涉及FAT文件系統(tǒng)的結(jié)構(gòu),此處不再詳述。

  2.2 VS1011B的控制與音樂(lè)文件數(shù)據(jù)輸入

  本方案mp3播放器的實(shí)現(xiàn)原理就是控制器 從讀取MP3文件數(shù)據(jù),當(dāng)VS1011B的數(shù)據(jù)緩沖區(qū)需要數(shù)據(jù)時(shí),將數(shù)據(jù)送入VS1011B進(jìn)行解碼。VS1011B采用串行接口,有兩種接口模式:

  Native Modes(新模式)和Compatibility;

  Mode(兼容模式)。當(dāng)?shù)刂窞?x0的MODE寄存器的SM_SDINEW位為1時(shí)為新模式;反之為兼容模式。上電時(shí)默認(rèn)為新模式。

  在播放音樂(lè)之前,首先需要對(duì)VS1011B進(jìn)行初始化,然后輸入音樂(lè)文件即可播放歌曲。其控制步驟如下:[3]

  ① 拉低nRST1。

 ?、?等待DREQ引腳信號(hào)變高。

 ?、?寫寄存器MODE的參數(shù),包括正確設(shè)置SM_SDINEW和SM_SDISHARED位。

  ④ 若時(shí)鐘數(shù)率非24.576 MHz,應(yīng)設(shè)置SCI_CLOCKF。

  ⑤ 若使用倍頻時(shí)鐘,試圖通過(guò)改變SCI_CLOCKF直接操作,應(yīng)將適當(dāng)?shù)牟蓸铀俾蕦懭隨CI_AUDATA寄存器,等待至少11 000個(gè)時(shí)鐘后才可以操作高速的SPI通信。

 ?、?設(shè)置音量寄存器SCI_VOL。

 ?、?若希望加強(qiáng)低音,可設(shè)置寄存器SCI_BASS。

 ?、?從讀取一首MP3歌曲文件,并開始傳送音樂(lè)數(shù)據(jù)。應(yīng)注意數(shù)據(jù)傳送的規(guī)則,DREQ信號(hào)是用來(lái)表示VS1011B的MP3數(shù)據(jù)緩沖區(qū)是否需要數(shù)據(jù)。當(dāng)VS1011B的數(shù)據(jù)緩沖區(qū)可再接收32字節(jié)數(shù)據(jù)時(shí),DREQ引腳電平變高。當(dāng)軟件查詢到此引腳電平變高時(shí),就再送入32個(gè)字節(jié)的MP3音樂(lè)數(shù)據(jù)。

 ?、?本首歌曲完成播放,讀取下一首MP3歌曲,并轉(zhuǎn)到步驟⑧。

  結(jié)語(yǔ)
  
  本文介紹了使用優(yōu)盤MP3歌曲文件的一種的設(shè)計(jì),其中軟件設(shè)計(jì)的難度較大。此外VS1011B除支持MP3格式音樂(lè)文件外,還支持WAV格式等,改變一下軟件即可播放WAV文件格式的音樂(lè)。如果設(shè)計(jì)帶有液晶屏,則可以通過(guò)把相應(yīng)的歌曲歌詞在優(yōu)盤上,實(shí)現(xiàn)實(shí)時(shí)歌詞顯示等功能。
  
  雖然這里給出的只是優(yōu)盤在嵌入式系統(tǒng)中的一個(gè)應(yīng)用示例,但在此基礎(chǔ)上很容易演變出別的功能。例如對(duì)本系統(tǒng)稍加改變,即可把優(yōu)盤換成USB移動(dòng)硬盤,這樣可以有更大的容量。在這種大存儲(chǔ)容量的基礎(chǔ)上,才能設(shè)計(jì)對(duì)存儲(chǔ)容量要求較大的MP4播放器、硬盤攝像機(jī)等。另外,本文的設(shè)計(jì)思路還可以應(yīng)用在以嵌入式為核心的許多其他工業(yè)或消費(fèi)類電子產(chǎn)品中,如數(shù)據(jù)采集保存器、數(shù)碼相機(jī)等,方便地實(shí)現(xiàn)與PC的數(shù)據(jù)交換。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉