[项目]搞个开源的硬件项目

发布于 2009-07-22 09:51:42
前几天shaolin说起,是否大家也共同整个项目来玩玩。

因为是第一个,还是从简单的入手,用STM32F107来做一个网络收音机,播放互联网中的mp3流。用STM32F107VC有个好处,一个是集成EMAC,加上PHY芯片就有网络功能了。另一个是集成了音频用的I2S。不知道软解mp3的可能性有多大。

有兴趣的还请多讨论!
stm32f103ze.jpg
musicpal.jpg

查看更多

关注者
0
被浏览
18.6k
25 个回答
bernard
bernard 2009-07-22
软件上:
RT-Thread,RT-DFS,LwIP网络协议栈。mp3音频文件分析,自己写

优易特的STM32F107开发板出来后,可以先在上面跑软件,争取这个硬件能够做得经典一些。
xfocus
xfocus 2009-07-22
优易特的板子什么时候出来? 需要在它上面改硬件吗?
aozima
aozima 2009-07-22
拒绝白嫖,拒绝键盘侠!
有兴趣...
不过比较关注107的小批量价
最近也可能要用到ETH等
shaolin
shaolin 2009-07-22
感兴趣的同志报个名吧,一起组织个讨论
bernard
bernard 2009-07-23
项目实施的步骤:
1、确认STM32的mp3软解能力
|
V
2、如果无问题,硬件将采用软解方案;否则则要准备硬解方案了。
3、硬件制板及焊接、调试。
4、准备 & 完善相应的软件细节。

鉴于目前STM32F107比较难拿到货,先在优易特的STM32F103ZE开发板上试试软解部分的工作。
bernard
bernard 2009-07-23
优易特的板子什么时候出来? 需要在它上面改硬件吗?


说是最近一段时间,应该会简化再加些东西吧,否则成本下不来。
aozima
aozima 2009-07-23
拒绝白嫖,拒绝键盘侠!
嗯 如果做的话!
肯定尽量用芯片自带的功能
如ETH OTG等
不然用这个芯片DIY就没意义了
(如别人说的用VS1003等)

成本嘛当然要低,不然受益面积太小了
bernard
bernard 2009-07-24
对于这个项目,软解是其中一个非常重要的部分,否则就是硬件成本的增加。如果需要硬解的话,那么对这个项目的兴趣就不是太大了。

通常网络上存在三种应用很广泛的音频流:
mp3,一般采用shoutcast传播,也即http协议
wma,一般采用mms传播
realaudio,一般采用rstp传播

传输协议通常不是和音频格式绑定的,毕竟关键是看播放器如何播放。realaudio格式支持肯定无望了,mp3应该说最容易,第一步只会实现mp3软解播放及shoutcast协议(用shoutcast协议的好处是,可以自己很方便的架一个shoutcast服务器,便于调试),可能还会包括asx文件格式解析。mp3软解会考虑用libmad库,这是一套整数算法解码的库,应用于嵌入式系统无疑是最合适的了。
bernard
bernard 2009-07-24
看看1000¥左右的网络收音机是什么样子的:
来自Freecom公司的无线数字网络收音机。不用打开电脑就可以播放数字网络广播。也可以通过无线局域网从你的电脑播放MP3音乐。

特性:
- 无线数字网络广播和MP3播放器
- 不用打开电脑播放网络广播
- 从你的电脑或网络播放MP3音乐
- 几秒钟就能安装完, 轻松设置
- 支持一万多个网络广播电台
- 支持MP3、WAV和WMA
- 闹钟功能:用你最喜爱的音乐播放来叫醒。MusicPal是一台带有闹钟、睡眠和止闹功能的全

能时钟收音机
- 显示实时的RSS新闻/博客。MusicPal可以显示最新的新闻、你本地的天气预报或者博客信息
并且不论什么时候有了新的内容都会自动为你更新
- 内置喇叭、WLAN天线和以太网端口
- 连到Hi-Fi/功放机的立体声音频输出(2 x cinch)并通过这些音箱欣赏立体声!
- 连到耳机或有源音箱的线输出(微型插孔)

收听成千上万的网络广播电台和你的MP3
- MusicPal被设计成把数字化的音乐带到像厨房、卧室和客厅或者甚至是在办公室等的每一种环境
- MusicPal和vTuner*一道创造了一流并创建了一种在MusicPal上选择电台最好的简单方式

设计
- 时尚的黑色设计适合于每一个家庭和办公室环境
- 轻松使用滚动轮进行便捷的浏览和控制
- 最喜爱的电台按钮让你轻松和快捷地收听你的预置最喜爱电台
- 大显示屏向你显示所有的信息,像:广播电台、演唱者、时间、最新的新闻等等更多

Freecom公司Musicpal详细规格
- 技术规格
240Mhz Marvel Orion处理器,32MB内存,20位D/A转换器,支持的位深: 8位、16位立体声或者单声道

- 网络界面
802.11b/g, RJ45 (Ethernet)

- 网络安全
WEP、WPA、WPA2

- 音频界面
合成,线输出(立体声)

- 电源
5V 外置电源适配器(随机带)

- 喇叭
3W单声道线性磁驱动全域喇叭

- 支持的音频格式
MP3 (CBR/VBR高达320 kBit/s), WAV (LPCM)

- 支持的服务和协议
UPnP、HTML (Web GUI)、DHCP、固定的IP、WLAN、显示实时的RSS/博客新闻、播客(MP3/WAV)、ID3 (V1.0/ V2.0)、M3U、PLS

- 网络广播业务
vTuner (*订阅已包括在内), Shoutcast

