Intro: High Quality MMC Digital Voice Recorder Using PIC With Limited RAM (PIC16F877A)
This is my first digital voice recorder which is made using a mid range PIC with a total RAM of only 256 bytes.
Here, i used a PIC16F877A to access an MMC. MMC is interfaced to PIC16F877A via SPI. I didn't used any file system here. It writes the 8 bit digital data from ADC to the MMC using a multiple block write command. A single block consist of 512 bytes , also called as a sector.
Similarly it reads the 8bit digital data (digital samples) using a mutliple block read command. After reading each byte, it is sent to the PWM register to generate PWM signal corresponding to the audio recorded. Then after passing the PWM signal throuh a low pass filter, the analog signal could be obtained which is then amplified and introduced to a speaker to reproduce the recorded voice.
The audio quality was beyond my expectation. The reason for the good audio quality is the high bit rate.. Since i didn't used any file system (FAT etc) I could easily use multiple block read and multiple block write commands to read and write MMC and thus it could achieve high bit rate.