দুটি মাইক্রোকন্ট্রোলারকে কীভাবে মাইক্রো-সেকেন্ডের নির্ভুলতার সাথে সমন্বয় করা যায়?


37

আমার দুটি মাইক্রো-কন্ট্রোলার সিঙ্ক্রোনাইজ করা দরকার যাতে তারা তরঙ্গ প্রচারের গতি মাপতে পারে। সময় বিলম্ব পরিমাপের জন্য মাইক্রোসেকেন্ড যথার্থতা থাকতে হবে (ত্রুটিটি একটি মাইক্রোসেকেন্ডের কম 1/2)।

আমার কাছে দুটি মাইক্রো-কন্ট্রোলার রয়েছে ( এটিমেগ 328 ) যা 12 মেগাহার্টজ স্ফটিক ব্যবহার করে।

তারা উভয়ই ব্লুটুথ ট্রান্সসিভার সহ সজ্জিত। ব্লুটুথ ট্রান্সসিভারগুলি ~ 15 মিলিসেকেন্ডের সাথে একটি প্যাকেট পাঠায় এবং গ্রহণ করে।

আমি আশা করি ব্লুটুথ ট্রান্সসিভার বা অন্য কোনও সৃজনশীল পদ্ধতি ব্যবহার করে মাইক্রো-কন্ট্রোলারগুলি সিঙ্ক্রোনাইজ করব।

তাদের একসাথে স্পর্শ করে আমি তাদের সাথে সিঙ্ক্রোনাইজ করার চেষ্টা করেছি, তবে প্রায় 10 মিনিট তাদের সিংক্রোনাইজ করা থাকতে হবে এবং তাদের ঘড়িগুলি খুব দ্রুত প্রবাহিত হয়েছিল। ক্লক ড্রিফটটি সঠিকভাবে ভবিষ্যদ্বাণী করা সম্ভব হলে এই পদ্ধতিটি কার্যকর হবে।

এই সিঙ্ক্রোনাইজেশন অর্জন সম্পর্কে আমার কীভাবে যাওয়া উচিত?


2
আপনি কী করতে চেষ্টা করছেন এবং ইউনিটগুলি কেন সিঙ্ক্রোনাইজ করতে হবে তা আমাদের বলতে পারেন? হতে পারে, আপনার অ্যাপ্লিকেশনটির সুনির্দিষ্ট সমাধান সমাধান নির্দেশ করতে পারে। একটি সাধারণ সমস্যা হিসাবে, এটি খুব সহজ নয় বিশেষত ছোট ওয়্যারলেস ডিভাইসের জন্য।
নিক আলেক্সেভ

2
এটি ব্লুটুথের উপর নির্ভর করে সিঙ্ক্রোনাইজেশন অর্জন করা অসম্ভব। 15 এমএস জিটারটি 0.5 আমাদের সিঙ্ক্রোনাইজেশন পেতে খুব বেশি উপায়। আপনার খুব কম জিটার এবং স্থির লেটেন্সি সহ এমন কিছু দরকার যা সংশোধন করা যেতে পারে। যদি আপনি উভয়কেই একটি ঘড়ি পেতে পারেন এবং বিলম্বটি সামঞ্জস্য করতে ঘড়িটি বাফার করেন তবে এটি আরও সহজ হবে।
ট্র্যাভিসবার্টলে

বিলম্বের জন্য দুঃখিত. প্রকল্পের লক্ষ্য হ্যান্ড-হোল্ডেড ডিজিটাল পরিমাপ সরঞ্জামগুলির বিদ্যমান ডিজাইন থেকে তারগুলি সরিয়ে ফেলা। ব্যবহারকারীর একটি বেতার নকশা চেয়েছিল, কারণ তারা বর্তমান তারের ক্ষতি করছে। ইউনিট স্থায়ী গাছগুলিতে তরঙ্গের প্রচার পরিমাপ করছে, যা উভয় সেন্সরের মধ্যে 0.5us সিঙ্ক্রোনাইজেশনের প্রয়োজন পর্যাপ্ত দ্রুত।
কেভিন

সস্তা-ও ওয়্যারলেস: ইনফ্রারেড। একটি আইআর পালস যখন কিছুটা আলাদা হয়ে গেছে তখন ঘড়িগুলি পুনরায় সমন্বয় করার জন্য যথেষ্ট।
জিমিবি

1
এই কাগজটিতে পরীক্ষামূলক পরীক্ষার সাথে 10 ডলার sy সিঙ্ক্রোনাইজেশন সহ একটি ব্লুটুথ system.০ সিস্টেমের প্রস্তাব দেয়।
ব্যবহারকারী 2943160

উত্তর:


23

আমি আপনার ওয়্যারলেস প্যারেডে বৃষ্টিপাত করতে চাইছি না। আপনি একটি শক্ত কিন্তু অপ্রত্যাশিত প্রয়োজনে চলে এসেছেন। এরকম কিছু হ'ল পুরো সিস্টেম ডিজাইনের পুনঃমূল্যায়ন rants

প্রথম জিনিসটি যা মনে আসে তা হ'ল উভয় ইউনিটকে একটি দোলক থেকে ঘড়ি। আপনার কাছে ব্লুটুথ যোগাযোগ রয়েছে, যা ইঙ্গিত দেয় যে ব্যাপ্তিটি 10 ​​মিটারের অর্ডারে রয়েছে। আপনি আপনার ইউনিটগুলিকে RG174 কোক্স ক্যাবল বা একটি অপটিকাল ফাইবারের সাথে সংযুক্ত করতে পারেন যা ঘড়িটি বহন করবে।

দ্বিতীয়ত , যথার্থ দোলক রয়েছে। যথাযথতা এবং ব্যয় ক্রমবর্ধমান।

  • টিসিএক্সও (তাপমাত্রা ক্ষতিগ্রস্থ স্ফটিক দোলক)। সাধারণত 1 থেকে 3 পিপিএম প্রবাহিত।
  • ওসিএক্সও (চুলা নিয়ন্ত্রিত স্ফটিক দোলক)। 0.02 পিপিএমের ক্রমটিতে প্রবাহিত। কিছু ওসিএক্সও 0.0001 পিপিএম এ নেমে গেছে।
  • পারমাণবিক ঘড়ি ( উদাহরণস্বরূপ রুবিডিয়াম মান )। আমি বেশিরভাগ ক্ষেত্রে রেফারেন্সের ফ্রেম দিতে পারমাণবিক ঘড়ি উল্লেখ করছি। আরো বিষয়ে এখানে

3 য় , জিপিএস দিয়ে প্রশিক্ষিত যথার্থ দোলক। প্রতিটি জিপিএস স্যাটেলাইটের বোর্ডে বেশ কয়েকটি পারমাণবিক ঘড়ি রয়েছে। সাধারণত, দেখার জন্য প্রচুর জিপিএস উপগ্রহ রয়েছে। জিপিএস অনেক সময় নির্ভুলতার জন্য ব্যবহৃত হয় (স্যাট নেভের তুলনায় কম পরিচিত ব্যবহার)। বেশিরভাগ জিপিএস রিসিভারের 1 পিপিএস আউটপুট থাকে (প্রতি সেকেন্ডে একটি ডাল), যা সময়কালকে সঠিকভাবে 50ns সরবরাহ করে।
S০০ এর দশকে (১০ মিনিট) ওপরে 0.5μs ড্রিফ্ট পেতে আপনার ঘড়িটি (আপনার বর্তমান ডিজাইনের 12MHz ঘড়ি) 0.0008ppm এর চেয়ে কম ড্রিফ্ট হওয়া উচিত। তবে আপনি যদি কম চালিত বাহ্যিক উত্স থেকে প্রতিবার সময়সীমার ত্রুটিটি সংশোধন করতে পারেন তবে ঘড়ির মধ্যে প্রবাহের প্রয়োজনীয়তা আরও শিথিল করা যেতে পারে। আপনি যদি প্রতি সেকেন্ডে সংশোধন করতে পারেন তবে আপনার ঘড়িতে একটি 0.5 পিপিএম ড্রিফ্ট থাকতে পারে।


আমি একবার এমন একটি প্রকল্পে কাজ করেছি যেখানে সারা বিশ্ব জুড়ে ডেটা সেন্টারে চলমান সার্ভারগুলিতে আমাদের এই ধরণের নির্ভুলতা পেতে হয়েছিল। সবচেয়ে সহজ উপায় ছিল জিপিএস ব্যবহার করা। এটি প্রমাণিত হয়েছিল যে সমস্ত মেশিন / ডেটা সেন্টারগুলি জিপিএসে অ্যাক্সেস পেতে পারে না তাই শেষ পর্যন্ত আমাদের সমাধানটি বেশ চ্যালেঞ্জ ছিল। মাইক্রোকন্ট্রোলারদের সাথে এটি করা আরও কঠিন হতে চলেছে।
NomadAlien

4
"পুরো সিস্টেম ডিজাইনের পুনঃমূল্যায়ন" এর জন্য +1।

