Hi Community!

I'm stuck with a big problem:

For mi Bachelor Thesis I want to connect an ADS1256 to a 6713DSK and do some filtering..

If've done all the hardware stuff und now I'm trying to get the communication to the ADS working.

I have seen an example from TI (4705.ADS1256-C6713-CCS3v1), which in fact does exactly what I want. But I cant explan how this example should work.

The main problem is:

How can a McBSP be used to comunicate in SPI style?

I can send data whit McBSP_write. I can read back data with McBSP_read.

But when I want to read out a register or data from the ADS I need to do both operations in one CS sequence! Doing a write operation and a read operation will produce 2 CS sequences! This does obviously not work with an SPI device like the ADS1256.

So could someone please explain me, how this is done? See the exampe code for reading a register:

static unsigned int ReadRegister(TADS1256 *pADS,unsigned int uiRegister)
    unsigned int iReadValue;

    /* change the McBSP mode to 16 bits                         */

                      uiRegister | ADS1256_CMD_RREG);

    /* change the McBSP mode to 8 bits                          */

    /* wait the necessary number of cycles                      */
    (void)Wait(pADS, 60);

    /* send a dummy word to trigger 8 SCLKs                     */
    while (MCBSP_FGETH(pADS->serial->hMcbsp, SPCR, XRDY) != 1) ;
    MCBSP_write(pADS->serial->hMcbsp, 0);

    /* and get the data                                         */
    while (MCBSP_FGETH(pADS->serial->hMcbsp, SPCR, RRDY) != 1) ;
    iReadValue = MCBSP_read(pADS->serial->hMcbsp) & 0x000000FFu;

    return iReadValue;

Is there additional hardware used in this project, which makes one CS frame out of two or how is this working?

Im trieing to get this to work for 2 days now.. :(

Thanks for any help!