The voice recorder in the Icom IC-R20

 
             
   
   
             
             

The Icom IC-R20 is a very interesting little radio indeed. What sets it apart from all other scanners currently on the market are two unique features. One is that within the R-20's gubbins are two separate receive paths. In effect, this makes it two scanners in one compact unit. Not to be confused with lesser features such as dual watch or dual VFO, this means that you can monitor two frequencies simultaneously or even run two scan routines at any one time and not miss a thing. The other killer feature is the built in digital recorder. It's not alone in having this feature, the AOR 8200 and 8600 have this as an optional extra. In the case of the AOR it features a mere 20 seconds of recording time, whereas the R-20 can record a whole four hours (approx 260 minutes) of audio.

         
 

Voice recorder / USB board

 
 

 

 
This PCB has the voice recorder chip, its associated flash memory and the USB socket and interface chip. You can also see the switches for up / down and Squelch defeat.
         
       
         
         
   
Integrated circuits
Chip Function Type Man. web datasheet Notes
IC2 Sub CPU M30620FCPGP
IC3 USB Interface IC FT245BM FTDI http://www.ftdichip.com/ ds245b16.pdf FTDI - USB FIFO ( USB - Parallel ) I.C.
IC6 Flash memory K9F5608 Samsung UOC-YCVBO - (Samsung)
IC7 Record / Playback IC ML2302TB Oki http://www.okisemi.com ml230298.pdf Recording and Playback LSI with Built-in 2-Bit ADPCM2 Supported FIFO
 
  FT245BM USB FIFO ( USB - Parallel ) I.C.      
    This is the chip which interfaces the R20 with a PC via USB.

The FT245BM is the 2nd generation of FTDI’s popular USB FIFO I.C. This device not only adds extra functionality to its FT8U245AM predecessor and reduces external component count, but also maintains a high degree of pin compatibility with the original, making it easy to upgrade or cost reduce existing designs as well as increasing the potential for using the device in new application areas.

The EEPROM is programmable on board over USB using a utility available from FTDI’s web site. This allows a blank part to be soldered onto the PCB and programmed as part of the manufacturing and test process.

 

   
         
 

Available driver types

 
         
                           
          VCP    ( I downloaded  R9052154 which is the Windows XP version )  

Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC.  Application software can access the USB device in the same way as it would access a standard COM port.

           
                           
          D2XX     ( I downloaded   D10620 which is the Windows XP version )   D2XX drivers allow direct access to the USB device through DLL access.  Application software can access the USB device through a series of DLL function calls.  The functions available are listed in the D2XX Programmer's Guide document which is available from the Documents section of this site. Programming examples using the D2XX drivers and DLL can be found in the Projects section of the FTDI site.            
                           
                           
                           
         
         
 

MProg version 2.3

 
    And then there's this little gem which appears to be for bit bashing the EEPROM associated with the FT245BM. I can't make much sense out of this app at a cursory glance.    
         
   

   
         
             
    ML2302  

   
   

Recording and Playback LSI with Built-in 2-Bit ADPCM2.

       
             
         

 AF AMPLIFIER AND IC RECORDER CIRCUITS

  Designed for voice organisers and similar products but finding a place in the IC-R20 is the Oki ML2302.
It features generous on-chip memory, enhanced compression algorithms and low voltage operation for extended battery life in hand held applications.

The Oki ML2302 is a 64-pin TQFP digital record and playback device featuring dual built in 1024bit FIFO memories, enabling up to 32ms buffering time on record and playback channels depending on sampling frequency and compression algorithm.

The device operates at 2.7 to 3.6V and includes built-in voice level detection, noise injection function, 14bit D/A and A/D converters, volume control circuit, lowpass filters for record and playback, and a 100mW, 8ohm speaker amplifier.

Oki's advanced, proprietary compression algorithms refine standard adaptive differential PCM (ADPCM), to deliver enhanced speech quality through greater internal computation accuracy and extra quantisation steps. This technology allows designers to optimise the system bitrate, audio quality level and memory requirements.

   
         
         
    Five compression algorithms are supported,    
     
     
  2bit standard ADPCM2,  
     
  4/5/6/7bit Oki  ADPCM2  
     
  4bit Oki ADPCM  
     
  8/16bit straight ADPCM  
     
  8bit Oki nonlinear PCM  
     
           
             
 
             

 

The Oki development package AR207

http://www.okisemi.com/software/ar207.zip

This development package does not support the Oki ML2302 but contains a few things in it which we thought might have been of use to us:

- The dll file "COkiADPCM.dll" - this library has one interesting function "adpcmDec", might be useful if we could work out the function
and/or compression used. I don't know C++ so I'm at a loss as how to implement anything with it. Will maybe try with Java native calls if I
get a chance.

- a pcm/wav editor program - but unfortunately it won't normally load without the chip hardware attached. It can, however, be made to with open with a hex edit to the code..

- manual appendix includes what I think is a breakdown of the byte structure of the oki encoded ADPCM files. This should help to identify
the bit size and sampling frequency..