10705|21

5979

帖子

8

TA的资源

版主

基于LM3S8962的网络收音机(三) --- VS1053(1) [复制链接]

VS1053简介

VS1053 是目前 VLSI 公司VS10xx 系列最强悍的芯片了,除了能播放各种音乐格式,还支持 OGG 实时编码录音。

http://www.vlsi.fi/en/products/vs1053.html

 

VS1053 特性:

n  Ogg Vorbis

n  MP3 = MPEG 1 & 2 audio layer III (CBR+VBR+ABR)

n  MP1 & MP2 = MPEG 1 & 2 audio layers I & II optional

n  MPEG4 / 2 AAC-LC(+PNS), HE-AAC v2 (Level 3) (SBR + PS)

n  WMA4.0/4.1/7/8/9 all profiles (5-384 kbps)

n  FLAC lossless audio with software plugin (upto 24 bits, 48 kHz)

n  WAV (PCM + IMA ADPCM)

n  General MIDI 1 / SP-MIDI format 0

 

结构框图:

  vs1053——1.jpg

VS1053模块:

vs1053.jpg

n  SPI接口,控制信号线均引出

n  1个耳机和音响输出接口

n  1个麦克风,用于录音

n  1line_in输入接口

n  电源指示灯

n  板载3.3V2.5V LDO 1117,最大提供800mA电流

n  单电源供电: +5VDC,电容滤波

n  12.288 Mhz晶振

n  PCB尺寸: 50x40.5 mm

 

这应该是ICDEV的东西,更详细的资料可以去他们论坛看看。

 

连接方式:

VS1053通过配置SM_SDINEW的值有两种控制方式

设置SM_SDINEW1

SM_SDINEW=1.jpg

 

 

设置SM_SDINEW0

  SM_SDINEW=0.jpg

 

在本次的实验中设置SM_SDINEW1,并且使用LM3S8962SSI接口

 

VS1053

LM3S8962

XCS

PC4

SCK

PA2

SI

PA4

SO

PA5

 

 

VS1053驱动设计,主要API如下所示:

 

vs1053_io_init()初始化:

  1. void vs1053_io_init()
    {
        /* init pin */
        SysCtlPeripheralEnable(VS_CTRL_PERI);
        _gpio_set_input(VS_CTRL_PORT, VS_DREQ);
        _gpio_set_output(VS_CTRL_PORT, VS_CSn | VS_RSTn | VS_DCn);
       
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
        _gpio_set_input(GPIO_PORTA_BASE, GPIO_PIN_4); /* ssi rx */
        _gpio_set_output(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_5); /* ssi clk | tx */

  2.     GPIOPinWrite(VS_CTRL_PORT, VS_CSn | VS_RSTn | VS_DCn,
                     VS_CSn | VS_DCn);
        GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_5, 0x00);
       
        GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);


  3.     /* init peri */
        SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
        // SysCtlPeripheralReset(SYSCTL_PERIPH_SSI0);
        vs1053_enable(VS_LOSPEED);

  4.     SSIDataPut(SSI0_BASE, 0xff);
        SSIDataPut(SSI0_BASE, 0xff);
        SSIDataPut(SSI0_BASE, 0xff);
    }

  5. [/code]

  6.  

  7. void vs1053_softreset() 配置vs1053相关寄存器,并复位vs1053

  8. [code]

  9. void vs1053_softreset()
    {
        _ssi_wait();    
        VS_CSn_HIGH();
        VS_DCn_HIGH();
        VS_RSTn_LOW();
        SysCtlDelay(1 << 22);
        VS_RSTn_HIGH();
        SysCtlDelay(1 << 22);

  10.     vs1053_sci_write_reg(SCI_MODE, 0x0804);//0x0804 );//| (1<<9));
        vs1053_sci_write_reg(SCI_CLOCKF, 0x9800); //3倍频
       vs1053_sci_write_reg(SCI_AUDATA, 0x00);
        vs1053_sci_write_reg(SCI_VOL, 0x0b0b);}

