मैं UART की गति कैसे निर्धारित कर सकता हूं?


12

आपको UART की बॉड दर कैसे निर्धारित करनी चाहिए

बोनस प्रश्न: आरपीआई पर कौन सी बॉड दरें उपलब्ध हैं?

संपादित करें : स्टीव के उत्तर को पढ़ने के बाद से, मैंने पाया है कि दो UART उपलब्ध हैं।

मिनी-UART 32MBud तक काम कर सकता है, लेकिन इसमें एक छोटा बफर है और इसे ऊपर रखने के लिए बहुत सारे CPU की आवश्यकता होगी।

बड़े बफ़र्स के साथ एक अधिक पूरी तरह से चित्रित UART भी है, मुझे अभी तक इसके लिए न्यूनतम / अधिकतम गति नहीं मिली है।


क्या आप बॉड दर को रन टाइम पर सेट करना चाहते हैं, किसी अन्य डिवाइस के साथ या बूट समय पर इंटरफ़ेस करने के लिए, इसलिए आप इसके सीरियल पोर्ट पर पाई में लॉग इन कर सकते हैं?
मालवीयस

@ मालवीय, बूट समय ठीक है, लेकिन रनटाइम भी उपयोगी है। मुझे अन्य उपकरणों से बात करने में दिलचस्पी है।
जॉन ला रोय जूल

जवाबों:


9

फ़ारनेल की क्विक स्टार्ट गाइड के अनुसार , डिफ़ॉल्ट बॉड दर है: 115200 । UART की सेटिंग्स और क्षमताओं की काफी विस्तृत चर्चा इस ब्लॉग पोस्ट में पाई जा सकती है। More on रास्पबेरी पाई सीरियल पोर्ट्स । सीरियल पोर्ट के साथ काम करने की अधिक विशिष्ट कार्यान्वयन विवरण / चुनौतियां ब्लॉग पोस्ट में पाई जा सकती हैं। मेरे रास्पबेरी पाई को उच्च गति वाले सीरियल UART संचार के लिए स्थापित किया जा रहा है

आप इस बात का उल्लेख नहीं करते हैं कि आप कौन सा वितरण चला रहे हैं, लेकिन यह मानते हुए कि आप डेबियन चला रहे हैं, आप निम्नलिखित करके बॉड दर निर्धारित कर सकते हैं:

नोट करें कि रास्पबेरी पाई UART के कंसोल संदेश (बूटअप संदेशों सहित) के लिए उपयोग करता है और गेटी है ताकि आप धारावाहिक के माध्यम से प्रवेश कर सकें। अपने स्वयं के उपयोग के लिए इस सीरियल पोर्ट का उपयोग करने के लिए आपको इन सेवाओं को अक्षम करना होगा।

कंसोल बॉड्रेट को बदलने के लिए, /boot/cmdline.txt को अपने इच्छित बॉड दर के साथ 115200 से बदलें (ध्यान दें कि यह सभी एक पंक्ति है)।

dwc_otg.lpm_enable = 0 कंसोल = ttyAMA0,115200 kgdboc = ttyAMA0,115200 कंसोल = tty1 root = / dev / mmcblk0p2 rootfitype = ext4 rootwait

फिर गेटी की बॉड्रेट को बदलने के लिए / etc / inittab को संपादित करें (आपको 115200 के बॉड्रेट के साथ निम्नलिखित की तरह एक पंक्ति मिलनी चाहिए, इसे अपनी वांछित बॉड दर में बदल दें)

2: 23: प्रतिक्रिया: / sbin / getty -L ttyAMA0 115200 vt100

और, आप को नुकसान से बचने के लिए अपने पिन वोल्टेज देखने के लिए याद रखें पाई।

अतिरिक्त संदर्भ:

http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart


3

इस धागे में एक मनमाना (गैर-मानक) बॉड दर के लिए एक समाधान है: /programming/12646324/how-to-set-a-custom-baud-rate-on-linux/219604188

पहले POSIX जोड़तोड़ करते हैं, फिर यह कस्टम गति सेट करने के लिए, 250k बॉड दर प्राप्त करने के लिए रास्पबेरी पाई के अंतर्निहित UART पर ठीक काम करता है। इसलिए POSIX मानक दरों के साथ, आपके पास बहुत अधिक गति वाले सामान के लिए कम से कम 1M ( http://fw.hardijzer.nl/?p=138 ) तक 16M का कोई भी पूर्णांक कारक हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.