- 液晶显示屏
128x64像素

- 固件
开放的固件(基于Linux Kernel 2.6), 可升级性保证在你的Freecom MusicPal上有最新的性能和服务

- 尺寸
26.5 x 11.5 x 8 cm

- 重量
600g (21.2 盎司)
panxiaoku
panxiaoku 2009-07-24


这里也有一个。。。。。懒的粘过来了。。。
bernard
bernard 2009-07-24
是的,这个项目也了解了一些,用的是VS1053做硬解码。开辟的缓冲区是55K。
panxiaoku
panxiaoku 2009-07-25
orudev那边讨论的很激烈啊。。。说实话,那边人太多了,也太。。。。。,,不如引导几个可以真正来做的来咱们这边来做的好。。。
bernard
bernard 2009-07-26
是的,正有此意。所以在这边会有这个项目情况的详细更新!
bernard
bernard 2009-07-26
进展:
比较遗憾,我手上这块STM32F103ZE开发板只是留了I2S扩展接口,而实际的外接电路没有,所以想要实际的发声还需要等一段时间。

好消息是,在软件代码上,目前已经能够做到把SD卡上的mp3做软件解码了(解码成PCM数据),采用的是libmad库。libmad库需要的栈空间稍微有些大,这个到时再优化下,另外的优化是解码的关键部分需采用Thumb-2汇编重写下。详细的指标今天会给出来。

针对这个项目,找了个QQ群:12668895。如果您愿意加入这个项目,请加入这个QQ群。此群严禁旁观、打酱油、广告!
bernard
bernard 2009-07-27
用libmad库很不妙,占用内存太高了,总计要到40K SRAM了。如果整个系统只跑mp3软解,可能问题不大,但加上网络缓冲,基本上已经不可行。
bernard
bernard 2009-07-27
使用libmad简直就是吃内存的家伙!只是解码,就要使用近40K SRAM,玩不动!

现在改用helix的mp3 decode,好些了,20多k SRAM就可以了,这样:
Kernel + LwIP + Filesystem 占用RAM大约是10K
mp3 decode占用RAM是20多K

剩余30K左右给网络、音频流缓冲、显示等。估计系统RAM在刚刚好的边缘徘徊。

软解码mp3,经过测试大约占用系统50%+的资源。

考虑到第一次做,所以先用STM32F103ZE + 外扩SRAM的方式进行。STM32F107暂时只能挥挥手了~~
bernard
bernard 2009-07-29
CPU STM32F103ZE
网络 DM9000A
变压器 HR911101A
LCD COG 12864 SED1565
CODEC DAC WM8753 带功放
SRAM ISIS 512K
NAND FLASH PCB预留焊位
----------------------------------------------
硬件大体这样定下。。
pldjn
pldjn 2009-07-31
不是搞107吗,怎么搞着搞着成了STM32F103的配置了?
aozima
aozima 2009-07-31
拒绝白嫖,拒绝键盘侠!
不是搞107吗,怎么搞着搞着成了STM32F103的配置了?

107没有FSMC 自带的RAM太小了
只要先用103了
bernard
bernard 2009-08-03
不是搞107吗,怎么搞着搞着成了STM32F103的配置了?

107没有FSMC 自带的RAM太小了
只要先用103了


aozima,既然用STM32F103ZE及外扩了SRAM,那么也可以用RTGUI做一个简单的图形界面了,等到硬件做出来,RTGUI应该也成熟起来了。这个周末一直在调试RTGUI呢
zhengrob
zhengrob 2009-08-04
lz如果硬件核实完成的话,我愿意帮助布板(PADS2005). 邮箱 wanghar@163.com

-CPU STM32F103ZET6 LQFP144
-SRAM IS61LV51216-10T SSOP28
-网络 ENC28J60(?)
-CODEC WM8xxx(?)
-LCD 12864 (?)
-Button (?)
-Others(?)
bernard
bernard 2009-08-04
谢谢。

我们网络用DM9000A,LCD还没最后确定。目前aozimo在搭WM8753电路以先确定音频部分,然后就可以开始画板了。硬件方面还请aozimo多协调协调。
bernard
bernard 2009-08-07
音频模块连接IIS,wav的声音已经出来了。估计周日能从aozimo那里拿得到模块,然后mp3的解码播放就快了。如果不和我目前开发板上引脚冲突,应该也可以直接做网络音频流的播放。(mp3文件的播放嘛,RT-Thread的文件系统一直是好用的,直接用就可以了)
aozima
aozima 2009-08-08
拒绝白嫖,拒绝键盘侠!
lz如果硬件核实完成的话,我愿意帮助布板(PADS2005). 邮箱 wanghar@163.com

-CPU STM32F103ZET6 LQFP144
-SRAM IS61LV51216-10T SSOP28
-网络 ENC28J60(?)
-CODEC WM8xxx(?)
-LCD 12864 (?)
-Button (?)
-Others(?)

非常欢迎,详细请加入QQ群:12668895 (此群只用于活动期间交流用)
目前才刚出雏形,只好在群里交流了
如果硬件软件基本成形,将会建一个SVN,并打算在本站开一个专区
到时候就好交流了

硬件目前确定为:
-CPU : STM32F103ZET6 LQFP144 (确定)
-SRAM: IS61LV51216-10T SSOP28 (确定)
-网络: DM9000A (讨论中..关于变压器部分不知道用什么型号)
-CODEC: WM8753 (已经测试通过)
-LCD :淘宝上面那个34元的TFT (基本确定)

欢迎提意见,至于LAYOUT,待原理图成形后就开工,到时一定少不了你 [s:154] [s:154]

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友