মাইক্রোকন্ট্রোলার - আউটপুট রাজ্যগুলি কি ধ্রুব বা মাল্টিপ্লেক্সড হয়?


14

পিডাব্লুএমএম স্পষ্টতই কম্পিউটিং সংস্থান প্রয়োজন (এবং এইভাবে অন্যান্য প্রক্রিয়াগুলির সাথে একসাথে করা যায় না), তবে যদি আমি আউটপুট 5 ভি বা 0 ভি হিসাবে একটি পিন স্থাপন করি, তবে এই রাজ্যগুলি কি স্থির থাকে বা মাইক্রোকন্ট্রোলার অন্যান্য প্রক্রিয়াগুলিতে কাজ করার কারণে তারা বারবার "রিফ্রেশ" হয়? ?

এটি পাঠ্যে ব্যাখ্যা করা শক্ত তাই আমি আমার প্রশ্নের সাদৃশ্যটি ভেবেছিলাম। কল্পনা করুন আমার হাতে একটি গ্লাস রয়েছে এবং এটি টেবিলে রাখার জন্য আমাকে নির্দেশ দেওয়া হয়েছে। তারপরে আমাকে চেয়ারে বসার নির্দেশ দেওয়া হচ্ছে।

টেবিলের কাঁচ একটি রাজ্য। আমি কি টেবিলের উপরে গ্লাস রেখেছি, বা আমি কী তা আবার তুলে নিয়ে বসে আছি এবং খুব দ্রুত পুনরাবৃত্তিটি যাতে আপনি বুঝতে না পারেন যে কাচটি কখনই টেবিল থেকে সরিয়ে দেওয়া হয়েছিল?


অথবা সম্ভবত আরও সহজভাবে, মাইক্রোকন্ট্রোলার কি "ভুলে" যায়, যদি আপনি পরিষ্কারভাবে কোনও রাষ্ট্রের পরিবর্তনের প্রোগ্রাম না করেন তবে তার পিনের রাজ্যগুলি সম্পর্কে কি করবেন?

আশা করি আমি যতটা সম্ভব বিভ্রান্তি তৈরি করেছি।


4
+1 আকর্ষণীয় প্রশ্ন যদিও আপনার প্রথম বিবৃতিটি ভুল এবং হার্ডওয়্যার পিডাব্লুএমএম এর ধারণাটি যাতে প্রসেসরের পুরো সময় জড়িত না হয়। তবে এটিকে সেভাবেই ছেড়ে দিন এবং আমি নিশ্চিত যে এটি কীভাবে কাজ করে তার কোনওরকমের ভাল ব্যাখ্যা থাকবে।
পিটারজে

আমি ভেবেছিলাম পিডব্লিউএম এমন যে প্রসেসরটি উচ্চ / নিম্নচক্রের সময় পরিবর্তন করছে। এইভাবে, এটি দেখে মনে হয় যে প্রসেসর সরাসরি জড়িত - কমপক্ষে এমন সময় যেখানে রাজ্যের পরিবর্তন ঘটে।
sherrellbc

1
ডিউটি ​​চক্রটি 10% থেকে 20% বলার জন্য সিপিইউতে জড়িত থাকতে হবে তবে কেবলমাত্র কয়েকটি চক্রের জন্য একটি রেজিস্টার পরিবর্তন করতে হবে। হার্ডওয়্যারের জন্য পিডব্লিউএম একবার বলুন এটি একবার পরিবর্তন করে ২০% হয়ে গেছে এমনকি যদি হার্ডওয়্যার পিডাব্লুএম ফ্রিকোয়েন্সি 1MHz হয় তবে এটি আর প্রসেসরের উপর প্রভাব ফেলবে না।
পিটারজে

কীভাবে মাইক্রোকন্ট্রোলার নিম্ন স্তরে কাজ করে তার নথিভুক্তির জন্য আপনার কোনও ভাল লিঙ্ক রয়েছে? আমি রেজিস্টার আপনার রেফারেন্স বুঝতে পারি না তাই এই উত্তরগুলি পুরোপুরি প্রশংসা করতে পারবেন না।
sherrellbc

1
খুব বিভ্রান্তিকর না। কঠোর চেস্টা কর!

উত্তর:


16

