基于EPG3231和闪存的声音播放器设计
软件设计中最关键的是对K9G8G08的操作。该声音播放器中,程序只需对K9G8G08进行读操作即可。图4为读K9G8G08的软件设计流程。本文引用地址:https://www.eepw.com.cn/article/166661.htm
对K9G8G08读操作的程序在定时器中断中调用。对于22.05 kHz或44.1 kHz的WAV文件,定时器的中断周期分别为45.4μs或22.7μs。对于单声道、8 bit的WAV文件,其频率可以在文件头的第18H、19H字节得到,对于22.05 kHz和44.1 kHz的WAV文件,这两个字节的值分别是22H、56H和44H、ACH,声音信息从第2CH个字节开始。需要说明:1)写入命令的操作包括送出命令字和在写(WE)控制线上产生下降沿;2)写入5字节地址的操作要按表1中的顺序向K9G8G08写入5个字节的地址。每个地址的写入包括送出地址和在写(WE)控制线上产生下降沿;3)输入数据的操作包括在读(RE)控制线上产生上升沿和读入数据。
4 结束语
由于对不同型号的NAND Flash的操作有可能略有差别,所以如果要使播放器同时能支持多种NAND Flash,应该在程序中读取器件的ID,根据其ID选择不同的读NAND Flash的程序。三星NAND Flash的ID参见文献。该声音播放器具有盒式录音机和复读机的放音功能,如果增加录音功能,它完全可以是盒式录音机和复读机的替代品,因为它有不用磁带和没有复杂的、易损坏的机械结构的优点,是前两者不能相比的。只是由于8 bit的量化分辨率略低了点,体现在播放音量较小的语音时,有点“呜呜”的噪音,这是量化误差引起的。可以采用在播放器中使用16 bit的WAV文件的方法来解决,但这会增加一倍的数据量。也可以通过使用MP3文件的方法来解决,这时它就是一台MP3播放器了,但需要增加MP3解码器(或用软件解码)。这里所提出的对NAND Flash的使用方法简单易行,基本上类似于对NOR Flash或SRAM的使用,存储器的物理地址对程序员来讲是透明的,易于理解和控制。
评论