- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ID200及Micro SD卡DAB音频解码系统软件设计
基于ID200及Micro SD卡DAB音频解码系统软件设计摘 要:本文将阐述基于ID200和Micro SD卡的DAB音频解码系统的软件设计,该设计的主要任务就是为用户提供一个信息丰富而且操作简单的可视化液晶界面,同时实现存储在Micro SD卡上的DAB音频数据流的回放功能。
关键词:DAB Micro SD 音频解码
中图分类号:TP2 文献标识码:A 文章编号:1672-3791(2012)09(a)-0015-01
1 设计总体思想
基于ID200芯片和MicroSD卡的DAB音频解码部分的软件设计[1]总体上是按照操作性强、可视化、稳健性等特点出发,进行了整体设计,尽可能让结构更加灵活,以便于移植和扩展。
2 软件设计流程
本软件程序设计采用按键中断,信息显示,确认选择,调用操作函数的流程进行。
首先,用户按下回放启动按键给MCU产生中断信息,MCU识别该按键信息后转入执行回放启动程序,同时显示进入回放进程。此时MCU将配置基带解码芯片(ID200)为回放模式;启动SPI总线并设置供给Micro SD卡启动的时钟(250kHz),然后上电Micro SD卡并进行初始化,使其进入SPI模式,紧接着就是获取卡的配置参数,计算出当前接入系统的Micro SD卡的基本结构扇区。然后重新配置Micro SD卡工作的时钟,提高其工作频率,此时需要的工作频率为8MHz。自此Micro SD卡将开始正常工作,MCU先驱动SPI总线通道选择Micro SD卡,根据已经读取并计算出的各种参数信息,直接读取根目录表(FDT表)的第一个文件登记项,并提取文件名称、文件存储的首簇号、文件长度等信息,然后关闭选择Micro SD卡的SPI总线通道。当MCU获得的文件名称,文件编号后,通过ASCII码转换,再打开SPI通道选择液晶模块,驱动液晶将这些信息显示出来供用户查看,此时液晶屏上会将显示文件名称、文件编号、按键指南等信息供用户查看和操作。然后MCU将再次关闭SPI总线通道。
接着,MCU将等待用户的选择命令——按键选择操作。如果用户在查看文件名称等信息后需要回放DAB音频文件,那么就按键操作“确认播放”;如果用户在查阅文件名称等信息后想继续查看下一个文件信息,那么用户可以按键选择“NEXT”,选择下一曲,MCU将再次打开SPI通道选择Micro SD卡,开始访问Micro SD卡的根目录表(FDT表),读取下一个文件的登记信息,同时提取相应的文件名称、文件存储的首簇号、文件长度等信息,并驱动液晶显示这些信息,以供用户查阅。此时用户可以根据自己的喜好进行“前一曲”或者“下一曲”的选择,然后进行按键“确认回放”。
在确认回放之后,MCU开始根据文件存储的首簇号计算获取该文件在数据区中存储的起始扇区,同时根据文件长度计算该文件所占的扇区数,然后启动SPI总线通道选择Micro SD卡,根据文件存储的起始扇区从Micro SD卡中读取第一个扇区的信息(512个字节),存入MCU的专用缓存器中,提取DAB音频帧的帧头信息,用来识别采样率、比特率、声音模式等信息,同时驱动液晶并将这些信息显示在液晶上供用户查阅。在识别了采样率之后,如果采样率为48kHz的节目,MCU将每隔24ms向基带的SRAM相应地址空间存储一帧数据,供基带在此段时间里完成一帧数据的解码。48kHz采样率节目的一帧数据长度如式(1)所示。
在这24ms中,基带将对这一帧数据进行MPEG L2的音频解码,但是此时SPI总线已经释放,未进行任何操作。MCU将检测片内缓冲区中的数据是否还能够保证下一帧的发送数据量,如果该数据量(Bytes)能够满足下一帧的发送量,SPI将继续等待启用;但是如果该数据量(Bytes)不能够满足下一帧的发送量时,MCU将立即启动SPI总线通道,选择Micro SD卡,再次读取下一个扇区的数据,按顺序保存到MCU的片内缓冲区内,以供下一个24ms发送给基带芯片。
对于基带解码部分,当DAB音频数据帧的帧头被解码后,其内部时钟均已配置完成,通过它将配置通往Audio DAC芯片的I2S通道的时钟。此时MCLK为12.5MHz,LRCK为48kHz,SCLK为3MHz。采用RIGOL DS5102CA示波器测得的时钟频率分别为12.49MHz、48.08kHz、3.028MHz。基带解码芯片完成一帧解码后输出PCM采样点给Audio DAC芯片,经其转换后通过耳机或者通过功放芯片驱动喇叭就可以听到美妙的DAB节目的声音了。
如果识别的采样率为24kHz,那么MCU将每隔24ms向基带的SRAM相应地址空间存储半帧(1/2)数据,供基带在此段时间里完成1/2帧数据的解码。24kHz采样率节目的半帧数据长度如式(2)所示
文档评论(0)