复制代码

 

void vs1053_sci_write_reg(char addr, unsigned long data) 写vs1053的相关寄存器

  1. void vs1053_sci_write_reg(char addr, unsigned long data)
    {
        unsigned int timeout;
       
        _ssi_wait();
        VS_DCn_HIGH();
        VS_CSn_LOW();
        _ssi_readwrite(VS_WRITE_COMMAND | addr);
        _ssi_readwrite(data);
        VS_CSn_HIGH();

  2.     switch(addr)
        {
        case SCI_MODE:      timeout = 30000; break;
        case SCI_STATUS:    timeout =   150; break;
        case SCI_BASS:      timeout =  1500; break;
        case SCI_CLOCKF:    timeout = 30000; break;
        case SCI_WRAM:      timeout =   150; break;
        case SCI_WRAMADDR:  timeout =   150; break;
        case SCI_VOL:       timeout =  1500; break;
        default:
            timeout = 3000; break;
        }

  3.     for(; timeout!=0; timeout--)
        {
            // SysCtlDelay(1<<10);
            if(VS_DREQ_READ())
            {
                break;
            }  
        }


  4. }

复制代码

 

unsigned long vs1053_sci_read_reg(char addr) 读vs1053的相关寄存器

  1. unsigned long vs1053_sci_read_reg(char addr)
    {
        unsigned int rev, timeout;

  2.     _ssi_wait();
        VS_DCn_HIGH();
        VS_CSn_LOW();
        _ssi_readwrite(VS_READ_COMMAND | addr);
        rev = _ssi_readwrite(0xffff); /* gives before gets */
        VS_CSn_HIGH();

  3.     switch(addr)
        {
        case SCI_MODE:      timeout = 30000; break;
        case SCI_STATUS:    timeout =   150; break;
        case SCI_BASS:      timeout =  1500; break;
        case SCI_CLOCKF:    timeout = 30000; break;
        case SCI_WRAM:      timeout =   150; break;
        case SCI_WRAMADDR:  timeout =   150; break;
        case SCI_VOL:       timeout =  1500; break;
        default:
            timeout = 3000; break;
        }

  4.     for(; timeout!=0; timeout--)
        {
            // SysCtlDelay(1);
            if(VS_DREQ_READ())
            {
                break;  
            }  
        }

  5.     return rev;
    }

复制代码

 

void vs1053_enable(char speed) 设置LM3S8962的SSI接口速率,并使能SSI接口

  1. void vs1053_enable(char speed)
    {
        unsigned long tmp;
       
        SSIDisable(SSI0_BASE);
       
        if (speed == VS_HISPEED)
        {
            SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
                               SSI_MODE_MASTER, 3000000, 16);
        }
        else
        {
            SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
                               SSI_MODE_MASTER, SysCtlClockGet()/50, 16);
        }
       
        SSIEnable(SSI0_BASE);
        while(SSIDataGetNonBlocking(SSI0_BASE, &tmp) != 0);
       
        vs1053_in_use = 1;
    }

复制代码

 

void vs1053_disable() 禁止LM3S8962的SSI接口

  1. void vs1053_disable()
    {
        unsigned long tmp;
       
        VS_CSn_HIGH();
        VS_DCn_HIGH();
        while(SSIDataGetNonBlocking(SSI0_BASE, &tmp) != 0);
        SSIDisable(SSI0_BASE);

  2.     vs1053_in_use = 0;
    }

复制代码

 

 

 

具体驱动代码见附件:

VS1053.rar (2.38 KB, 下载次数: 84)

最新回复

VLSI原厂新推出的VS1005/VS1205/VS8005已按照市场用量逐步量产了,开发板借用,已有样片,技术支持  详情 回复 发表于 2013-6-18 11:41

点评