1
আপনার বাজেটের উপর নির্ভর করে, আপনি এমন জিপিএস ইউনিট কিনতে পারেন যা কোনও প্রোগ্রামেবল ফ্রিকোয়েন্সি আউটপুট করে (0-10 মেগাহার্টজ) যা signal $ 150 ইএর জন্য জিপিএস সিগন্যালের সাথে পর্যায়ক্রমে সংযুক্ত থাকে। ইউব্লক্স এলইএ -6 টি দেখুন। তারা 30 এনএস আরএমএস ত্রুটি টাইমপুলস আউটপুট 99% <60 এনএস দাবি করে।
কনার ওল্ফ

9

1pps আউটপুট সহ জিপিএস মডিউলগুলি সহজেই উপলব্ধ এবং সস্তা p

সিপিইউর দোলককে জিপিএসে শৃঙ্খলাবদ্ধ করা সত্যিই প্রয়োজনীয় নয় (যেমন, একটি পিএলএল সহ)। যতক্ষণ আপনি সিপিইউ ঘড়ির সাথে সম্পর্কিত বাইরের ইভেন্টগুলিকে "টাইমস্ট্যাম্প" করতে পারেন ততক্ষণ আপনার তরঙ্গ প্রেরণের সময়কে বিভক্ত করা এবং যে কোনও দুটি পিপিএস ইভেন্টের মধ্যে ইভেন্টগুলি গ্রহণ করা তুলনামূলকভাবে সোজা।

আপনি প্রায়শই মাইক্রোকন্ট্রোলারে একটি হার্ডওয়্যার টাইমার সংমিশ্রণটি ওভারফ্লো ইভেন্টগুলির জন্য একটি সফ্টওয়্যার কাউন্টার সহ, স্বেচ্ছাসেবী প্রস্থের সিপিইউ চক্র কাউন্টার তৈরি করতে ব্যবহার করতে পারেন। রোলওভার ইভেন্টগুলি, হার্ডওয়্যার কাউন্টার এবং সফ্টওয়্যার কাউন্টার উভয়ই সঠিকভাবে মোকাবেলা করা কঠিন হতে পারে তবে শেষ পর্যন্ত, আপনি বলতে পারেন, একটি 32-বিট কাউন্টার যা সিপিইউ ঘড়ির হারে গণনা করে (উচ্চ রেজোলিউশন দেয়) ) এবং আপনি যে ব্যবধানগুলি পরিমাপের চেষ্টা করছেন তার চেয়ে দীর্ঘ সময়ের সাথে গতিবেগ (যেমন, 429 সেকেন্ড @ 10 মেগাহার্টজ)।

আপনি এই কাউন্টারটি বিভিন্ন বাহ্যিক ইভেন্টের টাইমস্ট্যাম্প ব্যবহার করতে পারেন। যদি এই ইভেন্টগুলির মধ্যে একটি কোনও জিপিএস রিসিভার থেকে 1-পিপিএস ডাল হয়, তবে সিপিইউ ঘড়ির প্রাথমিক দীর্ঘমেয়াদী নির্ভুলতা একটি যত্নশীল নয়। একমাত্র বিষয়টি হ'ল তার স্বল্প-মেয়াদী স্থিতিশীলতা। আপনি একটি ফিফোর বাফারে জিপিএস টাইমস্ট্যাম্পগুলি সংরক্ষণ করতে পারেন এবং অন্যান্য ইভেন্টের টাইমস্ট্যাম্পগুলি সেই বাফারের মানগুলির সাথে তুলনা করতে পারেন। আপনি যেহেতু জানেন যে জিপিএস ডালগুলি এক সেকেন্ডের ব্যবধানে পৃথক, তাই আপনি অন্য কোনও ইভেন্টের সঠিক সময় ইন্টারপোল্ট করে খুঁজে পেতে পারেন।

জিপিএসএনজিপিএসএন+ +1টিআমিমিএনটিআমিমিএন+ +1এক্সটিজিপিএসএনজিপিএসএন+ +1

টিআমিমিএন+ +এক্সটি-জিপিএসএনজিপিএসএন+ +1-জিপিএসএন

সবশেষে, যদি আপনার এই সেটআপটি দুটি পৃথক সিস্টেমে চলমান থাকে, যার প্রতিটি তার নিজস্ব জিপিএস রিসিভারের সাথে থাকে তবে আপনি দুটি সিস্টেমে বিভিন্ন ইভেন্টের জন্য গণনা করা সময়ের সাথে উচ্চতর নির্ভুলতার সাথে তুলনা করতে পারেন (সাধারণত ± 100 এনএস এর ক্রম অনুসারে) দুটি সিস্টেমের সিপিইউ ঘড়ি সিঙ্ক্রোনাইজ করা হয় না।


