এভিআর মাইক্রোকন্ট্রোলার (এটিমেল 8) সিরিয়াল যোগাযোগ USART কনফিগারেশন

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





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

এভিআর মাইক্রোকন্ট্রোলার

এভিআর 1996 সালে আতেল কর্পোরেশন দ্বারা উত্পাদিত এক ধরণের নিয়ন্ত্রণকারী ডিভাইস AV AVR কোনও কিছুর জন্য দাঁড়ায় না, এটি কেবল একটি নাম। এভিআর মাইক্রোকন্ট্রোলারগুলি হার্ভার্ড আর্কিটেকচার নিয়ে গঠিত , এবং সেইজন্য, ডিভাইসটি খুব কম পরিমাণে মেশিন স্তরের নির্দেশাবলী (আরআইএসসি) দিয়ে চালায়। এভিআর মাইক্রোকন্ট্রোলারগুলিতে অন্যান্য মাইক্রোকন্ট্রোলারের যেমন 6-স্লিপ মোড, ইনবিল্ট এডিসি, অভ্যন্তরীণ অসিলেটর এবং সিরিয়াল ডেটা যোগাযোগ ইত্যাদি ইত্যাদির সাথে তুলনা করে বিশেষ বৈশিষ্ট্য রয়েছে The এভিআর মাইক্রোকন্ট্রোলার বিভিন্ন ক্রিয়াকলাপ সম্পাদনের জন্য 8-বিট, 16-বিট এবং 32-বিটের বিভিন্ন কনফিগারেশনে উপলব্ধ।




এভিআর মাইক্রোকন্ট্রোলার

এভিআর মাইক্রোকন্ট্রোলার

এভিআর মাইক্রোকন্ট্রোলারে ইউএসআর্ট সিরিয়াল ডেটা যোগাযোগ

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



এভিআর মাইক্রোকন্ট্রোলারে ইউএসএআরটি যোগাযোগ

এভিআর মাইক্রোকন্ট্রোলারে ইউএসএআরটি যোগাযোগ

এভিআর ইউএসআর্টের প্রধান বৈশিষ্ট্য

  • ইউএসআর্ট প্রোটোকল ফুল-ডুপ্লেক্স প্রোটোকল সমর্থন করে।
  • এটি উচ্চ রেজোলিউশন বাড রেট উত্পন্ন করে।
  • এটি 5 থেকে 9 অবধি সিরিয়াল ডেটা বিট প্রেরণ করে এবং এতে দুটি স্টপ বিট থাকে of

ইউএসআর্ট পিন কনফিগারেশন

এভিআর এর ইউএসআর্টে তিনটি পিন রয়েছে:


  • আরএক্সডি: ইউএসএআরটি রিসিভার পিন (এটিএমএগ 8 পিন 2 এটিএমগা 16/32 পিন 14)
  • টিএক্সডি: ইউএসআর্ট ট্রান্সমিটার পিন (এটিএমএগ 8 পিন 3 এটিমেগ 16/32 পিন 15)
  • এক্সসিকে: ইউএসআর্ট ক্লক পিন (এটিএমএগ 8 পিন 6 এটিএমএগ 16/32 পিন 1)

অপারেশন মোড

ইউএসআর্ট প্রোটোকলের অ্যাভিআর মাইক্রোকন্ট্রোলার তিনটি মোডে পরিচালনা করে যা হ'ল:

  • অ্যাসিঙ্ক্রোনাস নরমাল মোড
  • অ্যাসিঙ্ক্রোনাস ডাবল স্পিড মোড
  • সিঙ্ক্রোনাস মোড
অপারেশন মোড

অপারেশন মোড

অ্যাসিঙ্ক্রোনাস নরমাল মোড

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

অ্যাসিঙ্ক্রোনাস ডাবল স্পিড মোড

যোগাযোগের এই মোডে, দ্বিগুণ বাড রেটে স্থানান্তরিত ডেটা ইউবিবিআর রেজিস্ট্রার সেট করে এবং ইউসিএসআরএ রেজিস্টারে ইউ 2 এক্স বিট সেট করে। এটি ডেটা প্রেরণ এবং দ্রুত গ্রহণের জন্য সিঙ্ক্রোনাস যোগাযোগের জন্য এটি একটি উচ্চ-গতির মোড। এই সিস্টেমটি ব্যবহৃত হয় যেখানে সঠিক বাড রেট সেটিংস এবং সিস্টেম ক্লক প্রয়োজন হয়।

