100ns রেজোলিউশনের সময় নির্ধারণের জন্য 10MHz এ টাইমার চলমান দরকার। অনেক মাইক্রোকন্ট্রোলারকে দ্রুত টাইমার চালানোর পক্ষে সক্ষম হওয়া উচিত।
সমস্যাটি তখন আসে যখন আপনি 6 টি সিগন্যালের আগমনের সময় চেষ্টা করছেন। এই সংকেতগুলি কি সমস্ত একই তারে, বা প্রতিটি আলাদা তারে রয়েছে?
যদি তারা সমস্ত একই তারের সাথে থাকে তবে কোনও একক 10 এমএইচজেড টাইমার সহ যে কোনও এমসিইউতে সঠিকভাবে এটি করা সম্ভব। সাদাসিধে, এটি করার কোডটি দেখতে এরকম কিছু দেখাচ্ছে:
wait for trigger signal
reset timer
wait for first signal
save timer value
reset timer
....
wait for sixth signal
save timer value
reset timer
সমস্যাটি হ'ল টাইমারটি পুনরায় সেট করতে এক সীমাবদ্ধ সময় লাগে। এটি দুটি সমস্যার কারণ:
আপনার বাস্তবায়নের উপর নির্ভর করে মাপানো সময়গুলি কয়েক 100n দ্বারা ভুল হবে। তবে এগুলি ধারাবাহিকভাবে ভুল হওয়া উচিত। প্রতিবার ঠিক একই পরিমাণে IE ভুল। এর অর্থ আপনি প্রতিটি পরিমাপে অল্প পরিমাণ যুক্ত করে সহজেই এর ক্ষতিপূরণ দিতে পারবেন।
আপনি পরিমাপ করতে পারে এমন ন্যূনতম সময় হবে। পূর্ববর্তীটির পরে যদি কোনও ডাল 100ns আসে তবে আপনি সম্ভবত এটি মিস করবেন miss সফটওয়্যারটিতে এটি সম্পর্কে আপনি কিছু করতে পারেন কিনা তা আমি জানি না। আপনাকে এমন একটি মাইক্রোকন্ট্রোলার খুঁজে বের করতে হবে যা হার্ডওয়্যারে একাধিক ডাল পরিচালনা করতে পারে।
কোন মাইক্রোকন্ট্রোলার হার্ডওয়্যারে একাধিক ডাল পরিচালনা করতে পারে? সরলবর্গীয় চিরহরিৎ বৃক্ষবিশেষ PSoC ! এটি একটি মাইক্রোকন্ট্রোলার যার মধ্যে কনফিগারযোগ্য ডিজিটাল ব্লক রয়েছে যার অর্থ আপনি সহজেই 6 টি পৃথক টাইমার চালাতে পারবেন, যার প্রতিটিতে M০ মেগাহার্টজ রয়েছে যা আপনাকে ২০ ডিএস রেজোলিউশনের চেয়ে আরও ভাল প্রস্তাব দেয়।
আপনি এটির সাথে কীভাবে কাজ করতে পারেন তা আপনাকে দেখানোর জন্য আমি এখানে দ্রুত ছিটকে গেল একটি উদাহরণ। আমি 6 টি পৃথক টাইমার পেয়েছি, সমস্তই বাসের ঘড়িতে চলছে, যা M 67 মেগাহার্টজ পর্যন্ত যেতে পারে। একটি ট্রিগার পিন রয়েছে যা সমস্ত টাইমার চলমান শুরু করে এবং অন্যান্য 6 টি পিন রয়েছে যার প্রতিটি টাইমারটিতে ক্যাপচার ইভেন্টের কারণ হয়ে থাকে। কোনও স্ট্যাটাস রেজিস্ট্রার আপনার কোডটি পর্যবেক্ষণ করতে অনুমতি দেয় যা কোন টাইমার একটি ডাল ক্যাপচার করেছে। কোডটি টাইমারগুলির বাইরে মানগুলি পড়তে পারে।