Adapting IRIS1000/2000 to other low cost computers

posted Aug 10, 2016, 10:01 AM by EICSS Engineering   [ updated Aug 15, 2016, 10:48 AM ]

Introduction

IRIS series of telco hardware was originally designed for Raspberry Pi. IRIS1000 was designed for Raspberry Pi Model B Rev 2. Availability of I2S signals on a separate connector (P5) allowed use of I2S codec for audio. The board was eventually not directly compatible with later versions of Raspbery Pi and had to be redesigned. For full forward and backward compatibility, we decided to use USB codec. This gave birth to iris2000 which is compatible with all versions of Raspberry Pi.

Both versions of hardware can be used with other low cost computers. In fact, low cost products are probably more feasible with a sub USD 15 computer than RPi as this can substantially reduce product cost (RPi zero is another option but it has limited processing power to single core processor).

IRIS1000 hardware interface

Audio interface

Stereo I2S interface with following audio format:

PCM, signed, 16-bit

One channel of I2S is mapped to FXO while the other is mapped to FXS.

GPIO interface

Three GPIO pins are required for FXO while two GPIO pins are required for FXS interface. Thus a total of 5 GPIO pins are required for status/control of analog interfaces. A couple of more GPIOS may be used to indicate current status of the interface (used/unused etc.).

IRIS2000 hardware interface

Audio interface

USB audio interface with following audio format:

PCM, signed, 16-bit

One channel of I2S is mapped to FXO while the other is mapped to FXS.

GPIO interface

GPIO requirements are same as for IRIS1000.

IRIS1000/2000 software interface

Audio

In both cases, the audio interface can be accessed using Linux ALSA library.

GPIO

GPIO can be accessed using platform specific GPIO library. In Raspberry Pi Linux distros, WiringPi library can be used to access GPIO.

Detailed information on exact GPIO mappings is available to hardware design licensees.