সিঙ্ক্রোনাস মোড

এই সিস্টেমে, ঘড়ির নাড়ির বিষয়ে ডেটা প্রেরণ এবং গ্রহণের জন্য ইউসিএসআরসি রেজিস্ট্রারে ইউএমএসএল = 1 সেট করা হয়।

এভিআর মাইক্রোকন্ট্রোলারে ইউএসএআরটি কনফিগারেশন

ইউএসএআরটি পাঁচটি রেজিস্টার ব্যবহার করে কনফিগার করা যায় তিনটি নিয়ন্ত্রণ রেজিস্টার , ইউডিআর, ইউসিএসআরএ, ইউসিএসআরবি, ইউসিএসআরসি এবং ইউবিআরআরের মতো একটি ডেটা রেজিস্ট্রার এবং বাউড-রেট-সিলেকশন রেজিস্টার।

প্রোগ্রামটি রচনা করার জন্য 7 টি পদক্ষেপ

ধাপ 1: গণনা করুন এবং বাডের হার নির্ধারণ করুন

ইউএসআরটি / ইউআরটি-এর বাউড রেট ইউবিআরআর নিবন্ধকের দ্বারা নির্ধারিত হয়। এই রেজিস্টারটি নির্দিষ্ট গতিতে ডেটা ট্রান্সমিশন তৈরি করতে ব্যবহৃত হয়। ইউবিআরআর হ'ল 16-বিট রেজিস্টার। যেহেতু এভিআর একটি 8-বিট মাইক্রোকন্ট্রোলার এবং এর কোনও নিবন্ধের আকার 8-বিট। অতএব, এখানে 16 বিট ইউবিআরআর রেজিস্টার দুটি বিট রেজিস্টার যেমন ইউবিআরআর (এইচ), ইউবিআরআর (এল) এর সমন্বয়ে গঠিত।

বাউড রেটের সূত্রটি হ'ল

BAUD = অন্ধকার / (16 * (ইউবিবিআর + 1))

ইউবিআরআর নিবন্ধের সূত্রটি হ'ল

ইউবিআরআর = অন্ধকার / (16 * (BAUD-1))

এভিআর মাইক্রোকন্ট্রোলারের ফ্রিকোয়েন্সি 16MHz = 16000000 হয় আসুন তবে বাড রেট 19200 বিপিএস হিসাবে ধরে নেওয়া যাক, তারপরে

ইউবিআরআর = 16000000 / (16 * (19200-1))

ইউবিআরআর = 16000000 / (16 * (19200-1))

ইউবিআরআর = 51.099

শেষ পর্যন্ত বাউড রেটটি সন্ধান করুন

BAUD = 16000000 / (16 * (51 + 1))
ইউবিআরআর = 19230 বিপিএস

ধাপ ২: ডেটা মোড নির্বাচন

ডেটা ট্রান্সমিশন মোড, স্টার্ট বিট এবং স্টপ বিট এবং চরিত্রের আকারটি নিয়ন্ত্রণ এবং স্থিতি রেজিস্টার ইউসিএসআরসি দ্বারা সেট করা হয়।

ডেটা মোড নির্বাচন

ডেটা মোড নির্বাচন

ধাপ 3: ডেটা ট্রান্সমিশন মোড নির্বাচন

সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস মোড নিয়ন্ত্রণ স্থিতি রেজিস্ট্রারের ইউএমএসএল বিট দ্বারা নির্বাচিত হয় is আমরা যদি ইউএমএসএল = 0 দিই, তবে ইউএসআর্ট অ্যাসিক্রোনাস মোডে পরিচালনা করে, অন্যথায় সিঙ্ক্রোনাস মোডে পরিচালনা করে।

ডেটা ট্রান্সমিশন মোড নির্বাচন

ডেটা ট্রান্সমিশন মোড নির্বাচন

পদক্ষেপ 4: বিট এবং স্টপ বিট শুরু করুন

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

