Download presentation
Presentation is loading. Please wait.
Published byKennedi Hacker Modified over 10 years ago
1
NCCR-MICS Project MP3 on Btnode
2
Main Idea Btnode designed as clever « sensor » Btnode designed as clever « sensor » Goal : Use it as audio sensor (AudioNode) but : Goal : Use it as audio sensor (AudioNode) but : Audio requires computing power Audio requires computing power Audio is real-time Audio is real-time Raw audio material takes memory space Raw audio material takes memory space
3
Main Idea (2) Corollary : Corollary : We need more computing strength We need more computing strength (to process the audio stream) (to process the audio stream) We need a clever algorithm We need a clever algorithm (to manage the data in real time) (to manage the data in real time) We need compression We need compression (to be able to deal with the Bluetooth bitrate) (to be able to deal with the Bluetooth bitrate)
4
Solution Use a dedicated Audio MP3 chip : Use a dedicated Audio MP3 chip : Provides specific computing strength, integrated functions (D/A conversion, Filtering) Provides specific computing strength, integrated functions (D/A conversion, Filtering) Provides audio data compression ___________________________ Provides audio data compression ___________________________ But does not solve the real-time problem (data always needs to be processed on the fly) But does not solve the real-time problem (data always needs to be processed on the fly)
5
Solution (2) Develop a software appliation that will manage in real-time : Develop a software appliation that will manage in real-time : The sending or the reception of MP3 stream via the Bluetooth connection The sending or the reception of MP3 stream via the Bluetooth connection The control and the management of the MP3 chip The control and the management of the MP3 chip Software Bluetooth MP3 chip
6
First part : MP3 Chip Use MAS3587f audio chip Use MAS3587f audio chip Encode and decode MP3 Encode and decode MP3 Multiple bitrates Multiple bitrates Microphone or Line Inputs Microphone or Line Inputs Line Outputs Line Outputs Other features Other features
7
PCB MAS Chip requires many external components : MAS Chip requires many external components : A Printed Composite Board is needed A Printed Composite Board is needed Three succesive PCB : Three succesive PCB : Revision 1 : Buggy design Revision 1 : Buggy design Revision 2 : Large surface, expensive Revision 2 : Large surface, expensive Revision 3 : Received, not yet tested Revision 3 : Received, not yet tested
8
Interfacing MAS-Chip must be controlled : MAS-Chip must be controlled : I2C interface is needed I2C interface is needed Atmel controller as a dedicated feature to do that Atmel controller as a dedicated feature to do that MAS-Chip must receive data : MAS-Chip must receive data : Parallel or Serial Interface possible Parallel or Serial Interface possible Atmel controller as an automated serial connection Atmel controller as an automated serial connection
9
Configuration Many things in Atmel are configurable Many things in Atmel are configurable pins, I2C-interface, serial interface pins, I2C-interface, serial interface MAS-Chip is a complex device, it must be configured : MAS-Chip is a complex device, it must be configured : By sending many commands via I2C By sending many commands via I2C This part is OK, functional This part is OK, functional
10
Sending stream Once MAS-Chip is configured, one can send the stream Once MAS-Chip is configured, one can send the stream But stream needs a (cyclic) buffer But stream needs a (cyclic) buffer External SRAM of the Btnode used External SRAM of the Btnode used 60 KB buffer achieved 60 KB buffer achieved
11
Bluetooth link Stream shall come over Bluetooth Stream shall come over Bluetooth From a PC From a PC From another Btnode From another Btnode Easier to develop first with the PC Easier to develop first with the PC Large hard disk Large hard disk Better Development Environment Better Development Environment
12
First shot : Simple algorithm : Simple algorithm : PC BTnode Advantages : + No buffer overrun + Simple code + Simple code + Works (at 96 kbps) + Works (at 96 kbps) Problems : - Waste of time on Btnode - May fail easily Advantages : + No buffer overrun + Simple code + Simple code + Works (at 96 kbps) + Works (at 96 kbps) Problems : - Waste of time on Btnode - May fail easily
13
Second solution : Stream algorithm : Stream algorithm : PC BTnode Advantages : + Smarter ! + Lets time to BTnode + Lets time to BTnode Problems : - Hard to implement Advantages : + Smarter ! + Lets time to BTnode + Lets time to BTnode Problems : - Hard to implement Start Slower Quicker
14
Results : MAS side : MAS side : Decoding is ok Decoding is ok Configuration is ok Configuration is ok PCB is ok PCB is ok Bluetooth side : Bluetooth side : Works at 96 kbps but blocks Works at 96 kbps but blocks Setup problems for the streaming protocol Setup problems for the streaming protocol
15
Further development Encoder part Encoder part Reliable protocol (may not be reliable in the data direction but must be the case in the control direction) Reliable protocol (may not be reliable in the data direction but must be the case in the control direction) Use of RFCOMM Use of RFCOMM Btnode to Btnode application Btnode to Btnode application Nicer PC client Program Nicer PC client Program Winamp integration… Winamp integration…
16
Thank you for your attention Sébastien Rumley (sebastien.rumley@epfl.ch) sebastien.rumley@epfl.ch Harald Vogt (vogt@inf.ethz.ch) vogt@inf.ethz.ch
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.