在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2280|回复: 1

[原创] 目前最集成的音频芯片 VS1005

[复制链接]
发表于 2013-4-9 13:56:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
1005.jpg 未命名.jpg 1005.jpg

音频编解码芯片vs1005最新型号 DATASHEET.pdf (2.03 MB, 下载次数: 9 )

模拟硬件特性                                                      
      ●3通道24位音频ADC。                                         
  ●双24位音频DAC。                                   
  ●30欧立体声耳机驱动器。                           
  ●内置麦克风放大器。                                
  ●RDS立体声调频无线电接收机。                       
  ●10位ADC,3-5个外部输入。                          
  ●单电源操作,内置四个可编程调节器。               

数字硬件特性  
      ●100MIPS VS_DPS4处理器核心。                       
  ●128KB的程序RAM及128KV的数据RAM。                             
  ●受保护的8Mbit FLASH(可选)。                     
  ●USB2.0高速设备/主机(480Mbit/S)。               
  ●I2S和SPDIF数字音频接口。                          
  ●EEC模式的NAND FLASH接口。                        
  ●SD卡接口。                                       
  ●2路SPI总线接口。                                 
  ●10BaseT以太网控制器。                             
  ●UART接口。                                                                           
      ●所有数字引脚均为用户配置通用IO。
      ●灵活的时钟选择,默认12.288MHz下操作。
      ●内置数字逻辑使用的锁相环时钟倍频器。
      ●电池备份存储的实时时钟RTC。
      ●里德-所罗门纠错。   
      ●通过JTAG可以使用VSIDE进行硬件调试。  

固件特性
      ●解码格式:MP3,WMA,OggVorbis,AAC,HE- AAC,FLAC,WAVPCM。                                       
      ●编码格式:MP3,OggVorbis,WAVPCM。
      ●对SD卡和NABD FLASH的文件读写。
      ●FM调谐器和RDS解码器。
      ●USB主、从库。
      ●电阻触摸屏图形显示。
      ●大规模音频信号DSP库。
      ●以太网IP协议栈。
      ●大规模可定制VSIDE
      ●灵活的启动选项。




音频编解码芯片vs1003 DATASHEET.pdf (637.48 KB, 下载次数: 6 )

音频编解码芯片vs1053 DATASHEET.pdf (820.16 KB, 下载次数: 6 )

音频编解码芯片vs1063 DATASHEET.pdf (1017.64 KB, 下载次数: 6 )

音频编解码芯片vs1011 DATASHEET.PDF

484.12 KB, 下载次数: 7 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2013-5-16 16:07:46 | 显示全部楼层
stm32 与VS1003的接口设置
第一点,STM32的端口设置,设置为SCK和MOSI复用推挽,而片选设为推挽输出即可,MISO设为input floating即可。
第二点,因为VS1003控制寄存器是八位数据读写的,所以STM32需要设置发送和接收数据也是八位的。
第三点,根据VS1003的时序关系,需要设置STM32的时钟信号的相位和极性为CPOL为0,CPHA为0。
第四点,NSS模式需要设置软件模式,这样就可以利用另作他用了,可以用GPIO口控制作为片选了。

这里贴一下源码



  1. void  SPI1_Init(void)
  2. {   
  3.      SPI_InitTypeDef SPIStruct_Init;
  4.      SPIStruct_Init.SPI_Direction = SPI_Direction_2Lines_FullDuplex;    //配置SPI为全双工模式
  5.      SPIStruct_Init.SPI_Mode = SPI_Mode_Master;        //配置SPI为主模式
  6.      SPIStruct_Init.SPI_DataSize = SPI_DataSize_8b;    //配置SPI为8位数据传送
  7.      SPIStruct_Init.SPI_CPOL = SPI_CPOL_Low;           //配置CPOL为低
  8.      SPIStruct_Init.SPI_CPHA = SPI_CPHA_1Edge;         //配置CPHA为第一个上升沿
  9.      SPIStruct_Init.SPI_NSS = SPI_NSS_Soft;            //配置NSS为软件控制
  10.      SPIStruct_Init.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;   //配置SPI时钟预分频
  11.      SPIStruct_Init.SPI_FirstBit = SPI_FirstBit_MSB;   //配置传输字节高位在前
  12.      SPIStruct_Init.SPI_CRCPolynomial = 7;             //配置CRC,可不用理
  13.      SPI_Init(SPI1,&SPIStruct_Init);                   //SPI初始化函数   
  14.      SPI_Cmd(SPI1, ENABLE);                            //使能SPI
  15. }
  16. void Mp3WriteRegister(uint8_t addressbyte,uint8_t high,uint8_t low)
  17. {         
  18. Mp3DeselectData();   //释放数据端口
  19. Mp3SelectControl();  //选择控制端口
  20.       
  21.         while(!SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE)); //判断发送缓冲器是否为空   
  22.         SPI_I2S_SendData(SPI1,VS_WRITE_COMMAND);    //发送写寄存器命令
  23.             
  24.         while(!SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE));
  25.         SPI_I2S_SendData(SPI1, addressbyte);        //发送寄存器的地址
  26.            
  27.         while(!SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE));
  28.         SPI_I2S_SendData(SPI1, high);              //发送参数的高八位
  29.       
  30.         while(!SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE));
  31.         SPI_I2S_SendData(SPI1, low);              //发送参数的低八位      
  32. Mp3DeselectControl();
  33. }



  34. /*************************************************************/
  35. /*  函数名称 :  CheckVS1003B_DRQ(void)                             */
  36. /*  函数功能 : 判断DREQ引脚状态                             */
  37. /*-----------------------------------------------------------*/
  38. bool CheckVS1003B_DRQ(void)
  39. {
  40. bool bResult;
  41. bResult =GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4);
  42. return(bResult);
  43. }



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

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 08:33 , Processed in 0.017734 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表