বিট এবং স্টপ বিট শুরু করুন

বিট এবং স্টপ বিট শুরু করুন

স্টপ বিটের সংখ্যা ইউসিএসআরসি-র ইউএসবিএস বিট দ্বারা নির্বাচন করা হয় - নিয়ন্ত্রণের স্থিতি রেজিস্টার। এক স্টপ বিটের জন্য ইউএসবিএস = 0 এবং দুটি স্টপ বিটের জন্য ইউএসবিএস = 1

পদক্ষেপ 5: অক্ষরের আকার নির্ধারণ করুন

হিসাবে ক্ষেত্রে বেসিক মাইক্রোকন্ট্রোলারগুলি একসাথে ডেটা বাইট (8-বিট) প্রেরণ এবং গ্রহণ করা, কোনও এভিআর মাইক্রোকন্ট্রোলারে থাকুক না কেন, আমরা ইউসিএসআরসি রেজিস্ট্রারের ইউসিএসজেড বিটের মাধ্যমে প্রতিটি ফ্রেমে ডেটা ফ্রেম ফর্ম্যাটটি চয়ন করতে পারি।

ডেটা ফ্রেম ফর্ম্যাট

ডেটা ফ্রেম ফর্ম্যাট

পদক্ষেপ:: প্রাপ্ত তথ্য সংরক্ষণ করুন

এভিআর মাইক্রোকন্ট্রোলার ডেটা প্রেরণ এবং গ্রহণের জন্য একটি ইউডিআর বাফার রেজিস্টার নিয়ে থাকে। ইউডিআর একটি 16-বিট বাফার রেজিস্ট্রার যেখানে 8-বিট ডেটা প্রাপ্ত করার জন্য ব্যবহৃত হয় (আরএক্সবি) এবং অন্যান্য বিটগুলি ডেটা সংক্রমণ করার জন্য ব্যবহৃত হয় (টিএক্সবি)। ডেটা বাফার রেজিস্ট্রার প্রেরণ করা হবে তার অবস্থানের লিখিত ডেটার জন্য ইউডিআর রেজিস্ট্রারে গন্তব্য। ডেটা বাফার রেজিস্টার প্রাপ্তি ইউডিআর নিবন্ধের সামগ্রী ফিরে আসবে।

পদক্ষেপ 7: ট্রান্সমিটার এবং রিসিভার সক্ষম করা হচ্ছে

প্রেরণ এবং প্রাপ্ত ডেটা মাইক্রোকন্ট্রোলারের আরএক্সসি এবং টিএক্সসি পিন দ্বারা অনুমোদিত হবে যা মাইক্রোকন্ট্রোলারের ইউসিএসআরএ রেজিস্ট্রার দ্বারা সেট করা হয়েছে। ডেটাটির জন্য মাইক্রোকন্ট্রোলার দ্বারা নির্ধারিত এই ফ্ল্যাগ বিটটি প্রাপ্ত (TXC = আরএক্সসি = 1) প্রাপ্ত এবং প্রেরণের মাধ্যমে সম্পন্ন হয়েছে।

বাড রেট দ্বিগুণ করুন

আমরা এভিআর ইউএসআরটি যোগাযোগের স্থানান্তর হার দ্বিগুণ করতে পারি মাইক্রোকন্ট্রোলার 16 বিট থেকে 8-বিট পর্যন্ত ইউসিএসআরএ রেজিস্টারটিতে কার্যকরভাবে ইউ 2 এক্স .বিট দ্বারা। এই বিটটি শুধুমাত্র অ্যাসিনক্রোনাস অপারেশনে প্রভাব ফেলে। যদি আমরা এই বিটটি সেট করতে পারি (U2X = 1), এটি সিঙ্ক্রোনাস যোগাযোগের জন্য স্থানান্তর হারকে দ্বিগুণভাবে কার্যকরভাবে বাড রেটকে 16-বিট থেকে 8-বিটকে হ্রাস করবে।

এটি ডেটা দ্রুত প্রক্রিয়াকরণের জন্য এভিআর মাইক্রোকন্ট্রোলারের একটি উন্নত বৈশিষ্ট্য।

ইউএসএআরটি প্রোগ্রাম

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