AM62D-Q1: setting up RMASK and RFMT registers.

Part Number: AM62D-Q1

Hello Experts, 

If the input signal ist TMD with 2slots. Each slot has 12bits, in stream is MSB first. After receiving a slot, which bits in RxBUF are occupied? MSB is stored on which bit? If I want to get the slot stored in the highest 12bits in RFIFO, hwo shall I set tup the RMASK and RFMT registers?

 

thanks for ur support

  • Hi Shun,

    To shift the data up into bits[31:20], set RROT = 12BITS (right-rotate by 12). This maps bit[11] (MSB) to bit[31] and bit[0] (LSB) to bit[20].

    RFMT = 0x00018053U; /* RDATDLY=1, RRVRS=MSBFIRST, RSSZ=12BITS, RROT=12BITS — use 0x00008053 for 0-bit (DSP-mode) data delay */
    RMASK = 0xFFF00000U; /* keep bits[31:20], zero bits[19:0] */

    RFMT field breakdown: RDATDLY[17:16]=01, RRVRS[15]=1, RPAD[14:13]=00, RPBIT[12:8]=0, RSSZ[7:4]=0101 (12BITS), RBUSEL[3]=0, RROT[2:0]=011 (12BITS).

    After this configuration, each RFIFO word has the 12-bit data in bits[31:20] with MSB at bit[31] and zeros in bits[19:0].

  • thank u very much!