This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Purepath Wirless Configurator with a TLV320AIC3105

Other Parts Discussed in Thread: TLV320AIC3105, TLV320AIC3101

I've got a couple of Purepath wirless EVMs and the Purepath wireless configurator. I'm still trying to wrap my head around everything involved with the 8520 device we are using and the CODEC configuration, but it looks like my final design will need to use a TLV320AIC3105 instead of the TLV320AIC3101 that the EVM uses because there is an additional feature in the 3105 device that I need. Can the Purepath Wireless Configurator software work with the 3105 CODEC?

  • Hi Chris, 

    Yes it can. Our CC85xx devices can be configured to support any I2C or IO controlled ADC,DAC or CODEC. Out of the box we only support a limited number by default (with new devices added when we upgrade our FW offering) but in the PurePath Wireless Configurator you have the option of making custom audio device drivers that can interface your device. The configurator help system has some information and you should probably study some of the already supported drivers to see how they are built. The User Guide, a rather extensive document for the PurePath Wireless devices, gives all details about the different states referred to in the driver. 

    I'm not sure to what level the AIC3101 and AIC3105 differs at register level, so the datasheet for both devices will probably come handy when making a driver and we are always here to assist you if you have any questions or need help along the way. 

    Hope that helps and  allows you to get started. 

    Best regards, 
    Kjetil 

  • Hello Kjetil,

    As a follow up to the above--would it be possible to request the development team to add support for the TLV320AIC3105 on the next release of the Configurator?

    What's the expected time frame for the -3015 codec to be supported without having to create a custom "driver?"

    Thanks,
    Tim

     

     

  • Tim All,

    May I ask what feature you want on the 3105?

    I had a quick look in the datasheet of the 2 devices and they have the same I2C adress and the registers seems also most the same. I am sure only minor tweaks (if any) is need to the driver.

    -Per

  • The 3105 has an analog bypass path from the MIC/Line2 inputs directly to output mixers. We need the ability to take two mic inputs (left, right), mix them together into a mono signal to feed out the I2S port but maintain the left,right integrity out to the headphone outputs. The 3101 does not have that ability. As soon as you would mix the inputs together they would be mixed for the remainder of the signal chain. On the 3105 we will connect each mic signal to both the MIC2 and MIC3 inputs so that we can do the mixing I described above.

    I'm designing the hardware for a prototype and don't have the time to dive into creating a configurator driver or understanding that side of if right now, so I'm looking for any help or support I can get in terms of understanding what will need to happen and hopefully getting confirmation from TI that we can use the configurator with this device or that you can make whatever changes are needed and create that "driver" for me.

    Thanks,

    Chris

  • Hi Chris, 

    We had a extra look here. The AIC3101 and AIC3105 is indeed register compatible so no dedicated driver is needed in this case - however, the AIC3101 driver we supply does not mix the two mics to a mono signal but we have drivers for either mono or stereo microphone. So some tweaks to get the desirable effect will have to be done anyway. The bypass itself seems easy enough with a single register write needed, so the biggest job is to set up a correct path for MIC3 inputs. 

    We can off course assist, but do not have the required hardware to test this exact setup. We can make a guesstimate based on schematics of your design once you are done (if this is sensitive information, please work with your TI representative to ensure we get this). 

    Hope this clarifies and allows you to start a prototype design with the AIC3105. 

    Thanks, 
    Kjetil 

  • Kjetil,

    Thanks for looking into this for me. I spoke with someone on the phone at TI in Texas today and got a little further out of the dark I think. Please correct me if anything I say is wrong.

    I have been told that the firmware needed to program the CC85xx device in our end application is generated by the Purepath Wireless Configurator. Correct?

    For our end application, we are using an external host MCU, so the CC85xx will not be operating in autonomous mode, it will be in host controlled mode. Therefore, the CC85xx device does not really need to care about the CODEC because it is not controlling it at all. The only connection between the CC85xx and the CODEC will be the I2S audio bus. All the CC85xx device needs to know is that it will be doing streaming digital audio in both directions on it's I2S port. Other than that, there is nothing about the CODEC that is involved with the CC85xx device firmware. Correct?

    I understand now that the Purepath Wireless Configurator GUI cannot control all aspects/registers in any CODEC. You have chosen specific registers and settings in these CODECs that you have deemed valuable for the user to be able to play with for evaluation purposes for the CC85xx interface, and the rest cannot be accessed or changed from the GUI. Maybe that is what you are referring to by a custom driver.. the ability to make the Purepath Wireless Configurator write to any register in the CODEC?

    If that is true, it would certainly be nice to be able to do more with the CODEC  just for evaluation purposes, but now I realize that there is a much more thourough GUI for the actual CODEC evaluation board that would allow us to test the limits of the CODEC itself and maybe we should just use that board for the CODEC part of the evaluation. It just all starts to become a bit convoluted because I'd love to be able to tweek anything in the CODEC while it is connected and working with the CC85xx for evaluation, but we can work around that.

    So in the end, because our application will be using host controlled mode, we can probably generate the firmware we need for the CC85xx device without having to do anything custom on the Purepath Wireless Configurator. We just need to understand what settings put the device in the correct mode for I2S streaming and then make sure the other settings related to the CC85 device like power, network config, etc. are correct. Any other settings that relate to the CODEC will have no effect since there will physically be no I2C connection to the CC85xx device.

    Please let me know if anything I stated here is incorrect, or if you have any concerns or additional information.

    Thanks for your help,

    Chris

     

     

  • Chris, 

    Glad you got to talk to someone. Have tried to clarify things below, but please let me know if you have further questions. 

    I have been told that the firmware needed to program the CC85xx device in our end application is generated by the Purepath Wireless Configurator. Correct?

    That is correct. The PurePath Wireless Configurator is the only way of generating the firmware and one can do so without any software knowledge and hopefully the tool itself is intuitive and simple enough to use. The tool can either download the firmware directly onto our development kits or your custom hardware (if the right pin connector is added) via a CC debugger (follows our kits) or generate the .hex image that can be used during production with CC debuggers or a gang programmer. 

    For our end application, we are using an external host MCU, so the CC85xx will not be operating in autonomous mode, it will be in host controlled mode. Therefore, the CC85xx device does not really need to care about the CODEC because it is not controlling it at all. The only connection between the CC85xx and the CODEC will be the I2S audio bus. All the CC85xx device needs to know is that it will be doing streaming digital audio in both directions on it's I2S port. Other than that, there is nothing about the CODEC that is involved with the CC85xx device firmware. Correct?

    First of all. Are you sure you will run the device in host controlled mode? What host controlled features are you looking to utilize? Reason for asking is that we see that there sometimes are confusion to what can/can't be done in autonomous mode. Even in host controlled mode one have the option of letting the CC85xx device control the CODEC, but if you want to take care of this directly in the MCU then you are fully correct that there is nothing in the firmware needs to do. In the PurePath Wireless Configurator under Audio Interface, please select DSP as the external audio device and configure the I2S format according to your needs. 

    I understand now that the Purepath Wireless Configurator GUI cannot control all aspects/registers in any CODEC. You have chosen specific registers and settings in these CODECs that you have deemed valuable for the user to be able to play with for evaluation purposes for the CC85xx interface, and the rest cannot be accessed or changed from the GUI. Maybe that is what you are referring to by a custom driver.. the ability to make the Purepath Wireless Configurator write to any register in the CODEC?

    This is wrong. With the PurePath Wireless Configurator you can actually control any I2C or IO driven CODEC, ADC or DAC. The only limitation is the available memory for control information (~1500 bytes) so for some of the CODECS (especially those with many biquads or miniDSP onboard) there is not room enough to load all codec settings. We are also limited to 4 control IOs.  What we deliver by default is example drivers for some selected TI CODECS and amplifiers. The drivers themselves are .xml files and can be located in C:\Program Files\Texas Instruments\PurePath Wireless Configurator\audio_devices\ and changed in a editor of choice or you can edit these directly inside the configurator (enable custom setup in the Audio Interface panel). The example project are typical usecases for a given application (e.g headset, microphone, headphone or line-in and out), but usually our customer play around with these or make new ones that fit their needs better. Attached here is a very quick attempt to make one for the AIC3105. It is a copy of the AIC3101 with only the obvious changes without any of the special things you need (and will not work directly on the AIC3105 as the settings in here does not match the AIC3105).

    Hope this helps to understand the power and flexibility of our audio device driver implementation. Understand that this can be a little complex to grasp. The help menu in the PurePath Wireless configurator contains even more help on this (see Audio Device Definition Files and Audio Device Customization Panel) and like I previously mentioned we can help and assist you along the way here. 

    If that is true, it would certainly be nice to be able to do more with the CODEC  just for evaluation purposes, but now I realize that there is a much more thourough GUI for the actual CODEC evaluation board that would allow us to test the limits of the CODEC itself and maybe we should just use that board for the CODEC part of the evaluation. It just all starts to become a bit convoluted because I'd love to be able to tweek anything in the CODEC while it is connected and working with the CC85xx for evaluation, but we can work around that.

    Hopefully the above gives some insight into what we can do. PurePath Studio for the codec devices is a separate tool not developed/maintained by my team, but we use these tools ourselves and sometimes takes the register settings generated by this tool and 'import' (manual copy) them into the configurator or directly into the .xml files we use.

    So in the end, because our application will be using host controlled mode, we can probably generate the firmware we need for the CC85xx device without having to do anything custom on the Purepath Wireless Configurator. We just need to understand what settings put the device in the correct mode for I2S streaming and then make sure the other settings related to the CC85 device like power, network config, etc. are correct. Any other settings that relate to the CODEC will have no effect since there will physically be no I2C connection to the CC85xx device.

    Perfectly correct and please let us know if you need guidance in setting any of the other settings for your application.

    Regards, 
    Kjetil 

    aic3105.ppwadd
  • Kjetil,

      Thanks for the info. I beleive I'm understanding things a little better each time you say something!

    I apologize, I probably wasn't clear in part of my last post. What I meant to say was that I understand now that the DEMO Projects that come with the Purepath Wireless Configurator for the 3101 CODEC on the CC85xx Deev board do not allow you to access every setting in the CODEC. For example, I can't open the configurator GUI right now, select a Demo project for the 3101 CODEC and set the headphone output level to +6 dB or change the Line2 input Mix level, at least I havnt seen where I could. I think I understand now that it IS POSSIBLE to create your own configuration/driver in the Purepath Configurator to control any and all registers in the CODEC.

    As far as host controlled mode, again I have not had time to understand what all that means, all I know at this point is that we need our microcontroller to be able to control registers in the CODEC in real time during operation like mix levels, etc. We also need our micro to be able to change settings on the CC85xx during operation. If your telling me that our micro can control the CODEC indirectly through the CC85xx device operating in autonomous mode then that's fine I suppose but whatever method is most effective and simplest to implement.

     I am creating a prototype/dev board as an intermediate step for our project so that we can have all of the hardware we need for our end product in one place, but in a way that allows us to debug easily and change hardware configurations for development. On this PCB I will have headers to allow us to change the SPI and I2C interfaces around between the devices so that during our firmware development we can determine what works best. At this point I am satisfied to hear you say that any firmware we need for the CC85xx device can be created in the Purepath configurator software and that for prototyping purposes it can be downloaded through the CC debugger interface into the device. Whether or not we end up creating a custom project file/driver in the configurator to be able to allow the CC85xx to fully load up the CODEC, or we decide to do CODEC configuration directly from our microcontroller, we will have both options available to us.

    Thanks again,

    Chris

  • Kjetil,

    I forgot to mention, in regards to the CC85xx device in host mode, we also need to use the data side channel in our application which apparently requires host controlled mode.

    Thanks,

    Chris

     

  • Kjetil,

    Is there a way we can contact / email you directly?

    Thanks,

    Chris

  • Chris, 

    I'll find a way. To conclude the above you are correct that you need host controlled mode to utilize the data side channel and that you will need a MCU if you need to alter CODEC settings on the fly. The prototype boards with jumpers etc sounds like a safe way to go forward. 

    Regards,

    Kjetil