Navigation Menu

 
The Rabbit RCM3110 module was chosen because of its speed to power ratio, extensive libraries, and rapid prototyping capabilities.
Dennis Bahr of Bahr Management, Inc.
 
I want my MP3!
Written by: Kevin Lettow

All of us by now have one way or another experienced the marvel of using MP3 files. Some of us have remained consumers and merely used the Apple iTunes website to load up our iPod's with the latest songs. Others among us however are using this compression technology and putting it to work in our embedded applications. One prime example is demonstrated by the design work of Dennis Bahr from Bahr Management, Inc. located in Middleton, WI. As one of the consultants on www.rabbitconsulting.com , Dennis has recently completed an application that brought MP3's into the embedded realm. But Dennis didn't design a rock 'n' roll player, not exactly that is. I hope you are modestly intrigued and read on.

What does the customer want? And how can we get it done for them?

Dennis was provided with the following broad requirements for the project:

  1. Develop a system to record “medium quality” audio.
  2. Compress the audio using an MP3 encoder.
  3. Store the resulting data on a compact flash card.
  4. Send the data to an Internet server using a wireless modem.
  5. Design the system to be self-contained, low power, and battery operated.

If you are anything like me, you would have asked by now “What is this system going to be doing?” In this case, that is on a need to know basis and you and I apparently don't really need to know. But I suspect that if you think about it, knowledge is king and it is not just journalists that need to report on what is going on in the world.

 

TECHNICAL BRIEFING

Implementing
PPP and FTP
in the design

There were several primary design constraints Dennis had to resolve before setting up the system to implement PPP and FTP to transfer data. First, Dennis had to develop his own FAT16 compatible compact flash drivers. Second, he could not use the onboard RAM or parallel Flash for the audio MP3 files since he knew that they could easily grow quite large (as in over 1MByte) in size. Third, he was told that the wireless link could at times be unreliable, dropping the link after only a short time.

Read More

 

The customer left the hardware platform open for Dennis to specify, and Dennis selected the RCM3110 to use for this application. When asked why, Dennis said, “The Rabbit RCM3110 module was chosen because of its speed-to-power ratio, extensive libraries, and rapid prototyping capabilities. Dennis has extensive experience with Z-World and Rabbit Semiconductor products and is well aware of the extensive software libraries in Dynamic C . He also knows how ideal the Rabbit core modules are for rapid prototyping. The schedule for this application was very tight, so there was a necessity to get working prototypes delivered to the customer ASAP.

Specific to the software requirements for this application, Dennis used the Dynamic C development software and harnessed several of the software drivers and libraries that are available. For communication to the remote server Dennis already knew he would need to use PPP and the FTP protocol. He also knew that he would need to implement a FAT16 disk operating system for recording data to the compact flash card that he was designing into the system. Dynamic C fortunately has existing support for all of his requirements; including the PPP module and the FAT file system , which are available as add-on software modules to the Dynamic C development software.

Putting the pieces together to make the system

The resulting design was divided into three boards. A main board was designed to provide both linear and switching power supplies, a compact flash interface, an RS-232 transceiver, an AGC amplifier, and a voice activated switch or VOX. The second board contained a firmware based MP3 encoder. Finally, the third board was the Rabbit RCM3110 microprocessor core module that served as the intelligence of the product and serially interfaces to both the radio receiver and the wireless modem. Servers that can receive the data include both Linux and Windows.

“The combination of the RCM3110, the MP3 encoder, and the compact flash system allowed us to provide the client with a very compact, low power, and robust system,” says Dennis. As audio data enters the card it is conditioned by the AGC amplifier to stabilize the audio level. The compact flash interface provides an organized storage space for the files to be recorded and retrieved after the compression has been accomplished.

So, how does it work?

The design, construction, and implementation of four operational prototypes took only three weeks!?.
Dennis Bahr of Bahr Management, Inc.

When the dust settled, Dennis Bahr was able to deliver prototypes to the customer and meet the aggressive design schedule. Dennis is proud to comment, “The design, construction, and implementation of four operational prototypes took three weeks!”

The MP3 encoder, controlled by the Rabbit is connected via one of the asynchronous serial ports available on the RCM3110. Communications between the units is running at 115,200 baud. The sampling rate of the encoder is adjustable by the user and can be set between 16kHz to 48kHz and eight compression/quality settings are available depending on the source material being recorded.

As audio data enters the card it is conditioned by an AGC amplifier with an input range of 50mVpp to 20Vpp. The output from the AGC amplifier maintains an output of 2.8Vpp for the MP3 encoder while the dc portion of the AGC control loop is used as the VOX signal.

The wireless modem is connected to the Rabbit via another asynchronous serial port and uses PPP to establish a connection to a data collection server to receive the audio files. The wireless modem operates at a slower 9600 baud, so the compact flash card stores the files and provides a buffer to address the speed and potential reliability issues of the wireless modem.

The compact flash system uses a modified FAT16 disk operating system where the files on the compact flash can be read by a DOS or Windows operating system. Up to 1G byte flash cards are supported

Production and beyond!

Production units were delivered five weeks after our initial prototype delivery.

Dennis Bahr of Bahr Management, Inc.

After the prototypes were verified and accepted by the customer, it was easy to shift into production mode. Dennis handled the initial production build and helped the customer take this product from working theory to reality. “Production units were delivered five weeks after our initial prototype delivery”, Dennis says. While this might be an exceptional case for other vendors, it is fairly commonplace for those that develop using Rabbit products.

In the end, Dennis has proven himself a prized resource in developing solutions to meet his customer's needs. It is no surprise that he is one of the most active consultants within the Rabbit Consulting and Partner Program. I would highly recommend him to any customer that finds themselves with a gap between their product idea and the market that they wish to serve.

Contact: Dennis Bahr
Bahr Management, Inc.
3510 West Beltline Hwy
Middleton, WI 53562
Phone: 608.831.2310
Email: bahr@inxpress.net
Website: www.bahr.com




Home | Privacy Policy

Copyright © Rabbit Semiconductor All Rights Reserved
1-530-757-8400