How to determine who drives the clock ?

I have come to this problem where I wanted to go with synchronous UART between 2 peers for reliable communication. The problem is how to determine who drives the clock ? I mean it's a bi-directional communication. so for peer1, it will try to sync the clock to its TX line, and for peer2 it will try to do the same for its TX line. which results in a conflict for whom to drive the clock. @Middleware & OS
Solution:
In a synchronous UART setup where reliable bi-directional communication is required, the clock source needs to be clearly defined to avoid conflicts.
Jump to solution
9 Replies
wafa_ath
wafa_ath3mo ago
If you need truly symmetrical communication, consider using asynchronous UART instead, where each device generates its own clock internally.
ZacckOsiemo
ZacckOsiemo3mo ago
Isn't the solution above applicable? are you lacking UART on your device?
UC GEE
UC GEE3mo ago
But,why is it that asynchronous UART is preferred over other communication methods for symmetrical communication? @wafa_ath
UC GEE
UC GEE3mo ago
Different people with different solutions...I want to learn more...😁 @ZacckOsiemo
ZacckOsiemo
ZacckOsiemo3mo ago
Ah I see, noted.
Solution
kentaurse
kentaurse3mo ago
In a synchronous UART setup where reliable bi-directional communication is required, the clock source needs to be clearly defined to avoid conflicts.
wafa_ath
wafa_ath3mo ago
as i said because each device generates its own clock, and that reduce complexity in bi-directional communication
kentaurse
kentaurse3mo ago
Peer1 (Master) Peer2 (Slave) ----------------- ----------------- | Clock Generator | ----> | Clock Follower | | TX | ----> | RX | | RX | <---- | TX | ----------------- -----------------
UC GEE
UC GEE3mo ago
Ok @kentaurse 👍
Want results from more Discord servers?
Add your server