1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

SSC AT91RM9200 and LM4549

Discussion in 'Embedded' started by Plesna, Mar 15, 2006.

  1. Plesna

    Plesna Guest

    Hello all,

    tried somebody use LM4549 codec connected to AT91RM9200 by SSC?

    Dont much understand SSC, cos LM4549 is connected the way:

    -BIT_CLK is connected to PB10 - RK1
    -SYNC (input) is connected to PB11 - RF1
    -SDOUT (input) is connected to PB8 - TD1
    -SDIN (out) is connected to PB9 - RD1

    But why is connected only control signals for receive?
    Also XIN from LM4549 is connected to PB27??

    The LM4549 has TAG and 12 frames (20 bit), with contol and DAC data (ADC
    data.

    Need I use PDC for transfers?

    I have tried this code to write register, but no success:

    //Pio output/input
    // configure pio as on board
    *AT91C_PIOB_ODR = AT91C_PB8_TD1 | AT91C_PB9_RD1 | AT91C_PB11_RF1
    AT91C_PB10_RK1;
    //Enable clock for SSC1
    AT91F_SSC1_CfgPMC();
    //reset SCC and dissable RX TX
    *AT91C_SSC1_CR = AT91C_SSC_SWRST | AT91C_SSC_RXDIS | AT91C_SSC_TXDIS ;
    // diable ints
    *AT91C_SSC1_IDR = (unsigned int) -1;
    // clock divider not active
    *AT91C_SSC1_CMR = 0;

    //rk pin is clock , rec/snd clock out none, data on falling edge, star
    on

    *AT91C_SSC1_RCMR = AT91C_SSC_CKS_RK | AT91C_SSC_CKO_NONE | AT91C_SSC_CKI
    AT91C_SSC_START_TX | ((((12*16)/2)-1)<<24) | (16<<16);

    //datalength = 20 =19 , NOLOOP, MSB first, 12 slots==11,FSLEN 16 = 15
    bites long sync, rf out pulse

    *AT91C_SSC1_RFMR = 19 | AT91C_SSC_MSBF | (11<< 8) | (15 <<16)
    AT91C_SSC_FSOS_POSITIVE;

    //rk pin is clock, CKO none receive clc out none, frame on rising edge
    transmit start

    *AT91C_SSC1_TCMR = AT91C_SSC_CKS_RK | AT91C_SSC_CKO_NONE
    AT91C_SSC_CKI;

    //datalength = 20 =19 , DATADEF=0, MSB first, 12 slots==11,FSLEN 16 = 1
    bites long sync, rf out pulse

    *AT91C_SSC1_TFMR = 19 | AT91C_SSC_MSBF | (11<< 8) | (15 <<16)
    AT91C_SSC_FSDEN;//| ((((12*16)/2)-1)<<24) | (16<<16);

    How to start transmit/receive without PDC?

    Thanks for advance.

    Peter
     
    Plesna, Mar 15, 2006
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.