RT105x: SAI in sync mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RT105x: SAI in sync mode

Jump to solution
973 Views
mastupristi
Senior Contributor I

Hello,

I read in the Ref Man:

sai_sync.png

take the first case as an example: Tx is Async and Rx is Sync, so both use Tx clocks.

consider the last sentence highlighted in blue, and let's consider only enables:
It means:

  1. If I turn on Tx (TCSR[TE] = 1) does it automatically turn on Rx as well? Or....
  2. If I turn on Rx (RCSR[RE] = 1) automatically turns on Tx as well? Or finally....
  3. do I still have to turn on both explicitly?

 

Let's go on to read the points highlighted in yellow.

I understand it this way:

  • Enable Sync of Rx (RCR2[SYNC] =1) only after enabling Tx and Rx (is this related to the question above?). In other words, I enable Tx and Rx first and then enable sync on Rx.
  • Enable Tx last.

There is an obvious contradiction in these two sentences.

 

Can you help me understand?

 

best regards

Max

Labels (1)
Tags (4)
0 Kudos
1 Solution
825 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @mastupristi 

You mean this one,right? I also think the description is not very well, check it internally now!

I understand it this way:

  • Enable Sync of Rx (RCR2[SYNC] =1) only after enabling Tx and Rx (is this related to the question above?). In other words, I enable Tx and Rx first and then enable sync on Rx.
  • Enable Tx last.

There is an obvious contradiction in these two sentences.

You can understand it like the code:

kerryzhou_0-1685954346068.png

configure the sync mode, then, if the RX is sync, then enable the TX, and enable the RX. 

Now, you can undestand it like this:

1. Enable the receiver in synchronous mode only after both the transmitter and receiver are enabled

=>Description is not good, it should be:

do the receive operation in synchronous mode only after both the transmitter and receiver are enabled

steps:

1). disble transmitter

2). configure TX async, RX sync

3) enable the Transmitter, enable the receiver

4) do the receive operation

 

2.  When operating in synchronous mode, the transmitter and receiver share only the bit
clock, frame sync, and transmitter/receiver enable.

=> Transmitter and receiver should still enabled seperately, as I have tested it, when I enable the TX, the RX register is not enabled in the sync mode.

So, still should like the code:

kerryzhou_1-1685955823858.png

kerryzhou_2-1685955833095.png

 

 

I already report the doc understanding issues internally.

Now, please follow the SDK code and my description to understand it, thanks.

Best Regards,

Kerry

 

View solution in original post

0 Kudos
5 Replies
947 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @mastupristi ,

   Thank you for your interest in the NXP MIMXRT product, I would like to provide service for you.

Normally, we still turn on both explicitly for transmit and receiver

You can check the SDK code:

kerryzhou_0-1685682833056.png

kerryzhou_1-1685682840632.png

You can refer to the RT1050 SDK SAI example directly.

 

Wish it helps you!

If you still have questions about it, please kindly let me know.

Best Regards,

Kerry

 

 

 

 

0 Kudos
918 Views
mastupristi
Senior Contributor I

Hi @kerryzhou 

Normally, we still turn on both explicitly for transmit and receiver

What do you mean by "normally"? Do "abnormal" scenarios exist in which this does not happen?

So I have to explicitly turn on Rx and Tx, right? But in what order? For example, in the scenario already described where Tx is Async and Rx is Sync (so both use Tx clocks), should I turn on Tx first or Rx first?

However, I have to suggest that you review the documentation, because written as it is it makes a very different point from what you are telling me in this thread.

In fact the sentence "When operating in synchronous mode, the transmitter and receiver share [...] transmitter/receiver enable" to me means that Tx and Rx share the enable bit when one is Sync with the other.

sai_sync.png

 

Finally, you did not answer the other question. And that's also about the order and the possibility that the documentation is to be reviewed.

I am referring to the points highlighted in yellow in the image in my previous post:

I understand it this way:

  • Enable Sync of Rx (RCR2[SYNC] =1) only after enabling Tx and Rx (is this related to the question above?). In other words, I enable Tx and Rx first and then enable sync on Rx.
  • Enable Tx last.

There is an obvious contradiction in these two sentences.

 

best regards

Max

0 Kudos
853 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @mastupristi ,

   Thanks for your updated information.

    Please take easy, I am helping you checking it internally about the content contradiction in the RM, any updated information, I will let you know ASAP, please keep patient, thanks so much for your understanding.

Best Regards,

kerry

0 Kudos
839 Views
mastupristi
Senior Contributor I

Hi @kerryzhou 

Still missing the answer to the second question

 

best regards

Max

0 Kudos
826 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @mastupristi 

You mean this one,right? I also think the description is not very well, check it internally now!

I understand it this way:

  • Enable Sync of Rx (RCR2[SYNC] =1) only after enabling Tx and Rx (is this related to the question above?). In other words, I enable Tx and Rx first and then enable sync on Rx.
  • Enable Tx last.

There is an obvious contradiction in these two sentences.

You can understand it like the code:

kerryzhou_0-1685954346068.png

configure the sync mode, then, if the RX is sync, then enable the TX, and enable the RX. 

Now, you can undestand it like this:

1. Enable the receiver in synchronous mode only after both the transmitter and receiver are enabled

=>Description is not good, it should be:

do the receive operation in synchronous mode only after both the transmitter and receiver are enabled

steps:

1). disble transmitter

2). configure TX async, RX sync

3) enable the Transmitter, enable the receiver

4) do the receive operation

 

2.  When operating in synchronous mode, the transmitter and receiver share only the bit
clock, frame sync, and transmitter/receiver enable.

=> Transmitter and receiver should still enabled seperately, as I have tested it, when I enable the TX, the RX register is not enabled in the sync mode.

So, still should like the code:

kerryzhou_1-1685955823858.png

kerryzhou_2-1685955833095.png

 

 

I already report the doc understanding issues internally.

Now, please follow the SDK code and my description to understand it, thanks.

Best Regards,

Kerry

 

0 Kudos