基于EPG3231和闪存的声音播放器设计

发布时间:2014-09-20 阅读量:673 来源: 我爱方案网 作者:

【导读】目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,现在我们一起去了解基于EPG3231和闪存的声音播放器设计,希望对大家有所帮助。

提出一种在单片机系统中比较简单地使用大容量NAND Flash存储器的方法。与一般方法相比,编写应用程序的程序员不需要掌握计算机文件系统的规范,只要按照NAND Flash的读、写、擦除等时序对其进行操作,把NANDFlash当成NOR Flash或SRAM来对待,这样存储器的物理地址对程序员而言是透明的,只需要在遇到坏块(BAD BLOCK)时跳过该块就可以了。该方法降低了使用NAND Flash存储器的难度和成本,且不仅适用于EPG3231,也可以推广到一般的8位单片机系统中使用。

在从事单片机的教学中,由于学生对有声音和显示的制作项目更感兴趣一些。因此,在学习过程中这种兴趣往往能让他们完成项目,获得成就感,从而学到更多的东西。

目前在技术上,声音的存储大都使用大容量的NAND Flash,但一般按照文件系统的方式存储,这对学生有一定的难度。本声音播放器的声音文件采用非文件方式存储在NAND Flash中,这样在不需要太多背景知识的情况下,可以比较简单地使用大容量的NAND Flash存储器,降低了使用NAND Flash存储器的难度和成本。

1声音播放器总体设计方案

声音播放器总体设计框图如图l所示。其中存储器用于存放声音文件,单片机将存储器中的声音文件名显示在显示器上,并根据按键选择要播放的声音文件,从存储器中将声音文件的数据送到内部的D/A转换器,D/A的输出通过功放放大后送到喇叭放出声音。


图1 声音播放器总体设计框图

其中,在选择存储器时,应满足大容量、非易失、价格便宜等条件,根据上述条件,NAND Flash为最佳选择,这里选用K9G8G08型NAND Flash,其容量是1 G字节。对于WAV格式的语音信息,8 bit、22.05 kHz、单声道足以满足一般需求,而对于音乐(歌曲)来讲,44.1 kHz的采样频率也能达到较好效果,因此,该器件中能存储约800 min语音或400 min音乐;显示器采用122x32的LCM,内置控制器为SEDl520,可以显示14个汉字或28个英文字符;按键主要有放音/暂停、停止、上翻、下翻等,采用独立式按键;单片机选用ELAN的EPG3231,该器件与5l系列单片机使用相似。

设计声音播放器关键需要考虑:声音数据以何种格式、何种方式载入K9G8G08.一种可直接用一个U盘,通过计算机将数据下载到K9G8G08中,声音数据以文件方式存放。但这样必须在单片机中完成与U盘的接口连接,并且要熟悉计算机的文件格式,这对单片机的初学者来讲难度比较大。另一种是将声音数据按顺序存放在K9G8G08中(遇到坏块时跳过即可),这样数据存放的物理地址对开发者来讲是透明的,再使用下载器就可以将声音数据载入K9G8G08中。如果将下载器和声音播放器做在一起,同样可以在线下载数据。

2声音播放器硬件电路设计

2.1 K9G8G08简介


K9G8G08是三星公司生产的1 Gx8 bit的NAND Flash存储器,工作电压为2.7~3.6 V,内部存储结构为(2 K+64)字节/页×128页/块×4096块。外部电路通过共用的8位I/0端口分时访问其命令寄存器、地址寄存器和数据寄存器,实现对器件读、写和擦除等操作。其存储器的命名方式参见文献。K9G8G08采用48引脚的TSOP封装,其引脚配置如图2所示。


图2 K9G8G08引脚配置
 

2.2 EPG3231简介

EPG323l是ELAN公司的8位RISC单片机,它有11个8位并行口、1个8位电流输出型的D/A、1个10位逐次逼近型A/D、1个通用异步收发器UART、1个8,16,24位的串行外设接口SPI、3个定时器等,硬件资源丰富,还支持手写识别、语音识别、ADPCM编解码等功能。另外,EPG3-23l的速度较快,在时钟频率为16 MHz时,指令周期为125 ns.

2.3 EPG3231与K9G8G08的电路连接


图3为EPG3231与K9G8G08的电路连接图。图中没有给出K9G8G08,只给出了EPG323l的基本电路及用网络标号标出的与K9G8G08的连接引脚。K9G8G08的19引脚是写保护,在实际电路中接+3.3 V(不保护)。需要说明的是,EPG323l的D/A输出是48引脚(PBl),输出电流信号,需要将其输出转换为电压信号再送至后续的功放。其中比较简单且可行的做法是在PBl与地之间接一只电阻来完成电流与电压的转换,关键是该电阻的取值。若电阻阻值较大,输出波形的上部会出现限幅失真;若阻值较小,则不能最大限度地利用D/A的动态范围。因此确定该电阻阻值的方法是:先接一只可调电阻,写一段测试程序,向D/A反复连续地送00~FFH的数值,通过示波器观察PBl输出,调整可调电阻,使输出为不失真的锯齿波,且最高点为3.3 V(即参考电源VREX(70引脚)电压)。

图3 EPG3231与K9G8G08的电路连接图
另外,图3中使用EPG323l的D端口(PD0~PD7)与K9G8G08的I/O端口相连,这个端口必须是双向的,使用其他的双向端口也可以,但不要 使用J端口和K端口,这两个端口适用按键的输入/输出(矩阵键盘时的扫描输出),速度比较慢,不能用于与K9G8G08的通信。还需注意的是,由于WAV 文件中的编码是无符号数(即OOH是最低电平,FFH是最高电平),而EPG323l的D/A输入是有符号数(即80H是最低电平,7FH是最高电平), 所以程序中应将WAV声音数据的最高位取反后送到D/A.
 
