VS1000 TinyPlayer 制作

发布: 2009-6-15 21:46 | 作者: bozai | 来源: StmFans思蜕盟 OPELC 自由电子联盟

前一阵子收到些VLSI代理商 联合技术有限公司 United Link Technology LTD  "Holmes Chan" <holmes_chan@unitedlink.hk> 赠送的VS1000,VS1053样片 和一块V2板子。在此表示感谢。

经过一阵子试用感觉VS1000不错,挺好玩的。于是自己仿制了个VS1000 TinyPlayer, 它的官方网页是:
http://www.vlsi.fi/en/support/ev ... 1000tinyplayer.html

先说说这个VS1000:
用过VS1003芯片的应该知道,里面有个VLSI的dsp芯片。 VS1003有个用户程序空间和数据空间,可以加载一些patch实现诸如频谱显示等功能。也可以通过spi flash启动不要单片机控制实现mp3功能。
VS1000里面就是这个DSP芯片,同VS1003不同的是,它不是纯粹的解码器。是具有ogg解码功能的控制器。用户可以编写程序来实现自己的功能。
VS1000芯片里已经固化了很多程序,通过调用这些程序就可以写自己的程序啦。

VS1000 本身自带两个功能:
USB声卡
nand flash ogg 播放器

ogg格式音乐,使用过Linux的网友应该比较熟悉,类似于mp3,不过没有版权问题,是一种免费的格式。

玩了一段时间V2,焊上未焊的spi flash和nand flash, 把所有的功能都实现了一遍。 于是先做了比较好玩的一个东西。 那就是tiny player.

TinyPlayer原有的功能有:
1.USB声卡
2.U盘
3.ogg播放器

板上有一块VS1000 和一片W25X16 (winbond 2MB spi flash)

自己做自然功能越多越好,首先想到的是把spi flash加大,网页上说可以支持到16MB,恰好我有几块MX12805D (旺宏的16MB spi flash)
另外在V2上有实现 wav 播放,第二个就是加这个了。 第三就是要做小点,可以当U随身带。

利用上周末,我把这个做出来,洞洞板上做的。 先看看图:


Resize of DSCN2988.JPG



Resize of DSCN2993.JPG



Resize of DSCN2997.JPG



Resize of DSCN3000.JPG



Resize of DSCN3009.JPG



VS1000的开发很简单,VLSI官方有提供免费的编译器。不过是DOS环境的,没有GUI。可以从官网下载最新的1.34b 版本的编译器:
http://www.vlsi.fi/en/support/software/vs1000tools.html
这个是直接连接: http://www.vlsi.fi/fileadmin/software/VS1000/vskit134b.zip

下载好编译环境后,解压到任意目录。我放在C盘,并把目录名改为vskit,因为里面的dos批处理文件默认的名字叫这个。
编译时首先打开command命令行窗口,进入编译器所在目录,进入vs1000b/c目录下,这个目录里有很多例子。
首先运行addpath 批处理文件,把编译器路径加到环境变量里 (注,这只是零时修改,只适用本次打开的命令行。 关掉命令行下次再打开需要再运行一次)。
然后敲命令如 build led 就可以了。注意led为文件名,不需要包含后缀,最后系统会生成一个 ee_led.img 和 nf_led.img文件,前一个是用在eeprom或者spi flash上的,后一个是nand flash里的。

TinyPlayer要烧写的是spi flash,VLSI有提供现成的烧写文件: http://www.vlsi.fi/fileadmin/sof ... lasher/VS1000_B.RUN
这个烧写的步骤是,短路spi flash的CS到地,插入电脑USB口,这样电脑会识别成一个U盘,有十几KB。
把烧写文件VS1000_B.RUN拷到那个盘里,在把生成的用于 eeprom或 spi flash 的img文件拷进去,弹出设备,慢慢的把盘,注意要慢,要听到电脑出声,并且tiny player还没断电。 因为烧写动作是在USB的数据线断开才开始的,拔太快自然烧不成了。 如果插耳机的话,烧好后耳机会发出低频嗡嗡声

对了,附上我的代码:代码

TinyPlayer.zip
(2009-06-15 21:46:05, Size: 347 KB, Downloads: 9)



这里面有我修改过的批处理文件,可以再任意文件夹运行,不需要每次运行addpath。
另外由于VS1000空间有限,无法一并实现wav播放功能。 不过VS1000可以加载文件系统中的可执行代码运行。 我又改写代码,去掉USB和spi flash写的函数,以腾出空间放播放wav的代码。 在目录app里有我改的代码。 到时候把这个代码拷到做好的u盘里就行了。

接着上面,烧好后,再插入tiny player 就会有一个U盘出来了。你可以对它进行格式化,推荐选快速格式化。 格式化完就可以工作了。 再拷入app里生成的.run文件就可以播放wav文件。

这样一个声卡,U盘,ogg/wav播放器就做成了。

更多信息到VLSI上看看吧,有不少功能, 接下来研究下VS1053,比VS1003 多了ogg/aac的播放,mp3也改进了很多,另外功过patch还可以实现ogg的录音。

近半年来很少上论坛了,一来工作忙,二来不再单身了。 半年内也DIY了几个小东西,有空也发到坛子里跟大家分享。
过一阵子我会一一整理出来。

这个芯片还不错,如果有兴趣并且可行的话网站可以搞个板子出来让大伙玩玩啊
binglin (2009-6-15 22:44:52)
呵呵,bozai一出手就是精品
jasonjee (2009-6-16 11:01:16)
看上去真的不错啊