दो माइक्रोकंट्रोलरों को माइक्रो-सेकंड सटीकता के साथ कैसे सिंक्रनाइज़ किया जाए?


37

मुझे दो माइक्रो-नियंत्रक को सिंक्रनाइज़ करने की आवश्यकता है ताकि वे तरंगों के प्रसार की गति को माप सकें। समय की देरी के माप में माइक्रोसेकंड सटीकता (त्रुटि कम है कि 1/2 माइक्रोसेकंड की आवश्यकता है)।

मेरे पास दो माइक्रो-नियंत्रक ( ATmega328 ) हैं जो एक 12MHz क्रिस्टल का उपयोग करते हैं।

वे दोनों ब्लूटूथ ट्रांसीवर से लैस हैं। ब्लूटूथ transceivers ~ 15 मिलीसेकंड के घबराने के साथ पैकेट भेजते हैं और प्राप्त करते हैं।

मैं ब्लूटूथ ट्रांसीवर, या किसी अन्य रचनात्मक विधि का उपयोग करके माइक्रो-नियंत्रक को सिंक्रनाइज़ करने की उम्मीद करता हूं।

मैंने उन्हें एक साथ स्पर्श करके सिंक्रनाइज़ करने की कोशिश की है, लेकिन मुझे उन्हें लगभग 10 मिनट के लिए सिंक्रनाइज़ रहने की आवश्यकता है, और उनकी घड़ियां बहुत तेज़ हो गईं। हो सकता है कि अगर घड़ी के बहाव का सटीक अनुमान लगाना संभव हो, तो यह तरीका काम करेगा।

मुझे इस सिंक्रनाइज़ेशन को प्राप्त करने के बारे में कैसे जाना चाहिए?


2
क्या आप हमें बता सकते हैं कि आप क्या करने की कोशिश कर रहे हैं और इकाइयों को सिंक्रनाइज़ क्यों करना है? हो सकता है, आपके आवेदन की बारीकियों से कोई समाधान निकल सके। एक सामान्य समस्या के रूप में, यह बहुत आसान नहीं है, खासकर छोटे वायरलेस उपकरणों के लिए।
निक एलेक्सीव

2
ब्लूटूथ पर निर्भर सिंक्रनाइज़ेशन को प्राप्त करना असंभव है। 15 एमएस घबराना सिर्फ 0.5 का बहुत ज्यादा तरीका है जिससे हमें सिंक्रोनाइजेशन मिलता है। आपको बहुत कम घबराहट और निश्चित विलंबता के साथ कुछ चाहिए, जिसे ठीक किया जा सकता है। यह आसान होगा यदि आप दोनों को एक ही घड़ी प्राप्त कर सकते हैं, और देरी को संतुलित करने के लिए घड़ी को बफर कर सकते हैं।
ट्रैविसबार्टले

विलम्ब के लिए खेद। परियोजना का लक्ष्य हाथ से पकड़े गए डिजिटल मापने वाले उपकरणों के मौजूदा डिजाइन से तारों को निकालना है। उपयोगकर्ता को एक वायरलेस डिज़ाइन चाहिए था, क्योंकि वे वर्तमान तारों को नुकसान पहुंचा रहे थे। इकाइयां खड़े पेड़ों में तरंगों के प्रसार को माप रही हैं, जो दोनों सेंसर के बीच 0.5us सिंक्रनाइज़ेशन की आवश्यकता के लिए पर्याप्त तेज़ हैं।
केविन

सस्ता-ओ वायरलेस: इन्फ्रारेड। एक आईआर पल्स घड़ियों को फिर से सिंक्रनाइज़ करने के लिए पर्याप्त हो सकता है जब वे थोड़ा अलग हो गए हैं।
जिमीबीस

1
यह पेपर प्रयोगात्मक परीक्षण के साथ ~ 10uS तुल्यकालन के साथ एक ब्लूटूथ 4.0 प्रणाली का प्रस्ताव करता है।
15:29 बजे user2943160

जवाबों:


23

मुझे आपके वायरलेस परेड पर बारिश का मतलब नहीं है। आप एक कठिन लेकिन अप्रत्याशित आवश्यकता में भाग गए हैं। कुछ इस तरह से वारंट पूरे सिस्टम डिज़ाइन का पुनर्मूल्यांकन करता है।

पहली बात जो दिमाग में आती है, वह है कि दोनों इकाइयों को एक-एक थरथरानवाला बंद करना। आपके पास ब्लूटूथ संचार है, जो संकेत देता है कि सीमा 10 मी के क्रम पर है। आप अपनी इकाइयों को RG174 कोक्स केबल या एक ऑप्टिकल फाइबर के साथ जोड़ सकते हैं, जो घड़ी ले जाएगी।

