freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于niosii系統(tǒng)的mp3播放器的設(shè)計(jì)(參考版)

2025-06-21 17:23本頁面
  

【正文】 在SOPC Builder中把系統(tǒng)的外圍組件配置完成之后,編輯設(shè)計(jì)的頂層文件,,最后進(jìn)行工程編譯,編譯完成如53所示。這一最新版Quartus II軟件延續(xù)了公司保持高密度FPGA最短編譯時(shí)間的歷史,根據(jù)內(nèi)部基準(zhǔn)測(cè)試結(jié)果,編譯時(shí)間比任何其他FPGA供應(yīng)商的開發(fā)軟件都要快三倍以上。SOPC Builder會(huì)為系統(tǒng)生成Nios II IDE軟件開發(fā)所需要的硬件抽象層(HAL)、C以及匯編頭文件[18]。在整個(gè)系統(tǒng)生成的過程中,SOPC Builder會(huì)執(zhí)行一系列的操作。如圖52所示,在Quartus II 的SOPC Builder中分別將Nios II/f軟核處理器及需要的外圍設(shè)備的IP核(如:PIO內(nèi)核、SDRAM控制器內(nèi)核、CFI控制器內(nèi)核、EPCS控制器內(nèi)核、定時(shí)器內(nèi)核、UART內(nèi)核、JTAG_UART內(nèi)核、系統(tǒng)ID內(nèi)核等)加入定制的系統(tǒng)進(jìn)行組合并進(jìn)行相關(guān)參數(shù)的設(shè)置。SOPC Builder在一個(gè)工具中實(shí)現(xiàn)了嵌入式系統(tǒng)各個(gè)方面的開發(fā),包括軟件的設(shè)計(jì)和驗(yàn)證,為充分利用SoPC技術(shù)提高電子系統(tǒng)的性能和降低成本提供了強(qiáng)有力的支持。為了將微處理器核、外圍設(shè)備、存儲(chǔ)器和其它IP核相互連接起來,SOPC Builder能夠自動(dòng)生成片上總線和總線仲裁器等所需的邏輯。SOPC Builder為每個(gè)元件提供了一個(gè)向?qū)?,利用該向?qū)芎苋菀椎囟x元件功能。該工具提供一個(gè)直觀的圖形用戶界面,用戶可以通過圖形界面簡化系統(tǒng)的定義工作。Altera下載控制芯片EPCS16以及USBBlaste對(duì)JTAG的支持;: 512KB的SRAM,8Mbyte的SDRAM,4Mbyte的Flash memory;3. 經(jīng)典IO配置:擁有4個(gè)按鈕(所有按鍵都使用了施密特觸發(fā)防抖動(dòng)功能,按鍵按下時(shí)輸出低電平,釋放時(shí)恢復(fù)高電平),18個(gè)撥動(dòng)開關(guān),18個(gè)紅色發(fā)光二極管,9個(gè)綠色發(fā)光二極管,8個(gè)七段數(shù)碼管,16*2字符液晶顯示屏;4. 超強(qiáng)多媒體:Wolfson公司的低功耗立體聲24位CD音質(zhì)音頻芯片WM8731(Mic輸入+LineIn+ 標(biāo)準(zhǔn)音頻輸出),視頻解碼芯片ADV7181(支持NTSC/PAL制式),帶有高速DAC視屏輸出的VGA模塊;:通用串行總線USB控制模塊以及A、B型接口,SD Card接口,IrDA紅外模塊,10/100M自適應(yīng)以太網(wǎng)絡(luò)適配器,RS232標(biāo)準(zhǔn)串口, PS/2鍵盤接口;:50M、27M的晶振各一個(gè),支持外部時(shí)鐘,80針帶保護(hù)電路的外接IO。DE2的資源非常豐富,如圖51所示,包括:1. 核心的FPGA芯片Cyclone II EP2C35F672C6,從名稱可以看出,它包含有35千個(gè)LE,在Altera的芯片系列中,不算最多,但也絕對(duì)夠用。DE2 能幫助使用者迅速理解和掌握實(shí)時(shí)多媒體工業(yè)產(chǎn)品設(shè)計(jì)的技巧,并提供系統(tǒng)設(shè)計(jì)的驗(yàn)證。 DE2資源是Altera 公司針對(duì)大學(xué)教學(xué)及研究機(jī)構(gòu)推出的FPGA 多媒體開發(fā)平臺(tái)。利用Sopc Builder,用戶可以很方便地將處理器、存儲(chǔ)器和其它外設(shè)模塊連接起來,形成一個(gè)完整的系統(tǒng)。SOPC由CPU、存儲(chǔ)器接口、標(biāo)準(zhǔn)外設(shè)和用戶自定義的外設(shè)等組件組成。MP3數(shù)據(jù)流經(jīng)過STA013芯片解碼,輸出的數(shù)字信號(hào)經(jīng)過一個(gè)D/A轉(zhuǎn)換模塊輸出模擬信號(hào),CS4334輸出的模擬信號(hào)經(jīng)TDA2822放大后送至音頻設(shè)備,就可以聽到音樂了。圖46 I2C總線讀(左)和寫(右)STA013程序流程圖 本章小結(jié)本章主要介紹了軟件的設(shè)計(jì)。圖45 STA013工作流程圖 通過I2C總線與STA013通訊通過對(duì)I2C四種基本操作的認(rèn)識(shí),可以理解通過I2C總線讀寫STA013數(shù)據(jù)流程圖如圖46示。STA013接收到數(shù)據(jù)后開始解碼播放。接下來調(diào)用解碼控制函數(shù)sta013_SendToDecode()進(jìn)行解碼,當(dāng)STA013的DATA_REQ引腳為1時(shí),表明STA013需要新的MP3數(shù)據(jù)進(jìn)行解壓播放,此時(shí)連續(xù)往STA013中發(fā)送數(shù)據(jù),直到STA013的緩沖區(qū)滿停止。配置文件放在STA013_UpdateData 數(shù)組中。STA013的功能模塊如圖44所示。由于Altera 公司事先做好了控制顯示的IP 核,所以只要將這個(gè)顯示核添加到Nios II系統(tǒng)中后,調(diào)用Nios II基本輸出函數(shù)IOWR(BASE,OFFSET,DATA),就可以自行按照時(shí)序發(fā)送和接收數(shù)據(jù)了。詳細(xì)流程圖見圖42所示:圖42 讀取SD卡程序流程圖 LCD16027液晶模塊顯示系統(tǒng)中的LCD液晶顯示模塊是DE2 板上集成的。通過調(diào)用fFind(int1 *pname)來查找需要讀取的文件是否存在,確定存在后用指針為文件分配一個(gè)緩沖區(qū),由于SDRAM空間足夠大,因此可以把文件數(shù)據(jù)全部讀取到SDRAM中。系統(tǒng)設(shè)計(jì)了一個(gè)小型的FAT16文件系統(tǒng)來實(shí)現(xiàn)SD卡的讀取,該文件系統(tǒng)不支持長文件名;不支持FAT32文件格式;可支持對(duì)SD卡進(jìn)行寫操作,SD卡里面的MP3文件可通過SD卡讀卡器從PC機(jī)上復(fù)制,附錄D中程序2給出了獲取磁盤參數(shù)子程序GetDiskPara( )。經(jīng)過不斷地調(diào)試與改善,使系統(tǒng)功能逐步完善。第4章 系統(tǒng)軟件設(shè)計(jì)及實(shí)現(xiàn) 系統(tǒng)整體程序流程圖系統(tǒng)的整體程序框圖如圖41所示,主函數(shù)在執(zhí)行了LCD 與SD 卡初始化之后就一直在等待按鍵中斷,接下來,在中斷函數(shù)中進(jìn)行按鍵值的判斷,并執(zhí)行相應(yīng)的操作。系統(tǒng)要用到的硬件設(shè)備接口中,SD卡、七段數(shù)碼管驅(qū)動(dòng)模塊、以及音頻解碼芯片的驅(qū)動(dòng)模塊是Sopc Builder中沒有提供的,需要自己設(shè)計(jì)添加相關(guān)模塊。本章在分析了MP3播放器的系統(tǒng)需求之后,利用軟硬件協(xié)同策略構(gòu)建MP3播放器系統(tǒng)方案。 本章小結(jié)單純?cè)贔PGA中集成軟核處理器并不能夠發(fā)揮Sopc的全部優(yōu)點(diǎn),甚至還可能導(dǎo)致系統(tǒng)整體設(shè)計(jì)的失敗。3. 對(duì)于軟件實(shí)現(xiàn)過程中的一些關(guān)鍵并且重復(fù)出現(xiàn)、占用指令周期較多的功能函數(shù)應(yīng)該用Nios II所提供的用戶邏輯來進(jìn)行實(shí)現(xiàn)。軟硬件劃分主要需要考慮以下這些方面:1. 優(yōu)化的目標(biāo),如在滿足時(shí)間約束下的硬件最小化;2. 優(yōu)化的技術(shù)(算法),如啟發(fā)式的、概率的和精確的;3.粒度,在進(jìn)行成本估計(jì)的時(shí)候劃分塊的大小;4.成本標(biāo)準(zhǔn),包括硬件的、軟件的和接口的成本標(biāo)準(zhǔn),如硬件或軟件的執(zhí)行時(shí)間,接口的通信時(shí)間;5. 自動(dòng)化的程度;6. 設(shè)計(jì)空間探索的能力,使設(shè)計(jì)者能夠在較短的時(shí)間內(nèi)比較不同的劃分并為不同的目標(biāo)函數(shù)找到可供選擇的解決方案[5]對(duì)于基于Nios II的可編程片上系統(tǒng)來說,要優(yōu)化設(shè)計(jì)方案,設(shè)計(jì)出可靠、高效的系統(tǒng),下面幾個(gè)也是必須要考慮的因素:1. 對(duì)那些適合于采用軟件完成的任務(wù),就以運(yùn)行于Nios II處理器上的軟件來實(shí)現(xiàn),把軟件和數(shù)據(jù)存放在Flash中。一般情況下,硬件比軟件提供更好的性能,而軟件更容易開發(fā)和修改,因此開發(fā)時(shí)間較短。這個(gè)階段主要考慮兩個(gè)方面的問題,即功能和算法。在設(shè)計(jì)開始時(shí),首先必須明確系統(tǒng)需求,不僅包括系統(tǒng)需要完成的功能,還包括其他重要的因素:實(shí)時(shí)性、性能、速度、面積、存儲(chǔ)容量、功耗及可編程性。這就使得軟硬件功能模塊能夠在設(shè)計(jì)開發(fā)的早期互相結(jié)合,從而及早發(fā)現(xiàn)問題及早解決,避免了(至少可以減少)在設(shè)計(jì)開發(fā)后期反復(fù)修改系統(tǒng)以及由此帶來的一系列問題,而且有利于挖掘系統(tǒng)潛能、縮小產(chǎn)品的體積、降低系統(tǒng)成本、提高系統(tǒng)整體性能。設(shè)計(jì)過程充分體現(xiàn)了軟硬件的協(xié)同性。嵌入式系統(tǒng)是由若干個(gè)功能模塊組成的,這些功能模塊按照其性質(zhì)可以分為軟件模塊和硬件模塊兩類。他依據(jù)系統(tǒng)目標(biāo)要求,通過綜合分析系統(tǒng)軟硬件功能及現(xiàn)有資源,最大限度地挖掘系統(tǒng)軟硬件之間的并發(fā)性,協(xié)同設(shè)計(jì)軟硬件體系結(jié)構(gòu),以便系統(tǒng)能工作在最佳工作狀態(tài)。圖35 系統(tǒng)功能框圖 基于Nios II的軟硬件協(xié)同設(shè)計(jì)策略傳統(tǒng)先硬件后軟件的嵌入式系統(tǒng)系統(tǒng)設(shè)計(jì)模式需要反復(fù)修改、反復(fù)試驗(yàn),整個(gè)設(shè)計(jì)過程在很大程度上依賴于設(shè)計(jì)者的經(jīng)驗(yàn),設(shè)計(jì)周期長、開發(fā)成本高,在反復(fù)修改過程中,常常會(huì)在某些方面背離原始設(shè)計(jì)的要求。本設(shè)計(jì)是基于Altera公司提供的DE2開發(fā)板所開發(fā)的,開發(fā)板的核心芯片為Cyclone II EP2C35F672C6,整個(gè)系統(tǒng)分為四個(gè)部分:CPU 模塊(包括外圍配置芯片、擴(kuò)展芯片等)、存儲(chǔ)器(SD卡)模塊、LCD 顯示模塊、MP3 播放模塊(包括解碼電路、DA轉(zhuǎn)換電路、功率放大電路等)。文件目錄區(qū)在第2個(gè)FAT表后, FAT16的目錄項(xiàng)由32個(gè)字節(jié)構(gòu)成,各個(gè)字節(jié)的含義見表27:表27 FAT16的目錄項(xiàng)偏移量長度定義0x0~0x78文件名,其中00H為以下值時(shí)有特定含義:00H空表項(xiàng),E5H文件已被刪除,05H實(shí)際該字節(jié)的值為E5H,08H~0AH文件的擴(kuò)展名0x8~0xA3文件擴(kuò)展名0xB1屬性字節(jié)00000000讀/寫 00001000卷標(biāo)00000001只讀00010000子目錄00000010隱藏00100000歸檔00000100系統(tǒng)文件0xC~0x1510系統(tǒng)保留0x16~0x172文件最近修改時(shí)間0x18~0x192文件最近修改日期0x1A~0x1B2表示文件的首簇號(hào)0x1C~0x1F4表示文件的長度 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)軟硬件協(xié)同設(shè)計(jì)不僅也是一種是一種設(shè)計(jì)技術(shù),同時(shí)新的設(shè)計(jì)方法,設(shè)計(jì)的核心問題是溝通軟件設(shè)計(jì)和硬件設(shè)計(jì),避免系統(tǒng)中關(guān)系密切的兩部分設(shè)計(jì)過早獨(dú)立。FAT16的每個(gè)FAT 項(xiàng)占兩個(gè)字節(jié),不同的表項(xiàng)值有不同的含義,下面是FAT16 的表項(xiàng)值對(duì)應(yīng)表。每個(gè)文件根據(jù)它的大小可能占有一個(gè)或者多個(gè)簇;這樣,一個(gè)文件就由這些這些(稱為單鏈表)簇鏈表示。一個(gè)分區(qū)分成同等大小的簇,也就是連續(xù)空間的小塊。這是實(shí)際的文件和目錄數(shù)據(jù)存儲(chǔ)的區(qū)域,它占據(jù)了分區(qū)的絕大部分。它是在根目錄中存儲(chǔ)文件和目錄信息的目錄表。它包含有兩份文件分配表,是分區(qū)信息的映射表,指示簇是如何存儲(chǔ)的。引導(dǎo)扇區(qū)中的重要信息可以被DOS和OS/2中稱為驅(qū)動(dòng)器參數(shù)塊的操作系統(tǒng)結(jié)構(gòu)訪問。第一個(gè)保留扇區(qū)是引導(dǎo)區(qū)(分區(qū)啟動(dòng)記錄)。表24 磁盤分區(qū)表偏移量字段長度值字段名和值定義0x01BEBYTE0x80引導(dǎo)指示符,0x80表示該分區(qū)為活動(dòng)分區(qū)0x01BFBYTE0x01開始磁頭0x01C06位0x01開始扇區(qū),只用了低6位,高兩位被開始柱面字段使用0x01C110位0x00開始柱面0x01C2BYTE0x04系統(tǒng)ID定義了分區(qū)類型,0x04表示為FAT160x01C3BYTE0x07結(jié)束磁頭0x01C46位0xE0結(jié)束扇區(qū),只用了低6位,高兩位被結(jié)束柱面字段使用0x01C510位0xD2結(jié)束柱面0x01C6DWORD0x00000020相對(duì)扇區(qū)數(shù),從該磁盤的開始到該分區(qū)的開始位移量0x01CADWORD0x0003D2E0總扇區(qū)數(shù),該分區(qū)中的扇區(qū)總數(shù)SD卡的引導(dǎo)扇區(qū)DBR位于文件系統(tǒng)開頭,占用1扇區(qū),在這512字節(jié)中,其實(shí)又是由跳轉(zhuǎn)指令(0x00~0x02)、廠商標(biāo)志和操作系統(tǒng)版本號(hào)(0x03~x0A)、BPB(BIOS Parameter Block)(0x0B~0x23)、擴(kuò)展BPB(0x24~0x3D)、OS引導(dǎo)程序(0x3E~0x01FD)和結(jié)束標(biāo)志幾部分組成[12]。在本系統(tǒng)能夠SD卡只作為一種存儲(chǔ)介質(zhì)使用,且整個(gè)系統(tǒng)作為一個(gè)分區(qū)處理。FAT16文件系統(tǒng)最多支持4個(gè)分區(qū)項(xiàng),對(duì)應(yīng)于4個(gè)分區(qū)表。表23 SD卡邏輯結(jié)構(gòu)主引導(dǎo)區(qū)引導(dǎo)區(qū)FAT表1FAT表2目錄區(qū)數(shù)據(jù)區(qū)32個(gè)扇區(qū)1個(gè)扇區(qū)按容量可變按容量可變32個(gè)扇區(qū)按容量可變,以簇為單位主引導(dǎo)區(qū)位于整個(gè)SD卡的0柱面0磁頭,1扇區(qū)存放引導(dǎo)程序用于啟動(dòng)和引導(dǎo)操作系統(tǒng),同時(shí)存放SD卡的主分區(qū)表,記錄卡的分區(qū)信息。下面結(jié)合所使用的SD卡來介紹文件系統(tǒng)原理。l 用戶數(shù)據(jù)區(qū)用于存放用戶數(shù)據(jù)及子目錄。l FAT表記錄SD存儲(chǔ)卡以簇為單位進(jìn)行記錄的存儲(chǔ)空間的信息,簇的大小根據(jù)實(shí)際系統(tǒng)的電子盤特性設(shè)定。l MBR區(qū)裝有用于啟動(dòng)系統(tǒng)的代碼和有關(guān)文件系統(tǒng)的重要信息;在主引導(dǎo)扇區(qū)的末尾處含有分區(qū)表,分區(qū)表用于標(biāo)識(shí)每個(gè)分區(qū)開始和結(jié)束的表項(xiàng),最多可以有4個(gè)分區(qū), 每個(gè)分區(qū)可以包含不同的文件系統(tǒng)。SPI接口的缺點(diǎn):沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù),數(shù)據(jù)傳輸速度較慢,最高只能達(dá)到:4M比特每秒。SPI還是一個(gè)數(shù)據(jù)交換協(xié)議:因?yàn)镾PI的數(shù)據(jù)輸入線和輸出線獨(dú)立,所以允許同時(shí)完成數(shù)據(jù)的輸入和輸出。這樣的傳輸方式有一個(gè)優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因?yàn)镾CK時(shí)鐘線由主控設(shè)備控制,當(dāng)沒有時(shí)鐘跳變時(shí),從設(shè)備不采集或傳送數(shù)據(jù)。需要注意的是,SCK信號(hào)線只由主設(shè)備控制,從設(shè)備不能控制信號(hào)線。完成一位數(shù)據(jù)傳輸,輸入也使用同樣的原理。這就是SCK時(shí)鐘線存在的原因,由SCK提供時(shí)鐘脈沖,SDI、SDO 則基于此脈沖完成數(shù)據(jù)傳輸。表22 SD卡SPI模式下引腳功能引腳名稱功能和作用SDO主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入SDI主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出SCLK時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生CS設(shè)備使能信號(hào),由主設(shè)備控制CS 為片選信號(hào),剩下的3根線負(fù)責(zé)通訊。SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以(單向傳輸時(shí))。SPI是一種高速的、全雙工、同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB在布局節(jié)省空間上提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。同步外設(shè)接口(SPI)是由摩托羅拉公司開發(fā)的全雙工同步串行總線,SD總線允許強(qiáng)大的1線到4線數(shù)據(jù)信號(hào)設(shè)置,不同的總線訪問方式其引腳功能定義不同。由于SD卡具有有容量大、體積小、高性能、讀/寫速度快以及可與多種計(jì)算機(jī)操作系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1