3声音播放器软件设计

在声音播放器软件设计之前,应确定好K9G8G08中数据存放的格式。

首先是地址的格式。对K9G8G08内部存储单元操作的地址是分5个字节送出的,所以地址的格式最好是按这5个字节编排,如表l所示。
 

其次,根据NAND Flash的特点,其内部是可能有坏块(BAD BLOCK)存在的,但BLOCK 0一定是有效块(VALID BLl3CK),所以将坏块信息存在BLOCK 0中。而K9G8G08的有效块的个数在3 99* 096之间,也就是说,坏块的个数不大于100个。块地址是由A19~A30决定的,为方便程序的编写,将块地址分3个字节存储,各个地址位的安排同表1中的第3、4、5个字节,将A12~A18位放O.坏块信息存储区最多占用300个字节。

第三,将声音文件的目录也存在BLOCK O中。目录中的每条记录占用64字节,其中前5个字节是声音文件的起始地址,同样为了方便程序的编写,每字节中包含的地址位与表1一致;后面的59个字节是声音的名字,比如歌曲名等,用0表示结束,如表2所示。从表2中可知,目录区最多有4 088个记录,应该能满足一般的需要。
 

软件设计中最关键的是对K9G8G08的操作。该声音播放器中,程序只需对K9G8G08进行读操作即可。图4为读K9G8G08的软件设计流程。
 
 
图4 读K9G8G08的软件设计流程

对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)控制线上产生上升沿和读入数据。

由于对不同型号的NAND Flash的操作有可能略有差别,所以如果要使播放器同时能支持多种NAND Flash,应该在程序中读取器件的ID,根据其ID选择不同的读NAND Flash的程序。三星NAND Flash的ID参见文献。该声音播放器具有盒式录音机和复读机的放音功能,如果增加录音功能,它完全可以是盒式录音机和复读机的替代品,因为它有不用磁带和没有复杂的、易损坏的机械结构的优点,是前两者不能相比的。只是由于8 bit的量化分辨率略低了点,体现在播放音量较小的语音时,有点“呜呜”的噪音,这是量化误差引起的。可以采用在播放器中使用16 bit的WAV文件的方法来解决,但这会增加一倍的数据量。也可以通过使用MP3文件的方法来解决,这时它就是一台MP3播放器了,但需要增加MP3解码器(或用软件解码)。

本文讲解了基于EPG3231和闪存的声音播放器设计,这里所提出的对NAND Flash的使用方法简单易行,基本上类似于对NOR Flash或SRAM的使用,存储器的物理地址对程序员来讲是透明的,易于理解和控制。

相关文章

基于WiFi智能插座的智能家居系统方案

完整的 Maxicom G3 智能家居控制系统

基于嵌入式和ZigBee技术的智能家居系统设计
相关资讯
RSA240电流检测芯片:突破-5V~100V宽压采集的国产解决方案

在工业自动化、新能源储能及多节电池管理系统中,高精度电流检测是保障系统安全与能效的核心环节。传统检测方案常受限于共模电压范围窄、抗浪涌能力弱、温漂误差大等痛点。国产RSA240系列电流检测芯片的推出,以**-5V~100V超宽共模输入范围和0.1%级增益精度**,为高压场景提供了突破性解决方案。

TMR134x磁开关芯片:高精度液位测量的工业级解决方案

在工业4.0浪潮推动下,液位测量作为过程控制的核心环节,其精度与可靠性直接影响化工、能源、汽车等关键领域的生产安全。传统霍尔传感器受限于功耗高、温漂大、响应慢等瓶颈,难以满足智能设备对实时性与稳定性的严苛要求。多维科技推出的TMR134x磁开关传感器芯片,通过隧道磁阻(TMR)技术突破传统局限,为高精度液位监测提供新一代解决方案。

英飞凌300mm GaN技术实现突破,2025年Q4交付客户样品

英飞凌科技股份公司近日宣布,其基于300mm(12英寸)晶圆的氮化镓(GaN)功率半导体量产技术已取得实质性突破,相关生产流程全面步入正轨。根据规划,首批工程样品将于2025年第四季度交付核心客户,标志着英飞凌成为全球首家在现有大规模制造体系内实现300mm GaN工艺集成的IDM(垂直整合制造)厂商。

AI浪潮推高日本芯片设备销量,2026年有望突破5万亿日元大关

日本半导体制造装置协会(SEAJ)7月3日发布修订报告,预计2025年度(2025年4月-2026年3月)日本半导体设备销售额将达48,634亿日元,同比增长2.0%,连续第二年刷新历史纪录。2024年度销售额同比暴涨29.0%至47,681亿日元,首次突破4万亿日元大关。更关键的是,2026年度销售额预计跃升至53,498亿日元(约合5.3万亿日元),年增10.0%,成为史上首个跨越5万亿日元大关的年度;2027年将进一步增长至55,103亿日元,实现连续第四年创新高。

2025年Q2中国智能手机市场:华为以12%增速重登榜首,补贴政策缩减或成下半年变数

市场研究机构Counterpoint Research最新报告显示,2025年第二季度中国智能手机市场同比小幅增长1.5%。这一温和回升主要由华为与苹果两大品牌驱动,其中华为以12%的同比增速领跑市场,时隔四年重回季度出货量第一宝座,而vivo则以9%的跌幅成为前五厂商中唯一下滑品牌。