2 , सटीक ऑसिलेटर हैं। बढ़ती परिशुद्धता और लागत के क्रम में।

  • टीसीएक्सओ (तापमान मुआवजा क्रिस्टल थरथरानवाला)। आम तौर पर 1 से 3 पीपीएम बहाव।
  • OCXO (ओवन नियंत्रित क्रिस्टल थरथरानवाला)। 0.02ppm के आदेश पर बहाव। कुछ OCXO 0.0001 पीपीएम तक नीचे चले गए हैं।
  • परमाणु घड़ी ( रुबिडियम मानक , उदाहरण के लिए)। मैं परमाणु घड़ी का उल्लेख कर रहा हूं, जो ज्यादातर संदर्भ का एक फ्रेम देता है। उस पर और अधिक यहाँ

3 , सटीक थरथरानवाला जीपीएस के साथ प्रशिक्षित। हर जीपीएस उपग्रह में कई परमाणु घड़ियां होती हैं। आमतौर पर, देखने में बहुत सारे जीपीएस उपग्रह होते हैं। GPS का उपयोग सटीक समय के लिए बहुत किया जाता है (sat nav की तुलना में कम ज्ञात उपयोग)। अधिकांश जीपीएस रिसीवर्स में 1PPS आउटपुट (प्रति सेकंड एक पल्स) होता है, जो 50ns को सही समय प्रदान करता है।
600s (10min) से अधिक 0.5μs का बहाव करने के लिए, आपकी घड़ी (आपके वर्तमान डिज़ाइन में 12MHz घड़ी) का बहाव 0.0008ppm से कम होना चाहिए। लेकिन अगर आप हर बार कम बहाव वाले बाहरी स्रोत से समय की त्रुटि को ठीक कर सकते हैं, तो घड़ी में बहाव की आवश्यकता अधिक आराम से हो सकती है। यदि आप प्रत्येक सेकंड को सही कर सकते हैं, तो आपकी घड़ी में 0.5ppm बहाव हो सकता है।


मैंने एक बार एक ऐसी परियोजना पर काम किया था जहाँ हमें दुनिया भर के डेटा केंद्रों में चल रहे सर्वरों पर इस तरह की सटीकता प्राप्त करनी थी। वहाँ सबसे आसान तरीका जीपीएस का उपयोग करना था। यह पता चला कि सभी मशीनें / डेटा केंद्र जीपीएस तक नहीं पहुंच सकते हैं, इसलिए अंत में हमारा समाधान काफी चुनौती भरा था। माइक्रोकंट्रोलर्स के साथ ऐसा करना और भी मुश्किल होने वाला है।
खानाबदली

4
+1 "पूरे सिस्टम डिज़ाइन के वारंट के पुनर्मूल्यांकन" के लिए।

1
अपने बजट के आधार पर, आप GPS इकाइयाँ खरीद सकते हैं जो प्रोग्रामेबल फ़्रीक्वेंसी (0-10 Mhz) को आउटपुट करती हैं जो ~ $ 150 ea के लिए GPS सिग्नल के लिए चरण-संरेखित होती है। UBlox LEA-6T को देखें। वे दावा करते हैं कि 30 n RMS त्रुटि टाइमपुल आउटपुट, 99% <60 nS।
कॉनर वुल्फ

9

1pps आउटपुट वाले GPS मॉड्यूल आसानी से उपलब्ध हैं और सस्ते हैं।

सीपीयू के थरथरानवाला को जीपीएस (जैसे पीएलएल के साथ) को अनुशासित करना वास्तव में आवश्यक नहीं है। जब तक आप सीपीयू घड़ी के सापेक्ष बाहरी घटनाओं को "टाइमस्टैम्प" कर सकते हैं, तब तक यह अपेक्षाकृत सीधा है कि आपकी लहर संचारित होने के समय को बाधित कर सकती है और किसी भी दो पीपीएस घटनाओं के बीच की घटनाओं को प्राप्त कर सकती है।

आप अक्सर मनमाने ढंग से चौड़ाई का सीपीयू चक्र काउंटर बनाने के लिए, इसकी अतिप्रवाह घटनाओं के लिए एक सॉफ्टवेयर काउंटर के साथ, माइक्रोकंट्रोलर पर एक हार्डवेयर टाइमर के संयोजन का उपयोग कर सकते हैं। यह रोलओवर घटनाओं, हार्डवेयर काउंटर और सॉफ्टवेयर काउंटर दोनों के साथ सही ढंग से निपटने के लिए मुश्किल हो सकता है, लेकिन अंत में, आप कह सकते हैं, एक 32-बिट काउंटर जो सीपीयू घड़ी की दर से गिना जाता है (उच्च संकल्प दे रहा है) ) और उस अंतराल की तुलना में अधिक समय तक रहता है जिसे आप मापने की कोशिश कर रहे हैं (जैसे, 429 सेकंड @ 10 मेगाहर्ट्ज)।

आप इस काउंटर का उपयोग विभिन्न बाहरी घटनाओं को टाइमस्टैम्प करने के लिए कर सकते हैं। यदि उन घटनाओं में से एक जीपीएस रिसीवर से 1-पीपीएस दाल है, तो सीपीयू घड़ी की बुनियादी दीर्घकालिक सटीकता एक परवाह नहीं है। केवल एक चीज जो मायने रखती है वह है इसकी अल्पकालिक स्थिरता। आप एक एफआईएफओ बफर में जीपीएस टाइमस्टैम्प को बचा सकते हैं, और अन्य घटनाओं के टाइमस्टैम्प की तुलना उस बफर में मान से कर सकते हैं। चूंकि आप जानते हैं कि जीपीएस दालों के ठीक एक सेकंड अलग हैं, आप किसी अन्य घटना का सटीक समय इंटरपोल करके पा सकते हैं।