এটি কীভাবে কাজ করবে সে সম্পর্কে আপনি আরও কিছুটা পরিষ্কার হতে পারেন? আমার বর্তমান ব্যাখ্যাটি বুঝতে সমস্যা হচ্ছে।
নিকহ্যালডেন

@ নিকহ্যালডেন: ঠিক আছে, সম্পন্ন হয়েছে।
ডেভ টুইট করেছেন

হুমমম ঠিক আছে, সিপু ক্লকের দুটি 1 সেকেন্ডের ডালের মধ্যে ধ্রুবক হওয়া সত্ত্বেও এটি নির্ভর করে না? উদাহরণস্বরূপ, একটি বিশেষত ভয়ঙ্কর স্ফটিক দোলক সার্কিট নিন যেখানে 99% ডালগুলি 0.00 থেকে 0.05 সেকেন্ডের মধ্যে ঘটে এবং তারপরে চূড়ান্ত 1% 0.05 এবং 1.00 এর মধ্যে ঘটে। সেই রোগতাত্ত্বিকভাবে নির্মিত উদাহরণটি কি এটিকে ঘৃণা করবে না আমি এখনও কিছু হারিয়ে যাচ্ছি?
নিকহাল্ডেন

হ্যাঁ, "স্বল্প-মেয়াদী স্থিতিশীলতা" এর অর্থ।
ডেভ টুইট করেছেন

ওহ, আমি মন্তব্য করার সময় ওয়েস সেখানে ছিল? হাহাহা যে বিব্রতকর। যাইহোক, আমার কাছ থেকে ব্যাখ্যা +1 করার জন্য ধন্যবাদ।
নিকহ্যালডেন

8

আমি এর আগে মাইক্রোকন্ট্রোলারদের জন্য একটি ওয়্যারলেস ক্লক সিঙ্ক্রোনাইজেশন প্রয়োগ করেছি, তবে কেবলমাত্র মিলিসেকেন্ড যথার্থতার সাথে, যা অ্যাপ্লিকেশনটির জন্য যথেষ্ট ভাল ছিল। আমার পড়া থেকে, এই কাগজটি মাইক্রোসেকেন্ড সিঙ্ক্রোনাইজেশনটি বেশ ভালভাবে ব্যাখ্যা করেছে: http://www.math.u-szeged.hu/tagok/mmaroti/okt/2010t/ftsp.pdf

মূলত, যদি আপনার ট্রান্সমিটার এবং রিসিভারে যথাক্রমে সংক্রমণ ইভেন্ট এবং একটি রেডিও প্যাকেটের আগমন ইভেন্ট সম্পর্কে জ্ঞান থাকে তবে আপনার 2 টি সিস্টেমের মধ্যে একটি সাধারণ পর্যবেক্ষণযোগ্য ইভেন্ট (আপনি ধরে নিচ্ছেন রেডিও তরঙ্গের প্রচারের সময়টি উপেক্ষা করবেন) রয়েছে একটি রেফারেন্স হিসাবে ব্যবহৃত। কাগজে উল্লিখিত অন্যান্য ঝরঝরে বৈশিষ্ট্যটি হ'ল লিনিয়ার রিগ্রেশন ব্যবহার করে ক্লক-স্কিউ অনুমান।


একক হপ দৃশ্যে 1.5µ এর যথার্থতা এবং মাল্টি-হপ ক্ষেত্রে প্রতি হ্যাপে 0.5.s এর যথার্থতা পরীক্ষামূলক ফলাফল সরবরাহ করে দেখানো হয়েছিল। খুশী হলাম।
লি-অং ইপ


3

ব্লুটুথ ক্লক সিঙ্ক্রোনাইজেশন প্রোটোকল (সিএসপি) যা স্বাস্থ্য ডিভাইস প্রোফাইল (এইচডিপি) এর একটি alচ্ছিক অংশ যাচাই করে নিন যে নথির যে বিভাগগুলি সিএসপির সাথে প্রাসঙ্গিক সেগুলি হ'ল 2.1 এবং 8।

আমার কাছে এখনও এটি চেষ্টা করার সুযোগ হয়নি তবে যতদূর আমি বলতে পারি, ব্লুজেড (অফিসিয়াল লিনাক্স ব্লুটুথ প্রোটোকল স্ট্যাক) স্রেফ এইচডিপি সমর্থন করেছে, সিএসপি সমর্থন সহ support যদিও এটির মতো শোনাচ্ছে না আপনি ব্লুজেড স্ট্যাক সমর্থন করে এমন একটি প্ল্যাটফর্মে চলে যাচ্ছেন তবে সম্ভবত কোডটি কমপক্ষে একটি ভাল রেফারেন্স বাস্তবায়ন সরবরাহ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.