Hello,
I read in the Ref Man:
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:
Let's go on to read the points highlighted in yellow.
I understand it this way:
There is an obvious contradiction in these two sentences.
Can you help me understand?
best regards
Max
解決済! 解決策の投稿を見る。
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:
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:
I already report the doc understanding issues internally.
Now, please follow the SDK code and my description to understand it, thanks.
Best Regards,
Kerry
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:
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
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.
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:
There is an obvious contradiction in these two sentences.
best regards
Max
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
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:
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:
I already report the doc understanding issues internally.
Now, please follow the SDK code and my description to understand it, thanks.
Best Regards,
Kerry