"); //-->
摘要:k9f6408u0a是三星公司生产的与非型64兆位快闪存储器,它具有工作电压低、擦写速度快、体积小等优点。spds202a的台湾凌阳公司生产的语音芯片。文中介绍了以spds202a为核心的数码录音系统,同时介绍了实现两片k9f6408u0a之间拷贝功能的具体方法。最后给出了相关的硬件接口及软件程序。
关键词:k9f6408u0a 快闪存储器 spds202a 拷贝
1 k9f6408u0a的性能简介
k9f6408u0a为44脚表面封装器件,它在工作电压是2.7~3.6a,特别适合消费类电子低功耗、宽电压的要求。它内部有(8m+256k)bit×bit存储单元阵列,由16384行、528列组成。它的结构为1024块,每块16页,每页有(8k+256)字节,可以对它进行页读、写和块擦除操作。它内含一个(512+16)字节的数据寄存器,可用于页读、写操作时的存储单元数据转换。k9f6408u0a的最大优点在于其命令、数据和地址均可通过8条i/o口线与主控制器进行通信。这样就大大简化了系统的连线,增强了系统的稳定性。除8条i/o口线外,k9f6408u0a还包括以下几条控制线,从而可方便地实现系统主控制器对k9f6408u0a的控制。它们分别为:
cle:命令锁存使能端,高电平有效。在we信号的上升沿,命令信号可通过i/o口锁入命令寄存器。
ale:地址锁存使能端,高电平有效。在we信号的上升沿,地址信号可通过i/o口锁入地址寄存器。
ce:片选线,低电平有效。在页编程或块擦除操作期间或器件处于忙状态时,ce高电平将被忽略。
we:写使能口,命令、地址和数据在we信号的上升沿被锁定。
re:读使能口,在该口的下降沿将数据送到i/o口线上,并使内部列地址寄存器增1。
wp:写保护口,低电平有效。当其为低时,编程和擦除操作禁止。
r/b:操作状态指示信号。为低时,表示正在编程、擦除或读操作,操作结束后变高。
2 spds202a简介
spds202a是台湾sunplus公司生产的性价比很高的语音芯片,它可以非常方便地与主机接口,主机通过发命令码来控制语音芯片的录音、放音等功能。它具有以下特点:
●为单片音频/语音编码/解码芯片,采用sacm-s480或sacm-s3200压缩和解压算法。具有8khz采样率,其数据低码率为4.8kbps或32kbps;
●具有数字音量控制功能;
●具有flash管理功能,可在内部自动管理flash数据,其标准flash接口最多可以连接4片flash,共64mbit。
●利用uart接口可以方便地与pc机及其它rs232器件接口,并可容易地上传或下载数据;
●内嵌锁相环电路;
●内嵌高品质10位8khz adc和dac;
●功耗低,采用2.8v~3.6v工作电压。
由于spds202a具有以上特点,因此只需增加极少的外围电路就可构成大容量的语音录放系统。
3 数码录音系统的构成
以spds202a为核心,以华邦公司的w78e58为主控制器的数码录音系统结构图如图1所示,w78e58与mcs-51系列单片机兼容,其内置的32kflash eeprom可作为程序存储器,而内置的256字节sram很适合k9f6408u0a的磁编程操作。
图2所示为w78e58和spds202a硬件接口电路。图中,tadce为片选信号线,可在其上升沿锁存命令/数据。tadsel1和tadsel0是命令选择信号线,其功能如表1所列。
表1 命令选择信号线的功能
tadd7~tadd0为8位数据线。它在工作时,主控制器的spds202a发送三个字节的数据,其中,第一个字节总是0ffh,第二个字节为命令码低字节,第三个字节命令码高字节;然后再由主控制器接收从spds202a返回的两个字节的数据。二者之间的通信程序如下(用c51编写):
void mcu_202_comm(void) /*muc和spds202a通信程序*/
{via=0xff; /*第一字节送0ffh*/
sendonedata( ); /*调用发送一字节数据子程序*/
via=cmdl; /*第二字节送命令码低字节*/
sendonedata( );
via_cmdh; /*第三字节送命令码高字节*/
sendonedata( );
echol=readonedata( ); /*读返回数据*/
echoh=readonedata( );
}
下面以录音功能的实现程序为例,可以很清楚地说明系统是如何工作的。
void record(void)
{cmdl=0x00; /*发送录音命令码*/
cmdh=0x10;
mcu_202_comm( );
if(err=1) /*如果发生错误,则返回*/
{err=0;
return;
}
}
可以看出,系统是通过主控制器向spds202a发送一系列控制命令码来实现其功能的。
4 复制功能的实现
为了能够保存和备份所录信息,应当考虑实现一种拷贝功能,即将一片k9f6408u0a上的信息完全复制到另一片上。实现这一功能的硬件接口电路如图3所示。图中,两片k9f6408u0a除片选线分开外,其余信号线均复用。采用如下程序可实现复制功能:
void copy(void)
{fceb2=1;
fceb1=0; /*选中第一片flash*/
for(rowadd2=0;rowadd2<64;rowadd2+ +)
{for(rowadd1=0;rowadd1<256;rowadd1+ +)
{blockerase ( );} /*调用块擦除子函数,将第一片flash内容擦除*/
}
for(f1rowadd2=0,f2rowadd2=0;(f1rowadd2<64)
& &(f2rowadd2<64);f1rowadd2+ +,
f2rowadd2+ +)
for(f1rowadd1=0,f2rowadd1=0;
(f1rowadd1<256)& & (f2rowadd2<256);
f1rowadd1+ +,f2rowadd1+ +)
for(f1coladd=0,f2coladd=0;(f1coladd<256)& &(f2coladd<256);f1coladd=f1coadd+128;f2coladd=f2coladd+128)
{ce1=1;
ce2=0;
setpointer=0x00;
f1rddata( ); /*调用从第一片flash读数据子函数*/
ce2=1;
ce1=0;
senddata( );/*调用向第二片flash页寄存器送数据子函数*/
ce1=1;
ce2=0;
setpointer=0x01; /*设置页寄存器指针指向页寄存器后半部分*/
f1rddata( );
ce1=1;
ce2=0;
senddata( );
fwrdata( ); /*执行页编程命令,将数据写入第二片flash*/
}
}
}
}
5 结束语
利用这种由语音芯片和容量flash组成的数码录音系统,即可在一片64mbit flash上记录长达3.7小时的语音信息。同时,为了能够保存所记录的信息,还可利用本文介绍的拷贝方法实现两片flash之间的拷贝。该系统可广泛应用于需要长时间语音记录的场合。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
洗牌在即,哪些车企才能活下去?
Chiplet,至关重要
国际电子网 大型电子行业门户 诚招友情链接 ttp://elec.cc/
英伟达AR眼镜专利曝光:无背光全息技术 更清晰自然
采用一个运算放大器的施密特触发器电路
MSP430 学习套件(四)
MSP430 学习套件(三)
MSP430 学习套件(五)
《嵌入式Linux开发趋势》视频
带有反相和同相输出的施密特触发器电路
极越原地解散,产品上有哪些值得吸取的教训和经验?
具有恒定输出电平的施密特触发器电路
《嵌入式Linux的移植》PDF课件下载
《嵌入式Linux开发要点》视频下载
功率施密特触发器电路
《嵌入式Linux开发要点》PDF课件下载
有谁做过EasyARM2200教学实验平台上的Vxworks开发?
SL811B U盘读写开发板
机械硬盘的未来在哪里?
MSP430 学习套件(一)
Solidigm 退出消费级 SSD 市场,转向数据中心
正在选型,请问AT91RM9200和S3C2410A要多少钱呢?
《嵌入式Linux开发趋势》PDF课件下载
快速施密特触发器电路
MSP430 学习套件(二)
tffs移植续
半导体ODM巨头们,有了新方向
Micro-LED乘风破浪,新型显示技术加速产业化
英伟达AR眼镜专利曝光 无背光设计更自然
DC-DC电源设计要点