亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于EPG3231和閃存的聲音播放器設(shè)計(jì)

        2010-03-13 08:54:42周江
        電子設(shè)計(jì)工程 2010年5期
        關(guān)鍵詞:單片機(jī)

        周江

        (成都職業(yè)技術(shù)學(xué)院 電 子系, 四川 成 都 6 10041)

        在從事單片機(jī)的教學(xué)中,由于學(xué)生對(duì)有聲音和顯示的制作項(xiàng)目更感興趣一些,因此,在學(xué)習(xí)過(guò)程中這種興趣往往能讓他們完成項(xiàng)目,獲得成就感,從而學(xué)到更多的東西。

        目前在技術(shù)上,聲音的存儲(chǔ)大都使用大容量的NAND Flash,但一般按照文件系統(tǒng)的方式存儲(chǔ),這對(duì)學(xué)生有一定的難度。本聲音播放器的聲音文件采用非文件方式存儲(chǔ)在NAND Flash中,這樣在不需要太多背景知識(shí)的情況下,可以比較簡(jiǎn)單地使用大容量的NAND Flash存儲(chǔ)器,降低了使用NAND Flash存儲(chǔ)器的難度和成本。

        1 聲音播放器總體設(shè)計(jì)方案

        聲音播放器總體設(shè)計(jì)框圖如圖1所示。其中存儲(chǔ)器用于存放聲音文件,單片機(jī)將存儲(chǔ)器中的聲音文件名顯示在顯示器上,并根據(jù)按鍵選擇要播放的聲音文件,從存儲(chǔ)器中將聲音文件的數(shù)據(jù)送到內(nèi)部的D/A轉(zhuǎn)換器,D/A的輸出通過(guò)功放放大后送到喇叭放出聲音。

        圖1 聲音播放器總體設(shè)計(jì)框圖

        其中,在選擇存儲(chǔ)器時(shí),應(yīng)滿足大容量、非易失、價(jià)格便宜等條件,根據(jù)上述條件,NAND Flash為最佳選擇,這里選用K9G8G08型NAND Flash,其容量是1 G字節(jié)。對(duì)于WAV格式的語(yǔ)音信息,8 bit、22.05 kHz、單聲道足以滿足一般需求,而對(duì)于音樂(lè)(歌曲)來(lái)講,44.1 kHz的采樣頻率也能達(dá)到較好效果,因此,該器件中能存儲(chǔ)約800 min語(yǔ)音或400 min音樂(lè);顯示器采用122×32的LCM,內(nèi)置控制器為SED1520,可以顯示14個(gè)漢字或28個(gè)英文字符;按鍵主要有放音/暫停、停止、上翻、下翻等,采用獨(dú)立式按鍵;單片機(jī)選用ELAN的EPG3231,該器件與51系列單片機(jī)使用相似。

        設(shè)計(jì)聲音播放器關(guān)鍵需要考慮:聲音數(shù)據(jù)以何種格式、何種方式載入K9G8G08。一種可直接用一個(gè)U盤(pán),通過(guò)計(jì)算機(jī)將數(shù)據(jù)下載到K9G8G08中,聲音數(shù)據(jù)以文件方式存放。但這樣必須在單片機(jī)中完成與U盤(pán)的接口連接,并且要熟悉計(jì)算機(jī)的文件格式,這對(duì)單片機(jī)的初學(xué)者來(lái)講難度比較大。另一種是將聲音數(shù)據(jù)按順序存放在K9G8G08中(遇到壞塊時(shí)跳過(guò)即可),這樣數(shù)據(jù)存放的物理地址對(duì)開(kāi)發(fā)者來(lái)講是透明的,再使用下載器就可以將聲音數(shù)據(jù)載入K9G8G08中。如果將下載器和聲音播放器做在一起,同樣可以在線下載數(shù)據(jù)。

        2 聲音播放器硬件電路設(shè)計(jì)

        2.1 K9G8G08簡(jiǎn)介

        K9G8G08是三星公司生產(chǎn)的1 G×8 bit的NAND Flash存儲(chǔ)器,工作電壓為2.7~3.6 V,內(nèi)部存儲(chǔ)結(jié)構(gòu)為(2 K+64) 字節(jié)/頁(yè)×128頁(yè)/塊×4 096塊[1]。外部電路通過(guò)共用的8位I/O端口分時(shí)訪問(wèn)其命令寄存器、地址寄存器和數(shù)據(jù)寄存器,實(shí)現(xiàn)對(duì)器件讀、寫(xiě)和擦除等操作。其存儲(chǔ)器的命名方式參見(jiàn)文獻(xiàn)[2]。K9G8G08采用48引腳的TSOP封裝,其引腳配置如圖2所示。

        圖2 K9G8G08引腳配置

        2.2 EPG3231簡(jiǎn)介

        EPG3231是ELAN公司的8位RISC單片機(jī),它有11個(gè)8位并行口、1個(gè)8位電流輸出型的D/A、1個(gè)10位逐次逼近型A/D、1個(gè)通用異步收發(fā)器UART、1個(gè)8/16/24位的串行外設(shè)接口SPI、3個(gè)定時(shí)器等,硬件資源豐富,還支持手寫(xiě)識(shí)別、語(yǔ)音識(shí)別、ADPCM編解碼等功能。另外,EPG3231的速度較快,在時(shí)鐘頻率為16 MHz時(shí),指令周期為125 ns[3]。

        2.3 EPG3231與K9G8G08的電路連接

        圖3為EPG3231與K9G8G08的電路連接圖。圖中沒(méi)有給出K9G8G08,只給出了EPG3231的基本電路及用網(wǎng)絡(luò)標(biāo)號(hào)標(biāo)出的與K9G8G08的連接引腳。K9G8G08的19引腳是寫(xiě)保護(hù),在實(shí)際電路中接+3.3 V(不保護(hù))。需要說(shuō)明的是,EPG3231的D/A輸出是48引腳(PB1),輸出電流信號(hào),需要將其輸出轉(zhuǎn)換為電壓信號(hào)再送至后續(xù)的功放。其中比較簡(jiǎn)單且可行的做法是在PB1與地之間接一只電阻來(lái)完成電流與電壓的轉(zhuǎn)換,關(guān)鍵是該電阻的取值。若電阻阻值較大,輸出波形的上部會(huì)出現(xiàn)限幅失真;若阻值較小,則不能最大限度地利用D/A的動(dòng)態(tài)范圍。因此確定該電阻阻值的方法是:先接一只可調(diào)電阻,寫(xiě)一段測(cè)試程序,向D/A反復(fù)連續(xù)地送00~FFH的數(shù)值,通過(guò)示波器觀察PB1輸出,調(diào)整可調(diào)電阻,使輸出為不失真的鋸齒波,且最高點(diǎn)為3.3 V(即參考電源VREX(70引腳)電壓)。

        圖3 EPG3231與K9G8G08的電路連接

        另 外 ,圖3中 使 用EPG3231的D端口(PD0~PD7)與K9G8G08的I/O端口相連,這個(gè)端口必須是雙向的,使用其他的雙向端口也可以,但不要使用J端口和K端口,這兩個(gè)端口適用按鍵的輸入/輸出(矩陣鍵盤(pán)時(shí)的掃描輸出),速度比較慢,不能用于與K9G8G08的通信。還需注意的是,由于WAV文件中的編碼是無(wú)符號(hào)數(shù)(即00H是最低電平,F(xiàn)FH是最高電平),而EPG3231的D/A輸入是有符號(hào)數(shù)(即80H是最低電平,7FH是最高電平),所以程序中應(yīng)將WAV聲音數(shù)據(jù)的最高位取反后送到D/A。

        3 聲音播放器軟件設(shè)計(jì)

        在聲音播放器軟件設(shè)計(jì)之前,應(yīng)確定好K9G8G08中數(shù)據(jù)存放的格式。

        首先是地址的格式。對(duì)K9G8G08內(nèi)部存儲(chǔ)單元操作的地址是分5個(gè)字節(jié)送出的,所以地址的格式最好是按這5個(gè)字節(jié)編排,如表1所示。

        表1地址的格式

        其次,根據(jù)NAND Flash的特點(diǎn),其內(nèi)部是可能有壞塊(BAD BLOCK)存在的,但BLOCK 0一定是有效塊(VALID BLOCK),所以將壞塊信息存在BLOCK 0中。而K9G8G08的有效塊的個(gè)數(shù)在3 996~4 096之間,也就是說(shuō),壞塊的個(gè)數(shù)不大于100個(gè)。塊地址是由A19~A30決定的,為方便程序的編寫(xiě),將塊地址分3個(gè)字節(jié)存儲(chǔ),各個(gè)地址位的安排同表1中的第3、4、5個(gè)字節(jié),將A12~A18位放0。壞塊信息存儲(chǔ)區(qū)最多占用300個(gè)字節(jié)。

        第三,將聲音文件的目錄也存在BLOCK 0中。目錄中的每條記錄占用64字節(jié),其中前5個(gè)字節(jié)是聲音文件的起始地址,同樣為了方便程序的編寫(xiě),每字節(jié)中包含的地址位與表1一致;后面的59個(gè)字節(jié)是聲音的名字,比如歌曲名等,用0表示結(jié)束,如表2所示。從表2中可知,目錄區(qū)最多有4 088個(gè)記錄,應(yīng)該能滿足一般的需要。

        軟件設(shè)計(jì)中最關(guān)鍵的是對(duì)K9G8G08的操作。該聲音播放器中,程序只需對(duì)K9G8G08進(jìn)行讀操作即可。圖4為讀K9G8G08的軟件設(shè)計(jì)流程。

        對(duì)K9G8G08讀操作的程序在定時(shí)器中斷中調(diào)用。對(duì)于22.05 kHz或44.1 kHz的WAV文件,定時(shí)器的中斷周期分別為45.4 μs或22.7 μs。對(duì)于單聲道、8 bit的WAV文件,其頻率可以在文件頭的第18H、19H字節(jié)得到,對(duì)于22.05 kHz和44.1 kHz的WAV文件,這兩個(gè)字節(jié)的值分別是22H、56H和44H、ACH,聲音信息從第2CH個(gè)字節(jié)開(kāi)始。需要說(shuō)明:1)寫(xiě)入命令的操作包括送出命令字和在寫(xiě)(WE)控制線上產(chǎn)生下降沿;2)寫(xiě)入5字節(jié)地址的操作要按表1中的順序向K9G8G08寫(xiě)入5個(gè)字節(jié)的地址。每個(gè)地址的寫(xiě)入包括送出地址和在寫(xiě)(WE)控制線上產(chǎn)生下降沿;3)輸入數(shù)據(jù)的操作包括在讀(RE)控制線上產(chǎn)生上升沿和讀入數(shù)據(jù)。

        表2存儲(chǔ)區(qū)分配

        圖4 讀K9G8G08的軟件設(shè)計(jì)流程

        4 結(jié)束語(yǔ)

        由于對(duì)不同型號(hào)的NAND Flash的操作有可能略有差別,所以如果要使播放器同時(shí)能支持多種NAND Flash,應(yīng)該在程序中讀取器件的ID,根據(jù)其ID選擇不同的讀NAND Flash的程序。三星NAND Flash的ID參見(jiàn)文獻(xiàn)[4]。該聲音播放器具有盒式錄音機(jī)和復(fù)讀機(jī)的放音功能,如果增加錄音功能,它完全可以是盒式錄音機(jī)和復(fù)讀機(jī)的替代品,因?yàn)樗胁挥么艓Ш蜎](méi)有復(fù)雜的、易損壞的機(jī)械結(jié)構(gòu)的優(yōu)點(diǎn),是前兩者不能相比的。只是由于8 bit的量化分辨率略低了點(diǎn),體現(xiàn)在播放音量較小的語(yǔ)音時(shí),有點(diǎn)“嗚嗚”的噪音,這是量化誤差引起的??梢圆捎迷诓シ牌髦惺褂?6 bit的WAV文件的方法來(lái)解決,但這會(huì)增加一倍的數(shù)據(jù)量。也可以通過(guò)使用MP3文件的方法來(lái)解決,這時(shí)它就是一臺(tái)MP3播放器了,但需要增加MP3解碼器(或用軟件解碼)。這里所提出的對(duì)NAND Flash的使用方法簡(jiǎn)單易行,基本上類(lèi)似于對(duì)NOR Flash或SRAM的使用,存儲(chǔ)器的物理地址對(duì)程序員來(lái)講是透明的,易于理解和控制。

        [1]SAMSUNG Electronics.K9XXG08UXM Datasheet[EB/OL].(2006-04-25)[2009-10].http://www.pudn.com/downloads99/ebook/detail406503.html.

        [2]SAMSUNG Electronics.NAND Flash code information Datasheet[EB/OL].(2009-08)[2009-10].http://www.samsung.com/global/business/semiconductor/products/flash/downloads/Nand_Flash.pdf.

        [3]ELAN MICROELECTRONICS CORP.EPG3231-EM202 RISC II-2G series microcontroller product specification(V1.4)Datasheet[EB/OL].(2006-03)[2009-10].http://www.emc.com.tw/twn/database/Data_Sheet/PE/EPG3231-EM202.pdf.

        [4]SAMSUNG Electronics.ID Data of NAND Flash datasheet[EB/OL].(2009-08)[2009-10].http://www.samsung.com/global/business/semiconductor/products/flash/downloads/ID_Summary_WEB_new.pdf.

        [5]S-MOS Systems,Inc.SED1520/21 dot matrix LCD driver(Version 1.0)datasheet[EB/OL].(1996-10)[2009-10].http://www.21icsearch.com/s_SED1520.html?stype=pdf&t1=&keyword=SED1520.

        [6]張迎新.單片機(jī)初級(jí)教程[M].2版.北京:北京航空航天大學(xué)出版社,2006.

        猜你喜歡
        單片機(jī)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的多功能智能插排
        電子制作(2019年11期)2019-07-04 00:34:48
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問(wèn)題
        電子制作(2017年9期)2017-04-17 03:00:53
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
        電子制作(2016年21期)2016-05-17 03:52:51
        Microchip推出兩個(gè)全新PIC單片機(jī)系列
        基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
        亚洲中文字幕精品久久久久久直播| 天天做天天爱天天综合网2021| 熟妇人妻无码中文字幕| 色欧美与xxxxx| 国产又色又爽的视频在线观看91| 国产精品国产三级国产av品爱| 插b内射18免费视频| 色五月丁香五月综合五月| 无码熟妇人妻av在线影片| 中文字幕国产精品中文字幕| 婷婷精品国产亚洲av| 色和尚色视频在线看网站| 综合亚洲伊人午夜网| 欧美aaaaaa级午夜福利视频| 国产偷2018在线观看午夜| 亚洲一区二区三区毛片| 97色伦图片97综合影院| 亚洲成av人片在www| 国产全肉乱妇杂乱视频| 98bb国产精品视频| 少妇熟女淫荡丰满| 99久久国产免费观看精品 | 亚洲国产精品av麻豆一区| 男男亚洲av无一区二区三区久久 | 极品诱惑一区二区三区| 亚洲第一女优在线观看| 久久久久国色av免费观看性色| 中文字幕欧美人妻精品一区| 尤物视频一区二区| 久久中文字幕久久久久91| 一二三四在线观看韩国视频| 亚洲精品乱码久久久久蜜桃| 国产精品人妻一区夜夜爱| 91短视频在线观看免费| 青青草在线公开免费视频| 成人精品一区二区三区电影| 亚洲乱码中文字幕综合| 国产精品多人P群无码| 国产精品日本一区二区三区| 欧美性白人极品1819hd| 日本三级欧美三级人妇视频|