版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p><b> (20 屆)</b></p><p> 基于NiosII的SD卡音樂(lè)播放器的實(shí)現(xiàn) </p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí)
2、電子信息工程 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b&
3、gt;</p><p> 目前消費(fèi)類電子產(chǎn)品的發(fā)展呈現(xiàn)出數(shù)字化和多功能集成化的明顯趨勢(shì)。在現(xiàn)代化生活中SD卡的使用十分普遍,嵌入式系統(tǒng)的應(yīng)用越來(lái)越多。利用可編程的片上系統(tǒng)SOPC可以方便靈活地進(jìn)行音樂(lè)播放,不僅降低了成本,還具有很大的擴(kuò)展性和靈活性。</p><p> 本設(shè)計(jì)主要是為了開(kāi)發(fā)出一套低成本、可擴(kuò)展容量的音樂(lè)播放器。系統(tǒng)使用內(nèi)嵌NiosII軟核處理器的FPGA作為運(yùn)算、控制核
4、心的音樂(lè)播放系統(tǒng),具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、使用方便、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。本文通過(guò)使用SPI總線模擬SD卡的工作時(shí)序,利用NIOS II處理器對(duì)SD卡中音頻文件的讀取操作,使用WM8731音頻CODEC來(lái)播放音樂(lè)。從而完成一套基于SOPC的音樂(lè)播放系統(tǒng)。</p><p> 關(guān)鍵詞:SD卡;音樂(lè)播放器;Nios II;SOPC</p><p><b> Abstract</b&
5、gt;</p><p> At present the development of consumer electronic products shows a tendency of digital and multifunctional integration. In modern life the usage of SD card is very popular, application of the em
6、bedded system is more and more extensive. The SOPC(system on a programmable chip)can make it neat and convenient to play music. It not only reduces the cost, but also has great expansibility and flexibility.</p>&
7、lt;p> This design is mainly to develop a low-cost music player with a scalable capacity. System uses embedded NiosII FPGA soft-core processors as the operation control center of the music playback system, having a si
8、mple structure, high reliability, ease of use, scalability and other advantages. In this design,first,we use the SPI bus work timing simulation of SD card,and then use NIOS II do read operation of the audio file in the S
9、D card,last play music with the WM8731 audio CODEC,so we can complete </p><p> Key Words: SD card; Music Player; Nios II ; SOPC</p><p><b> 目錄</b></p><p> 1 引言- 1 -&l
10、t;/p><p> 1.1 便攜式音樂(lè)播放器的發(fā)展- 1 -</p><p> 1.2 MP3播放器- 2 -</p><p> 1.3 基于SD卡的音樂(lè)播放器的特點(diǎn)- 2 -</p><p> 1.4 論文研究主要內(nèi)容與意義- 3 -</p><p> 2 SOPC技術(shù)與QUARTUS II軟件- 4
11、 -</p><p> 2.1 SOPC概述- 4 -</p><p> 2.2 Cyclone FPGA系列- 4 -</p><p> 2.3 Nios II簡(jiǎn)介- 5 -</p><p> 2.3.1 Nios II內(nèi)核種類- 6 -</p><p> 2.3.2 Nios II處理器結(jié)構(gòu)-
12、6 -</p><p> 2.4 QUARTUS II介紹及開(kāi)發(fā)流程- 7 -</p><p> 3 SD卡接口原理- 9 -</p><p> 3.1 SD卡簡(jiǎn)介- 9 -</p><p> 3.2 SD卡引腳- 9 -</p><p> 3.3 SD卡通信協(xié)議- 10 -</p>
13、<p> 3.3.1 傳輸模式- 10 -</p><p> 3.3.2 初始化及讀寫(xiě)時(shí)序- 11 -</p><p> 4 硬件設(shè)計(jì)- 13 -</p><p> 4.1 開(kāi)發(fā)工具介紹- 13 -</p><p> 4.2 硬件結(jié)構(gòu)- 14 -</p><p> 4.3 系統(tǒng)構(gòu)建-
14、14 -</p><p> 5 軟件設(shè)計(jì)- 22 -</p><p> 5.1 SOPC系統(tǒng)的軟件設(shè)計(jì)- 22 -</p><p> 5.2 軟件設(shè)計(jì)思路- 22 -</p><p> 5.2.1 SD卡讀寫(xiě)- 23 -</p><p> 5.2.2 音頻解碼- 24 -</p>&l
15、t;p> 5.3 設(shè)計(jì)操作流程- 24 -</p><p> 6總結(jié)- 27 -</p><p> 6.1 基于SD卡的音樂(lè)播放器測(cè)試結(jié)果- 27 -</p><p> 6.2 結(jié)語(yǔ)- 27 -</p><p> 致謝錯(cuò)誤!未定義書(shū)簽。</p><p> 參考文獻(xiàn)- 28 -</p&
16、gt;<p><b> 1 引言</b></p><p> 1.1 便攜式音樂(lè)播放器的發(fā)展</p><p> 1979 年索尼Walkman TPS-12 的問(wèn)世,揭開(kāi)了便攜式音樂(lè)播放器發(fā)展的序幕。個(gè)人音樂(lè)娛樂(lè)市場(chǎng)的大門(mén)正式由這臺(tái)磁帶機(jī)音樂(lè)系統(tǒng)開(kāi)啟,而在這之前,笨重的立體聲錄音機(jī),是人們?cè)诩依镄蕾p音樂(lè)的唯一選擇。行至今日,便攜式音樂(lè)播放器的歷史已經(jīng)
17、由四部分組成:磁帶機(jī)、CD 機(jī)、MD 播放器和MP3播放器[1-4]。在1980 年,索尼和飛利浦共同制定了數(shù)字音頻光盤(pán)格式標(biāo)準(zhǔn),光盤(pán)采用16位音頻數(shù)據(jù),,比特率為1411.2Kbps,采樣頻率44.1K,在此標(biāo)準(zhǔn)下的CD 音軌幾乎可以說(shuō)幾乎是無(wú)損的。真正意義上的CD 隨身聽(tīng)是1982 年索尼推出的D-50 。CD的發(fā)展在上世紀(jì)九十年代達(dá)到了鼎盛。在數(shù)字技術(shù)蓬勃發(fā)展的今天,CD 作為完美音質(zhì)的載體(盡管作為便攜式音樂(lè)器體積稍顯龐大),不
18、管音樂(lè)播放器未來(lái)怎么樣發(fā)展,永遠(yuǎn)也都不會(huì)落伍。德國(guó)人Brandenburg 的博士論文,為MP3 這一數(shù)字音頻壓縮技術(shù)提供理論基礎(chǔ)的是上世紀(jì)九十年代末德國(guó)人Brandenburg 的博士論文。音樂(lè)技術(shù)史上劃時(shí)代的一刻定格在1995年,這一年,誕生了具有較高壓縮比以及較小音質(zhì)損失的MP3 標(biāo)準(zhǔn)?;谶@種數(shù)字音樂(lè)壓縮技術(shù),</p><p> 當(dāng)MP3在容量、外觀、音質(zhì)上的發(fā)展無(wú)法再吸引更多眼球的時(shí)候,開(kāi)始轉(zhuǎn)向多功能
19、的方向發(fā)展。正如在手機(jī)身上所發(fā)生的一切,人們對(duì)于MP3的要求,不再是單一的欣賞音樂(lè),而是能夠像手機(jī)一樣身兼多職。而目前消費(fèi)類電子產(chǎn)品的發(fā)展呈現(xiàn)出數(shù)字化和多功能集成化的明顯趨勢(shì)。在MP3研究上,由于市場(chǎng)趨近飽和,大多數(shù)公司都將精力集中在外觀造型上,對(duì)于其功能及性價(jià)比的探索趨勢(shì)相對(duì)較弱。</p><p> 1.2 MP3播放器</p><p> MP3,顧名思義,“MP”就是國(guó)際標(biāo)準(zhǔn)MPE
20、G,“3”就是第三層音頻壓縮模式,在中文中被稱為“電腦網(wǎng)絡(luò)音樂(lè)”,是一種對(duì)聲音信號(hào)進(jìn)行壓縮的格式。之所以采用MPEG中第三層的壓縮模式,是因?yàn)槠湟糍|(zhì)比第一層和第二層要高,但相對(duì)的,編碼方式要較第一層和第二層更為復(fù)雜。MP3數(shù)據(jù)量與CD的相比,僅為32kbps~320kbps,是壓縮前數(shù)據(jù)量的1/4~1/40。CD的容量沒(méi)變,所存音樂(lè)的數(shù)據(jù)量卻下來(lái)了,也就是說(shuō)一張CD現(xiàn)在可以存的音樂(lè)是以前的4~40倍,音樂(lè)效果卻沒(méi)打什么折扣。</p
21、><p> MP3播放器[4],顧名思義也就是可播放MP3格式的音樂(lè)播放工具。MP3播放器的壓縮率可以達(dá)到1/4~1/40,但在人耳聽(tīng)起來(lái),卻并沒(méi)有什么失真,因?yàn)樗鼘⒊鋈硕?tīng)力范圍的聲音從數(shù)字音頻中去掉,而不改變最主要的聲音。此外,MP3播放器也可以上傳、下載其他任何格式的電腦文件,MP3播放器具有移動(dòng)存儲(chǔ)的功能。MP3播放器其實(shí)就是一個(gè)功能特定的小型電腦。在MP3播放器小小的機(jī)身里,擁有MP3播放器存儲(chǔ)器(存儲(chǔ)
22、卡)、MP3播放器顯示器(LCD顯示屏)、MP3播放器中央處理器MCU(微控制器)或MP3播放器解碼DSP(數(shù)字信號(hào)處理器)等。典型的MP3播放器如圖1-1。</p><p> 圖1-1 MP3播放器</p><p> 1.3 基于SD卡的音樂(lè)播放器的特點(diǎn)</p><p> 在半導(dǎo)體行業(yè)中,消費(fèi)類電子是近年來(lái)發(fā)展最迅猛的一個(gè)領(lǐng)域。2006年消費(fèi)類電子在中國(guó)MC
23、U市場(chǎng)的需求所占份額超過(guò)了百分之四十[5]。</p><p> 現(xiàn)在音樂(lè)播放器技術(shù)已基本成熟,一般MP3都采用專用DSP芯片和集成的數(shù)據(jù)程序存儲(chǔ)器。集成數(shù)據(jù)存儲(chǔ)器的優(yōu)點(diǎn)是成本低廉,但是,這樣卻無(wú)法方便的進(jìn)行容量的擴(kuò)展。因此,本次論文在于設(shè)計(jì)出能夠用SD卡作為音樂(lè)存儲(chǔ)介質(zhì)的存儲(chǔ)器,從而,使播放器的容量能夠方便地得到擴(kuò)展。</p><p> 隨著現(xiàn)在存儲(chǔ)器微型化快速發(fā)展,無(wú)法擴(kuò)展容量的音樂(lè)
24、播放器已經(jīng)很難滿足人們的需求。雖然現(xiàn)在一些mp3容量已經(jīng)達(dá)到2G、4G甚至8G。但是,由于其容量無(wú)法擴(kuò)展,為用戶以后的使用造成了極大不便。當(dāng)用戶想要擴(kuò)展容量時(shí),不得不再換一個(gè)新的mp3。這樣就造成了用戶成本上的增加,會(huì)使用戶覺(jué)得得不償失。而SD卡音樂(lè)播放器的出現(xiàn)則可以解決用戶的這一煩惱。這也是本次設(shè)計(jì)的優(yōu)勢(shì)所在。</p><p> 1.4 論文研究主要內(nèi)容與意義</p><p> 1.
25、能夠完成對(duì)SD卡初始化及SD卡中音頻數(shù)據(jù)進(jìn)行讀取。</p><p> 2.通過(guò)音頻解碼芯片播放出原音頻文件。</p><p> 3.通過(guò)控制部分,能夠進(jìn)行上一曲、下一曲的切換等。</p><p> 4.在DE2板的LED頻上顯示“Altera DE2 Board SD Music Player”。</p><p> 本文采用Alter
26、a DE2板上提供的SD卡、音頻處理的硬件及軟件開(kāi)發(fā)平臺(tái),同時(shí)借助FPGA和WM8731(音頻輸入/輸出芯片)優(yōu)秀的音頻輸入/輸出能力,使該方案的性能達(dá)到優(yōu)化,旨在實(shí)現(xiàn)一種設(shè)計(jì)思路,即硬件設(shè)計(jì)軟件化。本次設(shè)計(jì)具有以下優(yōu)勢(shì):</p><p> (1)本設(shè)計(jì)可以改變便攜式音樂(lè)播放器不同模塊間軟件和硬件的差異化設(shè)計(jì)。</p><p> (2)提高系統(tǒng)集成度,降低成本,在系統(tǒng)中實(shí)現(xiàn)不同功能卻基
27、于相同的業(yè)務(wù)載體,是本次設(shè)計(jì)的又一大亮點(diǎn)。</p><p> 作為一種系統(tǒng)級(jí)設(shè)計(jì)技術(shù),本設(shè)計(jì)將系統(tǒng)級(jí)可配置和可重用的設(shè)計(jì)方法融入多媒體設(shè)備設(shè)計(jì)中,可提高產(chǎn)品和企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,有助于企業(yè)知識(shí)和經(jīng)驗(yàn)的積累。</p><p> 2 SOPC技術(shù)與QUARTUS II軟件</p><p> 2.1 SOPC概述</p><p> SOC的設(shè)
28、計(jì)以口核為基礎(chǔ),借助EAD工具,然后系統(tǒng)功能和結(jié)構(gòu)的描述是以分層次的硬件描述語(yǔ)言為主要手段。在少數(shù)幾個(gè)芯片上實(shí)現(xiàn)整個(gè)系統(tǒng)的功能是SOC以系統(tǒng)為框架,把處理機(jī)制、模型算法、芯片結(jié)構(gòu)直到器件的設(shè)計(jì)緊密結(jié)合起來(lái)的產(chǎn)物。SOC能實(shí)現(xiàn)更高性能的系統(tǒng)指標(biāo)在同樣的工藝條件下。美國(guó)公司Altera最早提出了SOPC(System On Programmable Chip),而Ouartus II是他在同時(shí)推出的相應(yīng)開(kāi)發(fā)工具。SOPC技術(shù)將I/O口、存儲(chǔ)
29、器、處理器等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個(gè)可編程器件(FPGA)上,從而在片上構(gòu)成了一個(gè)可編程的系統(tǒng)[6]。</p><p> SOPC的主要優(yōu)點(diǎn)有:</p><p> ?、儆脩艨梢愿鶕?jù)自己的需要直接設(shè)計(jì)專用集成電路。</p><p> ?、谡麄€(gè)設(shè)計(jì)過(guò)程都由計(jì)算機(jī)進(jìn)行,如系統(tǒng)電路描述、系統(tǒng)硬件設(shè)計(jì)、系統(tǒng)軟件設(shè)計(jì)等。</p><p> ?、?/p>
30、在實(shí)現(xiàn)系統(tǒng)專用集成電路時(shí)有了更多的選擇,不但可以使用原來(lái)ASIC器件,更可以選擇規(guī)模更大的FPGA。</p><p> 2.2 Cyclone FPGA系列</p><p> FPGA是 Field Programmable Gate Array的縮寫(xiě),中文意思是現(xiàn)場(chǎng)可編程邏輯閘陣列,是一個(gè)含有可編輯元件的半導(dǎo)體設(shè)備,可供使用者現(xiàn)場(chǎng)程式化的邏輯閘陣列元件。系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過(guò)可編
31、輯的連接把FPGA內(nèi)部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。FPGA雖然速度較慢,對(duì)于復(fù)雜的設(shè)計(jì)也無(wú)能為力,但可以快速成品是它的殺手锏,且它的成品更為低廉。在一些技術(shù)更新比較快的行業(yè),F(xiàn)PGA幾乎是電子系統(tǒng)中的必要部件,因?yàn)樵诖笈抗┴浨?,必須迅速地?fù)屨际袌?chǎng),這時(shí)FPGA方便靈活的優(yōu)勢(shì)就顯得很重要[7]。</p><p> 本次設(shè)計(jì)采用的FPGA是Altera公司的cyclone II,雖然
32、是05年的產(chǎn)品,現(xiàn)在來(lái)講稍微有點(diǎn)過(guò)時(shí),但本次設(shè)計(jì)的主要宗旨是硬件設(shè)計(jì)的軟件化,起一個(gè)拋磚引玉的作用。</p><p> Altera公司開(kāi)發(fā)Cyclone FPGA系列是為了滿足市場(chǎng)對(duì)低功耗、低成本設(shè)計(jì)的需求,至今為止已經(jīng)推出了五代。</p><p> Cyclone 是最初的低成本FPGA。2003年推出,0.13um工藝,1.5v內(nèi)核供電,與Stratix結(jié)構(gòu)類似,是一種
33、低成本FPGA系列 ,是目前主流產(chǎn)品,其配置芯片也改用全新的產(chǎn)品[8]。</p><p> CycloneII是Cyclone的下一代產(chǎn)品,2005年開(kāi)始推出,90nm工藝,1.2v內(nèi)核供電,屬于低成本FPGA,提供硬件乘法器單元,為大批量、低成本應(yīng)用提供用戶需要的各種功能[8]。</p><p> Cyclone III系列于2007年推出,采用臺(tái)積電(TSMC)的低功耗(LP)工藝
34、技術(shù)制造,以相 當(dāng)于ASIC的價(jià)格實(shí)現(xiàn)了低功耗[8]。 </p><p> Cyclone IV 系列于2009年推出,60nm工藝,面向?qū)Τ杀久舾械拇笈繎?yīng)用,幫助顧客滿足越來(lái)越大的帶寬需求,同時(shí)降低了成本[8]。</p><p> CycloneV FPGA系列2011年推出,28nm工藝,實(shí)現(xiàn)了業(yè)界最低的系統(tǒng)成本和功耗,其性能水平使得該器件系列成為突出您大批量應(yīng)用優(yōu)勢(shì)的理想選擇。
35、與前幾代產(chǎn)品相比,它具有高效的邏輯集成功能,提供集成收發(fā)器型號(hào),總功耗降低了40%,靜態(tài)功耗降低了30%[8]。</p><p> 2.3 Nios II簡(jiǎn)介</p><p> Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,其性能超過(guò)200DMIPS(所謂軟核,是指未被固化在硅片上,使用時(shí)需要借助EDA軟件對(duì)其進(jìn)行配置并下載到可編程芯片(比如FPGA)中的IP
36、核。軟核最大的特點(diǎn)就是可由用戶按需要進(jìn)行配置)。它相較于普通的嵌入式CPU有兩大亮點(diǎn):</p><p> 外設(shè)可以根據(jù)用戶的需求自由的選擇。</p><p> CPU通過(guò)一條名為“Avalon”的總線與外設(shè)相連,系統(tǒng)主從設(shè)備的端口連接和時(shí)序關(guān)系由這條總線規(guī)定。CPU的所有數(shù)據(jù)交換都通過(guò)這條總線,系統(tǒng)的多個(gè)設(shè)備也可以同時(shí)使用這條總線。[9]</p><p> N
37、ios II軟核處理器具有以下的優(yōu)點(diǎn):</p><p><b> (1)設(shè)計(jì)靈活。</b></p><p> (2)價(jià)格低廉。在不增加成本的情況下一塊FPGA可以實(shí)現(xiàn)多核,添加Nios II軟核幾乎不增加成本。</p><p> (3)開(kāi)發(fā)迅速。通過(guò)IP復(fù)用以及Altera提供的大多數(shù)外設(shè)的驅(qū)動(dòng)程序,大大加快開(kāi)發(fā)速度。</p>
38、<p> 2.3.1 Nios II內(nèi)核種類</p><p> Nios II有三種類型的內(nèi)核,其具體分類及特點(diǎn)參見(jiàn)圖2-1。</p><p> 圖2-1 Nios內(nèi)核的類型特點(diǎn)</p><p> 2.3.2 Nios II處理器結(jié)構(gòu)</p><p> 在沒(méi)有協(xié)處理器的情況下,Nios II的數(shù)據(jù)處理主要由算術(shù)邏輯單元
39、完成。用戶定制的邏輯電路通過(guò)邏輯接口與Nios II內(nèi)核相連接。Nios II采用數(shù)據(jù)總線和指令總線分開(kāi)的哈佛結(jié)構(gòu)。Nios II處理器內(nèi)集成有一個(gè)JTAG調(diào)試模塊。為了提高系統(tǒng)的整體性能,Nios II內(nèi)核除帶有緊耦合存儲(chǔ)器TCM接口外,還集成有數(shù)據(jù)Cache和指令Cache。TCM使Nios II在處理器可預(yù)測(cè)實(shí)時(shí)響應(yīng)的同時(shí)又提高了系統(tǒng)性能。中斷控制器管理外部硬件的中斷,異??刂破鞴芾韮?nèi)核異常。具體結(jié)構(gòu)如圖2-2。</p>
40、;<p> 圖2-2 Nios II處理器結(jié)構(gòu)框圖</p><p> 2.4 QUARTUS II介紹及開(kāi)發(fā)流程</p><p> QuartusⅡ軟件是Altera公司的第四代開(kāi)發(fā)軟件,是MAX+plusⅡ的升級(jí)版。他提供了一個(gè)完整并高效的設(shè)計(jì)環(huán)境,很適合具體的設(shè)計(jì)要求。QuartusⅡ提供了便捷的設(shè)計(jì)輸入方式、快速的編譯和簡(jiǎn)單易懂的器件編程。能夠支持邏輯門(mén)數(shù)在百萬(wàn)門(mén)
41、以上的邏輯器件的開(kāi)發(fā),并且為第三方工具提供了無(wú)縫接口。</p><p> 基于VHDL的Quartus開(kāi)發(fā)流程為:如圖2-3所示,這一流程基本可適用于全部的基于硬件描述語(yǔ)言的設(shè)計(jì)。以下是對(duì)這一流程中的一些關(guān)鍵步驟進(jìn)行簡(jiǎn)要的說(shuō)明[5]:</p><p> ?、?系統(tǒng)層次劃分(Hierarchy)。即確定系統(tǒng)由哪些模塊構(gòu)成,各模塊又由由哪些子模塊構(gòu)成。</p><p>
42、; ?、?編碼(Coding)。即寫(xiě)出VHDL代碼。</p><p> ?、?編譯(Compilation)。編譯器會(huì)對(duì)VHDL程序進(jìn)行語(yǔ)法檢查,并提示一些錯(cuò)誤信息和內(nèi)部信息。</p><p> ?、?功能仿真(Functional Simulation)。程序通過(guò)編譯之后,將文件調(diào)入波形編輯器進(jìn)行功能仿真,檢查邏輯功能是否正確。</p><p> ?、?綜合(Sy
43、nthesis)。這一步一般由綜合器自動(dòng)完成。</p><p> ?、?適配(Fitting)。此步驟將產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:①適配報(bào)告,包括芯片內(nèi)部資源的利用情況、設(shè)計(jì)的布爾方程描述情況等;②適配后的仿真模型;③器件編程文件。</p><p> ?、?時(shí)序仿真(Timing Simulation)。在布局布線后獲得的精確參數(shù),驗(yàn)證電路的時(shí)序(也稱為后仿真)</p><p&
44、gt; ?、?下載到CPLD/FPGA(Programming)。</p><p> 圖2-3 基于VHDL的Quartus開(kāi)發(fā)流程</p><p><b> 3 SD卡接口原理</b></p><p><b> 3.1 SD卡簡(jiǎn)介</b></p><p> SD卡(Secure Digit
45、al Memory Card)中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(PDA)和多媒體播放器等。SD卡由日本松下、東芝及美國(guó)SanDisk公司于1999年8月共同開(kāi)發(fā)研制。大小猶如一張郵票的SD記憶卡,重量只有2克,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活性以及很好的安全性。</p><p> SD卡發(fā)展至今主要分為三
46、大類:標(biāo)準(zhǔn)版本(SD、miniSD、microSD)、大容量版本(SDHC、miniSDHC、microSDHC)、和SDIO卡[11]。典型的SD卡及引腳分布如圖3-1所示。</p><p> 圖3-1 SD卡及引腳分布圖</p><p> SSD卡還提供不同的速度,它是按CD-ROM的150kB/秒為1倍速的速率計(jì)算方法來(lái)計(jì)算的?;旧?,它們能夠比標(biāo)準(zhǔn)CD-ROM的傳輸速度快6倍(
47、900 kB/秒),而高速的SD卡更能傳輸66x (10 MB/秒) 以及 133x 或更高的速度。一些數(shù)碼相機(jī)需要高速SD卡來(lái)更流暢地拍攝影片,和連續(xù)拍攝相片更迅速。直至2005年12月,大部分設(shè)備跟從SD卡的1.01規(guī)格,而更高速至133x的設(shè)備亦跟從1.1規(guī)格。</p><p><b> 3.2 SD卡引腳</b></p><p> SD卡有9個(gè)引腳,它們分
48、別是:VCC、GND、DAT0-DAT3、CLK、CMD。它們?cè)诓煌哪J较掠胁煌亩x。其具體定義如下表所示。</p><p> 3.3 SD卡通信協(xié)議</p><p> 3.3.1 傳輸模式</p><p> SD卡各引腳的功能在不同通信模式(SD模式和SPI模式)下不盡相同。主機(jī)只能選擇其中的一種模式在通信過(guò)程中。主機(jī)對(duì)于通信模式的選擇是全公開(kāi)的。SD卡
49、通過(guò)自動(dòng)檢測(cè)復(fù)位命令而進(jìn)入不同的模式,相同的通信模式是通信的雙方必須所遵照的。</p><p><b> (1)SD模式</b></p><p> 顧名思義,主機(jī)使用SD總線訪問(wèn)SD卡的模式稱為SD模式.。一個(gè)主機(jī)、多個(gè)從機(jī)和同步的星形結(jié)構(gòu)構(gòu)成了SD總線的拓?fù)浣Y(jié)構(gòu)。每張卡都獨(dú)立擁有命令線和數(shù)據(jù)線,但是共用時(shí)鐘CLK、電源和地信號(hào)。</p><p
50、><b> (2)SPI模式</b></p><p> 同理,主機(jī)使用SPI總線訪問(wèn)SD卡的模式稱為SPI模式。如果要使SD卡進(jìn)入SPI模式的話,讓微處理器在卡上電后的第一個(gè)復(fù)位命令時(shí)進(jìn)行選擇。在卡的上電期間通信模式不能更改為SD模式。SPI簡(jiǎn)單傳輸?shù)臅r(shí)序如圖3-2。.</p><p> 圖3-2 SPI簡(jiǎn)單傳輸時(shí)序圖</p><p&g
51、t;<b> 兩種協(xié)議的區(qū)別:</b></p><p> SD卡可以采用SD總線訪問(wèn),也可以采用SPI總線模式訪問(wèn)。SD模式雖然功能上強(qiáng)于SPI模式,但增加了很多外設(shè),不像SPI總線在芯片的管腳上只占用4線,不利于PCB的布局;而且對(duì)于大部分CPU來(lái)說(shuō)是沒(méi)有SD接口而只有SPI接口的,如果通過(guò)I/O口模擬SD總線,速度不及真正的SD總線不說(shuō),還增加了額外的軟件開(kāi)銷?;谝陨系目紤],本次設(shè)
52、計(jì)主機(jī)使用SPI總線訪問(wèn)SD卡。</p><p> 3.3.2 初始化及讀寫(xiě)時(shí)序</p><p><b> (1)初始化時(shí)序</b></p><p> 圖3-3 SD卡初始化時(shí)序圖</p><p> 首先,通過(guò)CLK向SD卡發(fā)送74+個(gè)時(shí)鐘(在上電初期,電壓的上升過(guò)程據(jù)SD卡組織的計(jì)算約合64個(gè)CLK周期才能到達(dá)
53、SD卡的正常工作電壓他們管這個(gè)叫做Supply ramp up time,其后的10個(gè)CLK是為了與SD卡同步)。然后使CS為低電平,SD卡使能;其次在SD卡的in寫(xiě)入reset指令;寫(xiě)入指令后還要附加8個(gè)填充時(shí)鐘,是SD卡完成內(nèi)部操作;之后在SD卡的out上接受回應(yīng),表示初始化完畢;回應(yīng)接受完畢使CS為低電平,再附加8個(gè)填充時(shí)鐘。如圖3-3所示。</p><p><b> (2)讀時(shí)序</b&
54、gt;</p><p> 圖3-4 SD卡讀時(shí)序圖</p><p> 首先使CS為低電平,SD卡使能。然后在SD卡的in寫(xiě)入read指令,寫(xiě)入指令后附加8個(gè)填充時(shí)鐘。之后在SD卡的out上接受回應(yīng),表示下面要開(kāi)始讀出數(shù)據(jù)。讀出數(shù)據(jù)完畢后使CS為低電平,再附加八個(gè)時(shí)鐘。讀時(shí)序圖如圖3-4所示。</p><p><b> (3)寫(xiě)時(shí)序</b>
55、</p><p> 圖3-5 SD卡寫(xiě)時(shí)序圖</p><p> 首先使CS為低電平,SD卡使能。然后在SD卡的in寫(xiě)入write指令,寫(xiě)入指令后附加8個(gè)填充時(shí)鐘。之后在SD卡的out上接受回應(yīng),表示下面要開(kāi)始寫(xiě)入數(shù)據(jù)。在SD卡的in中寫(xiě)入數(shù)據(jù)完成后,out返回一個(gè)xxx0 0101 b的值表示已寫(xiě)入完畢。寫(xiě)時(shí)序圖如圖3-5所示。</p><p><b>
56、; 4 硬件設(shè)計(jì)</b></p><p> 此次設(shè)計(jì)硬件設(shè)計(jì)部分所使用的工具主要有Quartus II及SOPC Builder開(kāi)發(fā)工具。</p><p> 本文要設(shè)計(jì)一個(gè)嵌入式便攜音頻播放平臺(tái),即在DE2板上設(shè)計(jì)一個(gè)SD卡音樂(lè)播放器,實(shí)現(xiàn)把SD卡上儲(chǔ)存的音樂(lè)文件通過(guò)CPU讀出來(lái),再通過(guò)播放器的音頻DAC裝置播放出來(lái)。此次設(shè)計(jì)用到的音頻DAC是WM8731(是一款帶有集成
57、耳機(jī)驅(qū)動(dòng)器的極低功耗、高質(zhì)量音頻編碼解碼器,專為便攜數(shù)字音頻應(yīng)用而設(shè)計(jì)。該器件可以提供CD音質(zhì)的音頻錄音和回放,為16歐姆的負(fù)載提供50mW的輸出功率)。它的驅(qū)動(dòng)程序Altera已經(jīng)給出了參考可以直接使用。Nios II CPU可以直接控制WM8731通過(guò)已經(jīng)集成在Avalon總線的結(jié)構(gòu)中的WM8731控制器。</p><p> 4.1 開(kāi)發(fā)工具介紹</p><p> SOPC系統(tǒng)設(shè)計(jì)
58、的基本軟件工具包括:Quartus II,用于完成Nios II系統(tǒng)的綜合分析、硬件優(yōu)化、適配、配置文件編程下載及硬件系統(tǒng)測(cè)試等;SOPCBullder它是Nios II軟核處理器的開(kāi)發(fā)包,用于實(shí)現(xiàn)NiosII系統(tǒng)配置、生成以及與Nios II系統(tǒng)相關(guān)的監(jiān)控和軟件調(diào)試平臺(tái)的生成;NiosII IDE,用于完成基于NiosII系統(tǒng)的軟件開(kāi)發(fā)和調(diào)試。</p><p> (1)SOPC Builder</p&g
59、t;<p> SOPC Builder是由Altera公司推出的一款基于Quartus II工作平臺(tái)的自動(dòng)化系統(tǒng)開(kāi)發(fā)工具。在開(kāi)發(fā)過(guò)程中,系統(tǒng)的定義和集成它是自發(fā)進(jìn)行的,從而可以將SOPC的設(shè)計(jì)工作極大的進(jìn)行簡(jiǎn)化。SOPC Builde的開(kāi)發(fā)理念是為設(shè)計(jì)者提供一個(gè)強(qiáng)大系統(tǒng)設(shè)計(jì)平臺(tái),兼具快速開(kāi)發(fā)設(shè)計(jì)及驗(yàn)證的功能,用以搭建基于總線的系統(tǒng)。它除包含諸如處理器、存儲(chǔ)器、總線等模塊外,還包括一些列的嵌入式軟件開(kāi)發(fā)工具。</p&
60、gt;<p> (2)Nios II IDE</p><p> IDE是英文集成開(kāi)發(fā)環(huán)境的縮寫(xiě), Nios II IDE意即為Nios II 的集成開(kāi)發(fā)環(huán)境,是一款基于 Nios II CPU的軟件開(kāi)發(fā)工具。在 Nios II IDE 下可以完成基于Nios II的軟件的所有開(kāi)發(fā),如編輯,調(diào)試程序
61、,編譯等。Nios II IDE為所有的Nios II CPU系統(tǒng)提供了一個(gè)統(tǒng)一的開(kāi)發(fā)平臺(tái)。</p><p> 工程管理器、編輯器和編譯器、調(diào)試器、閃存編程器是Nios II IDE 為軟件開(kāi)發(fā)提供的四個(gè)主要功能。</p><p><b> 4.2 硬件結(jié)構(gòu)</b></p><p>
62、; 用Nios II實(shí)現(xiàn)的最大特點(diǎn)就是其外設(shè)就可定制和裁剪,體現(xiàn)經(jīng)濟(jì)性的同時(shí)也與當(dāng)下的低碳的概念十分吻合。本次設(shè)計(jì)需要用到的有Nios II CPU(使用f型)、SDRAM、Timer、Jtag Uart和一些輔助的外設(shè),SD卡的話則通過(guò)三個(gè)普通的I/O口與其四個(gè)引腳相連,in與out共用一個(gè)I/O口。結(jié)構(gòu)圖如圖4-1所示。</p><p> 圖4-1 系統(tǒng)硬件結(jié)構(gòu)圖</p><p>
63、 首先使用SOPC Builder系統(tǒng)工具構(gòu)建了一個(gè)Nios CPU作為整個(gè)系統(tǒng)的處理器核(IP 復(fù)用是SOPC 技術(shù)的特點(diǎn),利用Altera 公司提供的標(biāo)準(zhǔn)IP庫(kù),在Quarturs II軟件的SOPC Builder中調(diào)用需要用到的IP 核,如Nios II CPU 、Timer、PIO 等,只要根據(jù)需求改變IP 核參數(shù)就可以迅速構(gòu)建MP3 播放器的硬件系統(tǒng))。它的Avalon總線對(duì)其他接口及控制器進(jìn)行指令和數(shù)據(jù)傳輸,包括:由JA
64、TG通用異步收發(fā)器UART:為可選擇的片外存儲(chǔ)器配備了專用存儲(chǔ)器接口;控制語(yǔ)音輸入輸出的音頻數(shù)據(jù)接口,實(shí)現(xiàn)語(yǔ)音編解碼的控制和流處理。</p><p><b> 4.3 系統(tǒng)構(gòu)建</b></p><p> 硬件結(jié)構(gòu)的搭建和生成使用了Altera公司的SOPC Builder開(kāi)發(fā)工具。用戶對(duì)硬件的定義可以通過(guò)SOPC Builder提供的一個(gè)直觀圖形用戶界面進(jìn)行工作。
65、SOPC Builder相當(dāng)人性化地為每個(gè)元件提供一個(gè)向?qū)?,用戶通過(guò)向?qū)Фx元器件功能。系統(tǒng)的微處理器核、外圍設(shè)備、存儲(chǔ)器和其它IP核通過(guò)SOPC Builder自動(dòng)生成的總線所需邏輯相互連接起來(lái)。</p><p> 根據(jù)系統(tǒng)的要求配置硬件,在SOPC Builder導(dǎo)入模塊集成庫(kù)中的模塊Nios II CPU、三態(tài)橋、Flash、SRAM 、SD_CLK、SD_CMD、SD_DAT、Timer、Button、
66、Switch以及Jtag_Uart,并定義以下組件選項(xiàng):系統(tǒng)組件和接口、主連接和從連接、系統(tǒng)地址映射及鎖定、系統(tǒng)IRQ分配以及系統(tǒng)響應(yīng)時(shí)鐘頻率等。</p><p> 本設(shè)計(jì)選用的FPGA芯片是Altera公司的Cyclone系列的Cyclone II EP2C35F672C6芯片,該芯片具有33216個(gè)邏輯單元、483Kbit片上RAM,475個(gè)用戶自定義I/0接口是一個(gè)集成度極高的、功能強(qiáng)大的FPGA芯片。&
67、lt;/p><p> 在Altera的Quartusll中新建工程,并在SOPCBuilder中添加口核構(gòu)建系:</p><p> (1)為系統(tǒng)添加處理器</p><p> 首先,為系統(tǒng)加入處理器,選用Nios/f快速型軟核,具有最高的系統(tǒng)性能。在caches and memory intefaces標(biāo)簽下進(jìn)行如圖4-2操作。</p><p&g
68、t; 圖4-2 處理器設(shè)置圖</p><p> 然后在JTAG Debug Module標(biāo)簽下選擇 level 1,并將其重命名為cpu_0。</p><p> (2) 為系統(tǒng)添加Avelon總線三態(tài)橋</p><p> 添加三態(tài)橋并將其命名為tri_state_bridge_0。</p><p> (3)為系統(tǒng)添加閃存</p
69、><p> 添加閃存后,將Attributes標(biāo)簽下的presets(預(yù)設(shè))項(xiàng)選為custom,Address width 設(shè)為22,data設(shè)為8。timing標(biāo)簽下的設(shè)置如圖4-3。</p><p> 圖4-3 閃存設(shè)置圖</p><p> 將閃存重命名為cfi_flash_0。</p><p> (4)為系統(tǒng)添加同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器S
70、DRAM</p><p> 添加存儲(chǔ)器后,其設(shè)置如圖4-4。</p><p> 圖4-4 SDRAM設(shè)置圖</p><p> 設(shè)置完成后將其命名為sdram_0。</p><p> (5)為系統(tǒng)添加串行存貯器控制器epcs controller</p><p> NiosII 不能直接從EPCS中執(zhí)行程序,它
71、實(shí)際上是執(zhí)行EPCS控制器的片內(nèi)ROM中的代碼(即Bootloader),把EPCS中的程序搬到RAM中執(zhí)行。FPGA配置數(shù)據(jù)和NiosII程序都存放在EPCS器件中。將其命名為epcs_controller。</p><p> (6)為系統(tǒng)添加JTAG UART</p><p> 添加完成后,其界面下的選項(xiàng)都取默認(rèn)值。重命名為jtag_uart。</p><p&g
72、t; (7)為系統(tǒng)添加UART</p><p> 其configuration(配置)界面下的設(shè)置如圖4-5。</p><p> 圖4-5 JTAG UART設(shè)置圖</p><p> Simulation(模擬)界面下選Accelerated,其他的都不選,將其重命名為uart_0。</p><p> (8)為系統(tǒng)添加時(shí)鐘Time&
73、lt;/p><p> 添加兩個(gè)時(shí)鐘,其設(shè)置都如圖4-6。</p><p> 圖4-6 Time設(shè)置圖</p><p> 分別將其命名為time_0,time_1。</p><p> (9)為系統(tǒng)添加LCD 16207</p><p> 添加完成后將其重命名為lcd_16207_0。.</p><
74、;p> (10)為系統(tǒng)添加PIO</p><p> ?、偬砑舆B接led的PIO</p><p> 添加兩個(gè)PIO,其basic setttings標(biāo)簽下的設(shè)置都如圖4-7。</p><p> 圖4-7 led_pio設(shè)置圖</p><p> 分別將他們命名為led_red 和led_green。</p><p
75、> ②添加連接按鍵的PIO</p><p> 添加一個(gè)PIO,其參數(shù)設(shè)置如圖4-8。</p><p> 圖4-8 button_pio設(shè)置圖</p><p> 設(shè)置完成后將其命名為button_pio。</p><p> ?、厶砑舆B接開(kāi)關(guān)的PIO</p><p> 添加一個(gè)PIO,其參數(shù)設(shè)置如圖4-9。
76、設(shè)置完成后將其命名為switch_pio。</p><p> 圖4-9 switch_pio設(shè)置圖</p><p> (11)為系統(tǒng)添加SEG7_LPU_8</p><p> 添加后將其命名為SEG7_display。</p><p> (12)為系統(tǒng)添加Static Ram</p><p> 添加一個(gè)規(guī)格為
77、16bit,512k的SRAM,將其命名為sram_0。</p><p> (13)為系統(tǒng)添加一個(gè)DM9000A</p><p> DM9000AEP是一款完全集成的和符合成本效益單芯片快速以太網(wǎng)MAC控制器與一般處理接口,一個(gè)10/100M自適應(yīng)的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能進(jìn)程的3.3V與5V的支持寬容。添加后將其并命名為DM9000A。<
78、;/p><p> (14)為系統(tǒng)添加一個(gè)ISP1362</p><p> ISP1362是一款符合USB 2.0總線協(xié)議的接口芯片。添加后將其命名為ISP1362。</p><p> (15)為系統(tǒng)添加一個(gè)Binary_VGA_Controller(二元VGA控制器)</p><p> 其RAM_SIZE為19'b10010110
79、00000000000。添加后將其命名為VGA_0。</p><p> (16)為系統(tǒng)添加一個(gè)Audio_DAC_FIFO(先進(jìn)先出音頻數(shù)/模轉(zhuǎn)換緩存器)</p><p> 其參數(shù)界面設(shè)置如圖4-10。</p><p> 圖4-10 VGA_Controller設(shè)置圖</p><p> 添加完成后將其命名為Audio_0。</p
80、><p> (17)為系統(tǒng)添加連接SD卡的PIO</p><p> SD 卡接口模塊SD Card IO 由3 個(gè)Altera 提供的PIO 核組成, 分別接SD Card 的CLK、CMD、DATA引腳,向SD Card 提供時(shí)鐘信號(hào)、指令和數(shù)據(jù)。SD 卡是本系統(tǒng)的主要存儲(chǔ)器,音頻文件都存放在SD 卡中。</p><p> ?、偬砑觾蓚€(gè)PIO,Basic Sett
81、ings標(biāo)簽下的設(shè)置都如圖4-11。</p><p> 圖4-11 SD_DAT,SD_CMD PIO設(shè)置圖</p><p> 分別將其命名為SD_DAT,SD_CMD。</p><p> ?、谔砑右粋€(gè)PIO,Basic Setting標(biāo)簽下的設(shè)置如圖4-12。</p><p> 圖4-12 CLK PIO設(shè)置圖</p>
82、<p> 將其重命名為SD_CLK。</p><p> 當(dāng)所有器件都添加完成后,定義主連接和從連接、系統(tǒng)地址映射及鎖定、系統(tǒng)IRQ分配以及系統(tǒng)響應(yīng)時(shí)鐘頻率等,其具體設(shè)置如圖4-13。</p><p> 圖4-13 器件總體連接設(shè)置圖</p><p> 從圖4-14所示的硬件編譯報(bào)告中可以看出,本系統(tǒng)設(shè)計(jì)所占用的邏輯單元數(shù)是6574個(gè),占EP2C35
83、F672C6邏輯單元的20%。對(duì)于利用SOPC構(gòu)成的系統(tǒng),可以根據(jù)用戶的需要定制硬件,使用戶可以避免浪費(fèi)不必要的邏輯資源。</p><p> 圖4-14 系統(tǒng)編譯圖</p><p><b> 5 軟件設(shè)計(jì)</b></p><p> 軟件設(shè)計(jì)部分所使用的工具主要有Nios II IDE集成開(kāi)發(fā)環(huán)境。 整個(gè)系統(tǒng)分為WM8731的驅(qū)動(dòng)
84、程序編寫(xiě),SD卡時(shí)序模擬,整個(gè)音樂(lè)播放系統(tǒng)的硬件平臺(tái)的搭建,NIOS II軟件程序的編寫(xiě)。由于WM8731的驅(qū)動(dòng)程序,ALTERA已經(jīng)給出了參考,可以直接使用,所以本系統(tǒng)的核心在于SD卡的讀取操作,使系統(tǒng)能完成其音樂(lè)播放功能。由于SPI總線在芯片的管腳上只占用4線,節(jié)約了芯片的管腳。同時(shí)為PCB的布局上節(jié)省空間,所以此次設(shè)計(jì)采用SPI協(xié)議。</p><p> 5.1 SOPC系統(tǒng)的軟件設(shè)計(jì)</p>
85、<p> Altera公司為片上系統(tǒng)的軟件開(kāi)發(fā)提供了一個(gè)功能強(qiáng)大、易用的Nios II集成開(kāi)發(fā)環(huán)境,這個(gè)軟件開(kāi)發(fā)環(huán)境包括語(yǔ)言的頭文件、外圍接口的驅(qū)動(dòng)以及實(shí)時(shí)操作系統(tǒng)的內(nèi)核,可完成整個(gè)軟件工程的編輯、編譯、調(diào)試和下載等過(guò)程,這樣幾乎與通常的嵌入式系統(tǒng)的開(kāi)發(fā)沒(méi)有區(qū)別加快了軟件的開(kāi)發(fā)速度。</p><p> 其具體過(guò)程為:令生成并加入總線和各種需要加入的外設(shè)組件(如各類接口、Hash等)后,對(duì)基于Nio
86、s II的SOPC系統(tǒng)進(jìn)行編譯并下載到FPGA中。在Nios II的硬件系統(tǒng)生成的同時(shí),SOPCBulder幫助用戶生成相應(yīng)的SOF文件。由于在硬件開(kāi)發(fā)中的Nios II CPU及其外設(shè)構(gòu)成的系統(tǒng)是自定制的,存儲(chǔ)器、外設(shè)地址的映射等都各不相同,需要專有的SOF文件,用戶新定制的指令也必須修改原有的編譯工具,這些都由SOPCBulder自動(dòng)生成。在生成SOF文件的基礎(chǔ)上,可進(jìn)入系統(tǒng)軟件的設(shè)計(jì)。在這里,軟件的開(kāi)發(fā)設(shè)計(jì)與通常的嵌入式系統(tǒng)的開(kāi)發(fā)
87、設(shè)計(jì)相類似,唯一不同點(diǎn)在于這時(shí)面對(duì)的嵌入式系統(tǒng)是自己定制的、裁剪過(guò)的,因此受到硬件的局限性會(huì)小些。</p><p> IP復(fù)用是SOPC技術(shù)的特點(diǎn),利用Altera公司提供的標(biāo)準(zhǔn)IP庫(kù),在Ouarturs II軟件的SOPC Builder中調(diào)用需要用到的IP核,如Nios II CPU、Timer、PlO等,只要根據(jù)需求改變IP核參數(shù)就可以迅速構(gòu)建MP3播放器的硬件系統(tǒng)。</p><p&g
88、t; 5.2 軟件設(shè)計(jì)思路</p><p> 軟件按照功能設(shè)計(jì)劃分為:Nios II系統(tǒng)的啟動(dòng)、主程序模塊、SD卡模塊、按鍵中斷模塊,如圖5-1所示。</p><p> 圖5-1 軟件設(shè)計(jì)框架圖</p><p> 當(dāng)微型操作系統(tǒng)加載完成后,Nios II訪問(wèn)存儲(chǔ)介質(zhì)。音頻文件存儲(chǔ)在內(nèi)置閃存里,在播放的過(guò)程中,Nios II將其從存儲(chǔ)介質(zhì)里讀取出來(lái),緩沖在RA
89、M中,解碼后播放出來(lái)。由于此時(shí)的信號(hào)是數(shù)字信號(hào),耳機(jī)之類的模擬設(shè)備還無(wú)法播放,這時(shí)就需要由DAC來(lái)將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)。</p><p> 5.2.1 SD卡讀寫(xiě)</p><p> SD卡與硬件系統(tǒng)接口分別為CLK、CMD、DATA。CLK是SD卡的時(shí)鐘信號(hào)接口,Input和Output共用一個(gè)雙向IO口,如圖5-2所示。</p><p> 圖5-2 SD
90、卡讀寫(xiě)實(shí)現(xiàn)圖</p><p> SD卡讀寫(xiě)模塊由軟件編程實(shí)現(xiàn),整個(gè)SD卡系統(tǒng)如圖5-3所示。</p><p> 圖5-3 SD卡系統(tǒng)圖</p><p> 5.2.2 音頻解碼</p><p> Nios II系列軟核處理器是Altera的第二代FPGA嵌入式處理器,具有32位處理器的基本結(jié)構(gòu)單元——32位指令大小,32位數(shù)據(jù)和地址路徑
91、,32位通用寄存器和32個(gè)外部中斷源,其性能超過(guò)200DMIPS,因此,Nios II處理器完全可以達(dá)到MP3解碼的速度要求。</p><p> 本設(shè)計(jì)采用的WM8731是一款帶有集成耳機(jī)驅(qū)動(dòng)器的極低功耗、高質(zhì)量音頻編碼解碼器,專為便攜數(shù)字音頻應(yīng)用而設(shè)計(jì)。WM8731的驅(qū)動(dòng)程序ALTERA已經(jīng)給出了參考,可以直接調(diào)用。</p><p> 5.3 設(shè)計(jì)操作流程</p>&l
92、t;p> ?。?)啟動(dòng)Nios II IDE并設(shè)置工作空間</p><p> 選擇主菜單File→Switch Workspce...,將Workspace的路徑選為在硬件配置時(shí)建立的文件夾,為c:\my_EDA\DE2_SD_Card_Audio,如圖5-4。</p><p> 圖5-4 Nios II IDE工作空間設(shè)置圖</p><p> (2)新
93、建Nios II工程</p><p> 選擇主菜單File→New→Nios IIC/C++ Application,出現(xiàn)New projet對(duì)話框。在select target hardware欄下的SOPC build system PTF filex框中通過(guò)browse選擇為C:\my_EDA\DE2_SD_Card_audio\system.ptf文件,并將name改為hello_led_0,如圖5-
94、5。</p><p> 圖5-5 Nios II IDE新建工程設(shè)置圖</p><p> 點(diǎn)擊next,,選擇create a new system library name,然后單擊完成。</p><p><b> ?。?)輸入源代碼</b></p><p> 選擇主菜單File→New→source file和
95、header file,建立和調(diào)用本次設(shè)計(jì)系統(tǒng)各模塊的主程序和頭文件,有負(fù)責(zé)輸入輸出端口的basic_io.h,主程序hello_led_c,控制液晶屏字幕顯示的LCD.c,LCD.h以及負(fù)責(zé)SD卡初始化及讀操作的SD_card.h,如圖5-6。</p><p> 圖5-6 系統(tǒng)程序目錄圖</p><p><b> ?。?)編譯工程</b></p>&
96、lt;p> 雙擊hello_led_0文檔下的hello_led.c文件,這是SD卡音樂(lè)播放器的主程序文件。選擇Nios IDE主菜單下的project→build all,編譯該工程,如圖5-7。該過(guò)程時(shí)間較長(zhǎng)。</p><p> 圖5-7 軟件編譯圖</p><p><b> ?。?)配置運(yùn)行方式</b></p><p> 選擇
97、nios II IDE 主菜單下的run→run...。在已完成DE2_SD_Card_audio.sof下載到DE2的情況下,雙擊nios II hardware,在target connection下拉列表中將JTAG cable改為USB-Blaster[USB-0],改JTAG device 為1[EP2C35],如圖5-8。</p><p> 圖5-8 運(yùn)行方式配置圖</p><p
98、> (6)準(zhǔn)備好硬件并運(yùn)行工程</p><p> 將準(zhǔn)備好的SD卡插入到DE2開(kāi)發(fā)板上,將音響連接到DE2的LINE OUT上,就可以聽(tīng)到存儲(chǔ)在SD卡里的wav格式音樂(lè)了。運(yùn)行結(jié)果如圖5-9。</p><p> 圖5-9 運(yùn)行結(jié)果圖</p><p><b> 6總結(jié)</b></p><p> 6.1 基于
99、SD卡的音樂(lè)播放器測(cè)試結(jié)果</p><p> 經(jīng)測(cè)試,系統(tǒng)可以正常識(shí)別和讀取WAV文件,在實(shí)現(xiàn)高質(zhì)量的播放的同時(shí),在按鍵的控制下可以準(zhǔn)確并同步地改變播放狀態(tài)。歌曲的停止、暫停、播放,滿足實(shí)時(shí)性和準(zhǔn)確性的要求。</p><p><b> 6.2 結(jié)語(yǔ)</b></p><p> 使用內(nèi)嵌NioslI軟核處理器的FPGA作為運(yùn)算、控制核心的音樂(lè)
100、播放系統(tǒng),具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、使用方便,擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。利用可編程的片上系統(tǒng)SOPC可以方便靈活地進(jìn)行音樂(lè)播放,不僅降低了成本,還具有很大的擴(kuò)展性和靈活性。此次主要設(shè)計(jì)一個(gè)嵌入式便攜音頻播放平臺(tái),即在DE2板上設(shè)計(jì)一個(gè)SD卡音樂(lè)播放器,實(shí)現(xiàn)把SD卡上儲(chǔ)存的音樂(lè)文件通過(guò)CPU讀出來(lái),再通過(guò)播放器的音頻DAC裝置播放出來(lái)。旨在實(shí)現(xiàn)一種設(shè)計(jì)思路,即硬件設(shè)計(jì)軟件化。</p><p><b> 參考文獻(xiàn)&l
101、t;/b></p><p> [1]有風(fēng)無(wú)雨.歷史不會(huì)忘記-索尼Walkman數(shù)十年回憶[OL].http://www. pcpop.com/ doc/0/104/104282.shtml , 2005.8.</p><p> [2]沈磊.基于ColdFire和uCLinux的便攜式多媒體播放器軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D] .上海:上海交通大學(xué),2005:1-2.</p>
102、;<p> [3]workstar.百度百科MP3 [OL].http://baike. baidu.com/view/1310.htm #8,2009.6.10. </p><p> [4]麥建邦.百度百科MP3播放器[OL].http://baike.baidu.com/view/ 13614.htm l ,2009.2.22.</p><p> [5]CECA.C
103、hain Electronic Components Association[OL].http://ic-ceca.Org. Cn.2007.</p><p> [6]關(guān)學(xué)勇.基于NIOS Ⅱ的SD卡讀寫(xiě)設(shè)計(jì)實(shí)現(xiàn)[D].大連:大連理工大學(xué),2009.</p><p> [7]bingonut.百度百科FPGA [OL]. http//baike.baidu.com/view/51371
104、.htm,2009.8.10.</p><p> [8]Altera.Altera[OL].http://www.altera.com.cn/products/devices/cyclone-about/cyc-about.html2009.7.10.</p><p> [9]Niemann R. Hardware/Software Co-design for Data Flow Do
105、minated Embedded Systems.Klower Academic Publ ishers,1998.</p><p> [10]qingruxue.百度百科Quartus II [OL] .http://baike.baidu.com/view/1616088.htm, 2009 .6.10. </p><p> [11]任玉帥.SD存儲(chǔ)方案的研究與實(shí)現(xiàn)[J].重慶工學(xué)
106、院學(xué)報(bào),2008,22(4):10-11.</p><p> [12] Alcalde,A.Ortmann,M.S.gussa,S.NIOS II processor implemented in FPGA.An application on control of a PFC converter. IEEE,2008:4446-4451.</p><p> [13] Ni,F.L.Ji
107、n,lI.H.Xie,Z.W.A Highly Integrated Joint Servo System Based on FPGA with Nios II Processor.IEEE International Conference,2006:973-978.</p><p> [14]鄭亮,SD/MMC控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].福建師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,23(1):33-36.<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于niosii的sd卡音樂(lè)播放器的實(shí)現(xiàn)【開(kāi)題報(bào)告】
- 基于niosii的sd卡音樂(lè)播放器的實(shí)現(xiàn)【任務(wù)書(shū)】
- 基于android的音樂(lè)播放器畢業(yè)論文
- 音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于android平臺(tái)的音樂(lè)播放器-畢業(yè)論文
- 畢業(yè)論文——基于android平臺(tái)的音樂(lè)播放器
- 畢業(yè)論文——基于android音樂(lè)播放器的設(shè)計(jì)
- 基于android平臺(tái)的音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于android的音樂(lè)播放器的設(shè)計(jì)-畢業(yè)論文
- 基于android平臺(tái)的音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于android手機(jī)平臺(tái)的音樂(lè)播放器-畢業(yè)論文
- 基于android手機(jī)平臺(tái)的音樂(lè)播放器【畢業(yè)論文】
- 畢業(yè)論文基于android手機(jī)平臺(tái)的音樂(lè)播放器
- 基于安卓的音樂(lè)播放器開(kāi)發(fā)-畢業(yè)論文
- 基于安卓的音樂(lè)播放器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 軟件工程畢業(yè)論文-基于android系統(tǒng)的音樂(lè)播放器的實(shí)現(xiàn)
- 畢業(yè)論文設(shè)計(jì) 基于android手機(jī)平臺(tái)的音樂(lè)播放器
- 基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)畢業(yè)論文
- 基于android開(kāi)發(fā)音樂(lè)播放器的設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)論文范文——android音樂(lè)播放器
評(píng)論
0/150
提交評(píng)論