【正文】
xx大學(xué)學(xué)士學(xué)位論文基于Nios II系統(tǒng)的MP3播放器的設(shè)計(jì)摘要近年來(lái),數(shù)碼產(chǎn)品更新?lián)Q代的速度很快,從當(dāng)初的分立元件到現(xiàn)在的集成芯片,產(chǎn)品體積越來(lái)越小,而所展現(xiàn)出來(lái)的功能則日益強(qiáng)大。它們極大的豐富了我們的日常生活。SOPC(System on a programmable Chip,片上可編程系統(tǒng))是Altera公司提出的一種靈活、高效的SOC 解決方案,它將處理器、存儲(chǔ)器、I/O 口、LVDS、CDR 等系統(tǒng)設(shè)計(jì)所需要的模塊集成到一個(gè)PLD 器件上,具有可裁剪、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程等優(yōu)點(diǎn)。本文提出一種基于Nios II處理器的MP3播放器的具體實(shí)現(xiàn)過(guò)程,系統(tǒng)基于Altera公司的DE2 開(kāi)發(fā)平臺(tái)進(jìn)行設(shè)計(jì),并利用板上的SD卡作為存儲(chǔ)設(shè)備,在Nios II處理器上實(shí)現(xiàn)MP3的播放、TXT文件的讀取以及LCD液晶顯示等功能。硬件設(shè)計(jì)主要利用SOPC Builder,將處理器、存儲(chǔ)器和其它所需的外設(shè)IP核添加進(jìn)去,生成一個(gè)完整的自己定制的Nios II軟核系統(tǒng)。再結(jié)合Quartus II中集成的EDA工具,將其下載到FPGA芯片中,獲得恰好滿足需求的定制系統(tǒng)。軟件設(shè)計(jì)在Nios II的IDE環(huán)境中進(jìn)行,用C語(yǔ)言編程實(shí)現(xiàn)SD卡中存儲(chǔ)的MP3和TXT文件的讀取,以及LCD 顯示、MP3音樂(lè)的播放以及按鍵的控制。整體設(shè)計(jì)對(duì)SOPC系統(tǒng)軟硬件協(xié)同的相關(guān)技術(shù)進(jìn)行了初步研究。軟硬件協(xié)同設(shè)計(jì)協(xié)調(diào)軟硬件開(kāi)發(fā)過(guò)程并行開(kāi)展,一方面可以縮短設(shè)計(jì)周期,極大地提高設(shè)計(jì)效率;另一方面可以根據(jù)系統(tǒng)各個(gè)部分的特點(diǎn)和設(shè)計(jì)約束,選擇軟件或者硬件實(shí)現(xiàn)方式,得到高性能,低成本的優(yōu)化設(shè)計(jì)方案。運(yùn)用SOPC設(shè)計(jì)理念來(lái)設(shè)計(jì)數(shù)碼產(chǎn)品,能在較短的時(shí)間內(nèi)完成開(kāi)發(fā)過(guò)程,還能滿足技術(shù)不斷更新?lián)Q代的需要。將當(dāng)前先進(jìn)的Nios 軟核技術(shù)應(yīng)用于電子電路設(shè)計(jì)當(dāng)中去,對(duì)于了解和掌握這種工具有重要的意義。關(guān)鍵詞 SOPC(片上可編程系統(tǒng));Nios II;MP3;軟硬件協(xié)同設(shè)計(jì);Nios II System Based on the Design of MP3 PlayersAbstractIn recent years, digital electronic products renew very fast. From the original discrete ponents to the current integrated chips, these products showing us with much powerful functions while decreasing their sizes. They provides us a great help for daily life.Sopc(System on a programmable Chip)is a flexible and efficient SOC solution proposed by Altera Corporation. It put modules that are necessary like processor,memory,input/output interface,LVDS and CDR together into a PLD device. As a result, the system can be cut、expand、upgraded at our will, hardware and software are programmable insystem at the same time.This paper presents a Nios II processorbased MP3 Players, the system is based on Altera39。s DE2 development platform using the SD card on the board as store equipment to achieve functions like MP3 playing,txt file reading and LCD displaying.Hardware design is pleted in Sopc Builder, Through adding the processor、memory and other IP cores of the peripherals to their own customized SOPC control system , generating a Nios II softcore systems of customized pletely. Combined with Quartus II EDA tools, we can precisely meet the demand of the customized system after download the core into the FPGA design of the software part was pleted in the Nios II IDE environment, and functions like reading the TXT and MP3 files stored in the SD card,LCD displaying,MP3 music playing and buttons controlling can be achieved. All of this can be programmed by C.This thesis Emphasize on the following key techniques in hardware/software codesign, it is the integration of specification, synthesis and simulation of hardware and software with unified design tools. By using hardware/software codesign, the design cycle can be shortened and design efficiency can be improved. On the other hand, designers can choose hardware or software implication method for system functions according the characteristic of function and the design constraints, in order to achieve high performance, low cost design.Through applying the SOPC design concept into the process of designing digital products, period of the development process can be shortened. Needs of the upgrading technology can be met at the same time. It39。s very important to apply the advanced NIOS softcore into electronic circuit design, which can help us to understand and master this kind of technology.Keywords SOPC(System on a Programmable Chip) 。 Nios II 。 MP3 。 Hardware/software Codesign不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印 II 目錄摘要 IAbstract II第1章 緒論 1 課題背景 1 可編程片上系統(tǒng) 1 軟硬件協(xié)同設(shè)計(jì) 2 嵌入式系統(tǒng) 2 MPEG Layer 3 3 國(guó)內(nèi)外文獻(xiàn)綜述 4 論文研究?jī)?nèi)容 5第2章 SOPC技術(shù)及軟硬件協(xié)同方案 6 FPGA器件基本原理 6 Sopc設(shè)計(jì)技術(shù) 6 軟硬件協(xié)同技術(shù) 9 本章小結(jié) 10第3章 MP3播放器硬件系統(tǒng)設(shè)計(jì)方案 11 MP3原理 11 MP3播放器的系統(tǒng)需求 11 MP3播放器的軟硬件劃分及組成模塊介紹 12 MP3解碼硬件電路方案設(shè)計(jì)及實(shí)現(xiàn) 12 I2C總線協(xié)議及應(yīng)用 14 SD卡簡(jiǎn)介及FAT16文件系統(tǒng)構(gòu)成介紹 16 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì) 21 基于Nios II的軟硬件協(xié)同設(shè)計(jì)策略 21 本章小結(jié) 23第4章 系統(tǒng)軟件設(shè)計(jì)及實(shí)現(xiàn) 24 系統(tǒng)整體程序流程圖 24 各功能模塊設(shè)計(jì)方案 24 讀取SD卡方案 24 LCD16027液晶模塊顯示 25 播放MP3音樂(lè)方案 26 通過(guò)I2C總線與STA013通訊 28 本章小結(jié) 28第5章 系統(tǒng)設(shè)計(jì)的實(shí)現(xiàn)及調(diào)試 29 SOPC Builder下定制系統(tǒng)模塊 29 DE2資源 29 系統(tǒng)的定制及生成 30 硬件系統(tǒng)編譯 31 FPGA的配置 37 Nios II下的程序開(kāi)發(fā) 37 本章小結(jié) 40結(jié)論 41致謝 42參考文獻(xiàn) 43附錄A 44附錄B 49附錄C 53附錄D 54千萬(wàn)不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印。在目錄上點(diǎn)右鍵“更新域”,然后“更新整個(gè)目錄”。打印前,不要忘記把上面“Abstract”這一行后加一空行 IV 第1章 緒論 課題背景隨著時(shí)代的發(fā)展、科技的進(jìn)步,各種電子產(chǎn)品已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠郑覀兊娜粘I?、工作及學(xué)習(xí)方式也因此發(fā)生了極大的改變。各式各樣的數(shù)碼產(chǎn)品,它們不僅體積小巧,而且功能強(qiáng)大,這些產(chǎn)品在我們的生活中扮演著重要的角色,因?yàn)樗鼈冐S富并改善著我們的生活。由于核心器件及一些知識(shí)產(chǎn)權(quán)的成本居高不下,一些電子產(chǎn)品的售價(jià)讓消費(fèi)者望而生畏。由于目前各種技術(shù)更新很快,開(kāi)發(fā)商唯有跟上時(shí)代,不斷更新自己的產(chǎn)品,才能滿足消費(fèi)者更高的需求,在競(jìng)爭(zhēng)中求得生存。傳統(tǒng)器件及設(shè)計(jì)中的諸多缺陷很難適應(yīng)當(dāng)前的需要,如何在短時(shí)間內(nèi)開(kāi)發(fā)出滿足需求的產(chǎn)品,是當(dāng)前亟待解決的難題。 可編程片上系統(tǒng)當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門(mén)以上)以及許多具有特定功能的專(zhuān)用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專(zhuān)用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)?,F(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)是一種半導(dǎo)體器件,可以在制造完成后進(jìn)行編程。FPGA硬件功能不是預(yù)先確定好的,而是支持您對(duì)產(chǎn)品特性和功能進(jìn)行編程,以適應(yīng)新標(biāo)準(zhǔn),即使產(chǎn)品已經(jīng)在現(xiàn)場(chǎng)使用了,也可以針對(duì)某些應(yīng)用重新配置硬件??梢允褂肍PGA來(lái)實(shí)現(xiàn)專(zhuān)用集成電路(ASIC)完成的任何邏輯功能,而且在產(chǎn)品發(fā)售后也能夠?qū)δ苓M(jìn)行更新,在很多應(yīng)用中都具有一定優(yōu)勢(shì)。FPGA是一類(lèi)高集成度的可編程邏輯器件,起源于美國(guó)的Xilinx公司,該公司于1985年推出了世界上第一塊FPGA芯片。在這二十多年的發(fā)展過(guò)程中,F(xiàn)PGA的硬件體系結(jié)構(gòu)和軟件開(kāi)發(fā)工具都在不斷的完善,日趨成熟。從最初的1200個(gè)可用門(mén),90年代時(shí)幾十萬(wàn)個(gè)可用門(mén),發(fā)展到目前數(shù)百萬(wàn)門(mén)至上千萬(wàn)門(mén)的單片F(xiàn)PGA芯片,Xilinx、Altera等世界頂級(jí)廠商已經(jīng)將FPGA器件的集成度提高到一個(gè)新的水平。IP(Intellectual Property)是指可用來(lái)生成ASIC(Application Specific Integrated Circuit)和PLD(Programmable Logic Device)的邏輯功能塊,又稱為IP核(IP Core)及虛擬器件VC。根據(jù)IP核描述的所在集成電路的設(shè)計(jì)層次,或者說(shuō)根據(jù)核優(yōu)化的程度,IP可分為硬IP、軟IP和固核IP。硬IP所有的驗(yàn)證和仿真工作都已完成,用它可以直接產(chǎn)生硅片,系統(tǒng)設(shè)計(jì)者不能再對(duì)它進(jìn)行修改。而軟IP,是以行為級(jí)或RTL級(jí)的Verilog或VHDL代碼的形式存在,它要經(jīng)過(guò)邏輯綜合及版圖綜合才能最終實(shí)現(xiàn)在硅片上。固IP是指在結(jié)構(gòu)和拓?fù)浞矫驷槍?duì)性能和面積通過(guò)版圖規(guī)劃,它們以綜合好的代碼或通用庫(kù)元件的網(wǎng)表形式存在,介于軟核和硬核之間。SOPC(System On a Programmable Chip)是Altera公司于2000年提出的一種靈活高效的SOC解決方案,SOPC利用可編程邏輯技術(shù)把整個(gè)電子系統(tǒng)集成在一個(gè)單片上,是一種特殊的嵌入式系統(tǒng):首先它是片上系統(tǒng)(SOC),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程的功能。 軟硬件協(xié)同設(shè)計(jì)SOPC的設(shè)計(jì)過(guò)程是一項(xiàng)非常復(fù)雜且極具挑戰(zhàn)性的工作,沒(méi)有一套有效的設(shè)計(jì)方法很難保證芯片的正確、高效。在SOPC的設(shè)計(jì)中,設(shè)計(jì)工藝的發(fā)展使得越來(lái)越多的功能集成到一個(gè)芯片成為可能。為實(shí)現(xiàn)這一目標(biāo),有兩種可能的SOPC設(shè)計(jì)方法。第一種方法稱為基于核的設(shè)計(jì)(Corebased design),它將系統(tǒng)的功能劃分為不同的核,采用IP (Intellectual Property)核以完成特定的設(shè)計(jì)功能。第二種方法是在超大規(guī)模的集成處理器核上使用軟件的方法實(shí)現(xiàn)設(shè)計(jì)功能。專(zhuān)用的IP核通常有較好的性能,此外對(duì)系統(tǒng)的功耗能有很好的控制:而采用軟件的方法使得系統(tǒng)芯片有更大