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.

McBSP读取ADS8556

Other Parts Discussed in Thread: ADS8556

请问,我现在想用McBSP来读取ADS8556转化后的数据,应该怎么配置McBSP?

ADS8556以串行的方式发送数据给McBSP,8556应该配置为软件模式还是硬件模式?

McBSP的CLKXA,FSXA,MDXA和MDRA分别连接8556的SCLK,FS,SDI和SDO_A,但是读到的数据全部为0.

下面是我对McBSP的配置:

void mcbsp_init_dlb()

    McbspaRegs.SPCR2.all=0x0000;  // Reset FS generator, sample rate generator & transmitter
    McbspaRegs.SPCR1.all=0x1000;  // 时钟停止模式

    //  McbspaRegs.SPCR1.bit.DLB = 1;       // Enable DLB mode. Comment out for non-DLB mode.

   McbspaRegs.MFFINT.all=0x0;   // Disable all interrupts

    McbspaRegs.RCR2.all=0x0001;   // Single-phase frame, 1 word/frame, No companding (Receive)
    McbspaRegs.RCR1.all=0x0;
    McbspaRegs.XCR2.all=0x0001;   // Single-phase frame, 1 word/frame, No companding (Transmit)
    McbspaRegs.XCR1.all=0x0;

    McbspaRegs.SRGR2.bit.CLKSM = 1;  // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK)
    McbspaRegs.SRGR2.bit.FPER = 15;  // FPER = 16 CLKG periods

    McbspaRegs.SRGR1.bit.FWID = 0;      // Frame Width = 1 CLKG period
    McbspaRegs.SRGR1.bit.CLKGDV = 15; // CLKG frequency = LSPCLK/(CLKGDV+1)

    McbspaRegs.PCR.bit.FSXM = 1;  // FSX generated internally, FSR derived from an external source
    McbspaRegs.PCR.bit.FSRM = 1;
    McbspaRegs.PCR.bit.CLKXM = 1;  // CLKX generated internally, CLKR derived from an external source
    McbspaRegs.PCR.bit.CLKRM = 1;
    McbspaRegs.PCR.bit.FSXP = 1;
    McbspaRegs.PCR.bit.CLKXP = 0;
    McbspaRegs.PCR.bit.CLKRP = 1;

    //*************** Initialize McBSP Data Length
      InitMcbspa16bit();

    //************* Enable Sample rate generator
    McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator
    delay_loop();                // Wait at least 2 SRG clock cycles
    McbspaRegs.SPCR2.bit.XRST=1; // Release TX from Reset
    McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset
    McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset
}

用示波器观察8556的BUSY/INT管脚,输出波形正确,说明8556一直在转化数据。

请问应该如何操作,才能收到AD的数据?