Audio transfer using DVI and I2S

11 thoughts on “Audio transfer using DVI and I2S

  1. Hi.

    I’m working with a TWR-MPC5125 system, using Linux BSP and I’m trying to use I2S interface to send audio data to the UC864-E module using de DVI (I’ve already checked how to configure it).
    I would like to know if someone could give some advice or orientation.

    We are looking for some driver or another way that allow us to comunicate via I2S with the UC864, and how it should be the way our micro has to put/send the data, avoiding the use of the analog I/O’s.
    At the moment we want to send an audio file to a phone, to test it, but in the future we aim to send audio calls in this way if possible.
    Any info will be usefull.
    Thanks in advance.

    1. Searching these forums for "PCM" reveals some discussion related with the subject and their initiators, maybe this will give some info.

      1. I’ve been reading the threads, but they refer to the use of #SPCM, which is not implemented for this module.

        I’ll continue with my search, thanks.

        1. Hi again, I’m blocked with this.

          All the information is related to the use of #SPCM (not in UC864) and I cannot find an easy way to transfer audio in a digital way with this module.

          For example, I could have audio stored in a file, or as Ethernet trafic, and I would like to send it from my microcontroller with Linux to the module avoiding the analog I/O. Is the DVI the best way to do this? and if so, is there any driver that I can use for that?
          Any help?


          1. I sent you a download link for
            Telit UC864 Digital Voice Interface Application Note.

            I’m afraid I’m lost on Linux side, I don’t know if is something available.

          2. Hi Fernando,


            I saw Cosmin sent you the DVI user guide and I believe DVI, which is an I2S based protocol, should be the way to send an audio stream to the module bypassing the analugue stages. If you can cops with 8bit per sample audio quality you can send the stream directly via serial port with AT #SPCM. You don’t need special driver , just the way ( and you have it) to manage the serial port and/or a way to use an I2S port or emulate it via GPIO.

          3. Hi,

            Thank you both for your time and answers.

            I’m already working to configure the LinuxBSP I work with to test the I2S interface with the module using the DVI. The codec on the example doen’t fit our design because it isn’t automotive, but we are thinking about using AD1939 for example, or maybe do a driver to directly connect the DVI with the I2S port of the MPC5125. I’ll come back when I have more news on this.

            About using #SPCM, this module hasn’t got it implemented, so we will try to manage the transfer in other way, I mean, we don’t have to use this command, don’t we?

          4. Of course not, you need to use the DVI custom commands to enable and configure the interface, all details are in the doc.

          5. Hi Fernando,


            Did you find any more infomation on this? I need to use the DVI interfaces also – for bi-directional digital streaming. I’m looking at the timing diagram in the DVI app note and it doesn’t match my expectations for I2S – in particular the "extra bit" in the clock cycle for sync doesn’t appear to be standard. 


            Please point me in the direction of any information you have found?


            Basic question – have you got DVI to work?




          6. Hi Ciaran,

            DVI at UC864 doesn’t exactly work as I2S, if I’m not wrong it can work in PCM burst mode, and it has some differences (mono voice data, for example). It’s not like the HE910 that has the two possibilities, you can take a look to the DVI application note of the HE, you’ll find more info (take a look to the Burst mode (PCM) entry, you can find some info about the extra bits there).

            We were able to test the DVI by using a generic I2S codec without control interface. We modified the AD1939’s driver, removing the code used for control, but I think that there are many others like WM8727 that hasn’t got control interface, it can be usefull.

            We did this bacause we only wanted to put the digital signals in the I2S microcontroller port, without using the analog part (as is used in the example of the MAX). So we "only" had to put the digital audio signals at the correct frequency.

            Hope it helps.