আমি যেভাবে প্রশ্নের ব্যাখ্যা করি তার পিডব্লিউএম এর সাথে কোনও সম্পর্ক নেই, দুঃখিত আমি যদি বেস থেকে দূরে থাকি তবে মনে হয় আপনি এটি কেবল উদাহরণ হিসাবে ব্যবহার করেছেন।

খুব সুন্দর প্রতিটি ধরণের মাইক্রোকন্ট্রোলার এবং I / O সহ ডিভাইসগুলি তাদের আউটপুট সার্কিটরি চালানোর জন্য একটি ল্যাচ / এফএফ ব্যবহার করে। এর অর্থ কী, আপনি যখন কোনও রাজ্য সেট করেন তখন তা সেই অবস্থায় থাকে। এটি ড্রামের মতো নয় যেখানে আউটপুট পরিসংখ্যানগুলি তাদের রাজ্যে থাকতে ক্রমাগত "রিফ্রেশ" করতে হয়।

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

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


এটি হ'ল আমার প্রশ্ন, যদিও এটি মাইক্রোকন্ট্রোলারদের কাছে অনেক কিছুই রয়েছে যা আমি বুঝতে পারি না যে আমি বুঝতে পারি না।
sherrellbc

3
কেবলমাত্র আপনার নাকটি ডেটাশিটগুলিতে রাখুন, পরীক্ষা করুন এবং প্রশ্ন করুন। আপনি এটির হ্যাঙ্গ পাবেন।
ক্রিস বাহনসেন

11

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


এবং আমরা অগ্রগতি করছি! ধন্যবাদ এখন আরও বোধগম্য। ধন্যবাদ!
sherrellbc

10

বেশিরভাগ আধুনিক মাইক্রোকন্ট্রোলারগুলির একটি ডেডিকেটেড হার্ডওয়্যার পিডাব্লুএম পেরিফেরাল থাকে যা পিডব্লিউএমের যত্ন নেয়, খুব রুক্ষ উপমাটি হতে পারে:

প্রসেসর কোর পেরিফেরিয়ালকে বলে: "10kHz এ পিনটি টগল করুন এবং আমি অন্যথায় আপনাকে বলি না হওয়া পর্যন্ত 50% শুল্ক চক্রটি টগল করুন"। তারপরে কোরটি অন্য জিনিসগুলি করতে বিনামূল্যে। এটি একটি বাধা নির্ধারণ করতে পারে, অর্থাত্ আগ্রহের কিছু ঘটলে পেরিফেরিয়ালটিকে এটি বলতে বলুন।
আপনি সম্ভবত "বস" এবং বিশেষজ্ঞ কর্মী হিসাবে পেরিফেরিয়ালগুলি ভাবতে পারেন। মূলটি পুরো প্রোগ্রামটি পরিচালনা করে (প্রতিটি নির্দেশ পাঠ করে এবং এটিতে কাজ করে) এবং পেরিফেরিয়ালদের বিভিন্ন কার্য সম্পাদন করতে এবং তারা সম্পূর্ণ করার পরে তা অবহিত করতে "জিজ্ঞাসা" করে।

আপনার উপমা অনুসারে, এটি এমন হবে যেন অন্য কোনও ব্যক্তি গ্লাসটি ধরে রাখছেন, আপনি চেয়ারে বসে নির্বিঘ্ন থাকাকালীন টেবিলে রাখার নির্দেশ দিন।

মাইক্রোটির যদি ডেডিকেটেড পেরিফেরিয়াল না থাকে, তবে এটি "ম্যানুয়ালি" (অর্থাৎ নিজেই) করতে হবে এবং পিনের অবস্থা এবং টগলসের মধ্যে সময় নির্ধারণ করতে হবে। এর অর্থ হ'ল চমত্কার মেনিয়াল স্টাফগুলিতে নিবেদিত প্রচুর চক্র যা সহজেই একটি পেরিফেরিয়াল দ্বারা পরিচালিত হয়।

এখানে একটি জনপ্রিয় 8-বিট মাইক্রোকন্ট্রোলার, লেআউট একটি ডায়াগ্রাম হয় PIC16F690 । নীচে সাজানো পেরিফেরিয়ালগুলি লক্ষ্য করুন:

এখানে চিত্র বর্ণনা লিখুন


পেরিফেরিয়াল উপাদানগুলির উপস্থিতি আমি বুঝতে পারি নি। সুতরাং এই উপাদানগুলি বরং ছোট প্রসেসর হয়? এটি দুর্দান্ত জ্ঞান দেয় যে এই জাতীয় জিনিসগুলি বিদ্যমান।
sherrellbc

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

