nccr-mics project
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
NCCR-MICS Project
MP3 on Btnode
Main IdeaMain Idea
Btnode designed as clever Btnode designed as clever « sensor » « sensor »
Goal : Use it as audio sensor Goal : Use it as audio sensor (AudioNode) but :(AudioNode) but : Audio requires computing powerAudio requires computing power Audio is real-timeAudio is real-time Raw audio material takes memory Raw audio material takes memory
spacespace
Main Idea (2)Main Idea (2)
Corollary :Corollary : We need more computing strengthWe need more computing strength
(to process the audio stream)(to process the audio stream) We need a clever algorithmWe need a clever algorithm
(to manage the data in real time)(to manage the data in real time) We need compressionWe need compression
(to be able to deal with the Bluetooth (to be able to deal with the Bluetooth bitrate)bitrate)
SolutionSolution
Use a dedicated Audio MP3 chip :Use a dedicated Audio MP3 chip : Provides specific computing strength, Provides specific computing strength,
integrated functions (D/A conversion, integrated functions (D/A conversion, Filtering)Filtering)
Provides audio data compressionProvides audio data compression______________________________________________________
But does not solve the real-time But does not solve the real-time problem (data always needs to be problem (data always needs to be processed on the fly)processed on the fly)
Solution (2)Solution (2)
Develop a software appliation that Develop a software appliation that will manage in real-time :will manage in real-time : The sending or the reception of MP3 The sending or the reception of MP3
stream via the Bluetooth connectionstream via the Bluetooth connection The control and the management of The control and the management of
the MP3 chipthe MP3 chip
SoftwareBluetoot
hBluetoot
hMP3 chip
First part : MP3 ChipFirst part : MP3 Chip
Use MAS3587f audio chipUse MAS3587f audio chip Encode and decode MP3Encode and decode MP3 Multiple bitratesMultiple bitrates Microphone or Line InputsMicrophone or Line Inputs Line OutputsLine Outputs
Other featuresOther features
PCBPCB
MAS Chip requires many external MAS Chip requires many external components :components : A Printed Composite Board is neededA Printed Composite Board is needed
Three succesive PCB :Three succesive PCB : Revision 1 : Buggy designRevision 1 : Buggy design Revision 2 : Large surface, expensiveRevision 2 : Large surface, expensive Revision 3 : Received, not yet testedRevision 3 : Received, not yet tested
InterfacingInterfacing
MAS-Chip must be controlled :MAS-Chip must be controlled : I2C interface is neededI2C interface is needed Atmel controller as a dedicated Atmel controller as a dedicated
feature to do thatfeature to do that MAS-Chip must receive data :MAS-Chip must receive data :
Parallel or Serial Interface possibleParallel or Serial Interface possible Atmel controller as an automated Atmel controller as an automated
serial connectionserial connection
ConfigurationConfiguration
Many things in Atmel are Many things in Atmel are configurableconfigurable pins, I2C-interface, serial interfacepins, I2C-interface, serial interface
MAS-Chip is a complex device, it MAS-Chip is a complex device, it must be configured :must be configured : By sending many commands via I2CBy sending many commands via I2C
This part is OK, functionalThis part is OK, functional
Sending streamSending stream
Once MAS-Chip is configured, one Once MAS-Chip is configured, one can send the streamcan send the stream
But stream needs a (cyclic) bufferBut stream needs a (cyclic) buffer
External SRAM of the Btnode usedExternal SRAM of the Btnode used 60 KB buffer achieved60 KB buffer achieved
Bluetooth linkBluetooth link
Stream shall come over BluetoothStream shall come over Bluetooth From a PCFrom a PC From another BtnodeFrom another Btnode
Easier to develop first with the PCEasier to develop first with the PC Large hard diskLarge hard disk Better Development EnvironmentBetter Development Environment
First shot :First shot :
Simple algorithm :Simple algorithm :
PC BTnode
Advantages :Advantages :
+ No buffer overrun+ No buffer overrun + Simple code+ Simple code + Works (at 96 kbps)+ Works (at 96 kbps)
Problems :Problems :
- Waste of time Waste of time on Btnode on Btnode- May fail easilyMay fail easily
Advantages :Advantages :
+ No buffer overrun+ No buffer overrun + Simple code+ Simple code + Works (at 96 kbps)+ Works (at 96 kbps)
Problems :Problems :
- Waste of time Waste of time on Btnode on Btnode- May fail easilyMay fail easily
Second solution :Second solution :
Stream algorithm :Stream algorithm :
PC BTnodeAdvantages :Advantages :
+ Smarter !+ Smarter ! + Lets time to BTnode+ Lets time to BTnode
Problems :Problems :
- Hard to implementHard to implement
Advantages :Advantages :
+ Smarter !+ Smarter ! + Lets time to BTnode+ Lets time to BTnode
Problems :Problems :
- Hard to implementHard to implement
Start
Slower
Quicker
Results :Results :
MAS side :MAS side : Decoding is okDecoding is ok Configuration is okConfiguration is ok PCB is okPCB is ok
Bluetooth side :Bluetooth side : Works at 96 kbps but blocksWorks at 96 kbps but blocks Setup problems for the streaming Setup problems for the streaming
protocolprotocol
Further developmentFurther development
Encoder partEncoder part Reliable protocolReliable protocol
(may not be reliable in the data direction but (may not be reliable in the data direction but must be the case in the control direction)must be the case in the control direction)
Use of RFCOMMUse of RFCOMM Btnode to Btnode applicationBtnode to Btnode application Nicer PC client ProgramNicer PC client Program Winamp integration…Winamp integration…
Thank you for your Thank you for your attentionattention
Sébastien Rumley (Sébastien Rumley ([email protected]@epfl.ch))
Harald Vogt Harald Vogt (([email protected]@inf.ethz.ch))