जीपीएसnजीपीएसn+1टीमैंमीटरnटीमैंमीटरn+1एक्सटीजीपीएसnजीपीएसn+1

टीमैंमीटरn+एक्सटी-जीपीएसnजीपीएसn+1-जीपीएसn

अंत में, यदि आपके पास यह सेटअप दो अलग-अलग प्रणालियों पर चल रहा है, प्रत्येक अपने स्वयं के जीपीएस रिसीवर के साथ, आप उच्च सटीकता के साथ दो प्रणालियों पर विभिन्न घटनाओं के लिए गणना की गई समय की तुलना कर सकते हैं (आमतौर पर ± 100 एनएस के आदेश पर), भले ही दो प्रणालियों के सीपीयू घड़ियां सिंक्रनाइज़ नहीं हैं।


क्या आप इस बारे में थोड़ा और स्पष्ट हो सकते हैं कि यह कैसे काम करेगा? मुझे वर्तमान स्पष्टीकरण से समझने में परेशानी हो रही है।
NickHalden

@ निकलेडेन: ठीक है, किया।
डेव ट्वीड

हम्म ठीक है, यह दो 1 सेकंड की दालों के बीच स्थिर होने के कारण सीपीयू घड़ी की आवृत्ति पर निर्भर नहीं करता है? उदाहरण के लिए, एक विशेष रूप से भयानक क्रिस्टल थरथरानवाला सर्किट लें जहां 99% दालों 0.00 और 0.05 सेकंड के बीच होता है, और फिर अंतिम 1% 0.05 और 1.00 के बीच होता है। क्या यह पथिक रूप से निर्मित उदाहरण पेंच नहीं होगा या क्या मुझे अभी भी कुछ याद नहीं है?
NickHalden

हां, यही "अल्पकालिक स्थिरता" का मतलब है।
डेव ट्वीड

ओह, जब मैं टिप्पणी की थी कि वहाँ yikes था? हाहा जो शर्मनाक है। वैसे भी, मेरी ओर से स्पष्टीकरण +1 के लिए धन्यवाद।
NickHalden

8

मैंने पहले माइक्रोकंट्रोलर्स के लिए एक वायरलेस घड़ी सिंक्रोनाइज़ेशन लागू किया है, लेकिन केवल मिलीसेकंड सटीकता के साथ, जो एप्लिकेशन के लिए काफी अच्छा था। मेरे पढ़ने से, यह पत्र माइक्रोसेकंड सिंक्रनाइज़ेशन को अच्छी तरह से समझाता है: http://www.math.u-szeged.hu/tagok/mmaroti/okt/2010t/ftsp.pdf

अनिवार्य रूप से, यदि आपको क्रमशः ट्रांसमीटर और रिसीवर पर ट्रांसमिशन इवेंट और एक रेडियो पैकेट के आगमन की घटना का ज्ञान है, तो आपके पास 2 सिस्टमों के बीच एक सामान्य अवलोकन योग्य घटना है (मान लें कि आप रेडियो तरंग के प्रसार समय की उपेक्षा करते हैं)। एक संदर्भ के रूप में इस्तेमाल किया। कागज में उल्लेखित अन्य साफ-सुथरी विशेषता रैखिक प्रतिगमन का उपयोग करते हुए घड़ी-तिरछा अनुमान है।


एकल हॉप परिदृश्य में 1.5 averages की सटीकता और बहु-हॉप मामले में प्रति हॉप 0.5 pers की औसत परिशुद्धता प्रयोगात्मक परिणामों द्वारा दिखाई गई थी। अच्छा लगा।
ली-आंग येप


3

ब्लूटूथ क्लॉक सिंक्रोनाइज़ेशन प्रोटोकॉल (CSP) की जाँच करें जो हेल्थ डिवाइस प्रोफाइल (HDP) का एक वैकल्पिक हिस्सा है। CSP के लिए प्रासंगिक दस्तावेज़ में अनुभाग 2.1 और 8 हैं।

मुझे अभी तक इसे स्वयं आज़माने का मौका नहीं मिला है, लेकिन जहाँ तक मैं बता सकता हूँ, ब्लूज़ (आधिकारिक लिनक्स ब्लूटूथ प्रोटोकॉल स्टैक) ने केवल सीएसपी के लिए समर्थन सहित एचडीपी के लिए समर्थन जोड़ा है । तो भले ही ऐसा न लगे कि आप एक ऐसे मंच पर चल रहे हैं जो ब्लूज़ स्टैक का समर्थन करता है, लेकिन शायद कोड कम से कम एक अच्छा संदर्भ कार्यान्वयन प्रदान करेगा।

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