你好,
我使用CC1110 单发单收 传输语音,但音质不好(硬件确定没问题,数据传输也没问题),声音不清晰,杂音大。
ADC采用单端采样,8K速率、12bit采样精度、DMA传输、ADPCM方式压缩(即使不用压缩效果也不理想)。
DAC端采用T1的DSM模式播放,中断优先级已调至最高。下面是初始化配置,请问有什么改善和建议吗?
///////ADC 端/////////
void AudioAdcInit(void)
{
T1CTL = 0;
//T1CTL = 0x0c;//(DVD_VAL);
T1CTL |= 0x02;
T1CCTL0 = 0;
T1CCTL0 = (0x10);
T1CCTL0 |=0x04;
T1CC0L = 0xB1; //8k
T1CC0H = 0x0C;
T1CCTL0 |= 0x40;
T1CNTL = (0x01);
ADCCFG = (1<<0);
/*******************ADC extra setups************************/
//ADCCON1 &=~(0x30); //Clear STSEL bits
ADCCON1 = 0x20; //Set STSEL to Timer 1 channel 0
ADCCON2 = 0xB0;//0xB0
ADCCON3 = 0;
/*******************DMA ARM*************************/
DmaAdcSetup();
DMA_ARM_CHANNEL(DMA_ADC);
HAL_INT_ENABLE(INUM_DMA, INT_ON); // Enable DMA interrupts
}
///////////DAC端 T1中断方式////////
void DSM_OUT_init(void)
{
PERCFG |= PERCFG_T1CFG;
P1SEL |= 0x02;
CLKCON &=~(CLKCON_OSC | CLKCON_TICKSPD);
T1CTL = 0x00;
T1CNTL = 0x01;
//T1CNTH = 0x01;
T1CC0L = 0xB1; //8k
T1CC0H = 0x0C;
T1CCTL0 = T1CCTL0_MODE;
T1CC1L = 0x00;
T1CC1H = 0x00;
T1CTL = T1CTL_MODE1;
T1CCTL1 = T1CCTL1_DSM_SPD ;
T1IE = 1;
T1CCTL1 |= T1CCTL1_CMP;
}