# FAQ

# Hardware

  1. Q: How to use SAR ADC on the core board?

    A: The SAR ADC input on the core board is suspended. If you want to use the core board to simulate ADC buttons, you need to use a resistor to build a pull-up circuit and divide the voltage.


  1. Q: What is the initial state of GPIO after power on?

    A: The initial state of GPIO cannot be changed. When designing a circuit, it is necessary to choose a suitable IO port as a button or light, otherwise the light may turn on as soon as it is turned on.


  1. Q: Can serial ports be used for communication and be upgraded with external devices?

    A: When upgrading, it is necessary to disconnect the device on the other end of the serial port from the hardware.


  1. Q: Is there a problem with the abnormal BCLK and WS levels of I2S?

    A: Please check if the BCLK and WS of I2S are connected together with other pins, causing the voltage level to be pulled down.


  1. Q: Can I configure the IO port voltage of 3.3V to 1.8V?

    A: It can be configured to 1.8V, but USB module will be affected and cannot work properly.


  1. Q: Is VDDIP33/IO33 an output or an input?

    A: VDDIP33/IO33 are interal LOD's output.


  1. Q: What should I do with the SNC8600 DFU pin?

    A: Pull down DFU, it will enter DFU mode. Leave DFU open, it will to enter Normal mode.


  1. Q: What test points need to be reserved during PCB design?

    A: Suggest reserving necessary burning test points: serial port upgrade(RX, TX, GND, DFU); USB upgrade(D+, D -); VDDIP33, Always_ On, etc., depending on the specific needs.


  1. Q: Can I2C1_SDA/SCL be used as regular IO?

    A: No, this is a dedicated I2C port.


  1. Q: What is VDDIN_EFUSE used for?

    A: When writing EFUSE, this pin is used as the input and an external 2.5V power supply is required.


  1. Q: How to connect RST_N?

    A: RST_N can be pulled up through IO33, and test points can be reserved according to the situation. For applications with low DSP computational complexity such as traffic earphones, it is not easy to encounter resource shortages and needn't a hard reset.


  1. Q: What are the specifications of the crystal oscillator used by SNC8600?

    A: 24MHz 12pF ±10ppm ESR≤100Ω.


  1. Q: Can the 1M resistance of the crystal oscillator be cancelled?

    A: No, this is a feedback resistor.


  1. Q: What is the role of TEST_EN?

    A: TEST_ EN grounding is the normal working mode, and pulling up is the chip testing mode.


  1. Q: What is the role of Always_on?

    A: To Always_ On a rising or falling edge, the chip wakes up from sleep mode.


  1. Q: Can SNC8600 MIC_BIAS2 provide power to MIC?

    A: No, MIC_BIAS2 is a RESET pin and can only be powered by MIC_BIAS1.


  1. Q: How many GPIO pins does the chip have in total?

    A: The GPIO quantity of different models maybe different. Please refer to the chip's datasheet for specific information. For example, SNC8600 has a total of 16 GPIO ports, which are multiplexed with I2S, I2C, and DMIC.


  1. Q: When is the VREG and VCAP voltage of the chip available? What're their value?

    A: The firmware code burned is running normally, and only after the CODEC part is working properly can there be voltage. It is internal LDO output, with VREG=2.5V and VCAP=2.0V.


  1. Q: What are the DP/DM voltages under normal operating conditions?

    A: DP=3.0V, DM=0V


  1. Q: What are the voltages of crystal oscillator XI. XO?

    A: XI=1.5V, XO=1.8V


  1. Q: What is the voltage of DMIC?

    A: 1. If the software does not have the DMIC function enabled, regardless of whether the microphone is connected or not, the DMIC_ CLK is 3.3V, DMIC_ IN is 0V; 2. No DMIC connected, chip DMIC_ IN=3.3V CLK=1.66V, connected to DMIC, DMIC_ IN=1.65V, CLK=1.65V; 3. Separate DMIC power on, DMIC_ IN, DMIC_ CLK is 0.3V, DMIC_ After CLK receives the clock, DMIC_ IN will have 1.2V.


  1. Q: Why should MIC_BIAS add RC filtering?

    A: Design requirements, removal will cause rustling sound.


  1. Q: Can DFU and GPIOAO be used as IO?

    A: DFU and GPIOAO are input interfaces and cannot be used as a regular IO.


  1. Q: What is the high and low voltage range of GPIO?

    A: Low: -0.3V~0.7V; High: 1.7V~3.3V.


  1. Q: What are the sampling bits for Codec ADC and DAC?

    A: The sampling bits for ADC and DAC are 24 bits.


  1. Q: How many PWM ports does SNC8600 have?

    A: There are a total of four PWM ports, which are multiplexed with GPIO2/3/4/5.


  1. Q: Under the low-power state of SNC8600, what is the internal voltage state?

    A: Only 1.1V, IO33, CODEC3.3V, and IP33 were left closed.

