UART प्रोटोकॉल, जैसा कि मैटियास ने समझाया है, एक समय-आधारित अतुल्यकालिक प्रोटोकॉल है। बिट्स के बीच की सीमाओं को क्या परिभाषित करता है, शुरुआत बिट की शुरुआत से लिया गया समय है। इसलिए माइक्रोकंट्रोलर (N+half)/baudrate
शुरू होने के बाद बिट सेकंड "नमूना" करेगा । आधा बिट केवल बिट्स के बीच में नमूना करने के लिए है, इसलिए रिसीवर और ट्रांसमीटर के बीच समय में आधा अंतर हो सकता है (याद रखें कि अंतर संचयी हैं और सबसे बुरा मामला प्रत्येक फ्रेम के अंतिम बिट में होता है, जो आमतौर पर होता है लेकिन हमेशा नहीं, विन्यास के आधार पर 8-बिट चौड़ा)। इसे काम करने की कुंजी रिसीवर और ट्रान्सीवर के पास संभव के रूप में बॉड्रेट के साथ है।
इसलिए, माइक्रोकंट्रोलर यह जानने के लिए प्रत्येक बिट के बीच समय गिनता है कि प्रत्येक बिट एक फ्रेम के अंदर कहां है। अगला चरित्र अगले फ्रेम में जाएगा। जब प्रत्येक फ़्रेम समाप्त होता है, तो माइक्रोकंट्रोलर अगले फ़्रेम को स्वचालित रूप से सुनना शुरू कर देता है, इसलिए जब अगला स्टार्ट बिट आता है तो यह पहले से ही जानता है कि इसे एक नया फ़्रेम शुरू करना चाहिए। इस तरह से किरदार अलग हो जाते हैं।
इसके अतिरिक्त, मैं जोड़ूंगा कि आपको वास्तव में UART- प्राप्त माइक्रोकंट्रोलर को संचारित करने के लिए दो आवृत्तियों की आवश्यकता नहीं है। आप FSK के रूप में दो आवृत्तियों के बजाय OOK के रूप में एकल आवृत्ति का उपयोग कर सकते हैं । इसकी उच्च वर्णक्रमीय दक्षता है और सर्किट बहुत सरल हैं, क्योंकि आपको केवल ट्रांसमीटर के रूप में एक वाहक तरंग स्विचर और रिसीवर के रूप में एकल आवृत्ति डिटेक्टर की आवश्यकता होती है, बहुत अधिक मोर्स कोड की तरह। याद रखें कि आम तौर पर आवृत्तियों के साथ वाहक का उपयोग किया जाता है जो बॉड्रेट की तुलना में बहुत अधिक होता है, अन्यथा सरल सर्किट ठीक से काम नहीं करेंगे।