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