# Software

  1. Q: Cannot record at SPK 88.2k and MIC 176.4k sampling rates?

    A: It's need to change the FIFO level of Codec from 8 to 4.


  1. Q: Is there a problem with the volume setting of the noise reduction algorithm?

    A: If the volume of the noise reduction algorithm is set too high, it may cause the output result to be truncated. If the algorithm volume is set to 100, the input amplitude cannot exceed about 1.5k; If a full scale sine wave is input, the algorithm volume cannot exceed 3. It is necessary to set the algorithm volume size reasonably based on the previous stage gain.


  1. Q: What are the precautions when using I2C as a slave?

    A: When using I2C as a slave, it is necessary to ensure that interrupts can be responded to in a timely manner. For example, when the host writes data to the slave, the slave must enter the i2c interrupt to read the data from the fifo before the rx fifo is full. In extreme cases, if the I2C rate is 100k, a total of about 800us is required for 8 data from the start bit to the full fifo depth written by the host. If the I2C rate is 400k, it is about 200us, which requires that the processing time of other hard interrupts cannot exceed this value. If necessary in actual situations, some time-consuming applications can be closed in the start bit interrupt of the I2C slave, and then reopened in the stop bit interrupt. When using I2C as a slave, the interrupt priority should be raised as much as possible, but there are no such restrictions when using it as a host.


  1. Q: Is there a bias in the sound signal collected by the microphone?

    A: Opening the high pass filter in the ADC configuration through Soundec Studio can eliminate bias.


  1. Q: Is there any jitter in the waveform of USB uplink and downlink signals?

    A: Open AIAS for ADC and DAC to ensure that Fifo has sufficient cache space.


  1. Q: Fifo prompts overflow, serial port prints' add xxx full! '

    A: It is normal to only occur once. If it persists multiple times, it may be a problem with channel data synchronization, which may be due to incorrect sampling rate or channel configuration, or insufficient channel efficiency.


  1. Q: Why does the DAC driver speaker of SNC8600 have a POP sound when powered on and off?

    A: There are two solutions:

    1. When powering on, mute the DAC first, and then unmute it after the DAC is initialized
    2. You can detect a power off in the codec interrupt and mute the DAC once the power off occurs

  1. Q: It generates bias and POP sound when processing signal through hardware EQ.

    A: There are two solutions:

    1. Use software EQ only
    2. The mute signal 0 data is also processed through EQ to avoid the problem of audio signal jumping

  1. Q: What is the relationship between the parameter frameLen in the onFifoReady function and the return value of the function?

    A: The parameter frameLen describes the length of data bytes that can be processed each time for each pickFifo. Generally, the length of data read by each pickFifo is the same, and the return value describes the length of data written in each time in the pokeFifo


  1. Q: Configure an audio channel without USB, and DAC may have no sound.

    A: Set useSwGain to false for DAC in desc.c


  1. Q: I2S communicates with other Bluetooth device, and if the valid bit required by Bluetooth is in the lower 16 bits, the bitslot is configured to have a sound issue of 24 bits

    A: bitslot shall be set to 32bit.


  1. Q: MIC and SPK muting may experience invalidity and USB malfunction during sample rate switching

    A: Remove the printing in the ADC and DAC mute functions that set the codec when MIC and SPK are muted.

# Compile

  1. Q: It took a long time to compile the HiFi3 library when compiling the project.

    A: Some old projects require right-clicking on the project name and clicking on Libraray Dependencies in the list to remove the compilation dependency on the HiFi3 library.


  1. Q: Created a new project, but did not generate a bin file after compilation

    A: Right click on the project name, click Properties in the list, and then check Create output file in C/C++Build ->Builder, and select the output file format as binary.


  1. Q: When using the built-in Windows recorder software for recording, if the MIC sampling rate is switched, the recorder will report an error.

    A: After switching the mic sampling rate, the recorder software needs to be restarted.


  1. Q: UART Offline when debugging EQ tool with UART

    A: The UART version of EQ tool has a baud rate of 3M, which requires the use of a FT232 serial port board instead of a CH340 serial port board. CH340 only supports a baud rate of 2M and is unstable at 3M.


  1. Q: Code changes involving USB configuration are not effective

    A: After some USB related code changes are made, the device needs to be uninstalled and reinserted in the computer Device Manager after burning to make it take effect.


  1. Q: The serial port is used for communication and cannot be upgraded after connecting to external devices

    A: When upgrading, it is necessary to disconnect the device on the other end of the serial port from the hardware.


  1. Q: During compilation, it is prompted that the function in the HiFi library cannot be found

    A: The reason is that the HiFi library was not added or was added in the wrong order. When there are multiple libraries, the HiFi library needs to be placed at the bottom.


  1. Q: The file exists, but compilation prompts an error and cannot be found

    A: Right click project->Auto Includes Settings->Manage->Auto Include->, choose Automatic, check the following two options.


  1. Q: When selecting the Debug option in the SDK, compilation will report an error

    A: Configure the compilation options for Debug and Release to be the same.


  1. Q: Compilation report cannot find function error in HiFi3 library.

    A: 1. Check if the compilation options include the HiFi3 library; 2. To adjust the dependency order of the library, the HiFi3 library needs to be placed last.


  1. Q: Compilation report cannot find dependent library error

    A: Check if the path to the dependent library is correct and if it is the current project.


  1. Q: There are "no specified LSP files error" in compilation

    A: Check whether import the LSP project, and if an error is still reported, specify a new path for the LSP project.


  1. Q: Internal error reported after importing LSP project

    A: HiFi3 needs to be imported_ VFPU_ Library engineering.