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