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.

f28069 how communicate between cpu and aic by mcbsp

Other Parts Discussed in Thread: CONTROLSUITE, TMDSDOCK28069

please,help me.

I trying program to receive DA data from aic.

by mcbsp but can not receive in correctly(I seem).

1. problem

I set frame sync receive interrupt.

when interruption occur I display DRR1 reg val.

but display data is FFFF(hex).

At that time

I sured Rx pin wave form but I did not seem FFFF.

I expected Rx pin wave form equal to DRR1 reg val.

But not

2. environment

I  used the control suite sample project.

Mcbsp loop back. I tried loop back disable.

3. Questions

3.1 Were My procedure or expection wrong?

3.2 Is it need aic setting? If so how setting?

3.3 what register should I confirm?

thank you read. I hope answers.

  • Hi,

    I might recommend taking a look at the following appnote.  It is built around the F28335 (not the F28069), but the implementation should be very similar.
    http://www.ti.com/lit/spraaj2


    Thank you,
    Brett

  • Thank you for your reply!

    i am going to refer the url.

  • Hello user4019469-san,

    I faced the same phenomenon on McBSP.
    DRR1 was 0xFFFFh and McBSP RINT did not occur.

    So, I debugged the sample code "Example_2806xMcBSP_DLB_int " in C:\ti\controlSUITE\device_support\f2806x\v150\F2806x_examples_ccsv5.

    This project works well as for DLB(Digital Loop Back) Operation.  

    If we use it by DLB=0, we need the software modifications;  

    1. Software Modifications

    Example_2806xMcBSP_DLB_int.c -----------------------------------------------------

    //*************** Initialize McBSP Registers
    // McBSP register settings for Digital loop back
    McbspaRegs.SPCR2.all=0x0000; // XRST =0

    // DLB disabled
    McbspaRegs.SPCR1.all=0x0000; // RRST =0, DLB enabled old 0x8000


    F2806x_Mcbsp.c -------------------------------------------------------------------

    void InitMcbspaGpio(void)
    {
    EALLOW;
    /* Configure McBSP-A pins using GPIO regs*/
    // This specifies which of the possible GPIO pins will be McBSP functional pins.
    // Comment out other unwanted lines.

    GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 2; // GPIO20 is MDXA pin
    GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 2; // GPIO21 is MDRA pin
    GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 2; // GPIO22 is MCLKXA pin
    GpioCtrlRegs.GPBMUX2.bit.GPIO58 = 1; // GPIO58 is MCLKRA pin
    GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 2; // GPIO23 is MFSXA pin
      GpioCtrlRegs.GPBMUX1.bit.GPIO44 = 1; // GPIO44 is MFSRA pin

    // The following 4 lines must be commented out.
    // GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 2; // GPIO50 is MDXA pin
    // GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 2; // GPIO51 is MDRA pin
    // GpioCtrlRegs.GPBMUX2.bit.GPIO52 = 2; // GPIO52 is MCLKXA pin
    // GpioCtrlRegs.GPBMUX2.bit.GPIO53 = 2; // GPIO53 is MFSXA pin

    After updating these two files, please build them.

    2. Hardware connections
    On TMDSDOCK28069, please connect the following Pins by JUMPER WIRES.
    GPIO20:DOCK pin#20 <---> GPIO21:DOCK pin#21
    GPIO22:DOCK pin#22 <---> GPIO58:DOCK pin#58
    GPIO23:DOCK pin#23 <---> GPIO44:DOCK pin#59

    After connecting these pins by wires, please run this program.

    You can see sdata and rdata on expressions tab as follows,

    McBSP RINT works with no problem.

    Best regards,

    ay0689

  • Ay0689,

    Thanks for posting such a clear answer! This should help anybody else who has this problem in the future.

    -Mark