你好!
非常感谢你的回答,我在最开始贴的程序确实是错误的,在 Power_On_Self_Test的analog_audio_test模块里面数据是在DAC运行时才被写进去的,所以我的SRC加入的位置不对,我进行了重新修改后,SRU的配置程序如下:
void Init_DAI_I2S()
{
Clear_DAI_Pins();;
SRU(PCG_CLKA_O, SRC0_CLK_IP_I);
SRU(PCG_FSA_O, SRC0_FS_IP_I);
SRU(PCG_CLKA_O, SPORT0_CLK_I);
SRU(PCG_FSA_O, SPORT0_FS_I);
SRU(SPORT0_DA_O, SRC0_DAT_IP_I);
SRU(DAI_PB07_O, SRC0_CLK_OP_I);
SRU(DAI_PB08_O, SRC0_FS_OP_I);
SRU(HIGH, PBEN12_I);
SRU(SRC0_DAT_OP_O, DAI_PB12_I); // DAIP12 (DSDATA1) to SPORT0 DA (TX)
//--------------------------------------------------------------------------
// Route SPI signals to AD1939 Control Port.
SRU(SPI_MOSI_O, DPI_PB01_I); //Connect MOSI to DPI PB1.
SRU(DPI_PB02_O, SPI_MISO_I); //Connect DPI PB2 to MISO.
SRU(SPI_CLK_O, DPI_PB03_I); //Connect SPI CLK to DPI PB3.
SRU(SPI_FLG0_O, DPI_PB04_I); //Connect SPI FLAG0 to DPI PB4.
//---------------------------------------------------------------------------
// Tie pin buffer enable from SPI peripheral to determine whether they are
// inputs or outputs
SRU(SPI_MOSI_PBEN_O, DPI_PBEN01_I);
SRU(SPI_MISO_PBEN_O, DPI_PBEN02_I);
SRU(SPI_CLK_PBEN_O, DPI_PBEN03_I);
SRU(SPI_FLG0_PBEN_O, DPI_PBEN04_I);
}
======================================PCG的设置为:
#define CLKIN 25000000
#define SRC0_SAMPLE_RATE 192000
#define BCLK_SRC0 (64 * SRC0_SAMPLE_RATE)
#define CLKA_DIVIDER (CLKIN/BCLK_SRC0)
#define FSA_DIVIDER (CLKIN/SRC0_SAMPLE_RATE)
#define PHASE_SHIFTA (((CLKA_DIVIDER)/2+1)<<20)
void InitPCG()
{
*pPCG_CTLA1=CLKA_DIVIDER | PHASE_SHIFTA;
*pPCG_CTLA0=FSA_DIVIDER | ENFSA | ENCLKA;
*pPCG_PW=0;
*pPCG_SYNC=0;
}
sine513是频率为1hz的正弦波,产生如下波形:
![]()
现在耳机可以听到声音且感觉没有杂音,但是从输出的波形看我怀疑输入信号是否有进入到SRC模块中,因为听到的声音和直接进行DAC转换时设置不同采样率的结果一样?例外SRU配置SRC的输出FS和CLK的时候使用的是DAI_PB07,DAI_PB08的输出,但是因为没有ADC的话,这两个应该没有任何连接,但是设置成别的声音有不对,还请麻烦您帮忙指导一下该怎么解决这个问题
例外,因为条件限制所以没有示波器,请问一下还有别的方法可以查看PCG的产生信号吗?
[size=12.800000190734863px]非常期待你的指导和回答,谢谢!!!