সুচিপত্র:
- ধাপ 1: সিরিয়াল বনাম। প্যারালেল কমিউনিকেশন
- ধাপ ২:
- ধাপ 3:
- ধাপ 4: SPI কমিউনিকেশনের ভূমিকা
- ধাপ 5:
- ধাপ 6:
- ধাপ 7:
- ধাপ 8: কিভাবে SPI কাজ করে
- ধাপ 9:
- ধাপ 10:
- ধাপ 11:
- ধাপ 12:
- ধাপ 13: SPI এর উপকারিতা এবং অসুবিধা
ভিডিও: SPI কমিউনিকেশন প্রোটোকলের মূল বিষয়: 13 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
যখন আপনি একটি মাইক্রোকন্ট্রোলারকে একটি সেন্সর, ডিসপ্লে, বা অন্য মডিউলের সাথে সংযুক্ত করেন, আপনি কি কখনো চিন্তা করেন যে দুটি ডিভাইস কিভাবে একে অপরের সাথে কথা বলে? তারা ঠিক কি বলছে? কিভাবে তারা একে অপরকে বুঝতে সক্ষম?
ইলেকট্রনিক ডিভাইসের মধ্যে যোগাযোগ মানুষের মধ্যে যোগাযোগের মতো। উভয় পক্ষকে একই ভাষায় কথা বলতে হবে। ইলেকট্রনিক্সে, এই ভাষাগুলিকে যোগাযোগ প্রোটোকল বলা হয়। সৌভাগ্যক্রমে আমাদের জন্য, বেশিরভাগ DIY ইলেকট্রনিক্স প্রকল্প নির্মাণের সময় আমাদের কয়েকটি যোগাযোগ প্রোটোকল জানতে হবে। এই সিরিজের নিবন্ধে, আমরা তিনটি সর্বাধিক প্রচলিত প্রোটোকলের মূল বিষয়গুলি নিয়ে আলোচনা করব: সিরিয়াল পেরিফেরাল ইন্টারফেস (SPI), ইন্টার-ইন্টিগ্রেটেড সার্কিট (I2C), এবং ইউনিভার্সাল অ্যাসিঙ্ক্রোনাস রিসিভার/ট্রান্সমিটার (UART) চালিত যোগাযোগ। প্রথমে, আমরা ইলেকট্রনিক যোগাযোগ সম্পর্কে কিছু মৌলিক ধারণা দিয়ে শুরু করব, তারপর SPI কীভাবে কাজ করে তা বিস্তারিতভাবে ব্যাখ্যা করুন। পরবর্তী প্রবন্ধে, আমরা UART চালিত যোগাযোগ নিয়ে আলোচনা করব, এবং তৃতীয় নিবন্ধে, আমরা I2C- এ প্রবেশ করব। SPI, I2C, এবং UART ইউএসবি, ইথারনেট, ব্লুটুথ এবং ওয়াইফাই এর মত প্রোটোকলের তুলনায় কিছুটা ধীর, কিন্তু এগুলি অনেক সহজ এবং কম হার্ডওয়্যার এবং সিস্টেম রিসোর্স ব্যবহার করে। SPI, I2C, এবং UART মাইক্রোকন্ট্রোলার এবং মাইক্রোকন্ট্রোলার এবং সেন্সরের মধ্যে যোগাযোগের জন্য আদর্শ যেখানে উচ্চ গতির ডেটা স্থানান্তরের প্রয়োজন হয় না।
ধাপ 1: সিরিয়াল বনাম। প্যারালেল কমিউনিকেশন
বৈদ্যুতিন ডিভাইসগুলি ডিভাইসের মধ্যে শারীরিকভাবে সংযুক্ত তারের মাধ্যমে ডেটা বিট পাঠিয়ে একে অপরের সাথে কথা বলে। বিট একটি শব্দে একটি অক্ষরের মতো, 26 অক্ষরের পরিবর্তে (ইংরেজি বর্ণমালায়), একটি বিট বাইনারি এবং শুধুমাত্র 1 বা 0. হতে পারে। 5 V তে পরিচালিত একটি সিস্টেমে, 0 বিটকে 0 V এর সংক্ষিপ্ত পালস হিসাবে এবং 1 বিটকে 5 V এর একটি ছোট পালস দ্বারা যোগাযোগ করা হয়।
ডেটার বিট সমান্তরাল বা সিরিয়াল আকারে প্রেরণ করা যেতে পারে। সমান্তরাল যোগাযোগে, ডেটার বিটগুলি একই সময়ে পাঠানো হয়, প্রতিটি পৃথক তারের মাধ্যমে। নিম্নলিখিত চিত্রটি বাইনারি (01000011) এ "C" অক্ষরের সমান্তরাল সঞ্চালন দেখায়:
ধাপ ২:
সিরিয়াল যোগাযোগে, বিটগুলি একটি একক তারের মাধ্যমে একে একে পাঠানো হয়। নিচের চিত্রটি বাইনারি (01000011) এ "C" অক্ষরের সিরিয়াল ট্রান্সমিশন দেখায়:
ধাপ 3:
ধাপ 4: SPI কমিউনিকেশনের ভূমিকা
এসপিআই একটি সাধারণ যোগাযোগ প্রোটোকল যা বিভিন্ন ডিভাইস দ্বারা ব্যবহৃত হয়। উদাহরণস্বরূপ, এসডি কার্ড মডিউল, আরএফআইডি কার্ড রিডার মডিউল এবং 2.4 গিগাহার্জ ওয়্যারলেস ট্রান্সমিটার/রিসিভার মাইক্রোকন্ট্রোলারের সাথে যোগাযোগের জন্য এসপিআই ব্যবহার করে।
SPI- এর একটি অনন্য সুবিধা হল যে তথ্য বিনা বাধায় স্থানান্তর করা যায়। ক্রমাগত প্রবাহে যে কোনও সংখ্যক বিট পাঠানো বা গ্রহণ করা যেতে পারে। I2C এবং UART এর সাথে, প্যাকেটে ডেটা পাঠানো হয়, নির্দিষ্ট সংখ্যক বিটের মধ্যে সীমাবদ্ধ। শুরু এবং বন্ধের শর্তগুলি প্রতিটি প্যাকেটের শুরু এবং শেষ নির্ধারণ করে, তাই ডেটা সংক্রমণের সময় বিঘ্নিত হয়। SPI- এর মাধ্যমে যোগাযোগকারী ডিভাইসগুলি মাস্টার-স্লেভ সম্পর্কের মধ্যে রয়েছে। মাস্টার হ'ল নিয়ন্ত্রণকারী ডিভাইস (সাধারণত একটি মাইক্রোকন্ট্রোলার), যখন ক্রীতদাস (সাধারণত একটি সেন্সর, ডিসপ্লে বা মেমরি চিপ) মাস্টারের কাছ থেকে নির্দেশ নেয়। এসপিআই এর সবচেয়ে সহজ কনফিগারেশন হল একক মাস্টার, একক দাস ব্যবস্থা, কিন্তু একজন মাস্টার একাধিক দাসকে নিয়ন্ত্রণ করতে পারেন (নীচে এই বিষয়ে আরো)।
ধাপ 5:
ধাপ 6:
MOSI (মাস্টার আউটপুট/স্লেভ ইনপুট) - মাস্টারের জন্য দাসকে ডেটা পাঠানোর লাইন।
MISO (মাস্টার ইনপুট/স্লেভ আউটপুট) - ক্রীতদাসের জন্য লাইনটি মাস্টারের কাছে তথ্য পাঠানোর জন্য।
SCLK (ঘড়ি) - ঘড়ি সংকেতের জন্য লাইন।
এসএস/সিএস (স্লেভ সিলেক্ট/চিপ সিলেক্ট) - কোন দাসকে ডেটা পাঠাতে হবে তা বেছে নেওয়ার জন্য মাস্টারের লাইন
ধাপ 7:
*অনুশীলনে, দাসের সংখ্যা সিস্টেমের লোড ক্যাপাসিট্যান্স দ্বারা সীমাবদ্ধ, যা ভোল্টেজের স্তরের মধ্যে সঠিকভাবে স্যুইচ করার জন্য মাস্টারের ক্ষমতা হ্রাস করে।
ধাপ 8: কিভাবে SPI কাজ করে
ঘরিটি
ঘড়ি সংকেত মাস্টার থেকে ডেটা বিটের আউটপুটকে ক্রীতদাস দ্বারা বিটগুলির নমুনায় সিঙ্ক্রোনাইজ করে। প্রতিটি ঘড়ি চক্রের মধ্যে একটি বিট ডেটা স্থানান্তরিত হয়, তাই ডেটা স্থানান্তরের গতি ঘড়ি সংকেতের ফ্রিকোয়েন্সি দ্বারা নির্ধারিত হয়। এসপিআই যোগাযোগ সর্বদা মাস্টার দ্বারা শুরু হয় কারণ মাস্টার কনফিগার করে এবং ঘড়ি সংকেত তৈরি করে।
যেকোনো যোগাযোগের প্রোটোকল যেখানে ডিভাইসগুলি একটি ঘড়ি সংকেত ভাগ করে তা সিঙ্ক্রোনাস নামে পরিচিত। SPI একটি সমকালীন যোগাযোগ প্রোটোকল। এমন অ্যাসিঙ্ক্রোনাস পদ্ধতি রয়েছে যা ঘড়ি সংকেত ব্যবহার করে না। উদাহরণস্বরূপ, ইউএআরটি যোগাযোগে, উভয় পক্ষই একটি পূর্ব-কনফিগার করা বড রেটে সেট করা হয় যা ডেটা ট্রান্সমিশনের গতি এবং সময় নির্ধারণ করে।
SPI- এর ক্লক সিগন্যাল ক্লক পোলারিটি এবং ক্লক ফেজের বৈশিষ্ট্য ব্যবহার করে পরিবর্তন করা যায়। এই দুটি বৈশিষ্ট্য একসাথে কাজ করে যখন বিট আউটপুট হয় এবং কখন সেগুলো নমুনা করা হয়। ঘড়ি মেরুতা মাস্টার দ্বারা সেট করা যেতে পারে যাতে বিটগুলি আউটপুট হতে পারে এবং ঘড়ির চক্রের উঠতি বা পতনের প্রান্তে নমুনা দেওয়া যায়। ক্লক ফেজ আউটপুট এবং স্যাম্পলিংয়ের জন্য সেট করা যেতে পারে ঘড়ির চক্রের প্রথম প্রান্ত বা দ্বিতীয় প্রান্তে, তা নির্বিশেষে এটি উঠছে বা পড়ছে।
দাস নির্বাচন
ক্রীতদাসের CS/SS লাইনকে কম ভোল্টেজের স্তরে সেট করে মাস্টার কোন দাসের সাথে কথা বলতে চান তা বেছে নিতে পারেন। নিষ্ক্রিয়, অ-প্রেরণ অবস্থায়, ক্রীতদাস নির্বাচন লাইন একটি উচ্চ ভোল্টেজ স্তরে রাখা হয়। একাধিক সিএস/এসএস পিন মাস্টারে পাওয়া যেতে পারে, যা একাধিক ক্রীতদাসকে সমান্তরালে তারের জন্য অনুমতি দেয়। যদি শুধুমাত্র একটি সিএস/এসএস পিন থাকে, একাধিক ক্রীতদাসকে ডেইজি-শৃঙ্খল দ্বারা মাস্টারের সাথে সংযুক্ত করা যেতে পারে।
একাধিক দাস SPI
একটি একক মাস্টার এবং একটি একক দাসের সাথে কাজ করার জন্য সেট আপ করা যেতে পারে, এবং এটি একটি একক মাস্টার দ্বারা নিয়ন্ত্রিত একাধিক ক্রীতদাসের সাথে সেট আপ করা যেতে পারে। একাধিক দাসকে মাস্টারের সাথে সংযুক্ত করার দুটি উপায় রয়েছে। যদি মাস্টারের একাধিক স্লেভ সিলেক্ট পিন থাকে, তাহলে ক্রীতদাসদের এইভাবে সমান্তরালভাবে তারযুক্ত করা যেতে পারে:
ধাপ 9:
ধাপ 10:
মসি এবং মিসো
মাস্টার ক্রমাগত ক্রীতদাসকে তথ্য পাঠায় MOSI লাইনের মাধ্যমে। ক্রীতদাস MOSI পিনে মাস্টারের কাছ থেকে পাঠানো ডেটা গ্রহণ করে। মাস্টার থেকে দাসের কাছে পাঠানো ডেটা সাধারণত সবচেয়ে গুরুত্বপূর্ণ বিট দিয়ে পাঠানো হয়। ক্রীতদাস MISO লাইনের মাধ্যমে মাস্টারের কাছে ডেটা ফেরত পাঠাতে পারে। ক্রীতদাস থেকে ফেরত পাঠানো ডেটা সাধারণত কমপক্ষে উল্লেখযোগ্য বিট দিয়ে পাঠানো হয়। SPI ডেটা ট্রান্সমিশনের ধাপ 1. মাস্টার ঘড়ি সংকেত আউটপুট:
ধাপ 11:
যদি শুধুমাত্র একটি ক্রীতদাস নির্বাচিত পিন পাওয়া যায়, ক্রীতদাসদের এইভাবে ডেইজি-শৃঙ্খলিত হতে পারে:
ধাপ 12:
মসি এবং মিসো
মাস্টার ক্রমাগত ক্রীতদাসকে তথ্য পাঠায় MOSI লাইনের মাধ্যমে। ক্রীতদাস MOSI পিনে মাস্টারের কাছ থেকে পাঠানো ডেটা গ্রহণ করে। মাস্টার থেকে দাসের কাছে পাঠানো ডেটা সাধারণত সবচেয়ে গুরুত্বপূর্ণ বিট দিয়ে পাঠানো হয়।
ক্রীতদাস MISO লাইনের মাধ্যমে মাস্টারের কাছে ডেটা ফেরত পাঠাতে পারে। ক্রীতদাস থেকে ফেরত পাঠানো ডেটা সাধারণত কমপক্ষে উল্লেখযোগ্য বিট দিয়ে পাঠানো হয়।
এসপিআই ডেটা ট্রান্সমিশনের ধাপ
*নোট ইমেজ তালিকাভুক্ত Oboe আপনি সহজেই আলাদা করতে পারেন
1. মাস্টার ঘড়ি সংকেত আউটপুট:
2. মাস্টার এসএস/সিএস পিনকে কম ভোল্টেজ অবস্থায় নিয়ে যায়, যা ক্রীতদাসকে সক্রিয় করে:
3. মাস্টার MOSI লাইন বরাবর ক্রীতদাসকে এক এক সময়ে তথ্য পাঠায়। ক্রীতদাস বিটগুলি পড়ার সাথে সাথে তারা পড়ে:
4. যদি কোনো প্রতিক্রিয়া প্রয়োজন হয়, তাহলে ক্রীতদাস MISO লাইনের বরাবর মাস্টারকে এক এক করে তথ্য ফেরত দেয়। মাস্টার বিটগুলি পড়ার সাথে সাথে তারা পড়ে:
ধাপ 13: SPI এর উপকারিতা এবং অসুবিধা
SPI ব্যবহার করার কিছু সুবিধা এবং অসুবিধা আছে, এবং যদি বিভিন্ন যোগাযোগ প্রোটোকলের মধ্যে পছন্দ দেওয়া হয়, তাহলে আপনার প্রকল্পের প্রয়োজনীয়তা অনুসারে কখন SPI ব্যবহার করতে হবে তা আপনার জানা উচিত:
সুবিধাদি
কোন স্টার্ট এবং স্টপ বিট নেই, তাই ডেটাকে বাধা ছাড়াই ধারাবাহিকভাবে প্রবাহিত করা যায় I2C এর মত কোন জটিল স্লেভ অ্যাড্রেসিং সিস্টেম I2C এর চেয়ে বেশি ডেটা ট্রান্সফার রেট (প্রায় দ্বিগুণ দ্রুত) পৃথক MISO এবং MOSI লাইন, তাই ডেটা একই সময়ে পাঠানো এবং গ্রহণ করা যেতে পারে সময়
অসুবিধা
চারটি তার ব্যবহার করে এসপিআই এর। UART চালিত যোগাযোগ সম্পর্কে জানার জন্য এই সিরিজের দুই ভাগে অথবা তৃতীয় অংশে যেখানে আমরা I2C প্রটোকল নিয়ে আলোচনা করি।
যদি আপনার কোন প্রশ্ন থাকে, তাহলে নির্দ্বিধায় মন্তব্য বিভাগে জিজ্ঞাসা করুন, আমরা এখানে সাহায্য করতে এসেছি। এবং অনুসরণ করতে ভুলবেন না
শুভেচ্ছা: এম জুনায়েদ
প্রস্তাবিত:
স্মার্টহোম ওয়্যারলেস কমিউনিকেশন: এমকিউটিটির চূড়ান্ত বুনিয়াদি: 3 টি ধাপ
স্মার্টহোম ওয়্যারলেস কমিউনিকেশন: এমকিউটিটির চূড়ান্ত বুনিয়াদি: এমকিউটিটি বেসিকস: ** আমি একটি হোম অটোমেশন সিরিজ করতে যাচ্ছি, ভবিষ্যতে আমি যা করেছি তা শিখতে আমি যে পদক্ষেপগুলি নিয়েছি তা দিয়ে যাচ্ছি। এই নির্দেশযোগ্যটি আমার ভবিষ্যতের নির্দেশাবলীতে ব্যবহারের জন্য MQTT কিভাবে সেটআপ করা যায় তার ভিত্তি। তবুও
NRF24L01 PA LNA কমিউনিকেশন মডিউল সহ রিমোট কন্ট্রোল কার: 5 টি ধাপ
NRF24L01 PA LNA কমিউনিকেশন মডিউল সহ রিমোট কন্ট্রোল কার: এই বিষয়ে আমরা NRF24L01 PA LNA মডিউল দিয়ে কিভাবে রিমোট কন্ট্রোল গাড়ি বানাবো সে সম্পর্কে শেয়ার করতে চাই। আসলে আরো বেশ কিছু রেডিও মডিউল আছে, যেমন 433MHz, HC12, HC05, এবং LoRa রেডিও মডিউল। কিন্তু আমাদের মতে NRF24L01 mod
ইউএসবি -তে সেন্সর কমিউনিকেশন: 3 টি ধাপ
ইউএসবি -তে সেন্সর কমিউনিকেশন: এই টিউটোরিয়ালটি দেখায় কিভাবে ইজো সার্কিটের সাথে ইন্টারঅ্যাক্ট করার জন্য আইসোলেটেড ইউএসবি ইজো ক্যারিয়ার বোর্ড ব্যবহার করতে হয়। কয়েকটি সহজ ধাপের সাহায্যে, আপনি সার্কিটগুলিকে ক্যালিব্রেট করতে এবং ডিবাগ করতে পারবেন বা এমনকি রিয়েল টাইমে প্রশ্নের মানদণ্ডও পর্যবেক্ষণ করতে পারবেন। উপকারিতা:
আরসি প্লেন উড়ার মূল বিষয়: 13 টি ধাপ
আরসি প্লেন ফ্লাইং এর মূল কথা: হাই সবাই, আজ আমরা কিভাবে একটি সিমুলেটারে আরসি প্লেন উড়ানো যায় এবং আপনার মডেলকে মাঠে ক্র্যাশ করা থেকে বিরত রাখা যায় তার মূল বিষয়গুলি দেখব। কিছুক্ষণ আগে, আমি ব্যাখ্যা করেছি কিভাবে আমার ফ্লাইস্কাই এফএস আছে -i6X নিয়ামক একটি আরসি সিমুলেটরের সাথে সংযুক্ত তাই এখন আমরা চাই
সামাজিক দূরত্ব বিষয়: 9 টি ধাপ (ছবি সহ)
সামাজিক দূরত্বের বিষয়: একটি ব্যক্তিগত সামাজিক দূরত্বের লেজার প্রজেক্টর এই বিল্ডটি সামাজিক দূরত্ব সম্পর্কে সচেতনতা তৈরিতে সহায়তা করার জন্য একটি দ্রুত এবং সহজ প্রকল্প হিসাবে তৈরি করা হয়েছে। যখন সামাজিক দূরত্ব প্রথম চালু করা হয়েছিল তখন এটি স্পষ্ট ছিল যে প্রতিটি ব্যক্তি এটি সঠিকভাবে অনুশীলন করে না