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