আমি অবশ্যই এই বিষয়ে আরও গভীরভাবে চিন্তা করব, যদিও এই সিস্টেমগুলি সম্পর্কে আমার বোঝার বিষয়টি অবশ্যই পক্ষপাতদুষ্ট থাকলে। আমার ধারণা ছিল যে ইউসি সমস্ত প্রক্রিয়াজাতকরণ করবে। পেরিফেরিয়ালগুলিকে প্রদত্ত "নির্দেশাবলী" ব্যাখ্যা করতে হবে। আমি মনে করি এটি এখানেই আমি পুরোপুরি বুঝতে পারছি না।
sherrellbc

2
আমি একটি সাধারণ মাইক্রো এর ডায়াগ্রাম যুক্ত করেছি - পড়া শুরু করার জন্য একটি ভাল জায়গা হ'ল ডেটাশিট, যার সাথে আমিও লিঙ্ক করেছি।
অলি গ্লেজার

@ শেরেললবিসি, সেখানেই একজন প্রসেসর এবং একটি মাইক্রোপ্রসেসর আলাদা। একটি µ সি তে, আপনি দেখতে পাবেন যে যেমন র‌্যাম, রম, এএলইউ, সিরিয়াল পোর্ট ইত্যাদি সমস্ত একই চিপে একত্রিত। একটি পিসিতে আপনি জানেন যে প্রসেসরটি এই জাতীয় সার্কিটগুলির সাথে বাহ্যিকভাবে সংযুক্ত থাকে।
চিবি

5

আপনি এমন কিছু অনুমান করছেন যা সঠিকভাবে বৈধ নয়। এছাড়াও, হ্যাঁ, আপনি প্রশ্নটি যতটা সম্ভব বিভ্রান্তি তৈরি করেছেন। সিরিয়াসলি।

পিডব্লিউএম একই সাথে অন্যান্য প্রক্রিয়াগুলিও করা যায়। যদি সফ্টওয়্যারটিতে হয়ে থাকে, আপনি জিপিআইও পিনে পিডব্লিউএম সিগন্যাল তৈরি করতে টাইমার বিঘ্ন ব্যবহার করেন। অন্যান্য বাধা চলতে পারে এবং মূল প্রক্রিয়াটি সম্পর্কিত নয় un এছাড়াও, অনেক এমসিইউ এমসিইউকে অন্যান্য জিনিসগুলি মুক্ত করে সরাসরি টাইমার পেরিফেরিয়ায় পিডব্লিউএম করতে পারে।

আই / ও পিনগুলি হিসাবে, তারা মাল্টিপ্লেক্সযুক্ত। তবে কীভাবে তারা মাল্টিপ্লেক্স করা হয়েছে আপনি তার নিয়ন্ত্রণে রয়েছেন, সুতরাং এটি আসলে কোনও সমস্যা নয়।


আমি পিডব্লিউএম টাইমার বিঘ্ন সম্পর্কে আপনার মন্তব্য বুঝতে পেরেছি - এটি উপলব্ধি করে। এই পদ্ধতিতে প্রসেসর কেবলমাত্র আউটপুট স্থিতি পরিবর্তনের সময়ে জড়িত থাকে। যদিও, আপনি বলছেন I / O পিনগুলি মাল্টিপ্লেক্সড - তাই আমি যদি বলি যে আমি যদি নিয়ামককে একটি পিন HIGH আউটপুট তৈরি করতে প্রোগ্রাম করি এবং তারপরে অন্য কোনও সম্পর্কযুক্ত গণনা সম্পাদন করি, তবে এই জাতীয় প্রক্রিয়াগুলি সম্পাদন করার সময় পিনটি মুহূর্তের জন্য নীচে সেট হয়ে যায়?
sherrellbc

@ শেরেরেলবিসি আপনি কীভাবে পিনগুলি মাল্টিপ্লেক্সডের নিয়ন্ত্রণে আছেন। সাধারণত বুট করার সময় আপনি এগুলি কনফিগার করেন এবং তার পরে এগুলি পরিবর্তন করবেন না। সুতরাং এটি "মুহূর্তের চেয়ে কম" হবে না, যদি না আপনি নির্দিষ্টভাবে এটি করতে বলে থাকেন।