现在vlsi最强悍的芯片是vs1005了,是世界目前最集成的音频编解码芯片,是vlsi最新推出的旗舰产品  详情 回复 发表于 2012-12-24 16:36
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复
举报

1万

帖子

16

TA的资源

版主

楼主的模块哪里买的

点评

vlsi大陆区授权代理,提供开发板,样片,资料,QQ2355355257  详情 回复 发表于 2012-12-24 16:23
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

楼主的模块应该是在ICDEV买的,这个模块我是相当的多 ,最近手里的项目就是这个了,最新的模块是1063了,支持MP3压缩,我们目前基本上做到网络实时广播,下载定时播放,双向对讲通讯等功能了,下一步准备用DSP自己写MP3编解码,支持G729,加上WIFI无线通讯功能,基本就是做个多功能WIFI手机、电话吧,其实这个里面实时广播最难的是MP3流的发送算法,不是那么好弄的,我都是搞了好久才解决的,现在无论什么码率的MP3都能流畅播放了

点评

VLSI原厂新推出的VS1005/VS1205/VS8005已按照市场用量逐步量产了,开发板借用,已有样片,技术支持  详情 回复 发表于 2013-6-18 11:41

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

我用的主芯片不是8962+1053,而是用的6911+1003

点评

vlsi大陆区授权代理,提供开发板,技术支持,样片,vs1053 vs1003 vs1011 vs1063 vs1005 vs1000  详情 回复 发表于 2012-12-24 16:28

回复

5979

帖子

8

TA的资源

版主

哈哈 早知道把那个项目介绍给你了
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

5979

帖子

8

TA的资源

版主

多多指教啊
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

86

帖子

0

TA的资源

一粒金砂(中级)

学习,有空试试

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

回复 5楼 chenzhufly 的帖子

什么项目哦?下次有项目大家可以合作哈,我现在手里有个团队,软硬件方面的都有,很多项目都可以接

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

回复 6楼 chenzhufly 的帖子

不知道有多少人想耍一下。可以考虑组织这个模块的团购吗?

[ 本帖最后由 Study_Stellaris 于 2011-10-10 11:48 编辑 ]

回复

5979

帖子

8

TA的资源

版主

回复 8楼 fengzhang2002 的帖子

哈哈 不错不错 下次有项目直接找你

矿用广播系统
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

5979

帖子

8

TA的资源

版主

回复 9楼 Study_Stellaris 的帖子

目前还不知道啊 呵呵
有需要的话直接从淘宝买 64元/块
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

回复 10楼 chenzhufly 的帖子

呵呵,我就是专业做这个的哈,软硬件都没有问题,这个要设计本安防爆这些工艺上的了,很多已经超出电子设计范畴了,我的团队都是做了10年以上的了

回复

80

帖子

0

TA的资源

一粒金砂(中级)

回复 12楼 fengzhang2002 的帖子

牛人呀,求包养···,哈哈

回复

349

帖子

0

TA的资源

一粒金砂(中级)

学习,有空试试

回复

66

帖子

0

TA的资源

一粒金砂(中级)

先学习,腾出手,也来整一个

回复

5979

帖子

8

TA的资源

版主

欢迎加入啊 势单力薄 亟待补充队员
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

3

帖子

0

TA的资源

一粒金砂(中级)

VS1053

VS1053  我QQ2314116323  有需要 联系我

回复

3

帖子

0

TA的资源

一粒金砂(中级)

VS1053

VS1053  我QQ2314116323  有需要 联系我

回复

15

帖子

0

TA的资源

一粒金砂(中级)

回复 沙发 ddllxxrr 的帖子

vlsi大陆区授权代理,提供开发板,样片,资料,QQ2355355257

回复

15

帖子

0

TA的资源

一粒金砂(中级)

回复 4楼 fengzhang2002 的帖子

vlsi大陆区授权代理,提供开发板,技术支持,样片,vs1053   vs1003   vs1011  vs1063   vs1005     vs1000

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表