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.

PGA460-Q1: Using synchronous mode

Part Number: PGA460-Q1
Other Parts Discussed in Thread: PGA460

I’d like to use the synchronous mode for communication, but I’m not having much luck. Are there any examples of this mode being utilized? According to the data sheet, a 8Mbps transfer is possible, can I use a much slower transfer rate, like 9600bps by slowing SCLK? Also, should I provide a continuous SCLK, or can I turn it off and on with each TX or RX?   

Thanks

  • Hi Ernest,

    The datasheet excludes half of the information on the TEST_MUX (addr 0x4B) register. Here is the additional information you need to enable the synchronous communication mode (ADC mode):

    This information will be available in the upcoming revision of the datasheet or as an application note.

    To enter ADC mode, follow these steps:

    1) Ensure the THR_CRC_ERR bit is cleared.

    2) Write a value of 100b to the 2:0 DP_MUX field of the TEST_MUX register at address 0x4B.

    3) By default, the SAMPLE_SEL is set to 8-bits. For 12-bit resolution, write a value of 1b to bit 3 of the TEST_MUX register.

    4) Now the PGA460 is ready to accept a preset burst+listen command in synchronous mode format. Here is the code snippet executed on the MSP430 of the PGA460 EVM to force the USART burst:

               //FORCE USART BURST &  LISTEN...

                           BYTE MEM_BURST[] = {pPayload[0], pPayload[1], pPayload[2], pPayload[3]};

                           for (k=0; k<sizeof(MEM_BURST); k++)

                           {

                                       while (!(UCy_IFG&UCTXIFG));               // USCI_B1 TX buffer ready?

                                       UCy_TXBUF =  MEM_BURST[k];

                           }

                           for(j=10;j>0;j--);                                             // Wait for transmit is complete

    where Payload [0] = 0x55, [1] = command byte, [2] = number of objects, [3] = checksum

    5) Then send a continuous 1MHz clock to the SCLK pin to extract the ADC output from the TXD pin as described in section 7.3.6.2.1.8 USART Synchronous Mode of the datasheet. You cannot use a slower transfer rate (i.e 9.6kbps).