当前位置:首页 > 消费电子 > 消费电子
[导读]摘要:提出一种在单片机系统中比较简单地使用大容量NAND Flash存储器的方法。与一般方法相比,编写应用程序的程序员不需要掌握计算机文件系统的规范,只要按照NAND Flash的读、写、擦除等时序对其进行操作,把NANDFl

摘要:提出一种在单片机系统中比较简单地使用大容量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的输出通过功放放大后送到喇叭放出声音。


    其中,在选择存储器时,应满足大容量、非易失、价格便宜等条件,根据上述条件,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.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中使用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 996~4 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的软件设计流程。


    对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的使用,存储器的物理地址对程序员来讲是透明的,易于理解和控制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

黑石(Blackstone Group)公布2022年第三季度财务业绩。季度营收10.58亿美元,上年同期为62.24亿美元,同比下降83%。归属于公司净利润为229.6万美元,上年同期为14.02亿美元。总资产管理规模...

关键字: GROUP ST CK AC

很多同学便把这个结论应用于所有场景,这是不对的,今日特撰新文,补充、拓宽下电阻噪声的问题,以及使用采样电阻的注意事项(ir drop+0 Ωpdn),环环相扣,欢迎点赞、收藏、转发。正所谓阴在阳之内,不在阳之对。凡事有坏...

关键字: 电阻 噪声 电压

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

世界上最大的两家资产管理公司贝莱德(BlackRock)和先锋(Vanguard)等金融机构已在英国一项问询中表示,它们将继续投资化石燃料,并且不认同气候变化计划要求停止新的煤炭、石油和天然气投资的观点。贝莱德是试图采取...

关键字: CK 天然气 AN AC

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

消费电子

95933 篇文章

关注

发布文章

编辑精选

技术子站

关闭