基于EPG3231和閃存的聲音播放器設(shè)計(jì)
軟件設(shè)計(jì)中最關(guān)鍵的是對K9G8G08的操作。該聲音播放器中,程序只需對K9G8G08進(jìn)行讀操作即可。圖4為讀K9G8G08的軟件設(shè)計(jì)流程。本文引用地址:http://www.ex-cimer.com/article/166661.htm
對K9G8G08讀操作的程序在定時(shí)器中斷中調(diào)用。對于22.05 kHz或44.1 kHz的WAV文件,定時(shí)器的中斷周期分別為45.4μs或22.7μs。對于單聲道、8 bit的WAV文件,其頻率可以在文件頭的第18H、19H字節(jié)得到,對于22.05 kHz和44.1 kHz的WAV文件,這兩個(gè)字節(jié)的值分別是22H、56H和44H、ACH,聲音信息從第2CH個(gè)字節(jié)開始。需要說明:1)寫入命令的操作包括送出命令字和在寫(WE)控制線上產(chǎn)生下降沿;2)寫入5字節(jié)地址的操作要按表1中的順序向K9G8G08寫入5個(gè)字節(jié)的地址。每個(gè)地址的寫入包括送出地址和在寫(WE)控制線上產(chǎn)生下降沿;3)輸入數(shù)據(jù)的操作包括在讀(RE)控制線上產(chǎn)生上升沿和讀入數(shù)據(jù)。
4 結(jié)束語
由于對不同型號的NAND Flash的操作有可能略有差別,所以如果要使播放器同時(shí)能支持多種NAND Flash,應(yīng)該在程序中讀取器件的ID,根據(jù)其ID選擇不同的讀NAND Flash的程序。三星NAND Flash的ID參見文獻(xiàn)。該聲音播放器具有盒式錄音機(jī)和復(fù)讀機(jī)的放音功能,如果增加錄音功能,它完全可以是盒式錄音機(jī)和復(fù)讀機(jī)的替代品,因?yàn)樗胁挥么艓Ш蜎]有復(fù)雜的、易損壞的機(jī)械結(jié)構(gòu)的優(yōu)點(diǎn),是前兩者不能相比的。只是由于8 bit的量化分辨率略低了點(diǎn),體現(xiàn)在播放音量較小的語音時(shí),有點(diǎn)“嗚嗚”的噪音,這是量化誤差引起的??梢圆捎迷诓シ牌髦惺褂?6 bit的WAV文件的方法來解決,但這會(huì)增加一倍的數(shù)據(jù)量。也可以通過使用MP3文件的方法來解決,這時(shí)它就是一臺MP3播放器了,但需要增加MP3解碼器(或用軟件解碼)。這里所提出的對NAND Flash的使用方法簡單易行,基本上類似于對NOR Flash或SRAM的使用,存儲(chǔ)器的物理地址對程序員來講是透明的,易于理解和控制。
評論