আমি পিডাব্লুএম উদাহরণ যোগ করে যদি পাঠকদের বিভ্রান্ত করি তবে আমি ক্ষমা প্রার্থনা করি। এই প্রশ্নের উদ্দেশ্যটি হ'ল নির্ধারণ করা হয়েছিল যে HI- এ সেট করা নির্দেশিত I / O পিনটি নিয়ামক দ্বারা একাধিক সংযুক্ত করা হয়েছে কিনা (যেমন এটি অবশ্যই পিনটি নিয়মিত "রিফ্রেশ" করতে হবে এবং একবারে কেবল একটি কাজ করবে)। যাইহোক, এখন আমি বুঝতে পারি যে মাইক্রোকন্ট্রোলারগুলির অনেক কিছুই আমি বুঝতে পারি না (পেরিফেরিয়ালস)। সুতরাং এটি আমার কাছে আবেদন করে যে উত্তরটি হ'ল না, আউটপুট পিনগুলি একটি রাজ্যে সেট করা আছে এবং স্থায়ীভাবে অবধি পরিবর্তিত অবস্থায় সেই অবস্থায় থাকে।
sherrellbc

1

মাইক্রোকন্ট্রোলারগুলিতে থাকা বেশিরভাগ আই / ও পিনগুলি মাল্টি-ফাংশনযুক্ত, তবে আমি তাদের মাল্টিপ্লেক্সে কল করব না।

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

ডিজিটাল আউটপুটগুলির জন্য, পিনগুলি একবার আউটপুট হিসাবে সেট হয়ে গেলে তারা প্রসেসর তাদের লেখা সর্বশেষ মানটি ধরে রাখে - পর্যায়ক্রমে সেগুলি "রিফ্রেশ" করার দরকার নেই।


প্রসেসর যদি মান সেট করে, সেই মানটি সরিয়ে দেয়, অন্যান্য নির্দেশনা সম্পাদন করে এবং তারপরে লুপ করে আবার আসল মানটি সেট করে তবে সেগুলি একাধিক করা হবে। এটিই আমার প্রশ্নের সারমর্ম। তবে উপরের উত্তরগুলি থেকে বিভিন্ন পেরিহপেরাল রয়েছে যা এই ফাংশনগুলিকে কার্যকর করে এবং অন্যথায় না করার নির্দেশ না দেওয়া পর্যন্ত প্রসেসরের কোনও সম্পর্ক নেই; আমি এই সম্পর্কে কোন ধারণা ছিল না। শেখার প্রচুর। উত্তরের জন্য ধন্যবাদ.
sherrellbc

1

একটি মাইক্রোকন্ট্রোলার হার্ডওয়্যার পিডব্লিউএম পেরিফেরিয়ালের একটি সাধারণ উদাহরণে, একটি 8 বিট কাউন্টার একটি 8 বিট ডিজিটাল তুলকের সাথে সংযুক্ত থাকতে পারে। মাইক্রোকন্ট্রোলার একটি সংখ্যককে তুলনামূলকভাবে লোড করে এবং সিস্টেমের ঘড়ির সাথে এটির কাউন্টারকে বাড়িয়ে দেয় বা এটির কিছু বিভক্ত সংস্করণ। তখন কাউন্টারটি ফ্রি-রান হবে, 0 থেকে 255 এবং বারবার শূন্যে ফিরে গণনা করবে। তুলকের মানটির তুলনামূলক মানের চেয়ে বেশি বা কম কিনা তা নির্দেশ করে একটি আউটপুট থাকবে। এটি PWM আউটপুট হয়ে যাবে। পিডাব্লুএমএমের সময়কাল কাউন্টারের জন্য একটি গণনা চক্রটি সম্পন্ন করতে কত সময় নেয় এবং দায়িত্ব চক্রটি তুলনামূলক মান দ্বারা মোট গণনার ভগ্নাংশটি উপস্থাপন করে be মাইক্রোকন্ট্রোলার কোডটিতে প্রথমে হার্ডওয়্যার সেট আপ করা এবং যখন পিডব্লিউএম পরিবর্তনটি পছন্দ হয় তখন তুলনামূলক ডেটা পরিবর্তন করা ছাড়া কিছুই করার থাকে না। পিডাব্লুএম প্রসেসরের মনোযোগ ছাড়াই পিডব্লিউএম ডালের একটানা প্রবাহকে আউটপুট দেয়।

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