यदि आप 1% के भीतर हैं, तो आपको ठीक होना चाहिए।
मान लें कि आपका UART 16x ओवरसैंपलिंग घड़ी का उपयोग करता है, उदाहरण के लिए, आप इसे 1,843,200 हर्ट्ज से 16x 115,200 बीपीएस ओवरसैप कर सकते हैं। (इस तरह से निरीक्षण करना काफी आम है) इससे UART को स्टार्ट बिट के गिरते हुए किनारे से 8 ओवर-क्लॉक की गिनती करने की सुविधा मिलती है, इसलिए यह बिट कोशिकाओं के केंद्र को +/- ओवर क्लॉक की एक अवधि के भीतर पता लगा सकता है, के बाद यह नमूना देखने के लिए निर्धारित करने के लिए ओवर-क्लॉक की 16 अवधियों की गणना करता है।
यदि आप मानते हैं कि यह स्टार्ट बिट के केंद्र को हिट कर सकता है, तो 8 डेटा बिट्स में सही बिट कोशिकाओं में सीरियल डेटा का नमूना रखने के लिए, घड़ी की आवृत्ति को (8-0.5) / 8 और (8 + 0.5) के बीच रहना होगा ) / 8, या +/- 6.25% इच्छित बिट दर। उच्च ओवरक्लॉकिंग स्टार्ट बिट के केंद्र को हिट करने की आदर्श स्थिति के करीब हो जाती है, लेकिन 8x या 16x आमतौर पर इतना करीब है कि आप मान सकते हैं कि 5% बेमेल काम करेगा।
हालाँकि, आप दूसरी तरफ आवृत्ति पर पूरी तरह से भरोसा नहीं कर सकते। यदि आप किसी ऐसे उपकरण से कनेक्ट होते हैं जो 4% तेज़ है जो किसी उपकरण से 4% धीमा है, तो आपको समस्या होगी। मैं कम से कम एक मामले में चला गया हूं, एक पीसी थोड़ा धीमा चल रहा था, और एक उपकरण थोड़ा तेज, और दो केवल मामूली संवाद कर सकते थे, हालांकि एक ही उपकरण अन्य पीसी के साथ ठीक था, और पीसी अन्य के साथ ठीक था उपकरण। (O-scoped about 112kbps and 119kbps) इस कारण से यह नाममात्र आवृत्ति को यथासंभव निकट से मारने की कोशिश करना अच्छा है। मैंने कभी भी नाममात्र के 2% के भीतर कुछ भी नहीं देखा है एक समस्या है।
सामान्य बात यह है कि मास्टर घड़ी की दर का उपयोग करना है जो कि बॉड दर के कई गुना अधिक यूएटी से अधिक-नमूना दर प्रदान करता है। उदाहरण के लिए, यदि आप CPU को 8MHz पर चलाना चाहते हैं, तो आप एक 7.3728MHz ऑसिलेटर का उपयोग कर सकते हैं, जिसे 1.8432MHz प्राप्त करने के लिए 4 से विभाजित किया जा सकता है, जो कि 16 गुना 115200 के बराबर होता है।