OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11192|回复: 9

VS1503 高低音配置

[复制链接]

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
发表于 2012-4-26 21:10:57 | 显示全部楼层 |阅读模式
怎么配置比较合理,像一般播放器上出现的pop,rock,jazz,classic,vocal模式~~
有木有一般的配置方式啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-26 23:07:14 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
 楼主| 发表于 2012-4-26 23:19:43 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
自个钻研~~
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2012-4-27
在线时间
0 小时
发表于 2012-4-27 11:05:12 | 显示全部楼层
城要帮助,请联系我
VLSI-代理.我这里提供,开发板,样片,技术资料.15361638451
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2012-4-27
在线时间
0 小时
发表于 2012-4-27 11:15:06 | 显示全部楼层
VS1053的应用其实非常简单,基本的步骤如下:

    1. 编写好SPI总线驱动代码;

    2. 编写好VS1053初始化代码;

    3. 编写正弦波测试代码;

    4. 内存测试代码。

完成以上几个步骤后就可以进行MP3解码了。

/**************************************************************************************
* FunctionName: VS1053SineTest()
* Description : 正弦波测试
* EntryParameter: freq - 测试频率  0x24,0x44等
* ReturnValue : None
**************************************************************************************/
void VS1053SineTest(uint8 freq)
{
    uint8 i;
    uint8 test[] = {0x53, 0xEF, 0x6E, 0x24, 0x00, 0x00, 0x00, 0x00}; // 向vs发送正弦测试命令
 uint8 back[] = {0x45, 0x78, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00}; // 向vs发送退出测试命令

 VS_XRESET_CLR();         // xreset = 0
 VS1053_Delay(100);
 SSP1Send(0xFF);                      // 发送一个字节的无效数据,启动SPI传输

    VS_CS_SET();                         // cs = 1
 VS_XDCS_SET();             // xdcs = 1
 VS_XRESET_SET();         // xreset = 1
 VS1053_Delay(100);

 VS1053WriteReg(VS_SCI_MODE, 0x0820); // enter vs1003 test model
 while (VS_DREQ_PIN() == 0);          // wait for DREQ Highlevel

 GPIOSetValue(1, 2, 0);     // xdcs = 0
 test[3] = freq;       // 写入频率
 for (i=0; i<8; i++)
 {
     VS1053WriteData(test);   // 程序执行到这里后应该能从耳机听到一个单一频率的声音
 }

 VS_XDCS_SET();             // xdcs = 1
 VS1053_Delay(100000);

 GPIOSetValue(1, 2, 0);     // xdcs = 0
 for (i=0; i<8; i++)
 {
     VS1053WriteData(back);   // 退出正弦测试
 }

 VS_XDCS_SET();             // xdcs = 1
 VS1053_Delay(200);
}

/**************************************************************************************
* FunctionName: VS1053RamTest()
* Description : 内存测试,0x8000表示测试完成,0x83FF表示完好
* EntryParameter: None
* ReturnValue : 完好返回0,否则返回1
**************************************************************************************/
uint8 VS1053RamTest(void)
{
    uint16 res = 0x0000;
 uint8 i;
    uint8 test[] = {0x4D, 0xEA, 0x6D, 0x54, 0x00, 0x00, 0x00, 0x00}; // 

 VS_XRESET_CLR();     // xreset = 0
 VS1053_Delay(100);

 SSP1Send(0xFF);
    VS_CS_SET();                         // cs = 1
 VS_XDCS_SET();             // xdcs = 1
 VS_XRESET_SET();         // xreset = 1
 VS1053_Delay(100);
 
 VS1053WriteReg(VS_SCI_MODE, 0x0820); // Allow SCI tests
 while (VS_DREQ_PIN() == 0);          // wait for DREQ Highlevel

 //After this sequence wait for 1100000 clock cycles.
 //The result can be read from the SCI register SCL_HDATA0  
    GPIOSetValue(1, 2, 0);     // xdcs = 0
 for (i=0; i<8; i++)
 {
     VS1053WriteData(test);   // 写入测试代码
 }

 VS_XDCS_SET();             // xdcs = 1 
 VS1053_Delay(10000); 
 res = VS1053ReadReg(VS_SCI_HDAT0);   // 如果得到的值为0x83FF,则表明完好。

 return ((res == 0x83FF) ? 0: 1);    // 返回测试结果
}


/**************************************************************************************
* FunctionName: VS1053Play()
* Description : MP3播放
* EntryParameter: None
* ReturnValue : None
**************************************************************************************/
uint8 VS1053Play(uint8 *mp3File)
{
    uint8 i, key = 0, pauseFlag = 0;
 uint16 k;
    FATFS fs;               /*Work area (file system object) for logical drive*/
    FIL file;               /*file objects*/
 UINT  br;               /*File R/W count*/
 FRESULT res;

 /*Register a work area for logical drive 0*/
    f_mount(0, &fs);
    /*Create file*/
 res = f_open(&file, (const TCHAR *)mp3File, FA_OPEN_EXISTING|FA_READ);

 if (res == FR_OK)
 {
     while (1)
  {
      res = f_read(&file, MMCBuf, 512, &br);
   k = 0;
   do
   {
    if (VS_DREQ_PIN() == 1)                         // 判断VS是否空闲
    {
         for (i=0; i<32; i++)
      {
             VS1053WriteData(MMCBuf[k++]);               // 发送MP3数据
      }
    }

   } while (k < 511);

   if ((res != FR_OK) || (br < 512))                         // 判断数据是否读完
   {
    break;
   }
  }
 }

 /*Close all files*/
    f_close(&file);      // 关闭文件,必须和f_open函数成对出现
    /*Unregister a work area before discard it*/
    f_mount(0, 0);

    return key;              // 返回
}

VLSI-代理.我这里提供,开发板,样片,技术资料.15361638451
回复 支持 反对

使用道具 举报

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
 楼主| 发表于 2012-4-27 12:03:25 | 显示全部楼层
回复【4楼】z53946562:
---------------------------------
就需要一些基本的高低音配置~~能帮忙么?
回复 支持 反对

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
发表于 2012-4-27 12:04:51 | 显示全部楼层
音调这个东西看个人喜好的吧,比如我就喜欢重音高一点
回复 支持 反对

使用道具 举报

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
 楼主| 发表于 2012-4-27 18:28:44 | 显示全部楼层
回复【7楼】以枫之名:
---------------------------------
嗯~~有一次我乱赋值~~结果出来的效果还不错
回复 支持 反对

使用道具 举报

44

主题

260

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2012-3-8
在线时间
29 小时
发表于 2012-4-28 14:08:24 | 显示全部楼层
回复【8楼】barden:
---------------------------------
这个慢慢调到自己喜欢的就可以了,和音响也有点关系,比如我用耳机的话,把重音调到最高,也没什么问题,如果是用功放,就太高了
回复 支持 反对

使用道具 举报

18

主题

162

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2012-4-4
在线时间
0 小时
 楼主| 发表于 2012-4-30 11:47:26 | 显示全部楼层
回复【9楼】以枫之名:
---------------------------------
en ~暂时还没用到功放
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 19:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表