8/2/4K বাইট ইন-সিস্টেম প্রোগ্রামেবল ফ্ল্যাশ সহ Atmel 8-বিট AVR মাইক্রোকন্ট্রোলার
বৈশিষ্ট্য
- উচ্চ কর্মক্ষমতা, নিম্ন শক্তি AVR® 8-বিট মাইক্রোকন্ট্রোলার
- উন্নত আরআইএসসি আর্কিটেকচার
- 120 শক্তিশালী নির্দেশাবলী - সর্বাধিক একক ঘড়ি চক্র কার্যকর
- 32 এক্স 8 সাধারণ উদ্দেশ্য ওয়ার্কিং রেজিস্টার
- সম্পূর্ণ স্ট্যাটিক অপারেশন
- অ-উদ্বায়ী প্রোগ্রাম এবং ডেটা স্মৃতি
- 2-4 / 8K বাইটস ইন-সিস্টেম প্রোগ্রামেবল প্রোগ্রাম মেমরি ফ্ল্যাশ
- সহনশীলতা: 10,000 লিখুন/মুছে ফেলুন চক্র
- 128/256/512 বাইটস ইন-সিস্টেম প্রোগ্রামেবল EEPROM
- সহনশীলতা: 100,000 লিখুন/মুছে ফেলুন চক্র
- 128/256/512 বাইটস ইন্টারনাল এসআরএএম
- স্ব-প্রোগ্রামিং ফ্ল্যাশ প্রোগ্রাম এবং EEPROM ডেটা সুরক্ষা জন্য প্রোগ্রামিং লক
পেরিফেরাল বৈশিষ্ট্যগুলি
- 8 বিট টাইমার / প্রেসক্যালার এবং দুটি পিডাব্লুএম চ্যানেলের সাথে কাউন্টার
- 8 বিট উচ্চ গতির টাইমার / পৃথক প্রেসক্যালারের সাথে কাউন্টার
- পৃথক আউটপুট সহ 2 উচ্চ ফ্রিকোয়েন্সি পিডাব্লুএম আউটপুট রেজিস্টরের সাথে তুলনা করুন
- প্রোগ্রামেবল ডেড টাইম জেনারেটর
- ইউএসআই - স্ট্যান্ড কন্ডিশন ডিটেক্টর সহ ইউনিভার্সাল সিরিয়াল ইন্টারফেস
- 10-বিট এডিসি
4 একক সমাপ্ত চ্যানেল
প্রোগ্রামেবল লাভের সাথে 2 ডিফারেনশিয়াল এডিসি চ্যানেল জুড়ি (1x, 20x)
তাপমাত্রা পরিমাপ
পৃথক অন-চিপ অসিলেটর সহ প্রোগ্রামেবল ওয়াচডগ টাইমার
অন-চিপ অ্যানালগ তুলনামূলক
বিশেষ মাইক্রোকন্ট্রোলার বৈশিষ্ট্য
ডিবাগওয়াইআর অন চিপ ডিবাগ সিস্টেম
এসপিআই পোর্টের মাধ্যমে ইন-সিস্টেম প্রোগ্রামেবল
বাহ্যিক এবং অভ্যন্তরীণ বাধা উত্স
লো পাওয়ার আইডল, এডিসি নয়েজ হ্রাস, এবং পাওয়ার-ডাউন মোড
বর্ধিত পাওয়ার অন রিসেট সার্কিট
প্রোগ্রামেবল ব্রাউন-আউট সনাক্তকরণ সার্কিট
অভ্যন্তরীণ ক্যালিব্রেটেড অসিলেটর
আই / ও এবং প্যাকেজগুলি
ছয় প্রোগ্রামেবল আই / ও লাইন
8-পিন পিডিআইপি, 8-পিন এসওআইসি, 20-প্যাড কিউএফএন / এমএলএফ, এবং 8-পিন টিএসএসপ (কেবল এটিটিই 45 / ভি)
অপারেটিং ভলিউমtage
- এটিটিনি 1.8 ভি / 5.5 ভি / 25 ভি এর জন্য 45 - 85V
- এটিআইটি 2.7/5.5/25 এর জন্য 45 - 85V
স্পিড গ্রেড
- এটিটিনি 25 ভি / 45 ভি / 85 ভি: 0 - 4 মেগাহার্টজ @ 1.8 - 5.5V, 0 - 10 মেগাহার্টজ @ 2.7 - 5.5V
- এটিটিনি 25/45/85: 0 - 10 মেগাহার্টজ @ 2.7 - 5.5V, 0 - 20 মেগাহার্টজ @ 4.5 - 5.5V
শিল্প তাপমাত্রা ব্যাপ্তি
কম শক্তি খরচ
সক্রিয় মোড:
1 মেগাহার্টজ, 1.8V: 300 .A
পাওয়ার-ডাউন মোড:
পিন কনফিগারেশন
পিনআউট এটিটিনি 25/45/85
পিন বিবরণ
VCC: সরবরাহ ভলিউমtage.
জিএনডি: গ্রাউন্ড।
পোর্ট বি (PB5:PB0): পোর্ট বি হল একটি 6-বিট দ্বি-নির্দেশিক I/O পোর্ট যেখানে অভ্যন্তরীণ পুল-আপ প্রতিরোধক রয়েছে (প্রতিটি বিটের জন্য নির্বাচিত)। পোর্ট বি আউটপুট বাফারগুলির উচ্চ সিঙ্ক এবং উত্স ক্ষমতা উভয়ের সাথে প্রতিসম ড্রাইভ বৈশিষ্ট্য রয়েছে। ইনপুট হিসাবে, পোর্ট বি পিনগুলি যা বাহ্যিকভাবে কম টানা হয় যদি পুল-আপ প্রতিরোধকগুলি সক্রিয় করা হয় তবে কারেন্ট উৎস হবে। পোর্ট বি পিনগুলি ত্রি-নির্দেশিত হয় যখন একটি রিসেট অবস্থা সক্রিয় হয়, এমনকি ঘড়িটি না চললেও৷
পোর্ট বি তালিকাভুক্ত হিসাবে এটিটিইনি 25/45/85 এর বিভিন্ন বিশেষ বৈশিষ্ট্যগুলির কাজ করে
এটিটিইন 25 তে প্রোগ্রামেবল আই / ও পোর্টগুলি পিবি 3 এবং পিবি 4 (পিন 2 এবং 3) এটিটিই 15 এর সাথে পিছনে সামঞ্জস্যতা সমর্থন করার জন্য এটিটিই 15 সামঞ্জস্যতা মোডে বিনিময় করা হয়।
রিসেট: ইনপুট রিসেট করুন। ন্যূনতম পালস দৈর্ঘ্যের চেয়ে বেশি সময় ধরে এই পিনের একটি নিম্ন স্তর একটি রিসেট তৈরি করবে, এমনকি যদি ঘড়িটি চলছে না এবং যদি রিসেট পিনটি নিষ্ক্রিয় না করা থাকে। সর্বনিম্ন নাড়ি দৈর্ঘ্য দেওয়া হয় টেবিল 21-4 পৃষ্ঠা 165 এ। ছোট ডালগুলি পুনরায় সেট করার গ্যারান্টিযুক্ত নয়।
রিসেট পিনটি (দুর্বল) আই / ও পিন হিসাবেও ব্যবহার করা যেতে পারে।
ওভারview
এটিটিই 25/45/85 এভিআর বর্ধিত আরআইএসসি আর্কিটেকচারের উপর ভিত্তি করে একটি স্বল্প-পাওয়ার সিএমওএস 8-বিট মাইক্রোকন্ট্রোলার। একক ঘড়ির চক্রের শক্তিশালী নির্দেশাবলীর সম্পাদন করে, এটিটিনি 25/45/85 মেগাহার্টজ প্রতি 1 এমআইপিএসের কাছে পৌঁছনোর মাধ্যমে আউটপুটগুলি অর্জন করে সিস্টেম ডিজাইনারকে বিদ্যুৎ খরচ বনাম প্রক্রিয়াজাতকরণের গতি অনুকূল করতে দেয়।
ব্লক ডায়াগ্রাম
এভিআর কোর 32 টি সাধারণ উদ্দেশ্যে কাজের রেজিস্টারের সাথে একটি সমৃদ্ধ নির্দেশিকা সেট সংযুক্ত করে। সমস্ত 32 টি রেজিস্টারগুলি সরাসরি বুনিয়াদী যুক্তিযুক্ত ইউনিট (এএলইউ) এর সাথে সংযুক্ত রয়েছে, যার ফলে একটি ঘড়ির চক্রে কার্যকর একটি একক নির্দেশিকায় দুটি স্বতন্ত্র রেজিস্টারগুলি অ্যাক্সেস করা যায়। প্রচলিত সিআইএসসি মাইক্রোকন্ট্রোলারের তুলনায় দশগুণ দ্রুত থ্রুপুট অর্জনের ফলে প্রাপ্ত আর্কিটেকচারটি আরও কোড দক্ষ।
এটিটিই 25/45/85 নিম্নলিখিত বৈশিষ্ট্যগুলি সরবরাহ করে: ইন-সিস্টেম প্রোগ্রামেবল ফ্ল্যাশের 2/4/8 কে বাইটস, 128/256/512 বাইটস ইপ্রোম, 128/256/256 বাইট এসআরএম, 6 সাধারণ উদ্দেশ্য আই / ও লাইন, 32 সাধারণ উদ্দেশ্যমূলক কার্যনির্বাহী নিবন্ধসমূহ, তুলনা মোডের সাথে একটি 8-বিট টাইমার / কাউন্টার, একটি 8-বিট উচ্চ গতির টাইমার / কাউন্টার, ইউনিভার্সাল সিরিয়াল ইন্টারফেস, অভ্যন্তরীণ এবং বাহ্যিক বাধা, একটি 4-চ্যানেল, 10-বিট এডিসি, অভ্যন্তরীণ সহ একটি প্রোগ্রামেবল ওয়াচডগ টাইমার অসিলেটর এবং তিনটি সফ্টওয়্যার নির্বাচনযোগ্য পাওয়ার সাশ্রয় মোড। এসআরএএম, টাইমার / কাউন্টার, এডিসি, অ্যানালগ তুলক এবং ইন্টারপ্রেট সিস্টেমকে কাজ চালিয়ে যাওয়ার অনুমতি দেওয়ার সময় অলস মোড সিপিইউ থামায় stop পাওয়ার-ডাউন মোড রেজিস্টার কনটেন্টগুলি সংরক্ষণ করে, পরবর্তী বিঘ্ন বা হার্ডওয়্যার রিসেট না হওয়া পর্যন্ত সমস্ত চিপ ফাংশন অক্ষম করে। এডিসি রূপান্তরকালে স্যুইচিং শোর কমিয়ে আনার জন্য এডিসি নয়েজ হ্রাস মোড সিপিইউ এবং এডিসি ব্যতীত সমস্ত আই / ও মডিউলগুলি থামায়।
ডিটেমটি অ্যাটেলের উচ্চ ঘনত্বের অ-উদ্বায়ী মেমরি প্রযুক্তি ব্যবহার করে তৈরি করা হয়েছে। অন চিপ আইএসপি ফ্ল্যাশ একটি এসপিআই সিরিয়াল ইন্টারফেসের মাধ্যমে, প্রচলিত অ-উদ্বায়ী মেমরি প্রোগ্রামার দ্বারা বা এভিআর কোরটিতে চলমান একটি অন-চিপ বুট কোডের মাধ্যমে প্রোগ্রাম মেমরিটিকে পুনরায় প্রোগ্রাম করার অনুমতি দেয়।
এটিটিই 25/45/85 এভিআর প্রোগ্রাম এবং সিস্টেম ডেভলপমেন্ট সরঞ্জামগুলির একটি সম্পূর্ণ স্যুট সহ সমর্থিত: সি কমলার্স, ম্যাক্রো অ্যাসেমব্লার্স, প্রোগ্রাম ডিবাগার / সিমুলেটর এবং মূল্যায়ন কিটস।
সম্পদ সম্পর্কে
ডাউনলোডের জন্য বিকাশ সরঞ্জাম, অ্যাপ্লিকেশন নোট এবং ডেটাশিটগুলির একটি বিস্তৃত সেট http://www.atmel.com/avr.
কোড এক্সampলেস
এই ডকুমেন্টেশনে সহজ কোড আছেampলেস যা সংক্ষেপে দেখায় কিভাবে ডিভাইসের বিভিন্ন অংশ ব্যবহার করতে হয়। এই কোডগুলি প্রাক্তনampলেস অনুমান যে অংশ নির্দিষ্ট হেডার file সংকলনের আগে অন্তর্ভুক্ত। সচেতন থাকুন যে সমস্ত সি কম্পাইলার বিক্রেতারা হেডারে বিট সংজ্ঞা অন্তর্ভুক্ত করে না files এবং C- এ বাধা হ্যান্ডলিং কম্পাইলার নির্ভরশীল। আরো বিস্তারিত জানার জন্য সি কম্পাইলার ডকুমেন্টেশন দিয়ে নিশ্চিত করুন।
বর্ধিত আই / ও মানচিত্রে অবস্থিত আই / ও রেজিস্টারগুলির জন্য, "ইন", "আউট", "এসবিআইএস", "এসবিআইসি", "সিবিআই", এবং "এসবিআই" নির্দেশাবলীর সাথে অবশ্যই এমন নির্দেশাবলীর সাথে প্রতিস্থাপন করতে হবে যা বর্ধিত আইতে অ্যাক্সেসের অনুমতি দেয় allow / ও। সাধারণত, এর অর্থ হ'ল "এলডিএস" এবং "এসটিএস" "এসবিআরএস", "এসবিআরসি", "এসবিআর", এবং "সিবিআর" এর সাথে মিলিত। নোট করুন যে সমস্ত এভিআর ডিভাইসগুলিতে বর্ধিত আই / ও মানচিত্র অন্তর্ভুক্ত নয়।
ক্যাপাসিটিভ টাচ সেন্সিং
Atmel QTouch লাইব্রেরি Atmel AVR মাইক্রোকন্ট্রোলারে স্পর্শ সংবেদনশীল ইন্টারফেসের জন্য ব্যবহার করার জন্য একটি সহজ সমাধান প্রদান করে। QTouch লাইব্রেরিতে QTouch® এবং QMatrix® অধিগ্রহণ পদ্ধতির জন্য সমর্থন অন্তর্ভুক্ত রয়েছে।
টাচ সেন্সিং সহজেই কিউ টাচ লাইব্রেরির সাথে যুক্ত করে এবং স্পর্শ চ্যানেল এবং সেন্সরগুলি সংজ্ঞায়িত করতে লাইব্রেরির অ্যাপ্লিকেশন প্রোগ্রাম-মিং ইন্টারফেস (এপিআই) ব্যবহার করে যে কোনও অ্যাপ্লিকেশনটিতে সহজেই যুক্ত করা যায়। এরপরে অ্যাপ্লিকেশনটি চ্যানেল সম্পর্কিত তথ্য পুনরুদ্ধার করতে এবং টাচ সেন্সরের স্থিতি নির্ধারণ করতে API কে কল করে।
QTouch লাইব্রেরি বিনামূল্যে এবং Atmel থেকে ডাউনলোড করা যাবে webসাইট আরো তথ্য এবং বাস্তবায়নের বিশদ বিবরণের জন্য, QTouch লাইব্রেরি ব্যবহারকারী নির্দেশিকা পড়ুন – এছাড়াও Atmel থেকে উপলব্ধ webসাইট
ডেটা ধারণ
নির্ভরযোগ্যতা যোগ্যতার ফলাফলগুলি দেখায় যে 1 বছরেরও বেশি সময় ধরে 20 পিপিএমের চেয়ে 85 ডিগ্রি সেন্টিগ্রেড বা 100 ডিগ্রি সেন্টিগ্রেডে ডেটা ধরে রাখার ব্যর্থতার হার অনুমিত হয়।
এভিআর সিপিইউ কোর
ভূমিকা
এই বিভাগটি এভিআর মূল আর্কিটেকচারটি সাধারণভাবে আলোচনা করে। সিপিইউ কোরের মূল কাজটি হ'ল দুর্নীতির প্রোগ্রাম কার্যকর করা নিশ্চিত করা। সিপিইউ অবশ্যই স্মৃতি অ্যাক্সেস করতে, গণনা সম্পাদন করতে, পেরিফেরিয়াল নিয়ন্ত্রণ করতে এবং বাধা হ্যান্ডেল করতে সক্ষম হতে হবে।
স্থাপত্য ওভারview
কর্মক্ষমতা এবং সমান্তরালতা সর্বাধিক করার জন্য, এভিআর একটি হার্ভার্ড আর্কিটেকচার ব্যবহার করে - প্রোগ্রাম এবং ডেটার জন্য পৃথক স্মৃতি এবং বাস সহ। প্রোগ্রাম মেমরির নির্দেশাবলী একক স্তরের পাইপলাইনের সাহায্যে কার্যকর করা হয়। যখন একটি নির্দেশ কার্যকর করা হচ্ছে, পরবর্তী নির্দেশনাটি প্রোগ্রামের মেমোরি থেকে প্রাক-আনীত। এই ধারণাটি প্রতিটি ঘড়ির চক্রের মধ্যে নির্দেশাবলী কার্যকর করতে সক্ষম করে। প্রোগ্রাম মেমরিটি হ'ল ইন-সিস্টেম পুনরায় প্রোগ্রামযোগ্য ফ্ল্যাশ মেমরি।
দ্রুত অ্যাক্সেস নিবন্ধন File একটি একক ঘড়ি চক্র অ্যাক্সেস টাইম সহ 32 x 8-বিট সাধারণ উদ্দেশ্য কাজের রেজিস্টার রয়েছে। এটি একক-সাইকেল অ্যারিথমেটিক লজিক ইউনিট (ALU) অপারেশনের অনুমতি দেয়। একটি সাধারণ ALU অপারেশনে, দুটি অপারেন্ড রেজিস্টার থেকে আউটপুট হয় File, অপারেশন সম্পাদিত হয়, এবং ফলাফলটি আবার রেজিস্টারে সংরক্ষণ করা হয় File- এক ঘড়ির চক্রে।
32 টি নিবন্ধের মধ্যে ছয়টি ডেটা স্পেস অ্যাড্রেসিংয়ের জন্য তিনটি 16-বিট অপ্রত্যক্ষ ঠিকানা রেজিস্টার পয়েন্টার হিসাবে ব্যবহার করা যেতে পারে - দক্ষ ঠিকানা গণনা সক্ষম করে। এই ঠিকানা পয়েন্টারগুলির মধ্যে একটি ফ্ল্যাশ প্রোগ্রামের মেমরিতে সারণী সন্ধানের জন্য ঠিকানা পয়েন্টার হিসাবেও ব্যবহার করা যেতে পারে। এই যুক্ত ফাংশন নিবন্ধগুলি হ'ল ১।-বিট এক্স-, ওয়াই- এবং জেড-রেজিস্টার যা পরে এই বিভাগে বর্ণিত।
ALU রেজিস্টরের মধ্যে বা একটি ধ্রুবক এবং একটি রেজিস্টরের মধ্যে পাটিগণিত এবং যুক্তিযুক্ত অপারেশনগুলিকে সমর্থন করে। সিএল রেজিস্টার অপারেশনগুলিও এএলইউতে কার্যকর করা যেতে পারে। একটি গাণিতিক অপারেশনের পরে, অপারেশনের ফলাফল সম্পর্কে তথ্য প্রতিফলিত করতে স্থিতি রেজিস্টার আপডেট করা হয়।
প্রোগ্রামের প্রবাহ শর্তাধীন এবং নিঃশর্ত জাম্প এবং কল নির্দেশাবলীর মাধ্যমে সরবরাহ করা হয়, সরাসরি ঠিকানার পুরো জায়গাকে সম্বোধন করতে সক্ষম। বেশিরভাগ এভিআর নির্দেশাবলীতে একটি একক 16-বিট শব্দের ফর্ম্যাট থাকে তবে 32-বিট নির্দেশাবলীও রয়েছে।
বিঘ্ন এবং সাবরুটিন কল চলাকালীন, ফিরতি ঠিকানা প্রোগ্রাম কাউন্টার (পিসি) স্ট্যাকের মধ্যে সংরক্ষণ করা হয়। স্ট্যাকটি কার্যকরভাবে সাধারণ ডেটা এসআরএমে বরাদ্দ করা হয়, এবং ফলস্বরূপ স্ট্যাকের আকারটি মোট এসআরএএম আকার এবং এসআরএএম এর ব্যবহারের দ্বারা সীমাবদ্ধ থাকে। সমস্ত ব্যবহারকারীর প্রোগ্রামগুলিকে অবশ্যই পুনরায় সেট করুন রুটিনে এসপি শুরু করতে হবে (সাব-রুটিনগুলি বা বিঘ্নগুলি কার্যকর করার আগে)। স্ট্যাক পয়েন্টার (এসপি) আই / ও স্পেসে পঠন / লেখার অ্যাক্সেসযোগ্য। এভিআর আর্কিটেকচারে সমর্থিত পাঁচটি ভিন্ন ঠিকানা মোডের মাধ্যমে এসআরএএম ডেটা সহজেই অ্যাক্সেস করা যায়।
এভিআর আর্কিটেকচারের মেমরি স্পেসগুলি সমস্ত লিনিয়ার এবং নিয়মিত মেমরি মানচিত্র।
একটি নমনীয় বিঘ্নিত মডিউলটির স্টেটাস রেজিস্টারে অতিরিক্ত গ্লোবাল ইন্টারপান সক্ষম বিট সহ আই / ও স্পেসে এর নিয়ন্ত্রণ রেজিস্টার থাকে। বিঘ্নিত ভেক্টর টেবিলটিতে সমস্ত বাধাগুলির একটি পৃথক বিঘ্নিত ভেক্টর থাকে। বাধাগুলি তাদের বিঘ্নিত ভেক্টরের অবস্থান অনুসারে অগ্রাধিকার পায় priority বিঘ্নিত ভেক্টরের ঠিকানা যত কম, তত বেশি অগ্রাধিকার।
I/O মেমোরি স্পেসে CPU পেরিফেরাল ফাংশনগুলির জন্য 64 টি ঠিকানা থাকে যেমন কন্ট্রোল রেজিস্টার, SPI এবং অন্যান্য I/O ফাংশন। I/O মেমোরি সরাসরি অ্যাক্সেস করা যেতে পারে, অথবা ডেটা স্পেস লোকেশন হিসাবে নিয়ন্ত্রকদের অনুসরণ করে File, 0x20 - 0x5F।
ALU - পাটিগণিত লজিক ইউনিট
উচ্চ-কার্য সম্পাদনকারী এভিআর এএলইউ 32 টি সাধারণ উদ্দেশ্যে কর্মরত রেজিস্টারের সাথে সরাসরি সংযোগে কাজ করে। একক ঘড়ির চক্রের মধ্যে, সাধারণ উদ্দেশ্য রেজিস্টারগুলির মধ্যে বা একটি নিবন্ধক এবং তাত্ক্ষণিকের মধ্যে গাণিতিক ক্রিয়াকলাপগুলি কার্যকর করা হয়। এএলইউ অপারেশনগুলি তিনটি প্রধান বিভাগে বিভক্ত - গাণিতিক, যৌক্তিক এবং বিট-ফাংশনগুলি। আর্কিটেকচারের কিছু বাস্তবায়ন স্বাক্ষরযুক্ত / স্বাক্ষরবিহীন গুণ এবং ভগ্নাংশ উভয়কেই সমর্থন করে একটি শক্তিশালী গুণক সরবরাহ করে। বিস্তারিত বিবরণের জন্য "নির্দেশিকা সেট" বিভাগটি দেখুন।
স্থিতি রেজিস্টার
স্থিতি রেজিস্টারে সর্বাধিক সম্পাদিত গাণিতিক নির্দেশের ফলাফল সম্পর্কে তথ্য রয়েছে। এই তথ্যটি শর্তাধীন ক্রিয়াকলাপ সম্পাদনের জন্য প্রোগ্রাম প্রবাহ পরিবর্তনের জন্য ব্যবহার করা যেতে পারে। নোট করুন যে স্ট্যাটাস রেজিস্টারটি সমস্ত ALU ক্রিয়াকলাপের পরে আপডেট করা হয়েছে, যেমন নির্দেশ সেট রেফারেন্সে বর্ণিত। এটি অনেক ক্ষেত্রে ডেডিকেটেড তুলনা নির্দেশাবলী ব্যবহারের প্রয়োজনীয়তা সরিয়ে ফেলবে, যার ফলে দ্রুত এবং আরও কমপ্যাক্ট কোড তৈরি হবে in
কোনও বাধা রুটিন প্রবেশের সময় স্থিতি রেজিস্টার স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হয় না এবং একটি বাধা থেকে ফিরে আসার সময় পুনরুদ্ধার করা হয়। এটি অবশ্যই সফ্টওয়্যার দ্বারা পরিচালনা করা উচিত।
এসআরইজি - এভিআর স্ট্যাটাস রেজিস্টার
এভিআর স্থিতি রেজিস্টার - এসআরইজি - সংজ্ঞাযুক্ত:
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3F | I | T | H | S | V | N | Z | C | এসআরইজি |
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিট 7 - আই: গ্লোবাল ইন্টারপেন সক্ষম করুন
বাধা সক্ষম করার জন্য গ্লোবাল ইন্টারপেন সক্ষম বিট সেট করতে হবে। পৃথক বিঘ্ন সক্ষম সক্ষম তারপর পৃথক নিয়ন্ত্রণ রেজিস্টারগুলিতে সঞ্চালিত হয়। যদি গ্লোবাল ইন্টারপান সক্ষম রেজিস্টারটি সাফ করা হয়, স্বতন্ত্র বাধা সক্ষম সেটিংসের চেয়ে পৃথক বিঘ্নের কোনওটিই সক্ষম হয় না। আই-বিট একটি বিঘ্ন ঘটে যাওয়ার পরে হার্ডওয়্যার দ্বারা সাফ হয়ে যায়, এবং পরবর্তী বিঘ্ন সক্ষম করতে RETI নির্দেশনা দ্বারা সেট করা হয়। নির্দেশিকা সেট রেফারেন্সে বর্ণিত আইই-বিটটিও এসইআই এবং সিএলআই নির্দেশাবলী সহ অ্যাপ্লিকেশন দ্বারা সেট এবং সাফ করা যায়।
বিট 6 - টি: বিট কপি স্টোরেজ
বিট কপি নির্দেশাবলী বিএলডি (বিট লোড) এবং বিএসটি (বিট স্টোর) টি-বিটকে চালিত বিটের উৎস বা গন্তব্য হিসেবে ব্যবহার করে। রেজিস্টারে একটি রেজিস্টার থেকে কিছুটা File বিএসটি নির্দেশনা দ্বারা টিতে অনুলিপি করা যেতে পারে, এবং টি -তে কিছুটা বিট রেজিস্টারে একটি রেজিস্টারে অনুলিপি করা যেতে পারে File BLD নির্দেশ দ্বারা।
বিট 5 - এইচ: হাফ ক্যারি পতাকা
হাফ ক্যারি ফ্ল্যাগ এইচ কিছু গাণিতিক ক্রিয়াকলাপে একটি অর্ধ ক্যারি নির্দেশ করে। হাফ ক্যারি বিসিডি পাটিগণিতে দরকারী। বিস্তারিত তথ্যের জন্য "নির্দেশ সেট বিবরণ" দেখুন।
বিট 4 – S: সাইন বিট, S = N ⊕ V
এস-বিটটি সর্বদা একচেটিয়া বা নেতিবাচক ফ্ল্যাগ এন এবং দু'টির পরিপূরক ওভারফ্লো ফ্ল্যাগ ভি এর মধ্যে থাকে detailed বিস্তারিত তথ্যের জন্য "নির্দেশের সেট বিবরণ" দেখুন।
বিট 3 - ভি: দুইটির পরিপূরক ওভারফ্লো পতাকা
দুইটির পরিপূরক ওভারফ্লো ফ্ল্যাগ ভি দুটির পরিপূরক পাটিগণিতকে সমর্থন করে। বিস্তারিত তথ্যের জন্য "নির্দেশ সেট বিবরণ" দেখুন।
বিট 2 - এন: নেতিবাচক পতাকা
Gণাত্মক পতাকা এন একটি গাণিতিক বা লজিক অপারেশনে নেতিবাচক ফলাফল নির্দেশ করে। বিস্তারিত তথ্যের জন্য "নির্দেশ সেট বিবরণ" দেখুন।
বিট 1 - জেড: জিরো পতাকা
শূন্য পতাকা Z একটি পাটিগণিত বা যুক্তিযুক্ত অপারেশনের শূন্য ফলাফল নির্দেশ করে। বিস্তারিত তথ্যের জন্য "নির্দেশ সেট বিবরণ" দেখুন।
বিট 0 - সি: পতাকা বহন করুন
ক্যারি ফ্ল্যাগ সি একটি গাণিতিক বা যুক্তিযুক্ত অপারেশনকে বহন করে। বিস্তারিত তথ্যের জন্য "নির্দেশ সেট বিবরণ" দেখুন।
সাধারণ উদ্দেশ্য নিবন্ধন File
রেজিস্টার File AVR উন্নত RISC নির্দেশ সেটের জন্য অপ্টিমাইজ করা হয়েছে। প্রয়োজনীয় কর্মক্ষমতা এবং নমনীয়তা অর্জনের জন্য, নিম্নলিখিত ইনপুট/আউটপুট স্কিমগুলি রেজিস্টার দ্বারা সমর্থিত File:
একটি 8-বিট আউটপুট অপারেন্ড এবং একটি 8-বিট ফলাফল ইনপুট
দুটি 8-বিট আউটপুট অপারেশন এবং একটি 8-বিট ফলাফল ইনপুট
দুটি 8-বিট আউটপুট অপারেশন এবং একটি 16-বিট ফলাফল ইনপুট
একটি 16-বিট আউটপুট অপারেন্ড এবং একটি 16-বিট ফলাফল ইনপুট
চিত্র 4-2 সিপিইউতে 32 টি সাধারণ কাজের ওয়ার্কিং রেজিস্টারের কাঠামো দেখায়।
যেমন দেখানো হয়েছে চিত্র 4-2, প্রতিটি রেজিস্টারে একটি ডেটা মেমরি ঠিকানাও বরাদ্দ করা হয়, ব্যবহারকারী ডেটা স্পেসের প্রথম 32টি অবস্থানে সরাসরি ম্যাপিং করে। যদিও SRAM অবস্থান হিসাবে শারীরিকভাবে বাস্তবায়িত হচ্ছে না, এই মেমরি সংস্থাটি রেজিস্টারগুলিতে অ্যাক্সেসের ক্ষেত্রে দুর্দান্ত নমনীয়তা প্রদান করে, কারণ X-, Y- এবং Z-পয়েন্টার রেজিস্টারগুলি যেকোন রেজিস্টারের সূচীতে সেট করা যেতে পারে। file.অধিকাংশ নির্দেশাবলী রেজিস্টারে কাজ করে File সমস্ত রেজিস্টারে সরাসরি প্রবেশাধিকার রয়েছে এবং তাদের বেশিরভাগই একক চক্র নির্দেশাবলী।
এক্স-রেজিস্টার, ওয়াই-রেজিস্টার এবং জেড-রেজিস্টার
R26..R31 রেজিস্টারগুলির সাধারণ উদ্দেশ্য ব্যবহারে কিছু যুক্ত ফাংশন রয়েছে। এই নিবন্ধগুলি ডেটা স্পেসের অপ্রত্যক্ষ ঠিকানাগুলির জন্য 16-বিট অ্যাড্রেস পয়েন্টার। এক্স, ওয়াই এবং জেড তিনটি অপ্রত্যক্ষ ঠিকানা নিবন্ধিত হিসাবে বর্ণিত হয়েছে চিত্র 4-3.
বিভিন্ন অ্যাড্রেসিং মোডে এই ঠিকানাগুলির নিবন্ধগুলিতে স্থির স্থানচ্যুতি, স্বয়ংক্রিয় বৃদ্ধি এবং স্বয়ংক্রিয় হ্রাস হিসাবে ফাংশন রয়েছে (বিশদ জন্য নির্দেশের সেট রেফারেন্স দেখুন)।
স্ট্যাক পয়েন্টার
স্ট্যাকটি মূলত অস্থায়ী ডেটা সঞ্চয় করার জন্য, স্থানীয় ভেরিয়েবলগুলি সংরক্ষণ করার জন্য এবং বিপর্যয় এবং সাব্রোটিন কলের পরে ফেরত ঠিকানাগুলি সংরক্ষণ করার জন্য ব্যবহৃত হয়। স্ট্যাক পয়েন্টার রেজিস্টার সর্বদা স্ট্যাকের শীর্ষে নির্দেশ করে। নোট করুন যে স্ট্যাকটি উচ্চতর মেমরি অবস্থান থেকে কম স্মৃতি অবস্থানগুলিতে বৃদ্ধি হিসাবে প্রয়োগ করা হয় implemented এটি সূচিত করে যে কোনও স্ট্যাক পুশ কমান্ড স্ট্যাক পয়েন্টার হ্রাস করে।
স্ট্যাক পয়েন্টার সাবআরটাইন এবং ইন্টারপ্রেট স্ট্যাকগুলি অবস্থিত যেখানে ডেটা এসআরএএম স্ট্যাক অঞ্চলটি নির্দেশ করে। এসআরএএম ডেটাতে এই স্ট্যাক স্পেসটি কোনও সাব্রুটিন কলগুলি কার্যকর করা বা ইন্টার-রূপগুলি সক্ষম হওয়ার আগে অবশ্যই প্রোগ্রাম দ্বারা সংজ্ঞায়িত করতে হবে। স্ট্যাক পয়েন্টারটি 0x60 এর উপরে পয়েন্ট করতে হবে। স্ট্রাক পয়েন্টারটি একের সাথে হ্রাস করা হয় যখন তথ্য পুশ নির্দেশাবলী দিয়ে স্ট্যাকের দিকে ঠেলে দেওয়া হয় এবং সাবটারটিন কল বা বিঘ্নিত হয়ে স্ট্যাকের দিকে ফেরতের ঠিকানাটি চাপানো হলে এটি দুটি দ্বারা হ্রাস পায়। স্টিপ পয়েন্টারটি যখন পিওপি নির্দেশাবলীর সাহায্যে স্ট্যাক থেকে ডেটা পপ করা হয় তখন একের দ্বারা বৃদ্ধি করা হয় এবং সাব্রোটিন আরইটি থেকে স্ট্রাক থেকে ডেটা পপ করা হয় বা বিঘ্নিত আরটিআই থেকে ফিরে আসা হলে এটি দুটি দ্বারা বাড়ানো হয়।
এভিআর স্ট্যাক পয়েন্টারটি I / O স্পেসে দুটি 8-বিট রেজিস্টার হিসাবে প্রয়োগ করা হয়। বাস্তবে ব্যবহৃত বিটের সংখ্যা বাস্তবায়ন নির্ভর। নোট করুন যে AVR আর্কিটেকচারের কিছু বাস্তবায়নের ডেটা স্পেস এত ছোট যে কেবল এসপিএল প্রয়োজন। এই ক্ষেত্রে, এসপিএইচ রেজিস্টার উপস্থিত হবে না।
এসপিএইচ এবং এসপিএল - স্ট্যাক পয়েন্টার রেজিস্টার
বিট | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
0x3E | SP15 | SP14 | SP13 | SP12 | SP11 | SP10 | SP9 | SP8 | এসপিএইচ |
0x3D | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 | এসপিএল |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা | |
প্রাথমিক মান | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা | খেলা |
নির্দেশ কার্যকর করার সময়
এই বিভাগে নির্দেশ কার্যকর করার জন্য সাধারণ অ্যাক্সেস সময় ধারণা বর্ণনা করে। AVR CPU CPU ঘড়ি clkCPU দ্বারা চালিত হয়, সরাসরি চিপের জন্য নির্বাচিত ঘড়ির উৎস থেকে উৎপন্ন হয়। কোন অভ্যন্তরীণ ঘড়ি বিভাগ ব্যবহার করা হয় না.
চিত্র 4-4 হার্ভার্ড আর্কিটেকচার এবং দ্রুত অ্যাক্সেস রেজিস্টার দ্বারা সক্ষম সমান্তরাল নির্দেশনা আনা এবং নির্দেশনা কার্যকর করা দেখায় File ধারণা প্রতি খরচ, ঘড়ি প্রতি ফাংশন এবং পাওয়ার-ইউনিট প্রতি ফাংশনের জন্য অনুরূপ অনন্য ফলাফল সহ প্রতি MHz 1 MIPS পর্যন্ত প্রাপ্ত করার জন্য এটি মৌলিক পাইপলাইন ধারণা।
চিত্র 4-5। একক সাইকেল ALU অপারেশন
রিসেট এবং বিঘ্নিত হ্যান্ডলিং
এভিআর বিভিন্ন বিঘ্নিত উত্স সরবরাহ করে। এই বাধাগুলি এবং পৃথক রিসেট ভেক্টর প্রতিটি প্রোগ্রামের মেমরি স্পেসে পৃথক প্রোগ্রাম ভেক্টর থাকে। সমস্ত বাধা পৃথক সক্ষম বিট বরাদ্দ করা হয়েছে যা বাধা সক্ষম করার জন্য স্থিতি রেজিস্টারে গ্লোবাল ইন্টারপেন সক্ষম সক্ষম বিটের সাথে একসাথে যুক্তিযুক্ত লিখিত থাকতে হবে।
প্রোগ্রাম মেমরি স্পেসের সর্বনিম্ন ঠিকানাগুলি ডিফল্টরূপে রিসেট এবং বিঘ্নিত ভেক্টর হিসাবে সংজ্ঞায়িত হয়। ভেক্টরগুলির সম্পূর্ণ তালিকাটি দেখানো হয়েছে 48 পৃষ্ঠায় "বাধা"। তালিকাটি বিভিন্ন বিঘ্নগুলির অগ্রাধিকার স্তরগুলিও নির্ধারণ করে। ঠিকানাটি যত কম হবে ততটি অগ্রাধিকার স্তর is RESET এর সর্বাধিক অগ্রাধিকার রয়েছে এবং তারপরে INT0 - বাহ্যিক বাধা অনুরোধ 0।
যখন কোনও বাধা ঘটে তখন গ্লোবাল ইন্টারপান সক্ষম আই-বিট সাফ হয়ে যায় এবং সমস্ত বাধা অক্ষম থাকে। নেস্ট-ওয়েয়ার ব্যবহারকারী নেস্টেড ইন্টারফেটগুলি সক্ষম করতে আই-বিটটিতে লজিকটি লিখতে পারেন। সমস্ত সক্ষম বাধা তারপরে বর্তমান বাধা রুটিনকে বাধা দিতে পারে। বাধা নির্দেশ থেকে একটি রিটার্ন - RETI - কার্যকর হলে আই-বিট স্বয়ংক্রিয়ভাবে সেট হয়ে যায়।
মূলত দুটি ধরণের বাধা রয়েছে। প্রথম ধরণটি একটি ইভেন্ট দ্বারা ট্রিগার করা হয় যা বাধা পতাকা সেট করে। এই বাধাগুলির জন্য, প্রোগ্রাম কাউন্টারটি বাধা হ্যান্ডলিং রুটিন সম্পাদন করতে প্রকৃত বিঘ্নিত ভেক্টরকে সন্ধান করে এবং হার্ডওয়্যার সংশ্লিষ্ট ইন্টারপ্রেট পতাকাটি সাফ করে। বিঘ্নিত পতাকাগুলি পরিষ্কার করার জন্য পতাকা বিট পজিশনে একটি যুক্তি লেখার মাধ্যমেও সাফ করা যায়। সংশ্লিষ্ট বাধা সক্ষম সক্ষম বিট সাফ করার সময় যদি কোনও বাধা শর্ত দেখা দেয় তবে বিঘ্নিত পতাকাটি সক্ষম করা অবধি কার্যকর করা অবধি বা সেটাকে স্মরণ করা হবে বা সফ্টওয়্যার দ্বারা পতাকা সাফ না হওয়া পর্যন্ত। একইভাবে, গ্লোবাল ইন্টারপ্যান্ট সক্ষম বিট সাফ হওয়ার সময় যদি এক বা একাধিক বাধা শর্ত দেখা দেয় তবে গ্লোবাল ইন্টারপ্যান্ট সক্ষম বিট সেট না হওয়া অবধি সংশ্লিষ্ট ইন্টারপ্যান্ট ফ্ল্যাগ (গুলি) সেট এবং মনে রাখা হবে এবং তারপরে অগ্রাধিকারের আদেশে কার্যকর করা হবে।
দ্বিতীয় ধরণের বাধাগুলি ততক্ষণ ট্রিগার করবে যতক্ষণ না বিঘ্নিত অবস্থার উপস্থিতি রয়েছে। এই বাধাগুলি আন্তঃব্যক্তির পতাকাগুলি প্রযোজ্য নয়। বাধা সক্ষম হওয়ার আগে যদি বাধা শর্তটি অদৃশ্য হয়ে যায়, তবে বাধাপ্রাপ্ত হবে না।
যখন এভিআর কোনও বাধা থেকে প্রস্থান করে, এটি সর্বদা মূল প্রোগ্রামে ফিরে আসবে এবং কোনও মুলতুবি বাধা দেওয়ার আগে আরও একটি নির্দেশ কার্যকর করে।
মনে রাখবেন যে স্ট্যাটাস রেজিস্টার কোনও বাধা রুটিনে প্রবেশের সময় স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হয় না বা বাধা রুটিন থেকে ফিরে এসে পুনরুদ্ধার করা হয় না। এটি অবশ্যই সফ্টওয়্যার দ্বারা পরিচালনা করা উচিত।
বাধা নিষ্ক্রিয় করার জন্য CLI নির্দেশ ব্যবহার করার সময়, বাধাগুলি অবিলম্বে নিষ্ক্রিয় করা হবে। CLI নির্দেশের পরে কোনো বাধা কার্যকর করা হবে না, এমনকি যদি এটি CLI নির্দেশের সাথে একযোগে ঘটে থাকে। নিম্নলিখিত প্রাক্তনample দেখায় কিভাবে সময়মত EEPROM লেখার অনুক্রমের সময় বাধা এড়াতে এটি ব্যবহার করা যেতে পারে।
অ্যাসেম্বলি কোড প্রাক্তনample |
r16, SREG-এ; SREG মান সঞ্চয় করুন
cli; নির্ধারিত ক্রম চলাকালীন বাধা নিষ্ক্রিয় করুন sbi EECR, EEMPE ; EEPROM লিখতে শুরু করুন sbi EECR, EEPE আউট SREG, r16 ; SREG মান পুনরুদ্ধার করুন (আই-বিট) |
C কোড Example |
char cSREG;
cSREG = SREG; /* স্টোর SREG মান */ /* নির্ধারিত ক্রম চলাকালীন বাধা নিষ্ক্রিয় করুন */ _সিএলআই (); EECR |= (1< EECR | = (1 < SREG = cSREG; /* SREG মান পুনরুদ্ধার করুন (আই-বিট) */ |
বাধা সক্ষম করার জন্য SEI নির্দেশনা ব্যবহার করার সময়, SEI- এর নিচের নির্দেশাবলী কোন প্রকার বিঘ্নিত হওয়ার আগে কার্যকর করা হবে, যেমন এই প্রাক্তনে দেখানো হয়েছেampলে
অ্যাসেম্বলি কোড প্রাক্তনample |
sei; গ্লোবাল ইন্টারাপ্ট সক্ষম সেট করুন
ঘুম; ঘুমে প্রবেশ করুন, বিরতির জন্য অপেক্ষা করুন ; দ্রষ্টব্য: কোনও মুলতুবি হওয়ার আগে ঘুম প্রবেশ করবে ; বাধা (গুলি) |
C কোড Example |
_SEI(); /* সেট গ্লোবাল ইন্টারাপ্ট সক্ষম */
_ঘুম(); /* ঘুমে প্রবেশ করুন, বাধার জন্য অপেক্ষা করুন */ / * দ্রষ্টব্য: কোনও মুলতুবি বিঘ্নিত (গুলি) এর আগে ঘুম প্রবেশ করবে * / |
বাধা প্রতিক্রিয়া সময়
সমস্ত সক্ষম এভিআর বাধাগুলির জন্য বাধা কার্যকরকরণের প্রতিক্রিয়া হ'ল ন্যূনতম চারটি চক্র। চারটি ঘড়ির চক্রের পরে প্রকৃত বিঘ্নিত হ্যান্ডলিং রুটিনের জন্য প্রোগ্রাম ভেক্টরের ঠিকানা কার্যকর করা হয়। এই চারটি ঘড়ির চক্রের সময়কালে, কাউন্টারটিকে স্ট্যাকের দিকে ঠেলে দেওয়া হয়। ভেক্টরটি সাধারণত বিঘ্নিত রুটিনে ঝাঁপ দেয় এবং এই জাম্পটি তিনটি ঘড়ি চক্র গ্রহণ করে। যদি কোনও বহু-চক্র নির্দেশের প্রয়োগের সময় কোনও বাধা ঘটে, বাধা প্রদানের আগে এই নির্দেশিকাটি সম্পন্ন হয়। এমসিইউ স্লিপ মোডে থাকা অবস্থায় যদি কোনও বাধা ঘটে, বাধা কার্যকরকরণের প্রতিক্রিয়ার সময়টি চারটি ঘড়ির চক্র দ্বারা বাড়ানো হয়। এই বৃদ্ধিটি নির্বাচিত স্লিপ মোড থেকে শুরু করার সময় ছাড়াও আসে।
একটি বিঘ্নিত হ্যান্ডলিং রুটিন থেকে ফিরে আসতে চার ঘড়ির চক্র লাগে। এই চারটি ঘড়ির চক্রের সময়, প্রোগ্রাম কাউন্টার (দুটি বাইট) স্ট্যাক থেকে ফিরে পপ করা হয়, স্ট্যাক পয়েন্টারটি দুটি দ্বারা বৃদ্ধি করা হয় এবং এসআরইজে আই-বিট সেট করা হয়।
এভিআর স্মৃতি
এই বিভাগটি এটিটিনি 25/45/85 এ বিভিন্ন স্মৃতি বর্ণনা করে। এভিআর আর্কিটেকচারের দুটি প্রধান মেমরি স্পেস রয়েছে, ডেটা মেমরি এবং প্রোগ্রাম মেমরি স্পেস। তদ্ব্যতীত, এটিটিনি 25/45/85 ডেটা স্টোরেজের জন্য একটি ইপ্রোম মেমরি বৈশিষ্ট্যযুক্ত। তিনটি মেমরি স্পেসই লিনিয়ার এবং নিয়মিত।
ইন-সিস্টেম পুনরায় প্রোগ্রামযোগ্য ফ্ল্যাশ প্রোগ্রাম মেমরি
এটিটিনি 25/45/85 এ প্রোগ্রামের স্টোর-বয়সের জন্য 2-4/8 কে বাইট অন-চিপ ইন-সিস্টেম পুনরায় প্রোগ্রামযোগ্য ফ্ল্যাশ মেমরি ধারণ করে। যেহেতু সমস্ত AVR নির্দেশাবলী 16 বা 32 বিট প্রশস্ত, তাই ফ্ল্যাশটি 1024/2048/4096 x 16 হিসাবে সংগঠিত হয়।
ফ্ল্যাশ মেমরির কমপক্ষে 10,000 রাইটিং / মোছার চক্রের সহনশীলতা রয়েছে। এটিটিনি 25/45/85 প্রোগ্রাম কাউন্টার (পিসি) 10/11/12 বিট বিস্তৃত হয়, এভাবে 1024/2048/4096 প্রোগ্রামের মেমরি অবস্থানগুলিতে সম্বোধন করে। "মেমোরি প্রোগ্রাম- মিং "পৃষ্ঠা 147 এ এসপিআই পিনগুলি ব্যবহার করে ফ্ল্যাশ ডেটা সিরিয়াল ডাউনলোডের বিষয়ে বিশদ বিবরণ রয়েছে।
কনস্ট্যান্ট সারণীগুলি পুরো প্রোগ্রামের মেমরি অ্যাড্রেস স্পেসের মধ্যে বরাদ্দ করা যায় (এলপিএম - লোড প্রোগ্রামের মেমরির নির্দেশের বিবরণ দেখুন)।
চিত্র 5-1। প্রোগ্রাম মেমরি মানচিত্র
এসআরএএম ডেটা মেমরি
চিত্র 5-2 এটিটিইনি 25/45/85 এসআরএম মেমরিটি কীভাবে সংগঠিত তা দেখায়।
নিম্ন 224/352/607 ডেটা মেমরি অবস্থানগুলি উভয়ই নিবন্ধনকে সম্বোধন করে File, I/O মেমরি এবং অভ্যন্তরীণ তথ্য SRAM। প্রথম 32 টি অবস্থান রেজিস্টারের ঠিকানা দেয় File, পরের 64 টি অবস্থান স্ট্যান্ডার্ড I/O মেমরি, এবং শেষ 128/256/512 অবস্থানগুলি অভ্যন্তরীণ ডেটা SRAM কে সম্বোধন করে।
ডেটা মেমরি কভারের জন্য পাঁচটি ভিন্ন অ্যাড্রেসিং মোড: ডাইরেক্ট, ইনডাইরেক্ট ইন ডিসপ্লেসমেন্ট, ইনডাইরেক্ট, প্রি-ডিক্রমেন্ট সহ ইন্ডিকেট এবং পোস্ট ইনক্রিমেন্ট সহ ইনডাইরেক্ট। রেজিস্টারে File, R26 থেকে R31 রেজিস্টারগুলিতে পরোক্ষ ঠিকানা নির্দেশক রেজিস্টারের বৈশিষ্ট্য রয়েছে।
সরাসরি ঠিকানা পুরো ডেটা স্পেসে পৌঁছে যায়।
ইন্সাইরেক্ট উইথ ডিসপ্লেসমেন্ট মোড ওয়াই বা জেড-রেজিস্টারের দেওয়া বেস অ্যাড্রেস থেকে address৩ টি ঠিকানার স্থানে পৌঁছে।
স্বয়ংক্রিয় প্রাক-হ্রাস এবং পোস্ট-ইনক্রিমেন্ট সহ রেজিস্টার অপ্রত্যক্ষ ঠিকানা ঠিকানাগুলি ব্যবহার করার সময়, ঠিকানাটি এক্স, ওয়াই এবং জেডকে হ্রাস বা বর্ধিত করা হয়।
32 সাধারণ উদ্দেশ্য কাজ রেজিস্টার, 64 I/O রেজিস্টার, এবং ATTiny128/256/512 এ 25/45/85 বাইট অভ্যন্তরীণ তথ্য SRAM এই সব অ্যাড্রেসিং মোডের মাধ্যমে অ্যাক্সেসযোগ্য। নিবন্ধনকর্মী File মধ্যে বর্ণিত হয় “জেনারেল- বিভিন্ন উদ্দেশ্য নিবন্ধন File10 পৃষ্ঠায়.
চিত্র 5-2। ডেটা মেমরি ম্যাপ
ডেটা মেমরি অ্যাক্সেস বার
এই বিভাগে অভ্যন্তরীণ মেমরি অ্যাক্সেসের জন্য সাধারণ অ্যাক্সেস টাইমিং ধারণাগুলি বর্ণনা করে। অভ্যন্তরীণ ডেটা SRAM অ্যাক্সেস দুটি clkCPU চক্রে সঞ্চালিত হয় যেমন বর্ণনা করা হয়েছে চিত্র 5-3.
চিত্র 5-3। অন-চিপ ডেটা SRAM অ্যাক্সেস চক্র EEPROM ডেটা মেমরি
এটিটিনি 25/45/85 এ 128/256/512 ডেটা EEPROM মেমরির বাইট রয়েছে। এটি একটি পৃথক ডেটা স্পেস হিসাবে সংগঠিত হয়, যেখানে একক বাইট পড়তে এবং লিখতে পারে। EEPROM এর কমপক্ষে 100,000 রাইটিং / মুছে চক্রের সহনশীলতা রয়েছে। EEPROM এবং সিপিইউর মধ্যে অ্যাক্সেস নীচে বর্ণিত হয়েছে, EEPROM ঠিকানা রেজিস্টার, EEPROM ডেটা রেজিস্টার এবং EEPROM নিয়ন্ত্রণ রেজিস্টার নির্দিষ্ট করে। বিশদ জন্য দেখুন 151 পৃষ্ঠায় "সিরিয়াল ডাউনলোডিং".
EEPROM পড়ুন / লেখার অ্যাক্সেস
EEPROM অ্যাক্সেস নিবন্ধগুলি I / O স্পেসে অ্যাক্সেসযোগ্য।
EEPROM এর জন্য লেখার অ্যাক্সেসের সময়গুলি দেওয়া হয়েছে 5 পৃষ্ঠায় সারণি 1-21. একটি স্ব-সময় ফাংশন, যাইহোক, ব্যবহারকারী সফ্টওয়্যারকে সনাক্ত করতে দেয় কখন পরবর্তী বাইট লেখা যাবে। যদি ব্যবহারকারী কোডে EEPROM লেখার নির্দেশাবলী থাকে, তবে কিছু সতর্কতা অবলম্বন করতে হবে। ভারী ফিল্টার করা পাওয়ার সাপ্লাইতে, VCC ধীরে ধীরে উপরে উঠতে বা পড়ে যাওয়ার সম্ভাবনা থাকে
পাওয়ার-আপ/ডাউন। এটি কিছু সময়ের জন্য ডিভাইসটিকে একটি ভোল্টে চালানোর কারণ করেtage ব্যবহৃত ঘড়ি ফ্রিকোয়েন্সির জন্য ন্যূনতম হিসাবে নির্দিষ্ট করা থেকে কম। দেখা 19 পৃষ্ঠায় "ইপ্রোম দুর্নীতি রোধ করা" এই পরিস্থিতিতে সমস্যাগুলি কীভাবে এড়াতে হবে তার বিশদ সম্পর্কে।
অনিচ্ছাকৃত EEPROM লেখার প্রতিরোধ করার জন্য একটি নির্দিষ্ট লেখার পদ্ধতি অনুসরণ করতে হবে। নির্দেশ করে “পারমাণবিক বাইট প্রোগ্রামিং ”পৃষ্ঠায় 17 এবং 17 পৃষ্ঠায় "স্প্লিট বাইট প্রোগ্রামিং" এই সম্পর্কে বিশদ জন্য।
EEPROM পড়লে, পরবর্তী নির্দেশ কার্যকর হওয়ার আগে সিপিইউটি চারটি ঘড়ির জন্য থামানো হয়। যখন EEPROM লেখা হয়, পরবর্তী নির্দেশ কার্যকর করার আগে সিপিইউ দুটি ঘড়ি চক্রের জন্য বন্ধ করে দেওয়া হয়।
পারমাণবিক বাইট প্রোগ্রামিং
অ্যাটমিক বাইট প্রোগ্রামিং ব্যবহার করা সহজতম মোড। EEPROM এ বাইট লেখার সময় ব্যবহারকারীর অবশ্যই ঠিকানাটি EEAR রেজিস্টারে এবং ডেটা EEDR রেজিস্টারে লিখতে হবে। যদি EEPMn বিটগুলি শূন্য হয়, EEPE (ইএমপিই লেখার পরে চারটি চক্রের মধ্যে) লেখার ফলে মুছা / লেখার ক্রিয়াকলাপ শুরু হবে। মুছা এবং লেখার চক্র উভয়ই একটি অপারেশনে সম্পন্ন হয় এবং মোট প্রোগ্রামিংয়ের সময় দেওয়া হয় 5 পৃষ্ঠায় সারণি 1-21। মুছা এবং লেখার কাজ শেষ না হওয়া পর্যন্ত EEPE বিট সেট থাকে। ডিভাইস প্রোগ্রামিংয়ে ব্যস্ত থাকাকালীন, অন্য কোনও EEPROM অপারেশন করা সম্ভব নয় is
স্প্লিট বাইট প্রোগ্রামিং
মুছে ফেলা এবং লেখার চক্রকে দুটি ভিন্ন অপারেশনে বিভক্ত করা সম্ভব। এটি কার্যকর হতে পারে যদি সিস্টেমে কিছু সীমিত সময়ের জন্য সংক্ষিপ্ত অ্যাক্সেস সময় প্রয়োজন হয় (সাধারণত যদি বিদ্যুৎ সরবরাহ ভোলtage পতন)। অগ্রিম নিতে- tagএই পদ্ধতির জন্য, এটি লিখতে হবে যে লেখাগুলি লেখার ক্রিয়াকলাপের আগে মুছে ফেলা হয়েছে। কিন্তু যেহেতু ইরেজ অ্যান্ড রাইট অপারেশনগুলি বিভক্ত, তাই সিস্টেমটি টাইম-ক্রিটিক্যাল অপারেশন (সাধারণত পাওয়ার-আপের পরে) করার অনুমতি দিলে ইরেজ অপারেশন করা সম্ভব।
মুছে ফেলুন
বাইট মুছতে, ঠিকানাটি অবশ্যই EEAR এ লেখা উচিত। যদি EEPMn বিটগুলি 0b01 হয়, EEPE (ইএমপিই লেখার পরে চার চক্রের মধ্যে) লিখে কেবল মুছে ফেলা শুরু করবে (প্রোগ্রামিংয়ের সময় দেওয়া হয়েছে) টেবিল 5-1 চালু পৃষ্ঠা 21)। মুছা অপারেশন সমাপ্ত না হওয়া পর্যন্ত EEPE বিট সেট থাকে। ডিভাইসটি প্রোগ্রামিংয়ে ব্যস্ত থাকাকালীন, অন্য কোনও EEPROM ক্রিয়াকলাপ করা সম্ভব নয়।
লিখুন
একটি অবস্থান লিখতে, ব্যবহারকারীর অবশ্যই ঠিকানাটি EEAR এ এবং ডেটা EEDR এ লিখতে হবে। যদি EEPMn বিট 0b10 হয় তবে EEPE লিখে (EEMPE লেখার পরে চার চক্রের মধ্যে) কেবল লেখার ক্রিয়াকলাপকে ট্রিগার করবে (প্রোগ্রামিংয়ের সময় দেওয়া হয়েছে) 5 পৃষ্ঠায় সারণি 1-21)। রাইটিং অপারেশন সমাপ্ত না হওয়া পর্যন্ত EEPE বিট সেট থাকে। যদি লেখার জায়গাটি লেখার আগে মুছে ফেলা না হয়, তবে যে ডেটা সংরক্ষণ করা হবে তা অবশ্যই হারানো হিসাবে বিবেচনা করা উচিত। ডিভাইস প্রোগ্রামিংয়ে ব্যস্ত থাকাকালীন, অন্য কোনও EEPROM অপারেশন করা সম্ভব নয় is
ক্যালিব্রেটেড অসিলিটারটি EEPROM অ্যাক্সেসগুলি সময় করতে ব্যবহৃত হয়। অসিলিটর ফ্রিকোয়েন্সি বর্ণিত প্রয়োজনীয়তার মধ্যে রয়েছে তা নিশ্চিত করুন 31 পৃষ্ঠায় "ওসিসিএল - অসিলিটার ক্যালিব্রেশন রেজিস্টার".
নিম্নলিখিত কোড প্রাক্তনampEEPROM এর মুছে ফেলা, লিখতে বা পারমাণবিক লেখার জন্য একটি সমাবেশ এবং একটি C ফাংশন দেখান। প্রাক্তনampলেস অনুমান করে যে বাধাগুলি নিয়ন্ত্রিত হয় (যেমন, বিশ্বব্যাপী বাধাগুলি অক্ষম করে) যাতে এই ফাংশনগুলি সম্পাদনের সময় কোনও বাধা সৃষ্টি না হয়।
অ্যাসেম্বলি কোড প্রাক্তনample |
EEPROM_writ:
; পূর্ববর্তী লেখার সমাপ্তির জন্য অপেক্ষা করুন sbic EECR, EEPE rjmp EEPROM_write ; প্রোগ্রামিং মোড সেট করুন ldi r16, (0<<EEPM1)|(0<<EEPM0) আউট EECR, r16 ; ঠিকানা নিবন্ধে ঠিকানা (r18: r17) সেট আপ করুন EEARH, r18 এর বাইরে আউট EEARL, r17 ; ডেটা রেজিস্ট্রারে ডেটা (r19) লিখুন EEDR, r19 আউট ; EEMPE এ যৌক্তিক লিখুন এসবিআই ইইসিআর, ইইএমপিই ; EEPE সেট করে ইপ্রোম রচনা শুরু করুন এসবিআই ইইসিআর,ইইপিই ret |
C কোড Example |
অকার্যকর EEPROM_write(অস্বাক্ষরিত চর ucAddress, স্বাক্ষরবিহীন চার ucData)
{ /* পূর্ববর্তী লেখা সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন */ সময় (EECR & (1< ; /* প্রোগ্রামিং মোড সেট করুন */ EECR = (0 < / * ঠিকানা এবং ডেটা নিবন্ধগুলি সেট আপ করুন * / EEAR = ucAdress; EEDR = ucData; /* EEMPE-তে যৌক্তিক লিখুন */ EECR | = (1 < / * EEPE সেট করে ইপ্রোম রচনা শুরু করুন * / EECR | = (1 < } |
পরবর্তী কোড প্রাক্তনampEEPROM পড়ার জন্য সমাবেশ এবং সি ফাংশন দেখান। প্রাক্তনampলেস অনুমান করে যে বাধাগুলি নিয়ন্ত্রণ করা হয় যাতে এই ফাংশনগুলি সম্পাদনের সময় কোনও বাধা না ঘটে।
অ্যাসেম্বলি কোড প্রাক্তনample |
EEPROM_ Read:
; পূর্ববর্তী লেখার সমাপ্তির জন্য অপেক্ষা করুন sbic EECR, EEPE rjmp EEPROM_read ; ঠিকানা নিবন্ধে ঠিকানা (r18: r17) সেট আপ করুন EEARH, r18 এর বাইরে আউট EEARL, r17 ; EERE লিখে ইপ্রোম পড়া শুরু করুন এসবিআই ইইসিআর,ইইআরই ; ডেটা রেজিস্টার থেকে ডেটা পড়ুন R16, EEDR-এ ret |
C কোড Example |
স্বাক্ষরবিহীন চর EEPROM_read(স্বাক্ষরবিহীন চর ucAddress)
{ / * পূর্ববর্তী লেখার সমাপ্তির জন্য অপেক্ষা করুন * / (EECR এবং (1 <।) ; / * ঠিকানা নিবন্ধের সেট আপ করুন * / EEAR = ucAdress; /* EERE লিখে eeprom পড়া শুরু করুন */ EECR | = (1 < / * ডেটা রেজিস্টার থেকে ডেটা ফেরত দিন * / রিটার্ন EEDR; } |
ইপ্রোম দুর্নীতি রোধ করা
কম ভিসিসির সময়কালে, EEPROM ডেটা দূষিত হতে পারে কারণ সরবরাহের ভলিউমtagCPU এবং EEPROM সঠিকভাবে কাজ করার জন্য e খুব কম। এই সমস্যাগুলি EEPROM ব্যবহার করে বোর্ড স্তরের সিস্টেমের মতোই, এবং একই নকশা সমাধান প্রয়োগ করা উচিত।
একটি EEPROM ডেটা দুর্নীতি দুটি পরিস্থিতিতে হতে পারে যখন ভলিউমtage খুব কম। প্রথমত, EEPROM- এ নিয়মিত লেখার অনুক্রমের জন্য ন্যূনতম ভলিউম প্রয়োজনtage সঠিকভাবে পরিচালনা করতে। দ্বিতীয়ত, CPU নিজেই নির্দেশাবলী ভুলভাবে কার্যকর করতে পারে, যদি সরবরাহ ভলিউমtage খুবই কম।
EEPROM ডেটা দুর্নীতি সহজেই এই নকশার সুপারিশ অনুসরণ করে এড়ানো যায়:
অপর্যাপ্ত বিদ্যুৎ সরবরাহের সময়কালে AVR RESET সক্রিয় (কম) রাখুনtagই এটি অভ্যন্তরীণ ব্রাউন-আউট ডিটেক্টর (বিওডি) সক্ষম করে করা যেতে পারে। যদি অভ্যন্তরীণ বিওডি সনাক্তকরণ স্তরের সাথে মেলে না
প্রয়োজনীয় সনাক্তকরণ স্তর, একটি বাহ্যিক নিম্ন VCC রিসেট সুরক্ষা সার্কিট ব্যবহার করা যেতে পারে। লেখার অপারেশন চলাকালীন রিসেট করা হলে, পাওয়ার সাপ্লাই ভলিউম প্রদান করলে লেখার ক্রিয়া সম্পন্ন হবেtage যথেষ্ট।
আই / ও স্মৃতি
এটিটিনি 25/45/85 এর I / O স্থান সংজ্ঞাটি দেখানো হয়েছে 200 পৃষ্ঠায় "নিবন্ধ সারসংক্ষেপ".
সমস্ত এটিটিনি 25/45/85 আই / ওএস এবং পেরিফেরিয়ালগুলি I / O স্পেসে স্থাপন করা হয়। সমস্ত আই / ও অবস্থানগুলি এলডি / এলডিএস / এলডিডি এবং এসটি / এসটিএস / এসটিডি নির্দেশাবলী দ্বারা অ্যাক্সেস করা যেতে পারে, 32 সাধারণ কাজের রেজিস্ট্রার এবং আই / ও স্পেসের মধ্যে ডেটা স্থানান্তর করে। ঠিকানা পরিসীমা 0x00 - 0x1F এর মধ্যে আই / ও রেজিস্ট্রারগুলি এসবিআই এবং সিবিআই নির্দেশাবলী ব্যবহার করে সরাসরি বিট-অ্যাক্সেসযোগ্য। এই রেজিস্টারে এসবিআইএস এবং এসবিআইসি নির্দেশাবলী ব্যবহার করে একক বিটের মান পরীক্ষা করা যায়। আরও তথ্যের জন্য নির্দেশ সেট বিভাগ পড়ুন। আই ও ও নির্দিষ্ট কমান্ডগুলি ইন এবং আউট ব্যবহার করার সময়, I / O ঠিকানা 0x00 - 0x3F ব্যবহার করা আবশ্যক। এলডি এবং এসটি নির্দেশাবলী ব্যবহার করে ডেটা স্পেস হিসাবে আই / ও রেজিস্টারগুলিকে সম্বোধন করার সময় এই ঠিকানাগুলিতে 0x20 যুক্ত করতে হবে।
ভবিষ্যতের ডিভাইসের সাথে সামঞ্জস্যের জন্য, অ্যাক্সেস থাকলে সংরক্ষিত বিটগুলি শূন্যতে লিখতে হবে। সংরক্ষিত I / O মেমরি ঠিকানাগুলি কখনই লেখা উচিত নয়।
কিছু স্ট্যাটাস ফ্ল্যাগ তাদের কাছে একটি লজিকাল লিখে ক্লিয়ার করা হয়। নোট করুন যে সিবিআই এবং এসবিআই নির্দেশাবলী কেবল নির্দিষ্ট বিটটিতে কাজ করবে এবং তাই এই জাতীয় স্ট্যাটাস ফ্ল্যাগ সম্বলিত রেজিস্টারে ব্যবহার করা যেতে পারে। সিবিআই এবং এসবিআই নির্দেশাবলী কেবলমাত্র 0x00 থেকে 0x1F রেজিস্টারগুলিতে কাজ করে।
আই / ও এবং পেরিফেরিয়ালস কন্ট্রোল রেজিস্টারগুলি পরবর্তী বিভাগগুলিতে ব্যাখ্যা করা হয়েছে।
বিবরণ নিবন্ধন করুন
EEARH - EEPROM ঠিকানা রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1F | – | – | – | – | – | – | – | EEAR8 | পূর্ব |
পড়ুন/লিখুন | R | R | R | R | R | R | R | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X/0 |
বিটস 7: 1 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি ভবিষ্যতের ব্যবহারের জন্য সংরক্ষিত এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 0 - EEAR8: EEPROM ঠিকানা
এটি এটিটিইনি 85 এর সবচেয়ে উল্লেখযোগ্য EEPROM ঠিকানা বিট। কম EEPROM সহ ডিভাইসগুলিতে, যেমন এটিটিনি 25 / এটিটিনি 45, এই বিটটি সংরক্ষিত এবং সর্বদা শূন্য পড়বে। EEPROM ঠিকানা নিবন্ধের প্রাথমিক মান (EEAR) অপরিজ্ঞাত এবং EEPROM অ্যাক্সেস করার আগে একটি যথাযথ মান তাই লিখতে হবে।
EEARL - EEPROM ঠিকানা রেজিস্টার
বিট
0x1E | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 | EEARL |
রিয়ার / লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | X | X | X | X | X | X | X | X |
বিট 7 - EEAR7: EEPROM ঠিকানা
এটি এটিটিইন 45 এর সর্বাধিক উল্লেখযোগ্য EEPROM ঠিকানা বিট। কম EEPROM সহ ডিভাইসগুলিতে, অর্থাৎ এটিটিনি 25, এই বিটটি সংরক্ষিত এবং সর্বদা শূন্য পড়বে। EEPROM ঠিকানা রেজিস্টার (EEAR) এর প্রাথমিক মানটি অপরিজ্ঞাত এবং EEPROM অ্যাক্সেস করার আগে একটি যথাযথ মান তাই লিখতে হবে।
বিট 6: 0 - EEAR [6: 0]: EEPROM ঠিকানা
এগুলি EEPROM ঠিকানা নিবন্ধের (নিম্ন) বিট। EEPROM ডেটা বাইটগুলি 0… (128/256 / 512-1) সীমাতে রৈখিকভাবে সম্বোধন করা হয়। EEAR এর প্রাথমিক মানটি সংজ্ঞায়িত এবং EEPROM অ্যাক্সেস করার আগে একটি যথাযথ মান তাই লিখতে হবে।
ইইডিআর - ইপ্রোম ডেটা রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1D | EEDR7 | EEDR6 | EEDR5 | EEDR4 | EEDR3 | EEDR2 | EEDR1 | EEDR0 | ইইডিআর |
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ইপ্রোম রাইটিং অপারেশনের জন্য ইইডিআর রেজিস্টারে ইইআর রেজিস্টারের দেওয়া ঠিকানায় ইইপিআরওমে লিখিত তথ্য রয়েছে। ইপ্রোম রিড অপারেশনের জন্য, ইইডিআর-র থেকে পঠিত ডেটা রয়েছে
EEAR দেওয়া ঠিকানায় EEPROM।
5.5.4 EECR - EEPROM নিয়ন্ত্রণ রেজিস্টার |
|||||||||
বিট 7 6 5 | 4 | 3 | 2 | 1 | 0 | ||||
0x1 সি – | – | EEPM1 | EEPM0 | ভয়ঙ্কর | ইইএমপিই | EEPE | EERE | ইইসিআর | |
আর / আর ডব্লিউ পড়ুন / লিখুন | R/W | R/W | R/W | R/W | R/W | ||||
প্রাথমিক মান 0 0 এক্স | X | 0 | 0 | X | 0 |
বিট 7 - রিসোর্স: সংরক্ষিত বিট
এই বিটটি ভবিষ্যতের ব্যবহারের জন্য সংরক্ষিত এবং এটিটিিনি 0/25/45 তে সর্বদা 85 হিসাবে পড়বে। ভবিষ্যতের AVR ডিভাইসের সাথে সামঞ্জস্যের জন্য, সর্বদা এই বিটটি শূন্যতে লিখুন। পড়ার পরে, এই বিট মুখোশ।
বিট 6 - রিসোর্স: সংরক্ষিত বিট
এই বিটটি এটিটিনি 25/45/85 এ সংরক্ষিত এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 5: 4 - EEPM [1: 0]: EEPROM প্রোগ্রামিং মোড বিট
EEPROM প্রোগ্রামিং মোড বিট সেটিং EEPE লিখনের সময় কোন প্রোগ্রামিংয়ের ক্রিয়া শুরু করবে তা সংজ্ঞায়িত করে। একটি পারমাণবিক অপারেশনে ডেটা প্রোগ্রাম করা (পুরানো মান মুছুন এবং নতুন মান প্রোগ্রাম করুন) বা মুছা এবং লেখার ক্রিয়াকলাপ দুটি পৃথক ক্রিয়ায় বিভক্ত করা সম্ভব। বিভিন্ন মোডের জন্য প্রোগ্রামিং সময়গুলিতে দেখানো হয় টেবিল 5-1। EEPE সেট হওয়ার সময়, EEPMn- এ লেখা কোনও লেখা উপেক্ষা করা হবে। পুনরায় সেট করার সময়, EEPMn বিটগুলি প্রোগ্রামিংয়ে ব্যস্ত না হলে 0b00 এ পুনরায় সেট করা হবে।
টেবিল 5-1। EEPROM মোড বিট
EEPM1 | EEPM0 | প্রোগ্রামিং সময় | অপারেশন |
0 | 0 | 3.4 মি.সে | মুছুন এবং লিখুন একটি অপারেশন (পারমাণবিক অপারেশন) |
0 | 1 | 1.8 মি.সে | কেবল মুছুন |
1 | 0 | 1.8 মি.সে | শুধু লিখুন |
1 | 1 | – | ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত |
বিট 3 - EERIE: EEPROM রেডি বিঘ্ন সক্ষম করুন
একের কাছে EERIE লিখলে এসইআরজি-তে আই-বিট সেট করা থাকলে EEPROM রেডি ইন্টারফেট সক্ষম করে। EERIE লিখতে শূন্য অক্ষম করতে বাধা দেয়। EEPROM রেডি বাধা যখন অ-উদ্বায়ী মেমরি প্রোগ্রামিংয়ের জন্য প্রস্তুত হয় তখন একটি ধ্রুবক বাধা তৈরি করে।
বিট 2 - EEMPE: EEPROM মাস্টার প্রোগ্রাম সক্ষম করুন
EEMPE বিট নির্ধারণ করে যে কারও কাছে EEPE লেখার প্রভাব আছে কি না।
যখন EEMPE সেট করা থাকে, তখন চারটি ঘড়ির চক্রের মধ্যে EEPE সেট করা নির্বাচিত ঠিকানায় EEPROM প্রোগ্রাম করবে। যদি EEMPE শূন্য হয়, EEPE সেট করার কোনও প্রভাব থাকবে না। সফ্টওয়্যার দ্বারা যখন EEMPE কে একটি লিখিত হয়, হার্ডওয়্যার চারটি ঘড়ির চক্রের পরে বিট শূন্য করে দেয়।
বিট 1 - EEPE: EEPROM প্রোগ্রাম সক্ষম করুন
EEPROM প্রোগ্রামটি সিগন্যাল সক্ষম করুন EEPE হল EEPROM এ প্রোগ্রামিং সক্ষম সিগন্যাল। যখন EEPE লেখা হয়, EEPROM EEPMn বিট সেটিং অনুযায়ী প্রোগ্রাম করা হবে। যৌক্তিকটি EEPE- এ লিখিত হওয়ার আগে EEMPE বিটটি অবশ্যই একটিতে লিখতে হবে, অন্যথায় কোনও EEPROM রচনা স্থান গ্রহণ করে না। যখন লেখার অ্যাক্সেসের সময়টি অতিবাহিত হয়ে যায়, EEPE বিটটি হার্ডওয়্যার দ্বারা সাফ হয়ে যায়। যখন ইইপিই সেট হয়ে গেছে, পরবর্তী নির্দেশ কার্যকর করার আগে সিপিইউ দুটি চক্রের জন্য থামানো হবে।
বিট 0 - EERE: EEPROM পড়ুন সক্ষম Enable
EEPROM পঠন সক্ষম সিগন্যাল - EERE - হল EEPROM এর পঠিত স্ট্রোব। EEAR রেজিস্টারে যখন সঠিক ঠিকানাটি সেট আপ করা হবে তখন EEE বিটটি EEPROM পড়তে ট্রিগার করতে অবশ্যই একটিতে লিখতে হবে। EEPROM পড়ার অ্যাক্সেস একটি নির্দেশ নেয় এবং অনুরোধ করা ডেটা অবিলম্বে উপলব্ধ available EEPROM পড়লে, পরবর্তী নির্দেশ কার্যকর হওয়ার আগে সিপিইউ চারটি চক্রের জন্য থামানো হয়। ব্যবহারকারীর পঠন কার্যক্রমটি শুরু করার আগে EEPE বিটটি পোল করা উচিত poll যদি কোনও রাইটিং অপারেশন চলমান থাকে, তবে ইপিপ্রোমটি পড়া বা ইইআর রেজিস্টার পরিবর্তন করা সম্ভব নয়।
সিস্টেম ক্লক এবং ক্লক বিকল্প
ক্লক সিস্টেম এবং তাদের বিতরণ
সিপিইউ ক্লক
সিপিইউ ঘড়িটি AVR কোরের অপারেশনের সাথে সম্পর্কিত সিস্টেমের অংশগুলিতে রাউট করা হয়। যেমনampএই ধরনের মডেলের সাধারণ উদ্দেশ্য নিবন্ধন File, স্ট্যাটাস রেজিস্টার এবং স্ট্যাক পয়েন্টার ধারণকারী ডেটা মেমরি। সিপিইউ ঘড়ি থামানো কোরকে সাধারণ ক্রিয়াকলাপ এবং গণনা করতে বাধা দেয়।
I / O ঘড়ি - clkI / O
আই / ও ক্লকটি বেশিরভাগ আই / ও মডিউল দ্বারা টাইমার / কাউন্টারের মতো ব্যবহৃত হয়। I / O ঘড়িটি বহিরাগত বাধা মডিউল দ্বারাও ব্যবহৃত হয়, তবে নোট করুন যে কিছু বাহ্যিক বাধাগুলি অ্যাসিঙ্ক্রোনাস লজিক দ্বারা সনাক্ত করা হয়েছে, I / O ঘড়িটি থামানো হলেও এমন বাধা সনাক্ত করা যায়।
ফ্ল্যাশ ক্লক - clkFLASH
ফ্ল্যাশ ঘড়ি ফ্ল্যাশ ইন্টারফেসের অপারেশন নিয়ন্ত্রণ করে। ফ্ল্যাশ ক্লকটি সাধারণত সিপিইউ ঘড়ির সাথে একযোগে সক্রিয় থাকে।
ADC ঘড়ি - clkADC
এডিসি একটি ডেডিকেটেড ক্লক ডোমেন সরবরাহ করে। এটি ডিজিটাল সার্কিটরি দ্বারা উত্পাদিত শব্দ হ্রাস করার জন্য সিপিইউ এবং আই / ও ক্লকগুলি স্থগিত করার অনুমতি দেয়। এটি আরও সঠিক ADC রূপান্তর ফলাফল দেয়।
দ্রুত পেরিফেরিয়াল ক্লক জেনারেশনের জন্য অভ্যন্তরীণ পিএলএল - clkPCK
এটিটিনি 25/45/85 এ অভ্যন্তরীণ পিএলএল একটি ঘড়ির ফ্রিকোয়েন্সি উত্পন্ন করে যা উত্স ইনপুট থেকে 8x গুণিত হয়। ডিফল্টরূপে, পিএলএল উত্স হিসাবে 8.0 মেগাহার্টজ আরসি অসিলেটর অভ্যন্তরের আউটপুট ব্যবহার করে। বিকল্পভাবে, PLLCSR এর বিট এলএসএম সেট করা থাকলে পিএলএল দুটি দ্বারা বিভক্ত আরসি দোলকের আউটপুট ব্যবহার করবে। সুতরাং পিএলএল এর আউটপুট, দ্রুত পেরিফেরিয়াল ঘড়িটি 64 মেগাহার্টজ। দ্রুত পেরিফেরিয়াল ঘড়ি, বা এটি থেকে প্রিস্কৃত একটি ঘড়ি টাইমার / কাউন্টার 1 এর জন্য ক্লক সোর্স বা সিস্টেম ক্লক হিসাবে নির্বাচিত হতে পারে। দেখা চিত্র 6-2. দ্রুত পেরিফেরাল ঘড়ির ফ্রিকোয়েন্সি দুই দ্বারা ভাগ করা হয় যখন PLLCSR-এর LSM সেট করা হয়, যার ফলে ঘড়ির ফ্রিকোয়েন্সি 32 MHz হয়। দ্রষ্টব্য, যে LSM সেট করা যাবে না যদি PLLCLK সিস্টেম ঘড়ি হিসাবে ব্যবহার করা হয়।
চিত্র 6-2। PCK ক্লকিং সিস্টেম।
পিএলএল আরসি অসিলেটরটিতে লক করা আছে এবং ওএসসিসিএল নিবন্ধকের মাধ্যমে আরসি ওসিলেটর সামঞ্জস্য করা একই সাথে দ্রুত পেরিফেরিয়াল ঘড়িটি সামঞ্জস্য করবে। তবে, আরসি অসিলেটরটি যদি 8 মেগাহার্জ-এর চেয়ে বেশি ফ্রিকোয়েন্সিতে নেওয়া হয় তবে দ্রুত পেরিফেরিয়াল ক্লক ফ্রিকোয়েন্সি 85 মেগাহার্টজ (সবচেয়ে খারাপ পরিস্থিতি) এ সম্পৃক্ত হয় এবং সর্বাধিক ফ্রিকোয়েন্সিতে দোদুল্যমান হয়। এটি লক্ষ করা উচিত যে এই ক্ষেত্রে পিএলএল আরসি আরসিলেটর ঘড়ির সাথে আর লক করা নেই। সুতরাং, পিএলএলকে সঠিক অপারেটিং সীমাতে রাখার জন্য ওএসসিসিএল সামঞ্জস্যগুলি 8 মেগাহার্জ-এর চেয়ে বেশি ফ্রিকোয়েন্সি না নেওয়ার পরামর্শ দেওয়া হচ্ছে।
অভ্যন্তরীণ PLL সক্ষম করা হয় যখন:
পিএলএলসিএসআর রেজিষ্টারে পিএলএল বিট সেট করা আছে।
সিকেএসইএল ফিউজটি '0001' এ প্রোগ্রাম করা হয়েছে।
সিকেএসইএল ফিউজটি '0011' এ প্রোগ্রাম করা হয়েছে।
PLLCSR বিট PLOCK সেট করা হয় যখন PLL লক করা থাকে। অভ্যন্তরীণ RC অসিলেটর এবং PLL উভয়ই পাওয়ার ডাউন এবং স্ট্যান্ড-বাই স্লিপ মোডে সুইচ অফ করা হয়।
এটিটিনি 15 সামঞ্জস্যতা মোডে অভ্যন্তরীণ পিএলএল
যেহেতু এটিটিইনি 25/45/85 এটি এ্যাটটিইন 15 ব্যবহারকারীদের জন্য একটি স্থানান্তর ডিভাইস, সেখানে ব্যাক-ওয়ার্ডের সামঞ্জস্যের জন্য একটি ATtiny15 সামঞ্জস্যতা মোড রয়েছে। এটিটিই 15 সামঞ্জস্যতা মোড সি কেএসইএল ফিউজকে '0011' তে প্রোগ্রামিং করে নির্বাচন করা হয়েছে।
এটিটিইন 15 সামঞ্জস্যতা মোডে অভ্যন্তরীণ আরসি দোলকটির ফ্রিকোয়েন্সি 6.4 মেগাহার্টজ পর্যন্ত ক্যালিব্রেট করা হয় এবং পিএলএল এর গুণক গুণক 4x সেট করা হয়। দেখা চিত্র 6-3। এই সমন্বয়গুলির সাথে ক্লকিং সিস্টেমটি এটিটিনি 15-সামঞ্জস্যপূর্ণ এবং ফলস্বরূপ দ্রুত পেরিফেরিয়াল ঘড়ির ফ্রিকোয়েন্সি 25.6 মেগাহার্টজ (এটিটিইন 15 এর মতো) রয়েছে।
চিত্র 6-3। ATtiny15 সামঞ্জস্য মোডে PCK ক্লকিং সিস্টেম।
ঘড়ি উত্স
ডিভাইসে নিম্নলিখিত ক্লক সোর্স অপশন রয়েছে, যা নীচের মত দেখানো হয়েছে ফ্ল্যাশ ফিউজ বিট দ্বারা নির্বাচনযোগ্য। নির্বাচিত উত্স থেকে ঘড়িটি এভিআর ক্লক জেনারেটরের ইনপুট, এবং উপযুক্ত মডিউলগুলিতে গমন করে।
টেবিল 6-1। ডিভাইস ক্লকিং বিকল্প নির্বাচন করুন
ডিভাইস ক্লকিংয়ের বিকল্প | সিকেএসইএল[৩:০](1) |
বাহ্যিক ঘড়ি (দেখুন পৃষ্ঠা 26) | 0000 |
উচ্চ ফ্রিকোয়েন্সি পিএলএল ঘড়ি (দেখুন পৃষ্ঠা 26) | 0001 |
ক্যালিব্রেটেড ইন্টারনাল অসিলেটর (দেখুন পৃষ্ঠা 27) | 0010(2) |
ক্যালিব্রেটেড ইন্টারনাল অসিলেটর (দেখুন পৃষ্ঠা 27) | 0011(3) |
অভ্যন্তরীণ 128 kHz অসিলেটর (দেখুন পৃষ্ঠা 28) | 0100 |
লো-ফ্রিকোয়েন্সি স্ফটিক অসিলেটর (দেখুন পৃষ্ঠা 29) | 0110 |
স্ফটিক অসিলেটর / সিরামিক রেজোনেটর (দেখুন পৃষ্ঠা 29) | 1000 - 1111 |
সংরক্ষিত | 0101, 0111 |
সমস্ত ফিউজের জন্য "1" এর অর্থ হ'ল অপ্রয়োজনীয়, যখন "0" এর অর্থ প্রোগ্রামড।
এই বিকল্পটি নির্বাচন করে ডিভাইসটি পাঠানো হবে।
এটি এটিটিনি 15 কমপ্যাটিবিলিটি মোড নির্বাচন করবে, যেখানে সিস্টেম ক্লকটি চারটি দ্বারা বিভক্ত হয়, যার ফলে 1.6 মেগাহার্টজ ঘড়ির ফ্রিকোয়েন্সি হয়। আরও সংক্রমণের জন্য দেখুন পৃষ্ঠা 27 এ "ক্যালিব্রেটেড অভ্যন্তরীণ অসিলেটর".
প্রতিটি ক্লকিং বিকল্পের জন্য বিভিন্ন পছন্দ নিম্নলিখিত বিভাগে দেওয়া হয়েছে। সিপিইউ পাওয়ার-ডাউন থেকে জেগে উঠলে, নির্বাচিত ক্লক সোর্সটি স্টার্ট-আপের সময় ব্যবহৃত হয়, নির্দেশ কার্যকরকরণ শুরুর আগে স্থিতিশীল অসিলেটর অপারেশন নিশ্চিত করে। সিপিইউ পুনরায় সেট করা থেকে শুরু হয়ে গেলে, স্বাভাবিক অপারেশন শুরু করার আগে পাওয়ারকে একটি স্থিতিশীল পর্যায়ে পৌঁছানোর অনুমতি দেয় এমন একটি অতিরিক্ত বিলম্ব হয়। প্রারম্ভকালীন সময়ের এই রিয়েল-টাইম অংশটি সময় দেওয়ার জন্য ওয়াচডগ অসিলিটারটি ব্যবহৃত হয়। প্রতিটি টাইম-আউটের জন্য ব্যবহৃত ডাব্লুডিটি অসিলেটর চক্রের সংখ্যাটি দেখানো হয়েছে টেবিল 6-2.
টেবিল 6-2। ওয়াচডগ অসিলেটর সাইকেলের সংখ্যা
টাইপ আউট টাইপ | সাইকেলের সংখ্যা |
4 মি.সে | 512 |
64 মি.সে | ৫কে (১৪৪৮) |
বাহ্যিক ঘড়ি
বাহ্যিক ক্লক উত্স থেকে ডিভাইসটি চালনা করতে, সিএলকেআই যেমন দেখানো হয়েছে তেমন চালিত হওয়া উচিত চিত্র 6-4। একটি বাহ্যিক ঘড়িতে ডিভাইসটি চালানোর জন্য, সিকেএসইএল ফিউজ অবশ্যই "00" এ প্রোগ্রাম করা উচিত।
চিত্র 6-4। এক্সটার্নাল ক্লক ড্রাইভ কনফিগারেশন
যখন এই ঘড়ির উত্সটি নির্বাচিত হয়, শুরু হওয়ার সময়গুলি SUT ফিউজ দ্বারা প্রদর্শিত হিসাবে নির্ধারিত হয় টেবিল 6-3.
টেবিল 6-3। বাহ্যিক ঘড়ি নির্বাচনের জন্য শুরুর সময়
SUT[1:0] | পাওয়ার-ডাউন থেকে শুরু করার সময় | রিসেট থেকে অতিরিক্ত বিলম্ব | প্রস্তাবিত ব্যবহার |
00 | 6 সিকে | 14CK | বিওড সক্ষম হয়েছে |
01 | 6 সিকে | 14CK + 4 এমএস | দ্রুত উঠতি শক্তি |
10 | 6 সিকে | 14CK + 64 এমএস | আস্তে আস্তে শক্তি বাড়ছে |
11 | সংরক্ষিত |
বাহ্যিক ঘড়ি প্রয়োগ করার সময়, এমসিইউর স্থিতিশীল অপারেশন নিশ্চিত করতে প্রয়োগকৃত ঘড়ির ফ্রিকোয়েন্সিটিতে হঠাৎ পরিবর্তন এড়ানো প্রয়োজন। এক ঘড়ির চক্র থেকে পরের দিকে 2% এরও বেশি ফ্রিকোয়েন্সিতে পরিবর্তনের কারণে অনাকাঙ্ক্ষিত আচরণ হতে পারে। ঘড়ির ফ্রিকোয়েন্সিতে এমন পরিবর্তন চলাকালীন এমসিইউটিকে রিসেটে রাখা হয়েছে তা নিশ্চিত করা দরকার।
মনে রাখবেন যে সিস্টেম ক্লক প্রিসেল স্থিতিশীল অপারেশন নিশ্চিত করার সময় অভ্যন্তরীণ ঘড়ির ফ্রিকোয়েন্সি রান-টাইম পরিবর্তনগুলি প্রয়োগ করতে ব্যবহার করা যেতে পারে। নির্দেশ করে 31 পৃষ্ঠায় "সিস্টেম ক্লক প্রেসক্লেয়ার" বিস্তারিত জানার জন্য
উচ্চ ফ্রিকোয়েন্সি পিএলএল ঘড়ি
পেরিফেরাল টাইমার / কাউন্টার 64 ব্যবহারের জন্য এবং সিস্টেম ক্লক উত্সের জন্য আরসি অসিলেটরকে কেবলমাত্র 1 মেগাহার্টজ ক্লক রেট সরবরাহ করে এমন একটি অভ্যন্তরীণ পিএলএল রয়েছে। সিস্টেম ক্লক উত্স হিসাবে নির্বাচিত হওয়ার পরে, সি কেএসইএল ফিউজকে '0001' এ প্রোগ্রাম করে, এটিকে চারটি দ্বারা ভাগ করে দেখানো হয়েছে টেবিল 6-4.
টেবিল 6-4। উচ্চ ফ্রিকোয়েন্সি PLL ঘড়ি অপারেটিং মোড
সিকেএসইএল[৩:০] | নামমাত্র ফ্রিকোয়েন্সি |
0001 | 16 MHz |
যখন এই ঘড়ির উত্সটি নির্বাচিত হয়, শুরু হওয়ার সময়গুলি SUT ফিউজ দ্বারা প্রদর্শিত হিসাবে নির্ধারিত হয় টেবিল 6-5.
টেবিল 6-5। উচ্চ ফ্রিকোয়েন্সি পিএলএল ঘড়ির জন্য শুরুর সময়
SUT[1:0] | পাওয়ার ডাউন থেকে শুরু করার সময় Time | পাওয়ার-অন রিসেট থেকে অতিরিক্ত বিলম্ব (VCC = 5.0V) | প্রস্তাবিত ব্যবহার |
00 | 14CK + 1K (1024) সিকে + 4 এমএস | 4 মি.সে | বিওড সক্ষম হয়েছে |
টেবিল 6-5। উচ্চ ফ্রিকোয়েন্সি পিএলএল ঘড়ির জন্য শুরুর সময়
SUT[1:0] | পাওয়ার ডাউন থেকে শুরু করার সময় Time | পাওয়ার-অন রিসেট থেকে অতিরিক্ত বিলম্ব (VCC = 5.0V) | প্রস্তাবিত ব্যবহার |
01 | 14CK + 16K (16384) সিকে + 4 এমএস | 4 মি.সে | দ্রুত উঠতি শক্তি |
10 | 14CK + 1K (1024) সিকে + 64 এমএস | 4 মি.সে | আস্তে আস্তে শক্তি বাড়ছে |
11 | 14CK + 16K (16384) সিকে + 64 এমএস | 4 মি.সে | আস্তে আস্তে শক্তি বাড়ছে |
ক্যালিব্রেটেড ইন্টারনাল অসিলেটর
ডিফল্টরূপে, অভ্যন্তরীণ আরসি অসিলেটর আনুমানিক 8.0 মেগাহার্টজ ঘড়ি সরবরাহ করে। যদিও ভলিউমtagই এবং তাপমাত্রা নির্ভর, এই ঘড়িটি ব্যবহারকারী খুব সঠিকভাবে ক্যালিব্রেট করতে পারে। দেখা "ক্যালিব্রেটেড অভ্যন্তরীণ আরসি অসিলিটার অ্যাকু- বর্ণবাদী "পৃষ্ঠা 164 এ এবং 192 পৃষ্ঠায় "অভ্যন্তরীণ অসিলেটর গতি" বিস্তারিত জানার জন্য. ডিভাইসটি CKDIV8 ফিউজ প্রোগ্রামযুক্ত দিয়ে প্রেরণ করা হয়েছে। দেখা 31 পৃষ্ঠায় "সিস্টেম ক্লক প্রেসক্লেয়ার" আরো বিস্তারিত জানার জন্য
এই ঘড়িটি সিস্টেমের ক্লক হিসাবে নির্বাচিত হতে পারে যেমন CKSEL ফিউজকে প্রোগ্রাম হিসাবে দেখানো হয়েছে shown পৃষ্ঠায় সারণী 6-6
27। যদি নির্বাচিত হয় তবে এটি কোনও বাহ্যিক উপাদান ছাড়াই কাজ করবে। পুনরায় সেট করার সময়, হার্ডওয়্যার ওএসসিসিএল রেজিস্টারে প্রাক-প্রোগ্রামযুক্ত ক্যালিব্রেশন মান লোড করে এবং এরপরে স্বয়ংক্রিয়ভাবে আরসি অসিলেটরকে ক্যালিব্রেট করে। এই ক্রমাঙ্কণের যথার্থতাটি কারখানার ক্রমাঙ্কন হিসাবে দেখানো হয়েছে 21 পৃষ্ঠায় সারণি 2-164.
এসডাব্লু থেকে ওএসসিসিএল রেজিস্টার পরিবর্তন করে দেখুন 31 পৃষ্ঠায় "ওসিসিএল - অসিলিটার ক্যালিব্রেশন রেজিস্টার"কারখানার ক্রমাঙ্কন ব্যবহারের চেয়ে উচ্চতর ক্রমাঙ্কন নির্ভুলতা পাওয়া সম্ভব। এই ক্রমাঙ্কনটির যথার্থতাটি ব্যবহারকারী ক্যালিব্রেশন হিসাবে দেখানো হয়েছে 21 পৃষ্ঠায় সারণি 2-164.
এই অসিলেটরটি যখন চিপ ক্লক হিসাবে ব্যবহৃত হয়, তখনও ওয়াচডগ অসিলেটরটি ওয়াচডগ টাইমার এবং রিসেট সময়সীমার জন্য ব্যবহৃত হবে। প্রাক-প্রোগ্রামযুক্ত ক্রমাঙ্কন মান সম্পর্কে আরও তথ্যের জন্য বিভাগটি দেখুন “কালী- ব্র্যাশন বাইটস "পৃষ্ঠা 150 এ.
অভ্যন্তরীণ দোলকটি "6.4" তে CKSEL ফিউজ লিখে 0011 মেগাহার্টজ ঘড়ি সরবরাহ করতেও প্রস্তুত হতে পারে, যেমনটি দেখানো হয়েছে টেবিল 6-6 নিচে. এই সেটিংটি এটিটিনি 15 কমপ্যাটিবিলিটি মোড হিসাবে প্রকাশিত হয়েছে এবং এটিটিইনি 6.4 হিসাবে 15 মেগাহার্টজ এ ক্যালিব্রেটেড ক্লক সোর্স সরবরাহ করার উদ্দেশ্যে। এটিটিনি 15 কমপ্যাটিবিলিটি মোডে পিএলএল 6.4 মেগাহার্টজ এ চলমান অভ্যন্তরীণ দোলকটি টাইমার / কাউন্টার 25.6 এর জন্য 1 মেগাহার্টজ পেরিফেরিয়াল ক্লক সংকেত তৈরি করতে ব্যবহার করে (দেখুন দেখুন) "8 বিট টাইমার / কাউন্টার 1 ইন 15 পৃষ্ঠায় এটিটিনি 95 মোড ”)। নোট করুন যে অপারেশনটির এই মোডে 6.4 মেগাহার্টজ ক্লক সিগন্যাল সর্বদা চারটি দ্বারা বিভক্ত হয়, একটি 1.6 মেগাহার্টজ সিস্টেম ঘড়ি সরবরাহ করে।
টেবিল 6-6। অভ্যন্তরীণ ক্যালিব্রেটেড আরসি অসিলেটর অপারেটিং মোড
সিকেএসইএল[৩:০] | নামমাত্র ফ্রিকোয়েন্সি |
0010(1) | 8.0 MHz |
0011(2) | 6.4 MHz |
এই বিকল্পটি নির্বাচন করে ডিভাইসটি পাঠানো হবে।
এই সেটিংটি এটিটিনি 15 কমপ্যাটিবিলিটি মোড নির্বাচন করবে, যেখানে সিস্টেম ক্লকটি চারটি দ্বারা বিভক্ত হয়, যার ফলে 1.6 মেগাহার্টজ ঘড়ির ফ্রিকোয়েন্সি হয়।
ক্যালিব্রেটেড 8 মেগাহার্টজ অভ্যন্তরীণ দোলকটি যখন ক্লক সোর্স হিসাবে নির্বাচিত হয় তখন স্টার্ট-আপের সময়গুলি SUT ফিউজ দ্বারা প্রদর্শিত হিসাবে নির্ধারিত হয় টেবিল 6-7 নীচে
টেবিল 6-7। অভ্যন্তরীণ ক্যালিব্রেটেড RC অসিলেটর ঘড়ির জন্য স্টার্ট-আপ সময়
SUT[1:0] | পাওয়ার-ডাউন থেকে শুরু করার সময় | রিসেট থেকে অতিরিক্ত বিলম্ব (VCC = 5.0V) | প্রস্তাবিত ব্যবহার |
00 | 6 সিকে | 14CK(1) | বিওড সক্ষম হয়েছে |
01 | 6 সিকে | 14CK + 4 এমএস | দ্রুত উঠতি শক্তি |
10(2) | 6 সিকে | 14CK + 64 এমএস | আস্তে আস্তে শক্তি বাড়ছে |
11 | সংরক্ষিত |
১. আরএসটিডিআইএসবিএল ফিউজ যদি প্রোগ্রাম করা থাকে তবে প্রোগ্রামিং মোডে প্রবেশ করা যেতে পারে তা নিশ্চিত করার জন্য এই স্টার্ট-আপ সময়টি 1CK + 14 এমএসে বাড়ানো হবে।
২. এই বিকল্পটি নির্বাচিত হয়ে ডিভাইসটি পাঠানো হবে।
এটিটিইউন 15 এ সামঞ্জস্যতা মোডে সূচনা-আপ সময়গুলি SUT ফিউজ দ্বারা নির্ধারিত হিসাবে নির্ধারিত হয় টেবিল 6-8 নীচে
টেবিল 6-8। অভ্যন্তরীণ ক্যালিব্রেটেড আরসি অসিলেটর ঘড়ির জন্য স্টার্ট-আপ সময় (ATtiny15 মোডে)
SUT[1:0] | পাওয়ার-ডাউন থেকে শুরু করার সময় | রিসেট থেকে অতিরিক্ত বিলম্ব (VCC = 5.0V) | প্রস্তাবিত ব্যবহার |
00 | 6 সিকে | 14CK + 64 এমএস | |
01 | 6 সিকে | 14CK + 64 এমএস | |
10 | 6 সিকে | 14CK + 4 এমএস | |
11 | 1 সিকে | 14CK(1) |
দ্রষ্টব্য: যদি RSTDISBL ফিউজ প্রোগ্রাম করা হয়, তাহলে প্রোগ্রামিং মোডে প্রবেশ করা যায় তা নিশ্চিত করার জন্য এই স্টার্ট-আপ সময়টি 14CK + 4 ms এ বাড়ানো হবে।
সংক্ষেপে, এটিটিনি 15 সামঞ্জস্যতা মোডের আরও তথ্য বিভাগে পাওয়া যাবে "পোর্ট বি (পিবি 5: পিবি0)" চালু পৃষ্ঠা 2, 15 পৃষ্ঠায় "এটিটিয়িন 24 সামঞ্জস্য মোডে অভ্যন্তরীণ পিএলএল", "এটিটিনি 8 মোডে 1-বিট টাইমার / কাউন্টার 15" চালু পৃষ্ঠা 95, 140 পৃষ্ঠায় "ডিবাগওয়্যারের সীমাবদ্ধতা", 150 পৃষ্ঠায় "ক্রমাঙ্কন বাইটস" এবং টেবিলে "ক্লক প্রেসক্যালার 33 পৃষ্ঠায় "নির্বাচন করুন.
অভ্যন্তরীণ 128 kHz অসিলেটর
128 kHz অভ্যন্তরীণ অসিলেটর হল একটি কম শক্তির অসিলেটর যা 128 kHz এর ঘড়ি প্রদান করে। ফ্রিকোয়েন্সি 3V এবং 25°C এ নামমাত্র। CKSEL ফিউজকে "0100" এ প্রোগ্রামিং করে এই ঘড়িটিকে সিস্টেম ঘড়ি হিসেবে বেছে নেওয়া যেতে পারে।
যখন এই ঘড়ির উত্সটি নির্বাচিত হয়, শুরু হওয়ার সময়গুলি SUT ফিউজ দ্বারা প্রদর্শিত হিসাবে নির্ধারিত হয় টেবিল 6-9.
টেবিল 6-9। 128 kHz অভ্যন্তরীণ অসিলেটরের জন্য শুরুর সময়
SUT[1:0] | পাওয়ার-ডাউন থেকে শুরু করার সময় | রিসেট থেকে অতিরিক্ত বিলম্ব | প্রস্তাবিত ব্যবহার |
00 | 6 সিকে | 14CK(1) | বিওড সক্ষম হয়েছে |
01 | 6 সিকে | 14CK + 4 এমএস | দ্রুত উঠতি শক্তি |
10 | 6 সিকে | 14CK + 64 এমএস | আস্তে আস্তে শক্তি বাড়ছে |
11 | সংরক্ষিত |
দ্রষ্টব্য: যদি RSTDISBL ফিউজ প্রোগ্রাম করা হয়, তাহলে প্রোগ্রামিং মোডে প্রবেশ করা যায় তা নিশ্চিত করার জন্য এই স্টার্ট-আপ সময়টি 14CK + 4 ms এ বাড়ানো হবে।
লো-ফ্রিকোয়েন্সি স্ফটিক অসিলেটর
ডিভাইসের ঘড়ির উত্স হিসাবে একটি 32.768 কেএজেডজ ওয়াচ ক্রিস্টাল ব্যবহার করতে, কম-ফ্রিকোয়েন্সি ক্রিস্টাল অসিলেটর অবশ্যই '0110' এ CKSEL ফিউজ সেট করে নির্বাচন করতে হবে। স্ফটিকটি যেমন দেখানো হয়েছে তেমন সংযুক্ত করা উচিত চিত্র 6-5। 32.768 কেএজেডের ক্রিস্টালের জন্য উপযুক্ত-লোড ক্যাপাসিট্যান্স সন্ধান করতে দয়া করে প্রস্তুতকারকের ডেটাশিটের সাথে পরামর্শ করুন।
যখন এই দোলকটি নির্বাচিত হয়, শুরু হওয়ার সময়গুলি SUT ফিউজ দ্বারা প্রদর্শিত হিসাবে নির্ধারিত হয় টেবিল 6-10.
টেবিল 6-10। কম ফ্রিকোয়েন্সি ক্রিস্টাল অসিলেটর ঘড়ি নির্বাচনের জন্য শুরুর সময়
SUT[1:0] | পাওয়ার ডাউন থেকে শুরু করার সময় Time | রিসেট থেকে অতিরিক্ত বিলম্ব (VCC = 5.0V) | প্রস্তাবিত ব্যবহার |
00 | 1 কে (1024) সিকে(1) | 4 মি.সে | দ্রুত বৃদ্ধি পাওয়ার বা বিওড সক্ষম enabled |
01 | 1 কে (1024) সিকে(1) | 64 মি.সে | আস্তে আস্তে শক্তি বাড়ছে |
10 | 32 কে (32768) সিকে | 64 মি.সে | শুরুতে স্থির ফ্রিকোয়েন্সি |
11 | সংরক্ষিত |
দ্রষ্টব্য: স্টার্ট-আপে ফ্রিকোয়েন্সি স্থিতিশীলতা গুরুত্বপূর্ণ না হলেই এই বিকল্পগুলি ব্যবহার করা উচিত।
লো-ফ্রিকোয়েন্সি ক্রিস্টাল অসিলেটর একটি অভ্যন্তরীণ লোড ক্যাপাসিটেন্স সরবরাহ করে, দেখুন টেবিল 6-11 প্রতিটি TOSC পিন এ।
টেবিল 6-11। লো-ফ্রিকোয়েন্সি ক্রিস্টাল অসিলেটরের ক্যাপাসিট্যান্স
ডিভাইস | 32 kHz অস্ক O প্রকার | ক্যাপ (এক্সটাল 1 / টস 1) | ক্যাপ (এক্সটাল 2 / টস 2) |
এটিটিই 25/45/85 | সিস্টেম অস্ক | 16 পিএফ | 6 পিএফ |
স্ফটিক অসিলেটর / সিরামিক রেজোনেটর
XTAL1 এবং XTAL2 হল একটি ইনভার্টিং এর যথাক্রমে ইনপুট এবং আউটপুট amplifier যা একটি অন-চিপ অসিলেটর হিসাবে ব্যবহারের জন্য কনফিগার করা যায়, যেমন দেখানো হয়েছে চিত্র 6-5। হয় কোয়ার্টজ স্ফটিক বা সিরামিক রেজোনেটর ব্যবহার করা যেতে পারে।
C1 এবং C2 সবসময় উভয় স্ফটিক এবং অনুরণনকারীর জন্য সমান হওয়া উচিত। ক্যাপাসিটরগুলির সর্বোত্তম মান নির্ভর করে ব্যবহৃত স্ফটিক বা অনুরণনকারী, বিপথগামী ক্যাপাসিট্যান্সের পরিমাণ এবং পরিবেশের ইলেক্ট্রোম্যাগনেটিক শব্দের উপর। ক্রিস্টালের সাথে ব্যবহারের জন্য ক্যাপাসিটার বেছে নেওয়ার জন্য কিছু প্রাথমিক নির্দেশিকা দেওয়া আছে টেবিল 6-12 নিচে. সিরামিক রেজনেটরগুলির জন্য, নির্মাতার দ্বারা প্রদত্ত ক্যাপাসিটার মানগুলি ব্যবহার করা উচিত।
টেবিল 6-12। ক্রিস্টাল অসিলেটর অপারেটিং মোড
সিকেএসইএল[৩:০] | ফ্রিকোয়েন্সি রেঞ্জ (MHz) | স্ফটিকের সাথে ব্যবহারের জন্য ক্যাপাসিটার সি 1 এবং সি 2 এর জন্য প্রস্তাবিত ব্যাপ্তি (পিএফ) |
100(1) | 0.4 - 0.9 | – |
101 | 0.9 - 3.0 | 12 - 22 |
110 | 3.0 - 8.0 | 12 - 22 |
111 | 8.0 - | 12 - 22 |
দ্রষ্টব্য: এই বিকল্পটি স্ফটিকের সাথে ব্যবহার করা উচিত নয়, শুধুমাত্র সিরামিক অনুরণনকারীদের সাথে।
অসিলেটরটি তিনটি পৃথক মোডে পরিচালনা করতে পারে, প্রতিটি একটি নির্দিষ্ট ফ্রিকোয়েন্সি ব্যাপ্তির জন্য অনুকূলিত। অপারেটিং মোডটি সি.কে.এস.এল [3: 1] হিসাবে দেখানো হয়েছে বলে নির্বাচিত হয়েছে টেবিল 6-12.
CKSEL0 ফিউজ একসাথে এসইউটির সাথে [1: 0] ফিউজ শুরুর সময়টি শুরুতে নির্বাচন করুন টেবিল 6-13.
টেবিল 6-13। ক্রিস্টাল অসিলেটর ঘড়ি নির্বাচনের জন্য শুরুর সময়
CKSEL0 সম্পর্কে | SUT[1:0] | পাওয়ার-ডাউন থেকে শুরু করার সময় | রিসেট থেকে অতিরিক্ত বিলম্ব | প্রস্তাবিত ব্যবহার |
0 | 00 | 258 সিকে(1) | 14CK + 4 এমএস | সিরামিক অনুরণক, দ্রুত উত্থাপিত শক্তি |
0 | 01 | 258 সিকে(1) | 14CK + 64 এমএস | সিরামিক রেজনেটর, ধীরে ধীরে বাড়ছে শক্তি |
0 | 10 | 1 কে (1024) সিকে(2) | 14CK | সিরামিক রেজনেটর, বিওডি সক্ষম |
0 | 11 | 1 কে (1024) সিকে(2) | 14CK + 4 এমএস | সিরামিক অনুরণক, দ্রুত উত্থাপিত শক্তি |
1 | 00 | 1 কে (1024) সিকে(2) | 14CK + 64 এমএস | সিরামিক রেজনেটর, ধীরে ধীরে বাড়ছে শক্তি |
1 | 01 | 16 কে (16384) সিকে | 14CK | ক্রিস্টাল অসিলেটর, বিওডি সক্ষম |
1 | 10 | 16 কে (16384) সিকে | 14CK + 4 এমএস | ক্রিস্টাল অসিলেটর, দ্রুত উঠতি শক্তি |
1 | 11 | 16 কে (16384) সিকে | 14CK + 64 এমএস | ক্রিস্টাল অসিলেটর, ধীরে ধীরে শক্তি বাড়ছে |
নোট
এই বিকল্পগুলি কেবল তখনই ব্যবহার করা উচিত যখন ডিভাইসের সর্বাধিক ফ্রিকোয়েন্সিটির কাছাকাছি না পরিচালিত হয় এবং কেবলমাত্র যদি শুরুতে ফ্রিকোয়েন্সি স্থায়িত্ব অ্যাপ্লিকেশনটির জন্য গুরুত্বপূর্ণ না হয়। এই বিকল্পগুলি স্ফটিকগুলির জন্য উপযুক্ত নয়।
এই বিকল্পগুলি সিরামিক রেজনেটরগুলির সাথে ব্যবহারের উদ্দেশ্যে এবং এটি শুরুতে ফ্রিকোয়েন্সি স্থায়িত্ব নিশ্চিত করবে। ডিভাইসের সর্বাধিক ফ্রিকোয়েন্সিটির কাছাকাছি না চলাকালীন এগুলি স্ফটিকগুলির সাথেও ব্যবহার করা যেতে পারে এবং যদি শুরু করার সময় ফ্রিকোয়েন্সি স্থিতিস্থাপকতা অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ না হয়।
ডিফল্ট ঘড়ির উত্স
ডিভাইসটি CKSEL = "0010", SUT = "10" এবং CKDIV8 প্রোগ্রাম করা হয়। তাই ডিফল্ট ক্লক সোর্স সেটিং হল অভ্যন্তরীণ আরসি অসিলেটর যা M মেগাহার্টজে দীর্ঘতম স্টার্ট-আপ টাইম এবং system-এর একটি প্রাথমিক সিস্টেম ক্লক প্রেসক্যালিং সহ চলমান, যার ফলে ১.০ মেগাহার্টজ সিস্টেম ক্লক। এই ডিফল্ট সেটিংটি নিশ্চিত করে যে সমস্ত ব্যবহারকারী একটি ইন-সিস্টেম বা হাই-ভোল ব্যবহার করে তাদের পছন্দসই ঘড়ির উত্স সেটিং করতে পারেtagই প্রোগ্রামার।
সিস্টেম ক্লক প্রেসক্লেয়ার
এটিটিই 25/45/85 সিস্টেম ঘড়িটি সেট করে ভাগ করা যায় 32 পৃষ্ঠায় "সিএলকেপিআর - ক্লক প্রেসকেল রেজিস্টার". প্রক্রিয়াকরণ শক্তির জন্য প্রয়োজনীয়তা কম হলে এই বৈশিষ্ট্যটি শক্তি খরচ কমাতে ব্যবহার করা যেতে পারে। এটি সমস্ত ঘড়ির উত্স বিকল্পগুলির সাথে ব্যবহার করা যেতে পারে এবং এটি CPU এবং সমস্ত সিঙ্ক্রোনাস পেরিফেরালগুলির ঘড়ির ফ্রিকোয়েন্সিকে প্রভাবিত করবে৷ clkI/O, clkADC, clkCPU, এবং clkFLASH একটি ফ্যাক্টর দ্বারা ভাগ করা হয়েছে যেমন দেখানো হয়েছে 6 পৃষ্ঠায় সারণি 15-33.
স্যুইচিং সময়
প্রেসকেলার সেটিংসের মধ্যে স্যুইচ করার সময়, সিস্টেম ক্লক প্রেসক্যালার নিশ্চিত করে যে ক্লক সিস্টেমে কোনও সমস্যা নেই এবং পূর্ববর্তী সেটিংসের সাথে মিলিত কোনও ঘড়ির ফ্রিকোয়েন্সি বা নতুন সেটিং-এর সাথে মিলিত ঘড়ির ফ্রিকোয়েন্সি থেকে কোনও মধ্যবর্তী ফ্রিকোয়েন্সি বেশি নয়।
প্রিপকলার প্রয়োগ করে এমন রিপল কাউন্টার অবিভক্ত ঘড়ির ফ্রিকোয়েন্সিতে চালিত হয়, যা সিপিইউ এর ঘড়ির ফ্রিকোয়েন্সি থেকে দ্রুততর হতে পারে। অতএব, প্রেসক্যালারের অবস্থা নির্ধারণ করা সম্ভব নয় - এমনকি এটি পাঠযোগ্য ছিল এবং এক ঘড়ি বিভাগ থেকে অন্য ঘড়িতে বিভাগ পরিবর্তন করতে সঠিক সময়টির সঠিক অনুমান করা যায় না।
সিএলকেপিএস মান লেখার সময় থেকে, নতুন ঘড়ির ফ্রিকোয়েন্সি সক্রিয় হওয়ার আগে এটি টি 1 + টি 2 এবং টি 1 + 2 * টি 2 এর মধ্যে লাগে takes এই ব্যবধানে 2 টি সক্রিয় ঘড়ির প্রান্ত উত্পাদিত হয়। এখানে, টি 1 হ'ল পূর্ববর্তী ঘড়ির সময়সীমা এবং টি 2 হল নতুন প্রেসক্যালারের সেটিং-এর সাথে সম্পর্কিত।
ক্লক আউটপুট বাফার
ডিভাইসটি সিস্টেম ক্লকটি সিএলকেও পিনে আউটপুট করতে পারে (যখন এক্সটিএল 2 পিন হিসাবে ব্যবহৃত হবে না)। আউটপুট সক্ষম করতে, CKOUT ফিউজ প্রোগ্রাম করতে হবে। সিস্টেমে অন্যান্য সার্কিটগুলি চালানোর জন্য চিপ ক্লকটি ব্যবহার করা হলে এই মোডটি উপযুক্ত। নোট করুন যে রিসেট করার সময় ঘড়িটি আউটপুট হবে না এবং ফিউজ প্রোগ্রাম হওয়ার পরে আই / ও পিনের স্বাভাবিক ক্রিয়াকলাপটি ওভাররাইড হবে। ঘড়িটি সিএলকেওতে আউটপুট এলে অভ্যন্তরীণ আরসি অসিলেটর, ডাব্লুডিটি অসিলেটর, পিএলএল এবং বাহ্যিক ক্লক (সিএলকেআই) নির্বাচন করা যেতে পারে। ক্রিস্টাল অসিলেটরগুলি (এক্সটিএল 1, এক্সটিএল 2) সিএলকেওতে ঘড়ির আউটপুট জন্য ব্যবহার করা যাবে না। যদি সিস্টেম ক্লক প্রিসকেলার ব্যবহার করা হয় তবে এটি বিভক্ত সিস্টেম ঘড়ি যা আউটপুট।
বিবরণ নিবন্ধন করুন
ওএসসিসিএল - অসিলিটার ক্যালিব্রেশন রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x31 | CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | ওএসসিসিএল |
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
বিটস 7: 0 - ক্যাল [7: 0]: অসিলেটর ক্যালিব্রেশন মান
অসিলেটর ক্যালিব্রেশন নিবন্ধকটি দোলক ফ্রিকোয়েন্সি থেকে প্রক্রিয়া রূপগুলি অপসারণের জন্য ক্যালিবিটেড অভ্যন্তরীণ আরসি অসিলিটরটি ছাঁটাতে ব্যবহৃত হয়। চিপ পুনরায় সেট করার সময় একটি প্রাক-প্রোগ্রামযুক্ত ক্যালিব্রেশন মান স্বয়ংক্রিয়ভাবে এই রেজিস্টারে লিখিত হয়, এতে ফ্যাক্টরির ক্যালিব্রেটেড ফ্রিকোয়েন্সি নির্দিষ্ট করা আছে 21 পৃষ্ঠায় সারণি 2-164। অ্যাপ্লিকেশন সফ্টওয়্যার দোলক ফ্রিকোয়েন্সি পরিবর্তন করতে এই রেজিস্টারটি লিখতে পারে। অসিলেটরটি নির্দিষ্ট হিসাবে ফ্রিকোয়েন্সিগুলিতে ক্যালিব্রেট করা যেতে পারে 21 পৃষ্ঠায় সারণি 2-164। এই ব্যাপ্তির বাইরে ক্যালিব্রেশন গ্যারান্টিযুক্ত নয়।
নোট করুন যে এই দোলকটি EEPROM এবং ফ্ল্যাশ রাইটিং অ্যাক্সেসের সময় ব্যবহৃত হয় এবং এই লেখার সময়গুলি সেই অনুযায়ী প্রভাবিত হবে। যদি EEPROM বা ফ্ল্যাশ লেখা থাকে তবে 8.8 মেগাহার্টজ এর চেয়ে বেশি ক্যালিব্রেট করবেন না। অন্যথায়, EEPROM বা ফ্ল্যাশ লিখন ব্যর্থ হতে পারে।
CAL7 বিট দোলকের জন্য অপারেশনের পরিসীমা নির্ধারণ করে। এই বিটটিকে 0 এ সেট করা সর্বনিম্ন ফ্রিকোয়েন্সি রেঞ্জ দেয়, এই বিটটিকে 1 এ সেট করা সর্বাধিক ফ্রিকোয়েন্সি রেঞ্জ দেয়। দুটি ফ্রিকোয়েন্সি রেঞ্জ ওভারল্যাপিং হয়, অন্য কথায় ওএসসিসিএল = 0x7F এর একটি সেটিং ওএসসিসিএল = 0x80 এর চেয়ে বেশি ফ্রিকোয়েন্সি দেয়।
সিএল [6: 0] বিটগুলি নির্বাচিত ব্যাপ্তির মধ্যে ফ্রিকোয়েন্সি টিউন করতে ব্যবহৃত হয়। 0x00 এর একটি সেটিং সেই ব্যাপ্তির মধ্যে সর্বনিম্ন ফ্রিকোয়েন্সি দেয় এবং 0x7F এর সেটিংটি ব্যাপ্তির সর্বোচ্চ ফ্রিকোয়েন্সি দেয়।
MCU এর স্থিতিশীল অপারেশন নিশ্চিত করার জন্য ক্যালিব্রেশন মানটি ছোট পরিবর্তন করা উচিত। এক চক্র থেকে পরবর্তী চক্রের 2% এরও বেশি ফ্রিকোয়েন্সিতে পরিবর্তনের কারণে অপ্রত্যাশিত আচরণ হতে পারে। ওএসসিসিএলে পরিবর্তনগুলি প্রতিটি ক্রমাঙ্কণের জন্য 0x20 অতিক্রম করা উচিত নয়। ঘড়ির ফ্রিকোয়েন্সিতে এমন পরিবর্তন চলাকালীন এমসিইউটিকে রিসেটে রাখা হয়েছে তা নিশ্চিত করা দরকার
টেবিল 6-14। অভ্যন্তরীণ RC অসিলেটর ফ্রিকোয়েন্সি রেঞ্জ
ওএসসিসিএল মান | নামমাত্র ফ্রিকোয়েন্সি সম্মান সঙ্গে আদর্শ সর্বনিম্ন ফ্রিকোয়েন্সি | নামমাত্র ফ্রিকোয়েন্সি সম্মান সঙ্গে আদর্শ সর্বোচ্চ সর্বোচ্চ ফ্রিকোয়েন্সি |
0x00 | 50% | 100% |
0x3F | 75% | 150% |
0x7F | 100% | 200% |
সিএলকেপিআর - ক্লক প্রেস্কেল রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x26 | সিএলকেপিসিই | – | – | – | সিএলকেপিএস 3 | সিএলকেপিএস 2 | সিএলকেপিএস 1 | সিএলকেপিএস 0 | সিএলকেপিআর |
পড়ুন/লিখুন | R/W | R | R | R | R/W | R/W | R/W | R/W |
প্রাথমিক মান 0 0 0 0 বিটের বিবরণ দেখুন
বিট 7 - সিএলকেপিসিই: ক্লক প্রেসক্যালার পরিবর্তন সক্ষম করুন
CLKPCE বিট পরিবর্তন করতে সক্ষম করতে সিএলকেপিসিই বিট অবশ্যই যুক্তিযুক্ত একটিতে রচনা করা উচিত। CLKPCE বিটটি কেবল তখনই আপডেট হয় যখন সিএলকেপিআরের অন্যান্য বিটগুলি এক সাথে শূন্যে লেখা হয় written সিএলকেপিসিই লেখার পরে বা সিএলকেপিএস বিট লেখার পরে হার্ডওয়্যার চারটি চক্র দ্বারা সাফ হয়ে যায়। এই সময়-আউট পিরিয়ডের মধ্যে সিএলকেপিসিই বিটকে পুনরায় লেখালেখি না সময়-আউট পর্ব বাড়িয়ে দেয় না বা সিএলকেপিসিই বিট সাফ করে না।
বিটস 6: 4 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 3: 0 - সিএলকেপিএস [3: 0]: ক্লক প্রেসক্যালার বিট 3 - 0 নির্বাচন করুন
এই বিটগুলি নির্বাচিত ক্লক উত্স এবং অভ্যন্তরীণ সিস্টেম ঘড়ির মধ্যে বিভাজন ফ্যাক্টরটিকে সংজ্ঞায়িত করে। এই বিটগুলি অ্যাপ্লিকেশন প্রয়োজনীয়তার সাথে মিল রেখে ঘড়ির ফ্রিকোয়েন্সি পরিবর্তনের জন্য রান-টাইমে লেখা যেতে পারে। বিভাজক যেমন এমসইউতে মাস্টার ক্লক ইনপুট বিভক্ত করে, তখন একটি বিভাগ ফ্যাক্টর ব্যবহার করা হলে সমস্ত সিঙ্ক্রোনাস পেরিফেরিয়ালের গতি হ্রাস পায়। বিভাগের কারণগুলি দেওয়া হয় টেবিল 6-15.
ঘড়ির ফ্রিকোয়েন্সিটির অনিচ্ছাকৃত পরিবর্তনগুলি এড়াতে, সিএলকেপিএস বিট পরিবর্তন করতে একটি বিশেষ রচনা পদ্ধতি অনুসরণ করতে হবে:
ক্লক প্রেসকেলার পরিবর্তন সক্ষম করুন (সিএলকেপিসিই) বিটকে এক এবং অন্যান্য সমস্ত বিটকে সিএলকেপিআর-এ শূন্য করুন to
চারটি চক্রের মধ্যে, সিএলকেপিএসইএতে শূন্য লিখার সময় পছন্দসই মান সিএলকেপিএসে লিখুন।
লেখার পদ্ধতিতে বাধা নেই তা নিশ্চিত করতে প্রেসকেলার সেটিংস পরিবর্তন করার সময় বাধাগুলি অক্ষম করতে হবে।
CKDIV8 ফিউজ CLKPS বিটের প্রাথমিক মান নির্ধারণ করে। যদি CKDIV8 অপ্রোগ্রাম করা হয়, CLKPS বিটগুলি "0000" এ রিসেট করা হবে৷ যদি CKDIV8 প্রোগ্রাম করা হয়, CLKPS বিটগুলি "0011" এ রিসেট করা হয়, শুরুতে আটটির একটি বিভাজন ফ্যাক্টর দেয়। এই বৈশিষ্ট্যটি ব্যবহার করা উচিত যদি নির্বাচিত ঘড়ির উৎসের বর্তমান অপারেটিং অবস্থাতে ডিভাইসের সর্বাধিক ফ্রিকোয়েন্সি থেকে উচ্চতর ফ্রিকোয়েন্সি থাকে। মনে রাখবেন যে CKDIV8 ফিউজ সেটিং নির্বিশেষে CLKPS বিটে যেকোনো মান লেখা যেতে পারে। অ্যাপ্লিকেশন সফ্টওয়্যার নিশ্চিত করতে হবে যে একটি পর্যাপ্ত বিভাজন ফ্যাক্টর আছে
নির্বাচিত ক্লক সোর্সের বর্তমান অপারেটিং শর্তে ডিভাইসের সর্বাধিক ফ্রিকোয়েন্সি থেকে উচ্চতর ফ্রিকোয়েন্সি থাকলে বেছে নেওয়া হয়েছে। ডিভাইসটি CKDIV8 ফিউজ প্রোগ্রামযুক্ত দিয়ে প্রেরণ করা হয়েছে।
টেবিল 6-15। ঘড়ি Prescaler নির্বাচন করুন
সিএলকেপিএস 3 | সিএলকেপিএস 2 | সিএলকেপিএস 1 | সিএলকেপিএস 0 | ক্লক ডিভিশন কারখানা |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 2 |
0 | 0 | 1 | 0 | 4 |
0 | 0 | 1 | 1 | 8 |
0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 1 | 32 |
0 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 1 | 128 |
1 | 0 | 0 | 0 | 256 |
1 | 0 | 0 | 1 | সংরক্ষিত |
1 | 0 | 1 | 0 | সংরক্ষিত |
1 | 0 | 1 | 1 | সংরক্ষিত |
1 | 1 | 0 | 0 | সংরক্ষিত |
1 | 1 | 0 | 1 | সংরক্ষিত |
1 | 1 | 1 | 0 | সংরক্ষিত |
1 | 1 | 1 | 1 | সংরক্ষিত |
দ্রষ্টব্য: প্রিসকেলারটি ATtiny15 সামঞ্জস্যপূর্ণ মোডে অক্ষম করা হয়েছে এবং CLKPR-তে লেখা বা CKDIV8 ফিউজের প্রোগ্রামিং সিস্টেম ঘড়িতে কোনো প্রভাব ফেলে না (যা সর্বদা 1.6 MHz হবে)।
পাওয়ার ম্যানেজমেন্ট এবং স্লিপ মোড
উচ্চ কার্যকারিতা এবং শিল্পের নেতৃস্থানীয় কোড দক্ষতা এভিআর মাইক্রোকন্ট্রোলারকে কম শক্তি প্রয়োগের জন্য একটি আদর্শ পছন্দ করে তোলে। তদতিরিক্ত, স্লিপ মোডগুলি অ্যাপ্লিকেশনটিকে এমসইউতে অব্যবহৃত মডিউলগুলি বন্ধ করতে সক্ষম করে, যার ফলে শক্তি সাশ্রয় হয়। এভিআর বিভিন্ন ঘুমের মোড সরবরাহ করে যাতে ব্যবহারকারীকে অ্যাপ্লিকেশনটির প্রয়োজনীয়তার জন্য বিদ্যুৎ খরচটি উপযুক্ত করে তোলে।
ঘুমের মোড
6 পৃষ্ঠায় চিত্র 1-23 বিভিন্ন ক্লক সিস্টেমগুলি এবং এটিটিটি 25/45/85 এ তাদের বিতরণ উপস্থাপন করে। চিত্রটি একটি উপযুক্ত ঘুম মোড নির্বাচন করতে সহায়ক helpful টেবিল 7-1 বিভিন্ন ঘুমের পদ্ধতি এবং তাদের জাগ্রত উত্সগুলি দেখায়।
টেবিল 7-1। বিভিন্ন ঘুমের মোডে সক্রিয় ঘড়ির ডোমেন এবং জেগে ওঠার উৎস
অ্যাক্টিভ ক্লক ডোমেন | অসিলেটর | জাগ্রত উত্স | ||||||||||
স্লিপ মোড | clkCPU | clkFLASH | clkIO | clkADC | clkPCK | প্রধান ঘড়ির উত্স সক্ষম | INT0 এবং পিন পরিবর্তন | এসপিএম / ইপ্রোম
প্রস্তুত |
ইউএসআই শুরুর শর্ত |
এডিসি | অন্যান্য I/O | ওয়াচডগ বাধা |
নিষ্ক্রিয় | X | X | X | X | X | X | X | X | X | X | ||
এডিসি নয়েজ হ্রাস | X | X | X(1) | X | X | X | X | |||||
ক্ষমতা হ্রাস | X(1) | X | X |
দ্রষ্টব্য: INT0-এর জন্য, শুধুমাত্র স্তর বাধা।
তিনটি ঘুমের মোডের মধ্যে যে কোনও একটিতে প্রবেশ করতে, এমসিসিআরসি-তে এসই বিটটি যুক্তিকে লিখতে হবে এবং একটি স্লাইপ নির্দেশ কার্যকর করতে হবে। এমসিইউসিআর রেজিস্ট্রারে থাকা এসএম [1: 0] বিটগুলি স্লিপ মোডে (আইডল, এডিসি নয়েজ হ্রাস বা পাওয়ার-ডাউন) স্লিপ নির্দেশাবলী দ্বারা সক্রিয় করা হবে তা নির্বাচন করুন। দেখা টেবিল 7-2 একটি সংক্ষিপ্তসার জন্য।
যদি এমসিইউ স্লিপ মোডে থাকাকালীন একটি সক্রিয় বিঘ্ন ঘটে, এমসিইউ জেগে ওঠে। এমসিইউ স্টার্ট-আপ সময় ছাড়াও চারটি চক্রের জন্য থামানো হয়, বাধা রুটিন চালায় এবং SLEEP এর পরে নির্দেশনা থেকে কার্যকর করা পুনরায় শুরু করে। রেজিস্টারের বিষয়বস্তু File এবং ডিভাইসটি ঘুম থেকে জেগে উঠলে SRAM অপরিবর্তিত থাকে। যদি স্লিপ মোডের সময় একটি রিসেট ঘটে, MCU জেগে ওঠে এবং রিসেট ভেক্টর থেকে কার্যকর করে।
দ্রষ্টব্য: যদি জেগে ওঠার জন্য একটি লেভেল ট্রিগারড ইন্টারাপ্ট ব্যবহার করা হয় তবে MCU-কে জাগানোর জন্য পরিবর্তিত স্তরটিকে কিছু সময়ের জন্য ধরে রাখতে হবে (এবং MCU-এর জন্য বাধা পরিষেবার রুটিনে প্রবেশ করার জন্য)। দেখা 49 পৃষ্ঠায় "বাহ্যিক বাধা" বিস্তারিত জানার জন্য
অলস অবস্থা
যখন SM[1:0] বিটগুলি 00-এ লেখা হয়, তখন SLEEP নির্দেশ MCU-কে নিষ্ক্রিয় মোডে প্রবেশ করতে বাধ্য করে, CPU বন্ধ করে কিন্তু অ্যানালগ কম্প্যারেটর, ADC, USI, টাইমার/কাউন্টার, ওয়াচডগ এবং ইন্টারাপ্ট সিস্টেমকে কাজ চালিয়ে যাওয়ার অনুমতি দেয়- খাওয়া এই স্লিপ মোডটি মূলত clkCPU এবং clkFLASH বন্ধ করে দেয়, অন্য ঘড়িগুলিকে চলতে দেয়।
নিষ্ক্রিয় মোডটি এমসিইউকে বাহ্যিক ট্রিগারযুক্ত বিঘ্নগুলির পাশাপাশি টাইমার ওভারফ্লোয়ের মতো অভ্যন্তরীণগুলি থেকে জাগ্রত করতে সক্ষম করে। যদি অ্যানালগ তুলনাকারী বাধা থেকে জেগে উঠার প্রয়োজন হয় না, তবে এসিডি বিট সেট করে এনালগ তুলকটি চালিত হতে পারে 120 পৃষ্ঠায় "এসিএসআর - এনালগ তুলনামূলক নিয়ন্ত্রণ এবং স্থিতি রেজিস্টার"। এটি আইডল মোডে বিদ্যুতের খরচ হ্রাস করবে। যদি এডিসি সক্ষম থাকে, এই মোডটি প্রবেশ করা হলে একটি রূপান্তর স্বয়ংক্রিয়ভাবে শুরু হয়।
এডিসি নয়েজ হ্রাস মোড
যখন SM[1:0] বিটগুলি 01-এ লেখা হয়, তখন SLEEP নির্দেশ MCU-কে ADC নয়েজ রিডাকশন মোডে প্রবেশ করে, CPU বন্ধ করে কিন্তু ADC, বাহ্যিক বাধা এবং ওয়াচডগকে কাজ চালিয়ে যাওয়ার অনুমতি দেয় (যদি সক্রিয় থাকে)। এই স্লিপ মোডটি clkI/O, clkCPU, এবং clkFLASH থামিয়ে দেয়, অন্য ঘড়িগুলিকে চলার অনুমতি দেয়।
এটি উচ্চতর রেজোলিউশন পরিমাপ সক্ষম করে, এডিসির জন্য শব্দ পরিবেশকে উন্নত করে। যদি এডিসি সক্ষম থাকে, এই মোডটি প্রবেশ করা হলে একটি রূপান্তর স্বয়ংক্রিয়ভাবে শুরু হয়। এডিসি রূপান্তর সম্পূর্ণ বিঘ্ন ব্যতীত, কেবল একটি বাহ্যিক রিসেট, একটি ওয়াচডোগ রিসেট, ব্রাউন-আউট রিসেট, এসপিএম / ইপ্রোম প্রস্তুত বাধা, INT0 এ একটি বহিরাগত স্তরের বাধা বা পিন পরিবর্তন ইন্টারপেট এডিসি নয়েজ হ্রাস থেকে এমসিইউ জাগাতে পারে মোড.
পাওয়ার-ডাউন মোড
এসএম [1: 0] বিটগুলি 10 তে লেখা থাকে, স্লিপ নির্দেশনা এমসইউকে পাওয়ার-ডাউন মোডে প্রবেশ করে। এই মোডে, অসিলিটারটি বন্ধ হয়ে যায়, যখন বাহ্যিক বাধা দেয়, ইউএসআই শর্ত শনাক্তকরণ এবং ওয়াচডগ অপারেশন চালিয়ে যায় (যদি সক্ষম থাকে)। কেবলমাত্র একটি বাহ্যিক রিসেট, একটি ওয়াচডগ রিসেট, ব্রাউন-আউট রিসেট, ইউএসআই শুরুর শর্ত বাধা, INT0 এ একটি বহিরাগত স্তরের বিঘ্ন বা পিন পরিবর্তন ইন্টারপ্ট এমসইউকে জাগাতে পারে। এই স্লিপ মোডটি কেবলমাত্র অ্যাসিনক্রোনাস মডিউলগুলির অপারেশনকে মঞ্জুরি দিয়ে সমস্ত উত্পন্ন ঘড়ি থামিয়ে দেয়।
সফটওয়্যার বিওডি অক্ষম করুন
ব্রাউন-আউট ডিটেক্টর (BOD) যখন BODLEVEL ফিউজ দ্বারা সক্ষম হয় (দেখুন 20 পৃষ্ঠায় সারণি 4-148), বিওডি সক্রিয়ভাবে ভলিউম মনিটরিং করছেtage ঘুমের সময়। কিছু ডিভাইসে পাওয়ার-ডাউন স্লিপ মোডে সফটওয়্যারের মাধ্যমে বিওডি বিচ্ছিন্ন করে বিদ্যুৎ সাশ্রয় করা সম্ভব। স্লিপ মোড পাওয়ার খরচ তখন একই স্তরে হবে যখন বিওডি বিশ্বব্যাপী ফিউজ দ্বারা অক্ষম হয়।
যদি সফ্টওয়্যার দ্বারা বিওডি অক্ষম করা হয়, তবে স্লিপ মোডে প্রবেশ করার সাথে সাথেই বিওডি ফাংশনটি বন্ধ হয়ে যায়। ঘুম থেকে জেগে ওঠার পর, BOD আবার স্বয়ংক্রিয়ভাবে সক্ষম হয়। ঘুমের সময় VCC স্তর কমে গেলে এটি নিরাপদ অপারেশন নিশ্চিত করে।
যখন বিওডি অক্ষম করা হয়েছে তখন রিসেট থেকে জাগরণের জন্য স্লিপ মোড থেকে জাগ্রত করার সময়টি একই হবে। ব্যবহারকারীর অবশ্যই জাগরণের সময়গুলি ম্যানুয়ালি কনফিগার করতে হবে যাতে ব্যান্ডগ্যাপ রেফারেন্সটি শুরু হওয়ার সময় থাকে এবং এমসিইউ কোড চালানো কোড চালিয়ে যাওয়ার আগে বিওডি সঠিকভাবে কাজ করে is সট [1: 0] এবং সিকেএসইএল [3: 0] টেবিলের ফিউজ বিটগুলি দেখুন 149 পৃষ্ঠায় "ফিউজ লো বাইট"
বিওডি ডিসএবলটি এমসিইউ কন্ট্রোল রেজিস্ট্রির বিওডিএস (বিওডি স্লিপ) বিট দ্বারা নিয়ন্ত্রিত হয়, দেখুন “MCUCR - MCU নিয়ন্ত্রণ U 37 পৃষ্ঠাতে নিবন্ধন করুন। এই বিটটি কারও কাছে লেখালেখি পাওয়ার-ডাউনে বিওডিকে বন্ধ করে দেয়, শূন্য লিখলে বিওডিকে সচল রাখে। ডিফল্ট সেটিংস শূন্য, অর্থাৎ বিওডি সক্রিয়।
বোডস বিটে লেখার সময়সীমা এবং একটি সক্ষম বিট দ্বারা নিয়ন্ত্রণ করা হয়, দেখুন “MCUCR - MCU নিয়ন্ত্রণ রেজিস্ট্রেশন- তের "পৃষ্ঠায় 37.
সীমাবদ্ধতা
BOD অক্ষম কার্যকারিতা নিম্নলিখিত ডিভাইসগুলিতে প্রয়োগ করা হয়েছে, কেবলমাত্র:
এটিটি 25, রিভিশন ই এবং আরও নতুন er
এটিটিনি 45, রিভিশন ডি এবং আরও নতুন
এটিটিনি 85, রিভিশন সি এবং আরও নতুন
সংশোধনগুলি ডিভাইস প্যাকেজে চিহ্নিত রয়েছে এবং নিম্নলিখিত হিসাবে এটি অবস্থিত হতে পারে:
প্যাকেজগুলির নীচে দিক 8P3 এবং 8 এস 2
প্যাকেজ 20M1 শীর্ষে
পাওয়ার হ্রাস রেজিস্টার
পাওয়ার হ্রাস রেজিস্টার (PRR) দেখুন, দেখুন 38 পৃষ্ঠায় "PRR - পাওয়ার হ্রাস রেজিস্টার", পৃথক পেরিফেরিয়ালগুলিতে ঘড়িটি বন্ধ করে বিদ্যুৎ খরচ হ্রাস করার একটি পদ্ধতি সরবরাহ করে। পেরিফেরিয়ালের বর্তমান অবস্থা হিমশীতল এবং I / O রেজিস্টারগুলি পড়া বা লেখা যায় না। ঘড়ি থামানোর সময় পেরিফেরিয়াল দ্বারা ব্যবহৃত সংস্থান দখল থাকবে, তাই পেরিফেরিয়াল বেশিরভাগ ক্ষেত্রে ঘড়িটি থামানোর আগে অক্ষম করা উচিত। একটি মডিউল জাগ্রত করা, যা পিআরআর-তে কিছুটা সাফ করার মাধ্যমে সম্পন্ন হয়, মডিউলটিকে বন্ধের আগের মতো করে রাখে।
সামগ্রিক বিদ্যুতের খরচ উল্লেখযোগ্যভাবে হ্রাস করতে মডিউল শাটডাউন আইডল মোড এবং অ্যাক্টিভ মোডে ব্যবহার করা যেতে পারে। অন্য সমস্ত ঘুমের মোডে, ঘড়িটি ইতিমধ্যে বন্ধ হয়ে গেছে। দেখা 177 পৃষ্ঠায় "I / O মডিউলগুলির বর্তমান সরবরাহ করুন" প্রাক্তন জন্যampলেস
ক্ষয়ক্ষতি শক্তি হ্রাস করা হচ্ছে
একটি এভিআর নিয়ন্ত্রিত সিস্টেমে বিদ্যুৎ খরচ হ্রাস করার চেষ্টা করার সময় কয়েকটি বিষয় বিবেচনা করতে হবে। সাধারণভাবে, ঘুমের মোডগুলি যথাসম্ভব ব্যবহার করা উচিত, এবং স্লিপ মোডটি নির্বাচন করা উচিত যাতে ডিভাইসের ফাংশনগুলি যতটা সম্ভব পরিচালিত হয়। প্রয়োজনীয় সমস্ত ফাংশন অক্ষম করা উচিত। বিশেষত, সর্বনিম্ন সম্ভাব্য বিদ্যুৎ খরচ অর্জনের চেষ্টা করার সময় নিম্নলিখিত মডিউলগুলির বিশেষ বিবেচনার প্রয়োজন হতে পারে।
এনালগ থেকে ডিজিটাল কনভার্টার
সক্ষম করা থাকলে, এডিসি সমস্ত ঘুমের মোডে সক্ষম করা হবে। শক্তি সঞ্চয় করতে, কোনও স্লিপ মোডে প্রবেশের আগে এডিসি অক্ষম করা উচিত। যখন এডিসি বন্ধ করা হয় এবং আবার চালু হয়, পরবর্তী রূপান্তরটি একটি বর্ধিত রূপান্তর হবে। নির্দেশ করে 122 পৃষ্ঠায় "অ্যানালগ থেকে ডিজিটাল রূপান্তরকারী" এডিসি অপারেশন সম্পর্কে বিশদ জন্য।
অ্যানালগ তুলক
নিষ্ক্রিয় মোডে প্রবেশ করার সময়, এনালগ তুলনাকারী ব্যবহার না করলে অক্ষম করা উচিত। ADC নয়েজ রিডাকশন মোডে প্রবেশ করার সময়, অ্যানালগ তুলনাকারী অক্ষম করা উচিত। অন্যান্য ঘুমের মোডে, অ্যানালগ তুলনাকারী স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় হয়ে যায়। যাইহোক, যদি এনালগ তুলনাকারী অভ্যন্তরীণ ভলিউম ব্যবহার করার জন্য সেট আপ করা হয়tage ইনপুট হিসাবে রেফারেন্স, অ্যানালগ তুলনাকারী সমস্ত ঘুম মোডে অক্ষম করা উচিত। অন্যথায়, অভ্যন্তরীণ ভলিউমtage রেফারেন্স সক্রিয় করা হবে, স্লিপ মোড থেকে স্বাধীন। নির্দেশ করে 119 পৃষ্ঠায় "অ্যানালগ তুলক" অ্যানালগ তুলক কীভাবে কনফিগার করতে হয় তার বিশদ সম্পর্কে।
ব্রাউন আউট ডিটেক্টর
যদি অ্যাপ্লিকেশনটিতে ব্রাউন-আউট ডিটেক্টরের প্রয়োজন না হয় তবে এই মডিউলটি বন্ধ করা উচিত। যদি ব্রাউন-আউট ডিটেক্টরটি বোডলেভেল ফিউজ দ্বারা সক্ষম করা থাকে তবে এটি সমস্ত ঘুমের মোডে সক্ষম হবে এবং তাই সর্বদা শক্তি গ্রাস করে। গভীর ঘুমের মোডে এটি মোট বর্তমান ব্যবহারে উল্লেখযোগ্য অবদান রাখবে। দেখা "ব্রাউন আউট ডিটেক- tion "পৃষ্ঠা 41 এ এবং পৃষ্ঠা 35 এ "সফ্টওয়্যার বিওডি অক্ষম করুন" ব্রাউন-আউট ডিটেক্টরটি কীভাবে কনফিগার করতে হয় তার বিশদ সম্পর্কে।
অভ্যন্তরীণ ভলিউমtage রেফারেন্স
অভ্যন্তরীণ ভলিউমtagব্রাউন-আউট ডিটেকশন, অ্যানালগ তুলনাকারী বা এডিসির প্রয়োজনে রেফারেন্স চালু করা হবে। যদি উপরের বিভাগগুলিতে বর্ণিত হিসাবে এই মডিউলগুলি অক্ষম করা হয়, অভ্যন্তরীণ ভলিউমtagই রেফারেন্স নিষ্ক্রিয় করা হবে এবং এটি শক্তি খরচ করবে না। যখন আবার চালু হয়, আউটপুট ব্যবহারের আগে ব্যবহারকারীকে অবশ্যই রেফারেন্স চালু করতে দিতে হবে। যদি রেফারেন্স স্লিপ মোডে রাখা হয়, আউটপুট অবিলম্বে ব্যবহার করা যেতে পারে। নির্দেশ করে "অভ্যন্তরীণ ভলিউমtagই রেফারেন্স ”42 পৃষ্ঠায় শুরুর সময় সম্পর্কে বিশদ জন্য।
ওয়াচডগ টাইমার
যদি অ্যাপ্লিকেশনটিতে ওয়াচডগ টাইমার প্রয়োজন না হয় তবে এই মডিউলটি বন্ধ করা উচিত। যদি ওয়াচডগ টাইমার সক্ষম করা থাকে তবে এটি সমস্ত ঘুমের মোডে সক্ষম হবে এবং তাই সর্বদা শক্তি গ্রাস করে। গভীর ঘুমের মোডে এটি মোট বর্তমান ব্যবহারে উল্লেখযোগ্য অবদান রাখবে। নির্দেশ করে 42 পৃষ্ঠায় "ওয়াচডগ টাইমার" কীভাবে ওয়াচডগ টাইমার কনফিগার করতে হবে তার বিশদ সম্পর্কে।
পোর্ট পিনস
একটি স্লিপ মোডে প্রবেশ করার সময়, সমস্ত পোর্ট পিন ন্যূনতম শক্তি ব্যবহার করার জন্য কনফিগার করা উচিত। তারপরে সবচেয়ে গুরুত্বপূর্ণ বিষয় হল নিশ্চিত করা যে কোনও পিন প্রতিরোধী লোড না চালায়। স্লিপ মোডগুলিতে যেখানে I/O ঘড়ি (clkI/O) এবং ADC ঘড়ি (clkADC) উভয়ই বন্ধ থাকে, ডিভাইসের ইনপুট বাফারগুলি অক্ষম করা হবে৷ এটি নিশ্চিত করে যে কোন শক্তি খরচ হয় না
যখন প্রয়োজন হবে না তখন ইনপুট যুক্তি দ্বারা। কিছু ক্ষেত্রে, জাগ্রত শর্তগুলি সনাক্ত করার জন্য ইনপুট যুক্তি প্রয়োজন এবং,
এটি তখন সক্ষম হবে। বিভাগটি দেখুন 57 পৃষ্ঠায় "ডিজিটাল ইনপুট সক্ষম এবং ঘুমের মোডগুলি" বিশদ বিবরণের জন্য কোন পিনগুলি সক্ষম করা হয়েছে৷ যদি ইনপুট বাফার সক্রিয় থাকে এবং ইনপুট সিগন্যালটি ভাসমান থাকে বা VCC/2 এর কাছাকাছি একটি এনালগ সংকেত স্তর থাকে, ইনপুট বাফারটি অতিরিক্ত শক্তি ব্যবহার করবে।
এনালগ ইনপুট পিনের জন্য, ডিজিটাল ইনপুট বাফার সর্বদা নিষ্ক্রিয় করা উচিত। একটি ইনপুট পিনে VCC/2 এর কাছাকাছি একটি অ্যানালগ সংকেত স্তর সক্রিয় মোডেও উল্লেখযোগ্য কারেন্ট সৃষ্টি করতে পারে। ডিজিটাল ইনপুট বাফারগুলি ডিজিটাল ইনপুট ডিসেবল রেজিস্টারে (DIDR0) লিখে নিষ্ক্রিয় করা যেতে পারে। নির্দেশ করে 0 পৃষ্ঠায় "DIDR0 - ডিজিটাল ইনপুট নিবন্ধকরণ অক্ষম করুন 121" বিস্তারিত জানার জন্য
বিবরণ নিবন্ধন করুন
এমসিইউসিআর - এমসিইউ নিয়ন্ত্রণ রেজিস্টার
এমসিইউ কন্ট্রোল রেজিস্টারে পাওয়ার ম্যানেজমেন্টের জন্য নিয়ন্ত্রণ বিট রয়েছে।
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | বিওডিএস | পিইউডি | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | এমসিইউসিআর |
পড়ুন/লিখুন | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিট 7 - বোডস: বিওডি ঘুম
BOD অক্ষম কার্যকারিতা কেবলমাত্র কিছু ডিভাইসে উপলব্ধ। দেখা 36 পৃষ্ঠায় "সীমাবদ্ধতা".
ঘুমের সময় বিওডিকে অক্ষম করার জন্য (দেখুন 7 পৃষ্ঠায় সারণি 1-34) বিডস বিটটি অবশ্যই যুক্তি দিয়ে লিখতে হবে। এটি একটি সময়সীমাবদ্ধ ক্রম এবং এমসিইউসিআর-তে বিড, সক্ষম বিট দ্বারা নিয়ন্ত্রণ করা হয়। প্রথমে, বোডস এবং বিওডিএসই উভয়কেই সেট করতে হবে। দ্বিতীয়ত, চারটি ঘড়ির চক্রের মধ্যে, বিওডিএসকে একটিতে সেট করতে হবে এবং বিওডিএসই অবশ্যই শূন্যে সেট করা উচিত। বোডস বিট সেট হওয়ার পরে তিনটি ঘড়ি চক্র সক্রিয় করে। প্রকৃত স্লিপ মোডের জন্য বিওডিটি বন্ধ করতে বিওডিএস সক্রিয় থাকাকালীন একটি ঘুম নির্দেশ কার্যকর করতে হবে। বোডস বিটটি তিনটি ঘড়ির চক্রের পরে স্বয়ংক্রিয়ভাবে সাফ হয়ে যায়।
ডিভাইসগুলিতে স্লিপিং বিওডি প্রয়োগ করা হয়নি এই বিটটি অব্যবহৃত এবং সর্বদা শূন্য পড়বে।
বিট 5 - এসই: ঘুম সক্ষম করুন
SLEEP নির্দেশ কার্যকর করার সময় MCU-কে স্লিপ মোডে প্রবেশ করতে SE বিটকে লজিক ওয়ানে লিখতে হবে। প্রোগ্রামারের উদ্দেশ্য না হলে MCU-এর স্লিপ মোডে প্রবেশ না করার জন্য, SLEEP নির্দেশনা কার্যকর করার ঠিক আগে Sleep Enable (SE) বিটটি একটিতে লিখতে এবং ঘুম থেকে ওঠার পরপরই এটি পরিষ্কার করার পরামর্শ দেওয়া হয়।
বিট 4: 3 - এসএম [1: 0]: স্লিপ মোড 1 এবং 0 বিট নির্বাচন করুন
এই বিটগুলি প্রদর্শিত হিসাবে তিনটি উপলব্ধ ঘুম মোডের মধ্যে নির্বাচন করে টেবিল 7-2.
টেবিল 7-2। স্লিপ মোড নির্বাচন করুন
SM1 | SM0 | স্লিপ মোড |
0 | 0 | নিষ্ক্রিয় |
0 | 1 | এডিসি নয়েজ হ্রাস |
1 | 0 | ক্ষমতা হ্রাস |
1 | 1 | সংরক্ষিত |
বিট 2 - বিওডিএসই: বিওডি স্লিপ সক্ষম
BOD অক্ষম কার্যকারিতা কেবলমাত্র কিছু ডিভাইসে উপলব্ধ। দেখা 36 পৃষ্ঠায় "সীমাবদ্ধতা".
বিওডিএস বিট বিওডিএস বিটের বিবরণে বর্ণিত হিসাবে বিওডিএস নিয়ন্ত্রণ বিটের সেটিং সক্ষম করে। বিওডি অক্ষম একটি সময়সীমা অনুসারে ট্রোলড হয়।
এই বিটটি এমন ডিভাইসে অব্যবহৃত রয়েছে যেখানে সফটওয়্যার বিওডি অক্ষম করা কার্যকর হয়নি এবং সেই ডিভাইসে শূন্য হিসাবে পড়বে zero
PRR - পাওয়ার হ্রাস রেজিস্টার
পাওয়ার হ্রাস রেজিস্টার পেরিফেরিয়াল ক্লক সিগনালগুলিকে অক্ষম করার অনুমতি দিয়ে বিদ্যুৎ খরচ হ্রাস করার একটি পদ্ধতি সরবরাহ করে।
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x20 | – | – | – | – | PRTIM1 | PRTIM0 | প্রুসি | পিআরএডিসি | পিআরআর |
পড়ুন/লিখুন | R | R | R | R | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিটস 7: 4 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 3 - পিআরটিআইএম 1: পাওয়ার হ্রাস টাইমার / কাউন্টার 1
এই বিটটিতে একটি যুক্তি লিখলে টাইমার / কাউন্টার 1 মডিউলটি বন্ধ হয়ে যায়। যখন টাইমার / কাউন্টার 1 সক্ষম করা হবে, শাটডাউন করার আগে অপারেশনটি চলতে থাকবে।
বিট 2 - পিআরটিআইএম 0: পাওয়ার হ্রাস টাইমার / কাউন্টার 0
এই বিটটিতে একটি যুক্তি লিখলে টাইমার / কাউন্টার 0 মডিউলটি বন্ধ হয়ে যায়। যখন টাইমার / কাউন্টার 0 সক্ষম করা হবে, শাটডাউন করার আগে অপারেশনটি চলতে থাকবে।
বিট 1 - প্রুসি: পাওয়ার হ্রাস ইউএসআই
এই বিটটিতে একটি যুক্তি লেখার ফলে মডিউলের সাথে ঘড়িটি বন্ধ করে ইউএসআই বন্ধ করে দেয়। আবার ইউএসআইকে জাগ্রত করার সময়, যথাযথ অপারেশন নিশ্চিত করার জন্য ইউএসআই পুনরায় শুরু করা উচিত।
বিট 0 - PRADC: পাওয়ার হ্রাস এডিসি
এই বিটটিতে একটি যুক্তি লিখলে এডিসি বন্ধ হয়ে যায়। শাট ডাউন করার আগে এডিসি অবশ্যই অক্ষম করা উচিত। নোট করুন যে এডিসি ঘড়িটি অ্যানালগ তুলকরের কিছু অংশ দ্বারাও ব্যবহৃত হয়, যার অর্থ এই বিটটি বেশি হলে এনালগ তুলকটি ব্যবহার করা যাবে না।
সিস্টেম নিয়ন্ত্রণ এবং পুনরায় সেট করুন
এভিআর পুনরায় সেট করা
রিসেট করার সময়, সমস্ত আই / ও রেজিস্টারগুলি তাদের প্রাথমিক মানগুলিতে সেট করা থাকে এবং প্রোগ্রামটি রিসেট ভিকার থেকে শুরু হয়। রিসেট ভেক্টরটিতে দেওয়া নির্দেশাবলী অবশ্যই একটি আরজেএমপি - রিলেটিভ জাম্প - রিসেট হ্যান্ডলিং রুটিনের নির্দেশনা ruction যদি প্রোগ্রামটি কখনও বাধা উত্স সক্ষম করে না, তবে বাধা ভেক্টর ব্যবহার করা হবে না এবং নিয়মিত প্রোগ্রাম কোডটি এই স্থানে স্থাপন করা যেতে পারে। সার্কিট ডায়াগ্রাম ইন চিত্র 8-1 রিসেট যুক্তি দেখায়। রিসেট সার্কিট্রির বৈদ্যুতিক প্যারামিটারগুলি দেওয়া হয়েছে পৃষ্ঠা 165 এ "সিস্টেম এবং রিসেট বৈশিষ্ট্যগুলি".
চিত্র 8-1 লজিক রিসেট করুন
এভিআর এর I / O পোর্টগুলি যখন পুনরায় সেট করার উত্স সক্রিয় হয় তত্ক্ষণাত্ তাদের প্রাথমিক অবস্থায় পুনরায় সেট করা হয়। এটি চলার জন্য কোনও ঘড়ির উত্স প্রয়োজন হয় না।
সমস্ত রিসেট উত্স নিষ্ক্রিয় হয়ে যাওয়ার পরে, অভ্যন্তরীণ পুনরায় সেটাকে প্রসারিত করে, একটি বিলম্বের কাউন্টার চাওয়া হয়। এটি স্বাভাবিক ক্রিয়াকলাপ শুরুর আগে শক্তিকে একটি স্থিতিশীল পর্যায়ে পৌঁছানোর অনুমতি দেয়। বিলম্বের কাউন্টারটির সময়সীমা সময়সীমা ব্যবহারকারী দ্বারা SUT এবং CKSEL ফিউজের মাধ্যমে সংজ্ঞায়িত করা হয়। বিলম্ব সময়ের জন্য বিভিন্ন নির্বাচন উপস্থাপন করা হয় “ঘড়ি উত্স "পৃষ্ঠায় 25.
উত্স পুনরায় সেট করুন
এটিটিনি 25/45/85 এর চারটি রিসেটের উত্স রয়েছে:
পাওয়ার-অন রিসেট। এমসিইউ পুনরায় সেট করা হয় যখন সরবরাহ ভলিউমtage পাওয়ার-অন রিসেট থ্রেশহোল্ডের নীচে (VPOT)৷
বাহ্যিক রিসেট ন্যূনতম স্পন্দনের দৈর্ঘ্যের চেয়ে বেশি সময় ধরে রিসেট পিনে যখন নিম্ন স্তরের উপস্থিত থাকে তখন এমসিইউ পুনরায় সেট হয়।
ওয়াচডগ পুনরায় সেট করুন। ওয়াচডগ টাইমার সময়সীমা শেষ হওয়ার পরে এবং ওয়াচডগ সক্ষম করা হলে এমসিইউ পুনরায় সেট হয়।
বাদামী আউট রিসেট। এমসিইউ পুনরায় সেট করা হয় যখন সরবরাহ ভলিউমtage VCC ব্রাউন-আউট রিসেট থ্রেশহোল্ড (VBOT) এর নিচে এবং ব্রাউন-আউট ডিটেক্টর সক্রিয় করা হয়েছে।
পাওয়ার অন রিসেট
একটি পাওয়ার-অন রিসেট (পোর) পালস অন-চিপ সনাক্তকরণ সার্কিট দ্বারা উত্পন্ন হয়। সনাক্তকরণ স্তরটি সংজ্ঞায়িত করা হয়েছে “সিস- পৃষ্ঠা 165 তে tem এবং বৈশিষ্ট্যগুলি পুনরায় সেট করুন. যখনই VCC সনাক্তকরণ স্তরের নিচে থাকে তখন POR সক্রিয় হয়। POR সার্কিটটি স্টার্ট-আপ রিসেট ট্রিগার করতে, সেইসাথে সরবরাহের ভলিউমে ব্যর্থতা সনাক্ত করতে ব্যবহার করা যেতে পারেtage.
একটি পাওয়ার-অন রিসেট (POR) সার্কিট নিশ্চিত করে যে ডিভাইসটি পাওয়ার-অন থেকে রিসেট হয়েছে। পাওয়ার-অন রিসেট থ্রেশহোল্ড ভলিউমে পৌঁছানোtage বিলম্ব কাউন্টার চালু করে, যা VCC বৃদ্ধির পরে ডিভাইসটিকে কতক্ষণ রিসেটে রাখা হবে তা নির্ধারণ করে। RESET সংকেত আবার সক্রিয় করা হয়, কোনো বিলম্ব ছাড়াই, যখন VCC সনাক্তকরণ স্তরের নিচে কমে যায়।
চিত্র 8-2। MCU স্টার্ট আপ, VCC এর সাথে রিসেট বাঁধা
অভ্যন্তরীণ রিসেট
চিত্র 8-3। এমসিইউ স্টার্ট-আপ, রিসেট বাহ্যিকভাবে প্রসারিত
বাহ্যিক রিসেট
সক্ষম করা থাকলে RESET পিনে একটি নিম্ন স্তরের দ্বারা একটি বাহ্যিক রিসেট তৈরি করা হয়। সর্বনিম্ন স্পন্দনের প্রস্থের চেয়ে বেশি ডাল পুনরায় সেট করুন (দেখুন পৃষ্ঠা 165 এ "সিস্টেম এবং রিসেট বৈশিষ্ট্যগুলি") একটি রিসেট তৈরি করবে, এমনকি যদি ঘড়িটি চলমান না হয়। খাটো ডাল রিসেট তৈরির নিশ্চয়তা দেয় না। যখন প্রয়োগকৃত সংকেত রিসেট থ্রেশহোল্ড ভলিউমে পৌঁছায়tage – VRST – এর ইতিবাচক প্রান্তে, টাইম-আউট পিরিয়ড শেষ হওয়ার পরে বিলম্ব কাউন্টার MCU শুরু করে।
চিত্র 8-4। অপারেশন চলাকালীন বাহ্যিক রিসেট
ব্রাউন আউট সনাক্তকরণ
ATtiny25/45/85-এ একটি অন-চিপ ব্রাউন-আউট ডিটেকশন (BOD) সার্কিট রয়েছে যা অপারেশন চলাকালীন VCC স্তরটিকে একটি নির্দিষ্ট ট্রিগার স্তরের সাথে তুলনা করে পর্যবেক্ষণ করার জন্য। BOD এর জন্য ট্রিগার স্তর BODLEVEL ফিউজ দ্বারা নির্বাচন করা যেতে পারে। স্পাইক মুক্ত ব্রাউন-আউট সনাক্তকরণ নিশ্চিত করতে ট্রিগার স্তরে হিস্টেরেসিস রয়েছে। সনাক্তকরণ স্তরে হিস্টেরেসিসকে VBOT+ = VBOT + VHYST/2 এবং VBOT- = VBOT - VHYST/2 হিসাবে ব্যাখ্যা করা উচিত।
যখন BOD সক্ষম করা হয়, এবং VCC ট্রিগার স্তরের নীচে একটি মান পর্যন্ত হ্রাস পায় (VBOT- ইন চিত্র 8-5), ব্রাউন-আউট রিসেট অবিলম্বে সক্রিয় করা হয়। যখন VCC ট্রিগার স্তরের উপরে বৃদ্ধি পায় (VBOT+ in চিত্র 8-5), বিলম্ব কাউন্টারটি MCU শুরু করে টাইম-আউট পিরিয়ড tTOUT এর মেয়াদ শেষ হওয়ার পরে।
BOD সার্কিট শুধুমাত্র VCC-তে একটি ড্রপ সনাক্ত করবে যদি ভলিউমtage দেওয়া টিবিওডির চেয়ে বেশি সময় ট্রিগার স্তরের নীচে থাকে৷ পৃষ্ঠা 165 এ "সিস্টেম এবং রিসেট বৈশিষ্ট্যগুলি".
ওয়াচডগ পুনরায় সেট করুন
ওয়াচডগ সময় শেষ হলে, এটি একটি CK চক্রের সময়কালের একটি সংক্ষিপ্ত রিসেট পালস তৈরি করবে। এই নাড়ির পতনের প্রান্তে, বিলম্ব টাইমার টাইম-আউট পিরিয়ড tTOUT গণনা শুরু করে। নির্দেশ করে 42 পৃষ্ঠায় "ওয়াচডগ টাইমার" ওয়াচডগ টাইমার অপারেশন সম্পর্কিত বিশদের জন্য for
ভলিউমtage রেফারেন্স সিগন্যাল এবং স্টার্ট-আপ সময় সক্ষম করুন
ভলিউমtagই রেফারেন্সের একটি স্টার্ট-আপ সময় রয়েছে যা এটিকে কীভাবে ব্যবহার করা উচিত তা প্রভাবিত করতে পারে। স্টার্ট আপ সময় দেওয়া হয় পৃষ্ঠা 165 এ "সিস্টেম এবং রিসেট বৈশিষ্ট্যগুলি"। শক্তি সঞ্চয় করতে, রেফারেন্সটি সর্বদা চালু থাকে না। নিম্নলিখিত পরিস্থিতিতে প্রতিক্রিয়া চলছে:
যখন বিওডি সক্ষম হয় (বোডলেভেল প্রোগ্রামিং দ্বারা [2: 0] ফিউজ বিট)।
যখন ব্যান্ডগ্যাপ রেফারেন্সটি অ্যানালগ তুলকটির সাথে সংযুক্ত থাকে (এসিএসআরে এসিবিজি বিট সেট করে)।
যখন এডিসি সক্ষম হয়।
সুতরাং, এসিবিজি বিট সেট করার পরে বা এডিসি সক্ষম করার পরে, যখন বিওড সক্ষম না হয়, এনালগ তুলক বা এডিসি থেকে আউটপুট ব্যবহার করার আগে ব্যবহারকারীর সর্বদা রেফারেন্স শুরু করতে হবে। পাওয়ার-ডাউন মোডে পাওয়ার কনস্যাম্পশন কমাতে ব্যবহারকারী পাওয়ার-ডাউন মোডে প্রবেশের আগে রেফারেন্সটি বন্ধ আছে তা নিশ্চিত করতে উপরের তিনটি শর্তটি এড়াতে পারবেন।
ওয়াচডগ টাইমার
ওয়াচডগ টাইমারটি একটি অন-চিপ অসিলেটর থেকে ক্লকড যা 128 কেএইচজেডে চালিত হয়। ওয়াচডগ টাইমার প্রেসক্যালারকে নিয়ন্ত্রণ করে, ওয়াচডগ রিসেট ব্যবধানটি যেমন দেখানো হয়েছে তেমনভাবে সামঞ্জস্য করা যেতে পারে 8 পৃষ্ঠায় সারণি 3-46। ডাব্লুডিআর - ওয়াচডগ রিসেট - নির্দেশিকা ওয়াচডগ টাইমার পুনরায় সেট করে। অক্ষম থাকাকালীন এবং যখন কোনও চিপ রিসেট ঘটে তখন ওয়াচডগ টাইমারটি পুনরায় সেট করা হয়। পুনরায় সেট করার সময়কাল নির্ধারণের জন্য দশটি বিভিন্ন ঘড়ির চক্র সময়কাল নির্বাচন করা যেতে পারে। যদি অন্য ওয়াচডোগ রিসেট ছাড়াই রিসেটের মেয়াদ শেষ হয়ে যায়, এটিটিনি 25/45/85 পুনরায় সেট করুন এবং রিসেট ভেক্টর থেকে এক্সিকিউট করে। ওয়াচডগ রিসেটের সময় সংক্রান্ত তথ্যের জন্য, দেখুন 8 পৃষ্ঠায় সারণি 3-46.
ওয়াচডগ টাইমার পুনরায় সেট করার পরিবর্তে একটি বাধা তৈরি করতে কনফিগার করা যায়। পাওয়ার-ডাউন থেকে জাগ্রত করতে ওয়াচডগ ব্যবহার করার সময় এটি খুব সহায়ক হতে পারে।
ওয়াচডগের অনিচ্ছাকৃত অক্ষম হওয়া বা সময়-আউট সময়কালের অনিচ্ছাকৃত পরিবর্তন রোধ করতে দুটি আলাদা সুরক্ষা স্তর ফিউজ ডাব্লুডিটিএন দ্বারা নির্বাচিত হিসাবে দেখানো হয়েছে টেবিল 8-1 পড়ুন "পরিবর্তনটি পরিবর্তনের জন্য সময়সীমা ৪৪ পৃষ্ঠায় ওয়াচডগ টাইমার চিত্রিতকরণ বিস্তারিত জানার জন্য
টেবিল 8-1। WDTON এর ফিউজ সেটিংসের একটি ফাংশন হিসাবে WDT কনফিগারেশন
WDTON সম্পর্কে | নিরাপত্তা স্তর | ডাব্লুডিটি প্রাথমিক অবস্থা | কীভাবে ডাব্লুডিটি অক্ষম করবেন | সময় পরিবর্তন কিভাবে |
অপরিকল্পিত | 1 | অক্ষম | সময়সীমা ক্রম | কোনো সীমাবদ্ধতা নেই |
প্রোগ্রাম করা | 2 | সক্রিয় | সর্বদা সক্ষম | সময়সীমা ক্রম |
চিত্র 8-7। সময় নির্ণায়ক পাহরাদার
ওয়াচডগ টাইমারের কনফিগারেশন পরিবর্তন করার জন্য সময়সীমাবদ্ধ qu
কনফিগারেশন পরিবর্তন করার ক্রম দুটি সুরক্ষা স্তরের মধ্যে সামান্য পৃথক। প্রতিটি স্তরের জন্য পৃথক পদ্ধতি বর্ণনা করা হয়।
নিরাপত্তা স্তর 1: এই মোডে, ওয়াচডগ টাইমার প্রাথমিকভাবে নিষ্ক্রিয় করা হয়, কিন্তু কোনো সীমাবদ্ধতা ছাড়াই WDE বিটকে একটিতে লিখে সক্রিয় করা যেতে পারে। একটি সক্রিয় ওয়াচডগ টাইমার নিষ্ক্রিয় করার সময় একটি নির্দিষ্ট ক্রম প্রয়োজন। একটি সক্ষম ওয়াচডগ টাইমার নিষ্ক্রিয় করতে, নিম্নলিখিত পদ্ধতি অনুসরণ করতে হবে:
একই ক্রিয়াকলাপে, ডাব্লুডিসিই এবং ডাব্লুডিইতে একটি যুক্তি লিখুন। ডাব্লুডিই-তে একটি যুক্তি লিখতে হবে - ডাব্লুডিই বিটের আগের মানের চেয়ে কম।
পরবর্তী চারটি ঘড়ির চক্রের মধ্যে, একই ক্রিয়াকলাপে, ডাব্লুডিই এবং ডাব্লুডিপি বিটগুলি পছন্দমতো লিখুন, তবে ডাব্লুডিসিই বিট সাফ করে দিয়ে।
নিরাপত্তা স্তর 2: এই মোডে, ওয়াচডগ টাইমার সর্বদা সক্রিয় থাকে, এবং WDE বিট সর্বদা একটি হিসাবে পড়বে। ওয়াচডগ টাইম-আউট পিরিয়ড পরিবর্তন করার সময় একটি নির্দিষ্ট ক্রম প্রয়োজন। ওয়াচডগ টাইম-আউট পরিবর্তন করতে, নিম্নলিখিত পদ্ধতি অনুসরণ করতে হবে:
একই ক্রিয়াকলাপে, ডাব্লুডিসিই এবং ডাব্লুডিইকে একটি যৌক্তিক লিখুন। ডাব্লুডিই সর্বদা সেট থাকা সত্ত্বেও সময়সীমা অনুসরণ করার জন্য ডাব্লুডিইতে অবশ্যই একটি লিখতে হবে।
পরবর্তী চারটি ঘড়ির চক্রের মধ্যে, একই ক্রিয়াকলাপে, ডাব্লুডিপি বিটগুলি পছন্দমতো লিখুন, তবে ডাব্লুডিসিই বিট সাফ করে দিয়ে। ডাব্লুডিই বিটে লিখিত মান অপ্রাসঙ্গিক।
কোড এক্সample
নিম্নলিখিত কোড প্রাক্তনample WDT বন্ধ করার জন্য একটি সমাবেশ এবং একটি C ফাংশন দেখায়। প্রাক্তনample অনুমান করে যে বাধাগুলি নিয়ন্ত্রিত হয় (যেমন, বিশ্বব্যাপী বাধাগুলি অক্ষম করে) যাতে এই ফাংশনগুলি সম্পাদনের সময় কোনও বাধা সৃষ্টি না হয়।
অ্যাসেম্বলি কোড প্রাক্তনample(1) |
ডাব্লুডি অফ:
wdr সম্পর্কে ; MCUSR এ WDRF সাফ করুন ldi r16, (0< MCUSR আউট, r16 ; ডাব্লুডিসিই এবং ডাব্লুডিইতে যৌক্তিক লিখুন ; অনিচ্ছাকৃত ওয়াচডগ রিসেটটি প্রতিরোধ করতে পুরানো প্রেসক্যালারের সেটিংসটি রাখুন R16-এ, WDTCR ori r16, (1< আউট WDTCR, r16 ; ডাব্লুডিটি বন্ধ করুন ldi r16, (0< আউট WDTCR, r16 ret |
C কোড Example(1) |
অকার্যকর WDT_off(অকার্যকর)
{ _ডব্লিউডিআর (); /* MCUSR এ পরিষ্কার WDRF */ MCUSR = 0x00 /* WDCE এবং WDE */ WDTCR |= (1< / * ডাব্লুডিটি * / ডাব্লুডিটিসিআর = 0x00 বন্ধ করুন; } |
দ্রষ্টব্য: 1. দেখুন "কোড প্রাক্তনampলেস” পৃষ্ঠা 6-এ.
বিবরণ নিবন্ধন করুন
MCUSR - MCU স্থিতি রেজিস্টার
এমসিইউ স্থিতি রেজিস্টার তথ্যটি সরবরাহ করে যা রিসেট উত্সটি একটি এমসিইউ রিসেট করেছে।
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x34 | – | – | – | – | ডাব্লুডিআরএফ | বিওআরএফ | এক্সট্রাফ | পোর্ফ | এমসিইউএসআর |
পড়ুন/লিখুন | R | R | R | R | R/W | R/W | R/W | R/W |
প্রাথমিক মান 0 0 0 0 বিটের বিবরণ দেখুন
বিটস 7: 4 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 3 - ডাব্লুডিআরএফ: ওয়াচডগ রিসেট পতাকা
এই বিটটি সেট করা থাকে যদি কোনও ওয়াচডোগ রিসেট ঘটে। বিটটি পাওয়ার-অন রিসেট দ্বারা বা পতাকাটিতে একটি যুক্তি শূন্য লিখে পুনরায় সেট করা হয়।
বিট 2 - বিওআরএফ: ব্রাউন-আউট রিসেট পতাকা
ব্রাউন-আউট রিসেট দেখা দিলে এই বিটটি সেট করা আছে। বিটটি পাওয়ার-অন রিসেট দ্বারা বা পতাকাটিতে একটি যুক্তি শূন্য লিখে পুনরায় সেট করা হয়।
বিট 1 - এক্সট্রাফ: বাহ্যিক রিসেট পতাকা
এই বিটটি সেট করা থাকে যদি কোনও বাহ্যিক রিসেট ঘটে। বিটটি পাওয়ার-অন রিসেট দ্বারা বা পতাকাটিতে একটি যুক্তি শূন্য লিখে পুনরায় সেট করা হয়।
বিট 0 - PORF: পাওয়ার-অন রিসেট পতাকা
এই বিটটি সেট করা আছে যদি কোনও পাওয়ার অন রিসেট ঘটে। বিটটি শুধুমাত্র পতাকাটিতে একটি যুক্তি শূন্য লিখে পুনরায় সেট করা হয়।
রিসেট শর্তটি সনাক্ত করতে রিসেট ফ্ল্যাগগুলি ব্যবহার করার জন্য, ব্যবহারকারীকে প্রোগ্রামে যত তাড়াতাড়ি সম্ভব এমসিইউএসআরটি পড়তে হবে এবং পুনরায় সেট করা উচিত। অন্য রিসেট হওয়ার আগে যদি নিবন্ধকটি সাফ হয়ে যায়, রিসেটের উত্সগুলি পরীক্ষা করে রিসেটের উত্সটি পাওয়া যাবে।
ডাব্লুডিটিসিআর - ওয়াচডগ টাইমার কন্ট্রোল রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x21 | ডাব্লুডিআইএফ | ডাব্লুআইডিআই | WDP3 | ডাব্লুডিসি | WDE সম্পর্কে | WDP2 | WDP1 | WDP0 | ডাব্লুডিটিসিআর |
পড়ুন/লিখুন | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | X | 0 | 0 | 0 |
বিট 7 - ডাব্লুডিআইএফ: ওয়াচডগের টাইমআউট বিঘ্নিত পতাকা
এই বিটটি সেট করা হয় যখন ওয়াচডগ টাইমারে টাইম-আউট ঘটে এবং ওয়াচডগ টাইমার বিঘ্নিত হওয়ার জন্য কনফিগার করা হয়। সংশ্লিষ্ট বাধা হ্যান্ডলিং ভেক্টর কার্যকর করার সময় ডাব্লুডিআইএফ হার্ডওয়্যার দ্বারা সাফ হয়ে যায়। বিকল্পভাবে, ডাব্লুডিআইএফ পতাকাটিতে একটি যুক্তি লেখার মাধ্যমে সাফ করা হয়। এসআরজি এবং ডাব্লুআইডিআই-এর আই-বিট সেট করা হলে, ওয়াচডগের সময়-আউট ইন্টারপ্ট কার্যকর করা হয়।
বিট 6 - ডাব্লুআইডিআই: ওয়াচডগের টাইমআউট বিঘ্ন সক্ষম করুন
এই বিটটি যখন কোনওটিতে লেখা হয়, ডাব্লুডিই সাফ হয়ে যায়, এবং স্ট্যাটাস রেজিস্টারে আই-বিট সেট করা থাকে, ওয়াচডগের টাইম-আউট ইন্টারপ্রেট সক্ষম করা হয়। এই মোডে যদি ওয়াচডগ টাইমারে টাইমআউট ঘটে তবে রিসেটের পরিবর্তে সংশ্লিষ্ট বাধা কার্যকর করা হয়।
যদি ডাব্লুডিই সেট করা থাকে তবে টাইম-আউট ঘটে গেলে ডাব্লুআইডিআই স্বয়ংক্রিয়ভাবে হার্ডওয়্যার দ্বারা সাফ হয়ে যায়। বাধা ব্যবহার করার সময় ওয়াচডগ রিসেট সুরক্ষা রাখতে এটি কার্যকর। ডাব্লুআইডিআই বিট সাফ হওয়ার পরে, পরবর্তী সময় আউট রিসেট উত্পন্ন করবে। ওয়াচডগ রিসেট এড়ানোর জন্য, প্রতিটি বিঘ্নের পরে ডাব্লুআইডিআই সেট করা আবশ্যক।
টেবিল 8-2। ওয়াচডগ টাইমার কনফিগারেশন
WDE সম্পর্কে | ডাব্লুআইডিআই | ওয়াচডগ টাইমার স্টেট | সময়সীমা অ্যাকশন |
0 | 0 | থেমে গেল | কোনোটিই নয় |
0 | 1 | চলছে | বাধা |
1 | 0 | চলছে | রিসেট করুন |
1 | 1 | চলছে | বাধা |
বিট 4 - ডাব্লুডিসিই: ওয়াচডগ পরিবর্তন সক্ষম করুন
এই বিটটি অবশ্যই সেট করতে হবে যখন ডাব্লুডিই বিটটি লজিক শূন্যে লেখা হয়। অন্যথায়, ওয়াচডগ অক্ষম করা হবে না। একবার একবার লিখিত হয়ে গেলে, হার্ডওয়্যার চার ঘন্টার চক্রের পরে এই বিটটি সাফ করবে। একটি ওয়াচডগ অক্ষম প্রক্রিয়াটির জন্য ডাব্লুডিই বিটের বিবরণ পড়ুন। প্রেসকেলার বিট পরিবর্তন করার সময় এই বিটটিও সেট করতে হবে। দেখা "সময়সীমাবদ্ধতা পৃষ্ঠা 43 এ "ওয়াচডগ টাইমারের কনফিগারেশন পরিবর্তন করার জন্য".
বিট 3 - ডাব্লুডিই: ওয়াচডগ সক্ষম করুন
যখন ডাব্লুডিই যুক্তিযুক্ত একটিতে লেখা হয়, ওয়াচডগ টাইমার সক্ষম হয় এবং ডাব্লুডিই যদি লজিক শূন্যতে লেখা হয়, ওয়াচডগ টাইমার ফাংশনটি অক্ষম করে দেওয়া হয়। ডাব্লুডিই কেবল তখনই সাফ হতে পারে যদি ডাব্লুডিসিই বিটের লজিক স্তর এক থাকে। একটি সক্ষম ওয়াচডগ টাইমার অক্ষম করতে, নিম্নলিখিত পদ্ধতিটি অনুসরণ করা আবশ্যক:
একই ক্রিয়াকলাপে, ডাব্লুডিসিই এবং ডাব্লুডিইতে একটি যুক্তি লিখুন। অক্ষম অপারেশন শুরুর আগে এটিতে একটি সেট করা সত্ত্বেও একটি যুক্তি অবশ্যই ডাব্লুডিইতে লিখতে হবে।
পরবর্তী চারটি ঘড়ির চক্রের মধ্যে ডাব্লুডিইতে 0 যুক্তি লিখুন। এটি ওয়াচডগ অক্ষম করে।
সুরক্ষা স্তর 2 এ, উপরে বর্ণিত অ্যালগরিদম এমনকি ওয়াচডগ টাইমার অক্ষম করা সম্ভব নয়। দেখা পৃষ্ঠা ৪৩ এ "ওয়াচডগ টাইমারের কনফিগারেশন পরিবর্তনের জন্য সময়সীমাবদ্ধতা".
সুরক্ষা স্তর 1 এ, ডাব্লুডিই MCUSR এ ডাব্লুডিআরএফ দ্বারা ওভাররাইড করা হয়। দেখা 44 পৃষ্ঠায় "এমসিইএসআর - এমসিইউ স্ট্যাটাস রেজিস্টার" ডাব্লুডিআরএফ বর্ণনার জন্য। এর অর্থ হ'ল ডাব্লুডিই সর্বদা সেট থাকে যখন ডাব্লুডিআরএফ সেট থাকে। ডাব্লুডিই সাফ করার জন্য, ডাব্লুডিআরএফকে উপরে বর্ণিত পদ্ধতি সহ ওয়াচডগটি অক্ষম করার আগে অবশ্যই সাফ করতে হবে। এই বৈশিষ্ট্যটি ব্যর্থতা সৃষ্টিকারী অবস্থার সময় একাধিক পুনরায় সেটগুলি এবং ব্যর্থতার পরে নিরাপদ শুরু নিশ্চিত করে।
দ্রষ্টব্য: অ্যাপ্লিকেশনটিতে ওয়াচডগ টাইমার ব্যবহার করা না হলে, ডিভাইসের শুরুতে ওয়াচডগ নিষ্ক্রিয় পদ্ধতির মধ্য দিয়ে যাওয়া গুরুত্বপূর্ণ। যদি ওয়াচডগ ঘটনাক্রমে সক্ষম হয়, প্রাক্তনের জন্যampএকটি পলাতক পয়েন্টার বা ব্রাউন-আউট অবস্থায়, ডিভাইসটি রিসেট করা হবে, যার ফলে একটি নতুন ওয়াচডগ রিসেট হবে। এই পরিস্থিতি এড়াতে, অ্যাপ্লিকেশন সফ্টওয়্যারটি সর্বদা শুরুর রুটিনে WDRF পতাকা এবং WDE কন্ট্রোল বিটটি পরিষ্কার করা উচিত।
বিট 5, 2: 0 - ডাব্লুডিপি [3: 0]: ওয়াচডগ টাইমার প্রেসকিলার 3, 2, 1 এবং 0
ডাব্লুডিপি [3: 0] বিটস যখন ওয়াচডগ টাইমার সক্ষম হয় তখন ওয়াচডগ টাইমার নির্ধারণ করে। পৃথক ব্যবস্থাপত্রের বিভিন্ন মান এবং তার সাথে সম্পর্কিত টাইমআউট পিরিয়ডগুলি দেখানো হয়েছে টেবিল 8-3.
টেবিল 8-3। ওয়াচডগ টাইমার প্রিসকেল নির্বাচন করুন
WDP3 | WDP2 | WDP1 | WDP0 | ডাব্লুডিটি অসিলেটর চক্রের সংখ্যা | VCC = 5.0V-এ সাধারণ টাইম-আউট |
0 | 0 | 0 | 0 | 2K (2048) চক্র | 16 মি.সে |
0 | 0 | 0 | 1 | 4K (4096) চক্র | 32 মি.সে |
0 | 0 | 1 | 0 | 8K (8192) চক্র | 64 মি.সে |
0 | 0 | 1 | 1 | 16K (16384) চক্র | 0.125 সেকেন্ড |
0 | 1 | 0 | 0 | 32K (32764) চক্র | 0.25 সেকেন্ড |
0 | 1 | 0 | 1 | 64K (65536) চক্র | 0.5 সেকেন্ড |
0 | 1 | 1 | 0 | 128K (131072) চক্র | 1.0 সেকেন্ড |
0 | 1 | 1 | 1 | 256K (262144) চক্র | 2.0 সেকেন্ড |
1 | 0 | 0 | 0 | 512K (524288) চক্র | 4.0 সেকেন্ড |
1 | 0 | 0 | 1 | 1024K (1048576) চক্র | 8.0 সেকেন্ড |
টেবিল 8-3। ওয়াচডগ টাইমার প্রিসকেল নির্বাচন (চলবে)
WDP3 | WDP2 | WDP1 | WDP0 | ডাব্লুডিটি অসিলেটর চক্রের সংখ্যা | VCC = 5.0V-এ সাধারণ টাইম-আউট |
1 | 0 | 1 | 0 | সংরক্ষিত(1) | |
1 | 0 | 1 | 1 | ||
1 | 1 | 0 | 0 | ||
1 | 1 | 0 | 1 | ||
1 | 1 | 1 | 0 | ||
1 | 1 | 1 | 1 |
দ্রষ্টব্য: 1. নির্বাচিত হলে, 0b1010 এর নিচের একটি বৈধ সেটিংস ব্যবহার করা হবে।
বাধা দেয়
এই বিভাগটি এটিটিইনি 25/45/85 তে সঞ্চালিত বাধা হ্যান্ডলিংয়ের বিশদ বর্ণনা করে। এভিআর বাধা হ্যান্ডলিংয়ের সাধারণ ব্যাখ্যার জন্য, দেখুন পৃষ্ঠা 12 এ "রিসেট এবং বিঘ্নিত হ্যান্ডলিং".
এটিটিনি 25/45/85 এ বাধা দেওয়া ভেক্টরগুলি
এটিটিইনি 25/45/85 এর বিঘ্নিত ভেক্টরগুলিতে বর্ণনা করা হয়েছে টেবিল 9-1নীচে
টেবিল 9-1। রিসেট এবং ভেক্টর বাধা
ভেক্টর নং | প্রোগ্রাম ঠিকানা | উৎস | বাধা সংজ্ঞা |
1 | 0x0000 | রিসেট | এক্সটার্নাল পিন, পাওয়ার অন রিসেট, ব্রাউন-আউট রিসেট, ওয়াচডগ রিসেট |
2 | 0x0001 | INT0 | বাহ্যিক বাধা অনুরোধ 0 |
3 | 0x0002 | PCINT0 | পিন পরিবর্তন বিঘ্নিত অনুরোধ 0 |
4 | 0x0003 | TIMER1_COMPA | টাইমার / কাউন্টার 1 টি ম্যাচের সাথে তুলনা করুন |
5 | 0x0004 | TIMER1_OVF | টাইমার / কাউন্টার 1 ওভারফ্লো |
6 | 0x0005 | TIMER0_OVF | টাইমার / কাউন্টার 0 ওভারফ্লো |
7 | 0x0006 | EE_RDY | ইপ্রোম প্রস্তুত |
8 | 0x0007 | এএনএ_সিএমপি | অ্যানালগ তুলক |
9 | 0x0008 | এডিসি | এডিসি রূপান্তর সম্পূর্ণ |
10 | 0x0009 | TIMER1_COMPB | টাইমার / কাউন্টার 1 টি তুলনা করুন খ |
11 | 0x000A | TIMER0_COMPA | টাইমার / কাউন্টার 0 টি ম্যাচের সাথে তুলনা করুন |
12 | 0x000B | TIMER0_COMPB | টাইমার / কাউন্টার 0 টি তুলনা করুন খ |
13 | 0x000 সি | ডব্লিউডিটি | ওয়াচডগ সময়-আউট |
14 | 0x000D | USI_START | ইউএসআই শুরু |
15 | 0x000E | USI_OVF | ইউএসআই ওভারফ্লো |
যদি প্রোগ্রামটি কখনও বাধা উত্স সক্ষম করে না, তবে বাধা ভেক্টর ব্যবহার করা হবে না এবং নিয়মিত প্রোগ্রাম কোডটি এই স্থানে স্থাপন করা যেতে পারে।
ATtiny25/45/85 এ বিরক্তিকর ভেক্টর ঠিকানাগুলির জন্য একটি সাধারণ এবং সাধারণ সেটআপ প্রোগ্রাম প্রাক্তন দেখানো হয়েছেample নিচে.
অ্যাসেম্বলি কোড প্রাক্তনample | ||
0 0000xXNUMX | ; পরবর্তী ঠিকানা সেট করুন | বিবৃতি |
rjmp রিসেট | ; ঠিকানা 0x0000 | |
rjmp INT0_ISR | ; ঠিকানা 0x0001 | |
rjmp PCINT0_ISR | ; ঠিকানা 0x0002 | |
rjmp টিআইএম 1_COMPA_ISR | ; ঠিকানা 0x0003 | |
rjmp টিআইএম 1_OVF_ISR | ; ঠিকানা 0x0004 | |
rjmp টিআইএম 0_OVF_ISR | ; ঠিকানা 0x0005 | |
rjmp EE_RDY_ISR | ; ঠিকানা 0x0006 | |
rjmp এএনএ_সিএমপি_আইএসআর | ; ঠিকানা 0x0007 | |
rjmp ADC_ISR | ; ঠিকানা 0x0008 | |
rjmp টিআইএম 1_COMPB_ISR | ; ঠিকানা 0x0009 | |
rjmp টিআইএম 0_COMPA_ISR | ; ঠিকানা 0x000A | |
rjmp টিআইএম 0_COMPB_ISR | ; ঠিকানা 0x000 বি | |
rjmp WDT_ISR | ; ঠিকানা 0x000C | |
rjmp USI_START_ISR | ; ঠিকানা 0x000D | |
rjmp USI_OVF_ISR | ; ঠিকানা 0x000E | |
রিসেট: | ; মূল প্রোগ্রাম শুরু | |
; ঠিকানা 0x000F | ||
… |
দ্রষ্টব্য: দেখুন "কোড প্রাক্তনampলেস” পৃষ্ঠা 6-এ.
বাহ্যিক বাধা
বাহ্যিক বাধা INT0 পিন বা যে কোনও PCINT [5: 0] পিন দ্বারা ট্রিগার করা হয়। লক্ষ করুন যে, সক্ষম করা থাকলে, বাধা INT0 বা PCINT [5: 0] পিনগুলি আউটপুট হিসাবে কনফিগার করা থাকলেও ট্রিগার করবে। এই বৈশিষ্ট্যটি একটি সফ্টওয়্যার বিঘ্নিত উত্পাদন করার একটি উপায় সরবরাহ করে। পিন পরিবর্তন বাধা দেয় পিসিআই যদি সক্ষম পিসিআইএনটি [5: 0] পিন টগল করে তবে ট্রিগার করবে। পিসিএমএসকে রেজিস্টার নিয়ন্ত্রণ করুন যে পিনগুলি পিন পরিবর্তন বাধা দিতে অবদান রাখে। পিসিআইএনটি [5: 0] এ পিন পরিবর্তন বিঘ্নগুলি তাত্পর্যপূর্ণভাবে সনাক্ত করা হয়েছে। এটি সূচিত করে যে এই বিঘ্নগুলি অংশ জাগানোর জন্যও নিষ্ক্রিয় মোড ব্যতীত অন্য ঘুম मोडগুলি থেকে ব্যবহার করা যেতে পারে।
আইএনটি 0 টি বাধাগুলি একটি পতনশীল বা উত্থিত প্রান্ত বা নিম্ন স্তরের দ্বারা ট্রিগার হতে পারে। এটি এমসইউ নিয়ন্ত্রণ রেজিস্ট্রার - এমসিইউসিআর-এর স্পেসিফিকেশনে নির্দেশিত হিসাবে সেট আপ করা হয়েছে। যখন আইএনটি ০ টি বাধা সক্ষম হয়ে থাকে এবং লেভেল ট্রিগার হিসাবে কনফিগার করা থাকে, পিনটি যতক্ষণ না ধরে থাকে ততক্ষণ বাধা তত্পর হয়। নোট করুন যে INT0 এ পতনশীল বা উত্থিত প্রান্ত বাধা সনাক্তকরণের জন্য বর্ণিত I / O ঘড়ির উপস্থিতি প্রয়োজন "ক্লক সিস্টেম এবং তাদের বিতরণ" চালু পৃষ্ঠা 23.
নিম্ন স্তরের বাধা
INT0 এ একটি নিম্ন স্তরের বাধাপ্রাপ্তি সংশ্লেষজনকভাবে সনাক্ত করা হয়েছে। এর থেকে বোঝা যায় যে এই বাধাটি অংশটি জাগ্রত করতে ইডল মোড ব্যতীত অন্য ঘুমের মোড থেকেও ব্যবহার করা যেতে পারে। আই / ও ক্লকটি নিষ্ক্রিয় মোড ব্যতীত সমস্ত ঘুমের মোডে থামিয়ে দেওয়া হয়।
মনে রাখবেন যে যদি পাওয়ার-ডাউন থেকে জেগে ওঠার জন্য একটি লেভেল ট্রিগারড ইন্টারাপ্ট ব্যবহার করা হয়, তাহলে লেভেল ইন্টারাপ্ট ট্রিগার করার জন্য এমসিইউ-কে জেগে ওঠা সম্পূর্ণ করার জন্য প্রয়োজনীয় লেভেলটি অবশ্যই যথেষ্ট সময় ধরে রাখতে হবে। স্টার্ট-আপ টাইম শেষ হওয়ার আগে যদি স্তরটি অদৃশ্য হয়ে যায়, তবে MCU এখনও জেগে উঠবে, কিন্তু কোনও বাধা তৈরি হবে না। শুরুর সময় SUT এবং CKSEL ফিউজ দ্বারা সংজ্ঞায়িত করা হয়েছে যেমন বর্ণনা করা হয়েছে পৃষ্ঠা 23 এ "সিস্টেম ক্লক এবং ক্লক অপশন".
ডিভাইসটি জেগে ওঠার আগে যদি ইন্টারপেনট পিনের নিম্ন স্তরের সরিয়ে ফেলা হয় তবে প্রোগ্রাম এক্সিকিউশনটি বিঘ্নিত পরিষেবার রুটিনে ডাইভার্ট করা হবে না তবে স্লিপ কমান্ড অনুসরণ করে নির্দেশনা থেকে চালিয়ে যাওয়া হবে।
পিন পরিবর্তন বিঘ্নিত সময়
একজন প্রাক্তনampএকটি পিন পরিবর্তন বাধার সময়কাল দেখানো হয়েছে চিত্র 9-1.
বিবরণ নিবন্ধন করুন
এমসিইউসিআর - এমসিইউ নিয়ন্ত্রণ রেজিস্টার
বহিরাগত বাধা নিয়ন্ত্রণ রেজিস্টার এ অন্তরায় বাধা নিয়ন্ত্রণের জন্য নিয়ন্ত্রণ বিট ধারণ করে।
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | বিওডিএস | পিইউডি | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | এমসিইউসিআর |
পড়ুন/লিখুন | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিট 1: 0 - আইএসসি 0 [1: 0]: বিঘ্নিত সংবেদন নিয়ন্ত্রণ 0 বিট 1 এবং বিট 0
বাহ্যিক বাধা 0 বাহ্যিক পিন INT0 দ্বারা সক্রিয় করা হয় যদি এসইআরজি আই-পতাকা এবং সংশ্লিষ্ট ইন্টারপ্যান্ট মাস্ক সেট করা থাকে। বাহ্যিক INT0 পিনের স্তর এবং প্রান্তগুলি যা বাধা সক্রিয় করে সেগুলি সংজ্ঞায়িত করা হয় টেবিল 9-2. INT0 পিনের মান হল sampপ্রান্ত সনাক্ত করার আগে নেতৃত্বে. যদি প্রান্ত বা টগল ইন্টারাপ্ট নির্বাচন করা হয়, এক ঘড়ির সময়ের চেয়ে বেশি সময় ধরে থাকা ডালগুলি একটি বিঘ্ন সৃষ্টি করবে। সংক্ষিপ্ত ডাল একটি বিঘ্ন উৎপন্ন নিশ্চিত করা হয় না. যদি নিম্ন স্তরের বিঘ্ন নির্বাচন করা হয়, তবে একটি বিঘ্ন তৈরি করার জন্য বর্তমানে কার্যকরী নির্দেশনা সম্পূর্ণ না হওয়া পর্যন্ত নিম্ন স্তরটি অবশ্যই ধরে রাখতে হবে।
টেবিল 9-2। ব্যাঘাত 0 ইন্দ্রিয় নিয়ন্ত্রণ
ISC01 | ISC00 | বর্ণনা |
0 | 0 | INT0 এর নিম্ন স্তরের একটি বিঘ্নিত অনুরোধ উত্পন্ন করে। |
0 | 1 | INT0 এ যে কোনও যৌক্তিক পরিবর্তন একটি বিঘ্নিত অনুরোধ উত্পন্ন করে। |
1 | 0 | INT0 এর পতনশীল প্রান্তটি একটি বাধা অনুরোধ উত্পন্ন করে। |
1 | 1 | INT0 এর ক্রমবর্ধমান প্রান্ত একটি বিঘ্নিত অনুরোধ উত্পন্ন করে। |
জিমসকে - সাধারণ বাধা মাস্ক রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3B | – | INT0 | PCIe | – | – | – | – | – | জিমসকে |
পড়ুন/লিখুন | R | R/W | R/W | R | R | R | R | R | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিটস 7, 4: 0 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 6 - INT0: বাহ্যিক বাধা অনুরোধ 0 সক্ষম করুন
যখন আইএনটি ০ বিট সেট করা হয় (এক) এবং স্ট্যাটাস রেজিস্টারে আই-বিট (এসআরইজি) সেট করা হয় (এক), বাহ্যিক পিন বিঘ্ন সক্ষম করা হয়। এমসিইউ কন্ট্রোল রেজিস্টারে (এমসিইউসিআর) ইন্টারপ্রেট সেনস কন্ট্রোল0 বিট 0/1 (আইএসসি0 এবং আইএসসি 01) বিএসটি নির্ধারণ করে যে INT00 পিনের উত্থিত এবং / অথবা পতন প্রান্তে বাহ্যিক বাধা সক্রিয় হয়েছে কিনা? পিনের ক্রিয়াকলাপ INT0 আউটপুট হিসাবে কনফিগার করা থাকলেও একটি বাধা অনুরোধ ঘটাবে। এক্সটারনাল ইন্টারপট রিকোয়েস্ট 0 এর সাথে সম্পর্কিত ইন্টারপেনটি INT0 ইন্টারপট ভেক্টর থেকে কার্যকর করা হয়।
বিট 5 - পিসিআইই: পিন পরিবর্তন বিঘ্ন সক্ষম করুন
যখন পিসিআইই বিট সেট করা হয় (এক) এবং স্ট্যাটাস রেজিস্টারে আই-বিট (এসআরইজি) সেট করা হয় (এক), পিন পরিবর্তন ইন্টারপ্ট সক্ষম করা হয়। যে কোনও সক্ষম পিসিআইএনটি [5: 0] পিনের যে কোনও পরিবর্তন বাধা সৃষ্টি করবে। পিন চেঞ্জ ইন্টারপেন রিকোয়েস্টের অনুরূপ ইন্টারপেট পিসিআই ইন্টারপেন ভেক্টর থেকে কার্যকর করা হয়। পিসিআইএনটি [৫: 5] পিনগুলি পৃথকভাবে পিসিএমএসকে0 রেজিস্টার দ্বারা সক্ষম করা হয়।
জিআইএফআর - সাধারণ বিঘ্নিত পতাকা নিবন্ধক
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3A | – | INTF0 | পিসিআইএফ | – | – | – | – | – | জিআইএফআর |
পড়ুন/লিখুন | R | R/W | R/W | R | R | R | R | R | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিটস 7, 4: 0 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 6 - INTF0: বাহ্যিক বাধা পতাকা 0
INT0 পিনে একটি প্রান্ত বা যুক্তি পরিবর্তন যখন একটি বাধা অনুরোধ ট্রিগার করে, INTF0 সেট হয়ে যায় (এক)। যদি এসইআরজি-তে আই-বিট এবং জিআইএমএসকে ইনট0 বিট সেট করা হয় (এক), এমসিইউ সংশ্লিষ্ট ইন্টারপ্রেট ভেক্টরটিতে ঝাঁপিয়ে দেবে। বাধা রুটিন কার্যকর করা হলে পতাকাটি সাফ হয়ে যায়। বিকল্পভাবে, পতাকাটি এটিতে একটি লজিকাল লিখে পরিষ্কার করা যাবে। এই পতাকাটি সর্বদা ক্লিয়ার করা হয় যখন INT0 স্তর বাধা হিসাবে কনফিগার করা থাকে।
বিট 5 - পিসিআইএফ: পিন পরিবর্তন বিঘ্নিত পতাকা
যে কোনও পিসিআইএনটি [5: 0] পিনে কোনও যুক্তি পরিবর্তিত হলে একটি বাধা অনুরোধ ট্রিগার করে, পিসিআইএফ সেট হয়ে যায় (এক)। এসআরজি-তে আই-বিট এবং জিমসকে পিসিআইই বিট সেট করা থাকলে (এক), এমসিইউ সংশ্লিষ্ট ইন্টারপ্রেট ভেক্টরটিতে ঝাঁপিয়ে দেবে। বাধা রুটিন কার্যকর করা হলে পতাকাটি সাফ হয়ে যায়। বিকল্পভাবে, পতাকাটি এটিতে একটি লজিকাল লিখে পরিষ্কার করা যাবে।
পিসিএমএসকে - পিন চেঞ্জ মাস্ক রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x15 | – | – | PCINT5 | PCINT4 | PCINT3 | PCINT2 | PCINT1 | PCINT0 | পিসিএমএসকে |
পড়ুন/লিখুন | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিটস 7: 6 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 5: 0 - পিসিআইএনটি [5: 0]: পিন পরিবর্তন মাস্ক 5: 0 সক্ষম করে
প্রতিটি পিসিআইএনটি [5: 0] বিট নির্বাচন করে যে আই / ও পিনের সাথে সম্পর্কিত পিন পরিবর্তন ইন্টারপ্ট সক্ষম করা আছে কিনা bit যদি পিসিআইএনটি [5: 0] সেট করা থাকে এবং জিআইএমএসকে পিসিআইই বিট সেট করা থাকে, তবে পিন চেঞ্জ ইন্টারপট সংশ্লিষ্ট আই / ও পিনটিতে সক্ষম করা হবে। যদি পিসিআইএনটি [5: 0] সাফ হয়ে যায়, তবে সম্পর্কিত আই / ও পিনের সাথে পিন পরিবর্তন অন্তরায় অক্ষম করা হবে is
I/O পোর্ট
ভূমিকা
সাধারণ ডিজিটাল I/O পোর্ট হিসাবে ব্যবহার করা হলে সমস্ত AVR পোর্টে সত্য পঠন-সংশোধন-লিখুন কার্যকারিতা থাকে। এর মানে হল যে একটি পোর্ট পিনের দিক পরিবর্তন করা যেতে পারে অনিচ্ছাকৃতভাবে SBI এবং CBI নির্দেশের সাথে অন্য কোনও পিনের দিক পরিবর্তন না করে। ড্রাইভের মান পরিবর্তন করা (যদি আউটপুট হিসাবে কনফিগার করা হয়) বা পুল-আপ প্রতিরোধক সক্ষম/নিষ্ক্রিয় করার সময় (যদি ইনপুট হিসাবে কনফিগার করা থাকে) একই কথা প্রযোজ্য। প্রতিটি আউটপুট বাফারের উচ্চ সিঙ্ক এবং উত্স ক্ষমতা উভয়ের সাথে প্রতিসম ড্রাইভ বৈশিষ্ট্য রয়েছে। পিন ড্রাইভার সরাসরি LED ডিসপ্লে চালানোর জন্য যথেষ্ট শক্তিশালী। সমস্ত পোর্ট পিনের সরবরাহ-ভোল সহ পৃথকভাবে নির্বাচনযোগ্য পুল-আপ প্রতিরোধক রয়েছেtagই অপরিবর্তনীয় প্রতিরোধ। সমস্ত I/O পিনে নির্দেশিত হিসাবে VCC এবং গ্রাউন্ড উভয়ের সুরক্ষা ডায়োড রয়েছে চিত্র 10-1. পড়ুন 161 পৃষ্ঠায় "বৈদ্যুতিক বৈশিষ্ট্য" পরামিতিগুলির একটি সম্পূর্ণ তালিকার জন্য।
চিত্র 10-1। I/O পিন সমতুল্য পরিকল্পিত
এই বিভাগে সমস্ত রেজিস্টার এবং বিট রেফারেন্স সাধারণ আকারে লেখা হয়। একটি ছোট কেস "x" পোর্টের জন্য সংখ্যাসূচক অক্ষরকে প্রতিনিধিত্ব করে এবং একটি ছোট কেস "n" বিট সংখ্যাকে প্রতিনিধিত্ব করে। যাইহোক, একটি প্রোগ্রামে রেজিস্টার বা বিট ডিফাইন ব্যবহার করার সময়, সঠিক ফর্মটি ব্যবহার করতে হবে। প্রাক্তনের জন্যample, PORTB3 বিট নং এর জন্য। পোর্ট বি তে 3, এখানে সাধারণত PORTxn হিসাবে নথিভুক্ত করা হয়েছে। প্রকৃত I/O নিবন্ধন এবং বিট অবস্থান তালিকাভুক্ত করা হয় "নিবন্ধের বিবরণ" চালু করুন পৃষ্ঠা 64.
প্রতিটি বন্দরের জন্য তিনটি আই / ও মেমরি ঠিকানা অবস্থানগুলি বরাদ্দ করা হয়, প্রতিটি রেজিস্টার - পিওআরটিএক্স, ডেটা নির্দেশিকা রেজিস্টার - ডিডিআরএক্স এবং পোর্ট ইনপুট পিনগুলি - পিনএক্সের জন্য একটি করে। পোর্ট ইনপুট পিনগুলি I / O অবস্থানটি কেবলমাত্র পঠিত হয়, যখন ডেটা রেজিস্টার এবং ডেটা নির্দেশিকা রেজিস্টারটি / পড়তে হয়। যাইহোক, পিনেক্স রেজিস্টারটিতে কিছুটা যুক্তি লেখার ফলে ডেটা রেজিস্ট্রে সংশ্লিষ্ট বিটটিতে একটি টগল হবে। তদ্ব্যতীত, পুল-আপ অক্ষম করুন - এমসিসিআরসি-তে PUD বিট সেট হয়ে গেলে সমস্ত পোর্টের সমস্ত পিনের জন্য পুল-আপ ফাংশনটি অক্ষম করে।
I / O বন্দরটি সাধারণ ডিজিটাল I / O হিসাবে বর্ণিত হয়েছে 53 পৃষ্ঠায় "জেনারেল ডিজিটাল আই / ও হিসাবে পোর্ট"। বেশিরভাগ বন্দর পিনগুলি ডিভাইসের পেরিফেরাল বৈশিষ্ট্যগুলির জন্য বিকল্প ফাংশনগুলির সাথে একাধিক সংযোগযুক্ত। প্রতিটি বিকল্প ফাংশন কীভাবে পোর্ট পিনের সাথে ইন্টারেয়ার করে তা বর্ণিত হয় 57 পৃষ্ঠায় "বিকল্প বন্দর কার্যাদি"। বিকল্প ফাংশনগুলির সম্পূর্ণ বিবরণের জন্য পৃথক মডিউল বিভাগগুলি দেখুন।
নোট করুন যে কয়েকটি বন্দর পিনের বিকল্প কার্যকারিতা সক্রিয় করা বন্দরের অন্যান্য পিনগুলির সাধারণ ডিজিটাল আই / ও হিসাবে প্রভাবিত করে না।
সাধারণ ডিজিটাল আই / ও হিসাবে পোর্টগুলি
পোর্টগুলি দ্বি-দিকনির্দেশক I / O পোর্টগুলি optionচ্ছিক অভ্যন্তরীণ পুল-আপগুলি সহ। চিত্র 10-2 এক I / O-Port পিনের কার্যকরী বর্ণনা দেখায়, এখানে সাধারণভাবে Pxn নামে পরিচিত।
চিত্র 10-2। সাধারণ ডিজিটাল I/O(1)
পিনটি কনফিগার করা হচ্ছে
প্রতিটি পোর্ট পিনে তিনটি রেজিস্টার বিট থাকে: ডিডিএক্সএন, পিওআরটিএক্সএন এবং পিনএক্সএন। যেমন দেখানো হয়েছে "নিবন্ধের বিবরণ" চালু করুন পৃষ্ঠা 64, ডিডিএক্সএন বিটগুলি ডিডিআরএক্স I / O ঠিকানায়, পোর্টটিএক্স I / O ঠিকানার পোর্টটিक्सন বিট এবং পিনএক্স আই / ও ঠিকানায় পিক্সন বিট অ্যাক্সেস করা হয়।
ডিডিআরএক্স নিবন্ধের ডিডিএক্সএন বিট এই পিনের দিকনির্দেশ নির্বাচন করে। যদি ডিডিএক্সএন যুক্তিযুক্ত এক লেখা হয়, Pxn একটি আউটপুট পিন হিসাবে কনফিগার করা হয়। ডিডিএক্সএন যদি লজিক শূন্য লেখা থাকে তবে Pxn একটি ইনপুট পিন হিসাবে কনফিগার করা থাকে।
পিনটি যখন ইনপুট পিন হিসাবে কনফিগার করা থাকে তখন PORTxn এ যুক্তিযুক্ত লিখিত হয়, টান আপ প্রতিরোধক সক্রিয় করা হয়। পুল-আপ রেজিস্টারটি স্যুইচ করতে, PORTxn লিখতে হবে লজিক শূন্য বা পিনকে আউটপুট পিন হিসাবে কনফিগার করতে হবে। পুনরায় সেট করার শর্তটি সক্রিয় হয়ে উঠলে পোর্ট পিনগুলি ত্রি-বর্ণিত হয়, এমনকি কোনও ঘড়ি না চললেও।
পিনটি যদি আউটপুট পিন হিসাবে কনফিগার করা হয় তখন পোর্টটক্সন যুক্তিযুক্ত লিখিত হয়, পোর্ট পিনটি উচ্চ (এক) চালিত হয়। যদি পোর্টটি আউটপুট পিন হিসাবে কনফিগার করা হয় তখন পোরটেক্সন যদি লজিক শূন্য লেখা থাকে, পোর্ট পিনটি কম (শূন্য) চালিত হয়।
পিনটি টগল করছে
পিনএক্সএন-তে একটি যুক্তি লিখলে ডিওআরএক্সএন-এর মানের তুলনায় পিওআরটিএক্সএন-এর মান টগল হয়। নোট করুন যে এসবিআই নির্দেশাবলী একটি বন্দরে একক বিট টগল করতে ব্যবহার করা যেতে পারে।
ইনপুট এবং আউটপুট মধ্যে স্যুইচিং
ট্রাই-স্টেট ({DDxn, PORTxn} = 0b00) এবং আউটপুট উচ্চ ({DDxn, PORTxn} = 0b11) মধ্যে স্যুইচ করার সময়, পুল-আপ সক্ষম {DDxn, PORTxn} = 0b01) বা কম আউটপুট সহ একটি ইন্টার-মিডিয়েট অবস্থা ({DDxn, PORTxn} = 0b10) ঘটতে হবে। সাধারণত, পুল-আপ সক্ষম অবস্থা সম্পূর্ণরূপে গ্রহণযোগ্য, কারণ একটি উচ্চ-প্রতিবন্ধক পরিবেশ একটি শক্তিশালী হাই ড্রাইভার এবং একটি পুল-আপের মধ্যে পার্থক্য লক্ষ্য করবে না। যদি এটি না হয়, MCUCR রেজিস্টারে PUD বিটটি সমস্ত পোর্টে সমস্ত পুল-আপ নিষ্ক্রিয় করতে সেট করা যেতে পারে৷
পুল-আপ এবং আউটপুট কম দিয়ে ইনপুটগুলির মধ্যে স্যুইচিং একই সমস্যা উত্পন্ন করে। ব্যবহারকারীকে মধ্যবর্তী পদক্ষেপ হিসাবে ত্রি-স্থিতি ({DDxn, PORTxn} = 0b00) বা আউটপুট হাই স্টেট ({DDxn, PORTxn} = 0b10) ব্যবহার করতে হবে।
টেবিল 10-1 পিন মান জন্য নিয়ন্ত্রণ সংকেত সংক্ষিপ্তসার।
টেবিল 10-1। পোর্ট পিন কনফিগারেশন
ডিডিএক্সএন | PORTxn | পিইউডি
(MCUCR এ) |
I/O | টান আপ | মন্তব্য করুন |
0 | 0 | X | ইনপুট | না | ত্রি-রাষ্ট্র (হাই-জেড) |
0 | 1 | 0 | ইনপুট | হ্যাঁ | এক্সটেনশন থাকলে পিএক্সএন বর্তমান উত্স দেবে। কম টান। |
0 | 1 | 1 | ইনপুট | না | ত্রি-রাষ্ট্র (হাই-জেড) |
1 | 0 | X | আউটপুট | না | আউটপুট কম (ডুবে) |
1 | 1 | X | আউটপুট | না | উচ্চ আউটপুট (উত্স) |
পিন মান পড়া
ডেটা ডাইরেকশন বিট ডিডিএক্সএন-এর সেটিং-এর স্বতন্ত্রভাবে, পিন পিনটি পিনএক্সএন রেজিস্টার বিটের মাধ্যমে পড়া যায়। যেমন দেখানো হয়েছে চিত্র 10-2, পিনেক্সন রেজিস্টার বিট এবং পূর্ববর্তী ল্যাচটি একটি সিঙ্ক্রোনাইজার গঠন করে। শারীরিক পিন যদি অভ্যন্তরীণ ঘড়ির প্রান্তের নিকটে মান পরিবর্তন করে তবে এটি मेटाস্টেটিবিলিটি এড়াতে প্রয়োজনীয়, তবে এটি বিলম্বেরও পরিচয় দেয়। চিত্র 10-3 বাহ্যিকভাবে প্রয়োগ করা পিন মান পড়ার সময় সিঙ্ক্রোনাইজেশনের একটি টাইমিং ডায়াগ্রাম দেখায়। সর্বাধিক এবং সর্বনিম্ন প্রচার বিলম্ব যথাক্রমে tpd, max এবং tpd,মিন দ্বারা চিহ্নিত করা হয়।
সিস্টেম ক্লকের প্রথম পতনের প্রান্তের খুব শীঘ্রই শুরু হওয়া ঘড়ির সময় বিবেচনা করুন। ঘড়ির কাঁটা যখন কম থাকে তখন ল্যাচটি বন্ধ থাকে এবং "এসআইএনসি ল্যাচ" সংকেতের ছায়াযুক্ত অঞ্চল দ্বারা নির্দেশিত হিসাবে, ঘড়িটি বেশি হলে স্বচ্ছ হয়। সিস্টেমের ঘড়ি যখন কম যায় তখন সিগন্যালের মানটি লেচ হয়। এটি সফল পজিটিভ ক্লক প্রান্তে পিনেক্সন রেজিস্টারে আটকানো হয়েছে। দুটি তীর টিপিডি, সর্বাধিক এবং টিপিডি, মিনিট দ্বারা নির্দেশিত হিসাবে, পিনের উপর একটি একক সংকেত স্থানান্তর দাবির সময় অনুসারে clock এবং 1½ সিস্টেম ঘড়ির সময়ের মধ্যে বিলম্বিত হবে।
নির্ধারিত একটি সফ্টওয়্যার পিন মানটি পড়ার সময়, কোনও নির্দেশনা নির্দেশিত হিসাবে সন্নিবেশ করাতে হবে চিত্র 10-4। আউট নির্দেশাবলী ঘড়ির ধনাত্মক প্রান্তে "SYNC LATCH" সংকেত সেট করে। এই ক্ষেত্রে, সিঙ্ক্রোনাইজারের মাধ্যমে বিলম্ব টিপিডি হ'ল একটি সিস্টেম ক্লক পিরিয়ড।
নিম্নলিখিত কোড প্রাক্তনample দেখায় কিভাবে পোর্ট B পিন 0 এবং 1 উচ্চ, 2 এবং 3 কম সেট করতে হয় এবং পোর্ট পিন 4-এ নির্ধারিত পুল-আপ দিয়ে ইনপুট হিসাবে 5 থেকে 4 পর্যন্ত পোর্ট পিনগুলিকে সংজ্ঞায়িত করতে হয়। ফলস্বরূপ পিনের মানগুলি আবার পড়া হয়, কিন্তু পূর্বে আলোচনা করা হয়েছে, কিছু পিনের জন্য সম্প্রতি বরাদ্দ করা মানটি পড়তে সক্ষম হওয়ার জন্য একটি নোপ নির্দেশ অন্তর্ভুক্ত করা হয়েছে।
অ্যাসেম্বলি কোড প্রাক্তনample(1) |
…
; পুল আপ সংজ্ঞায়িত করুন এবং উচ্চ আউটপুট সেট করুন ; পোর্ট পিনের জন্য দিকনির্দেশ নির্ধারণ করুন ldi r16,(1<<PB4)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) আউট PORTB,r16 DDRB, r17 আউট ; সিঙ্ক্রোনাইজেশনের জন্য নোপ ঢোকান না ; পোর্ট পিন পড়ুন R16, PINB-এ … |
দ্রষ্টব্য: সমাবেশ প্রোগ্রামের জন্য, দুটি অস্থায়ী রেজিস্টার ব্যবহার করা হয় পুল-আপ থেকে সময় কমাতে 0, 1 এবং 4 পিনগুলিতে সেট করা হয়, যতক্ষণ না দিক বিটগুলি সঠিকভাবে সেট করা হয়, বিট 2 এবং 3 কে কম হিসাবে সংজ্ঞায়িত করা হয় এবং বিট 0 এবং পুনরায় সংজ্ঞায়িত করা হয়। 1 শক্তিশালী উচ্চ ড্রাইভার হিসাবে.
C কোড Example |
স্বাক্ষরবিহীন চর i;
… /* পুল আপ সংজ্ঞায়িত করুন এবং উচ্চ আউটপুট সেট করুন */ /* পোর্ট পিনের জন্য দিকনির্দেশ সংজ্ঞায়িত করুন */ PORTB = (1< DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* সিঙ্ক্রোনাইজেশনের জন্য নোপ ঢোকান*/ _নিওপ (); /* পোর্ট পিন পড়ুন */ i = PINB; … |
ডিজিটাল ইনপুট সক্ষম এবং ঘুমের মোডগুলি
যেমন দেখানো হয়েছে চিত্র 10-2, ডিজিটাল ইনপুট সংকেত cl হতে পারেampschmitt-ট্রিগারের ইনপুট এ ed থেকে গ্রাউন্ড করুন। চিত্রে SLEEP নির্দেশিত সংকেতটি MCU স্লিপ কন্ট্রোলার দ্বারা পাওয়ার-ডাউন মোডে সেট করা হয়েছে যদি কিছু ইনপুট সিগন্যাল ভাসমান থাকে বা VCC/2 এর কাছাকাছি একটি এনালগ সংকেত স্তর থাকে তবে উচ্চ শক্তি খরচ এড়াতে।
বহিরাগত বিঘ্নিত পিন হিসাবে সক্ষম পোর্ট পিনগুলির জন্য স্লিপকে ওভাররাইড করা হয়। যদি বাহ্যিক বিঘ্নিত অনুরোধটি সক্ষম না করা হয় তবে স্লিপ এই পিনগুলির জন্যও সক্রিয়। স্লাইপও বর্ণিত হিসাবে বিভিন্ন অন্যান্য বিকল্প ফাংশন দ্বারা ওভাররাইড করা হয় 57 পৃষ্ঠায় "বিকল্প বন্দর কার্যাদি".
যদি একটি লজিক উচ্চ স্তরের ("এক") একটি অ্যাসিঙ্ক্রোনাস এক্সটার্নাল ইন্টারাপ্ট পিনে উপস্থিত থাকে যা "ইন্টারপ্ট অন রাইজিং এজ, ফলিং এজ, বা পিনে যেকোন লজিক চেঞ্জ" হিসাবে কনফিগার করা থাকে যখন এক্সটার্নাল ইন্টারাপ্ট সক্রিয় না থাকে, তাহলে সংশ্লিষ্ট এক্সটার্নাল ইন্টারাপ্ট ফ্ল্যাগ হবে উপরে উল্লিখিত স্লিপ মোড থেকে পুনরায় শুরু করার সময় সেট করা হবে, cl হিসাবেampএই স্লিপ মোডে থাকা অনুরোধকৃত লজিক পরিবর্তন তৈরি করে।
সংযুক্ত পিনস
কিছু পিন যদি অব্যবহৃত থাকে তবে এই পিনগুলির একটি নির্ধারিত স্তর আছে কিনা তা নিশ্চিত করার পরামর্শ দেওয়া হয়। যদিও উপরে বর্ণিত হিসাবে গভীর ঘুমের মোডে বেশিরভাগ ডিজিটাল ইনপুটগুলি অক্ষম করা আছে, অন্য সব মোডে যেখানে ডিজিটাল ইনপুটগুলি সক্ষম (রিসেট, অ্যাক্টিভ মোড এবং আইডল মোড) তে বর্তমান ব্যবহার হ্রাস করতে ভাসমান ইনপুটগুলি এড়ানো উচিত।
একটি অব্যবহৃত পিনের একটি সংজ্ঞায়িত স্তর নিশ্চিত করার সবচেয়ে সহজ পদ্ধতি হল অভ্যন্তরীণ পুল-আপ সক্ষম করা। এই ক্ষেত্রে, পুল-আপ রিসেট করার সময় নিষ্ক্রিয় করা হবে। যদি রিসেট করার সময় কম বিদ্যুতের ব্যবহার গুরুত্বপূর্ণ হয়, তবে এটি একটি বহিরাগত পুল-আপ বা পুলডাউন ব্যবহার করার পরামর্শ দেওয়া হয়। অব্যবহৃত পিনগুলিকে সরাসরি VCC বা GND-এর সাথে সংযুক্ত করার পরামর্শ দেওয়া হয় না, যেহেতু পিনটি ভুলবশত একটি আউটপুট হিসাবে কনফিগার করা হলে এটি অতিরিক্ত স্রোত সৃষ্টি করতে পারে।
বিকল্প বন্দর ফাংশন
বেশিরভাগ বন্দর পিনের সাধারণ ডিজিটাল আই / ওএস ছাড়াও বিকল্প ফাংশন রয়েছে। চিত্র 10-5 কীভাবে সরলীকৃত থেকে পোর্ট পিন নিয়ন্ত্রণ সংকেত দেখায় shows চিত্র 10-2 বিকল্প ফাংশন দ্বারা ওভাররাইড করা যেতে পারে। ওভাররাইডিং সংকেতগুলি সমস্ত বন্দর পিনগুলিতে উপস্থিত নাও হতে পারে, তবে চিত্রটি এভিআর মাইক্রোকন্ট্রোলার পরিবারে সমস্ত বন্দর পিনের ক্ষেত্রে প্রযোজ্য জেনেরিক বিবরণ হিসাবে কাজ করে।
টেবিল 10-2। বিকল্প ফাংশনের জন্য ওভাররাইডিং সিগন্যালের জেনেরিক বর্ণনা
সংকেত নাম | পুরো নাম | বর্ণনা |
পু | পুল-আপ ওভাররাইড সক্ষম করুন | যদি এই সিগন্যালটি সেট করা থাকে তবে পুল-আপ সক্ষমটি PUOV সংকেত দ্বারা নিয়ন্ত্রিত হয়। যদি এই সিগন্যালটি সাফ হয়ে যায়, যখন টান আপ সক্ষম হয়
{ডিডিএক্সএন, পিওআরটিএক্সএন, পিইউডি} = 0 বি010। |
পিওওভ | ওভাররাইড মানটি টানুন | যদি PUOE সেট করা থাকে, ডিডিএক্সএন, পিওআরটিএক্সএন এবং পিইউডি রেজিস্টার বিট নির্বিশেষে PUOV সেট / সাফ হয়ে গেলে পুল-আপ সক্ষম / অক্ষম করা হয়। |
ডিডিওএ | ডেটা নির্দেশিকা ওভাররাইড সক্ষম করুন | যদি এই সিগন্যালটি সেট করা থাকে তবে আউটপুট ড্রাইভার সক্ষম ডিডিওভি সংকেত দ্বারা নিয়ন্ত্রিত হয়। যদি এই সিগন্যালটি সাফ হয়ে যায় তবে আউটপুট ড্রাইভার ডিডিএক্সএন রেজিস্টার বিট দ্বারা সক্ষম হয়। |
ডিডিওভ | ডেটা দিকনির্দেশ ওভাররাইড মান | ডিডিওএটি সেট করা থাকলে ডিডিএক্সএন রেজিস্টার বিটের সেটিংস নির্বিশেষে ডিডিওভি সেট / ক্লিয়ার হয়ে গেলে আউটপুট ড্রাইভার সক্ষম / অক্ষম থাকে is |
পিভিওই | পোর্ট মান ওভাররাইড সক্ষম করুন | যদি এই সিগন্যালটি সেট করা থাকে এবং আউটপুট ড্রাইভার সক্ষম করা থাকে তবে পোর্ট মান PVOV সংকেত দ্বারা নিয়ন্ত্রিত হয়। যদি PVOE সাফ হয়ে যায়, এবং আউটপুট ড্রাইভার সক্ষম হয়, পোর্ট মান PORTxn রেজিস্টার বিট দ্বারা নিয়ন্ত্রণ করা হয়। |
পিভিওভি | পোর্ট মান ওভাররাইড মান | PVOE সেট করা থাকলে পোর্ট মান PVOV এ সেট করা থাকে, PORTxn রেজিস্টার বিটের সেটিংস নির্বিশেষে। |
পিটিওই | পোর্ট টগল ওভাররাইড সক্ষম করুন | যদি পিটিওই সেট করা থাকে তবে পোর্টটিक्सন রেজিস্টার বিটটি উল্টানো হবে। |
ডিআইওইও | ডিজিটাল ইনপুট সক্ষম ওভাররাইড সক্ষম করুন | যদি এই বিটটি সেট করা থাকে, ডিজিটাল ইনপুট সক্ষমটি ডিআইআইওভি সিগন্যাল দ্বারা নিয়ন্ত্রিত হয়। যদি এই সংকেতটি সাফ হয়ে যায়, ডিজিটাল ইনপুট সক্ষমটি এমসিইউ রাষ্ট্রের (সাধারণ মোড, স্লিপ মোড) দ্বারা নির্ধারিত হয়। |
ডিআইইওভিও | ডিজিটাল ইনপুট ওভাররাইড মান সক্ষম করে | যদি ডিআইআইওই সেট করা থাকে, এমসিইউ রাষ্ট্রের (সাধারণ মোড, স্লিপ মোড) নির্বিশেষে ডিজিটাল ইনপুট সক্ষম / অক্ষম থাকে যখন ডিআইইওভি সেট / ক্লিয়ার হয়। |
DI | ডিজিটাল ইনপুট | এটি বিকল্প ফাংশনগুলির জন্য ডিজিটাল ইনপুট। চিত্রটিতে, সিগন্যালটি স্কিমিট-ট্রিগারের আউটপুটটির সাথে সংযুক্ত তবে সিঙ্ক্রোনাইজারের আগে। ডিজিটাল ইনপুটটিকে ক্লক সোর্স হিসাবে ব্যবহার না করা হলে বিকল্প ফাংশন সহ মডিউলটি তার নিজস্ব সিঙ্ক্রোনাইজার ব্যবহার করবে। |
AIO | অ্যানালগ ইনপুট / আউটপুট | এটি বিকল্প ফাংশন থেকে / থেকে এনালগ ইনপুট / আউটপুট। সিগন্যালটি সরাসরি প্যাডের সাথে সংযুক্ত থাকে এবং দ্বি-দিক থেকে ব্যবহার করা যায়। |
নীচের বিভাগগুলি শীঘ্রই প্রতিটি বন্দরের বিকল্প ফাংশন বর্ণনা করে এবং বিকল্প ফাংশনটিতে ওভাররাইডিং সিগন্যালগুলি সম্পর্কিত করে। আরও তথ্যের জন্য বিকল্প ফাংশন বিবরণ পড়ুন।
পোর্ট বি এর বিকল্প কার্যাদি
বিকল্প ফাংশন সহ পোর্ট বি পিনগুলি এতে দেখানো হয়েছে টেবিল 10-3.
টেবিল 10-3। পোর্ট বি পিন বিকল্প ফাংশন
পোর্ট পিন | বিকল্প ফাংশন |
PB5 | ![]() রিসেট: পিনটি রিসেট করুন dW: debugWIRE I / O ADC0: ADC ইনপুট চ্যানেল 0 পিসিআইএনটি 5: পিন পরিবর্তন বিঘ্নিত, উত্স 5 |
PB4 | এক্সটিএল 2: ক্রিস্টাল অসিলেটর আউটপুট সিএলকেও: সিস্টেম ক্লক আউটপুট এডিসি 2: এডিসি ইনপুট চ্যানেল 2
ওসি 1 বি: টাইমার / কাউন্টার 1 টি ম্যাচ বি আউটপুট পিসিআইএনটি 4 এর সাথে তুলনা করুন: পিন পরিবর্তন বিঘ্নিত 0, উত্স 4 |
PB3 | XTAL1: ক্রিস্টাল অসিলেটর ইনপুট CLKI: এক্সটার্নাল ক্লক ইনপুট ADC3: ADC ইনপুট চ্যানেল 3
ওসি 1 বি: পরিপূরক টাইমার / কাউন্টার 1 টি তুলনা করুন ম্যাচ বি আউটপুট পিসিআইএনটি 3: পিন চেঞ্জ ইন্টারপট 0, উত্স 3 |
PB2 | এসসিকে: সিরিয়াল ক্লক ইনপুট এডিসি 1: এডিসি ইনপুট চ্যানেল 1
T0: টাইমার / কাউন্টার 0 ঘড়ির উত্স ইউএসসিকে: ইউএসআই ক্লক (থ্রি ওয়্যার মোড) এসসিএল: ইউএসআই ক্লক (দুটি তারের মোড) আইএনটি 0: বহিরাগত বাধা 0 ইনপুট পিসিএনটি 2: পিন পরিবর্তন ইন্টারপ্রেট 0, উত্স 2 |
PB1 | মিজো: এসপিআই মাস্টার ডেটা ইনপুট / স্লেভ ডেটা আউটপুট এআইএন 1: অ্যানালগ তুলক, নেতিবাচক ইনপুট ওসি 0 বি: টাইমার / কাউন্টার 0 তুলনা ম্যাচ বি আউটপুট ওসি 1 এ: টাইমার / কাউন্টার 1 ম্যাচের সাথে আউটপুট তুলনা করুন: ইউএসআই ডেটা আউটপুট (থ্রি ওয়্যার মোড) পিসিআইএনটি 1: পিন পরিবর্তন 0, উত্স 1 |
PB0 | মোসি :: এসপিআই মাস্টার ডেটা আউটপুট / স্লেভ ডেটা ইনপুট এআইএন0: অ্যানালগ তুলনামূলক, ধনাত্মক ইনপুট
OC0A: টাইমার/কাউন্টার0 তুলনা করুন ম্যাচ A আউটপুট ওসি 1 এ: পরিপূরক টাইমার / কাউন্টার 1 ম্যাচের সাথে তুলনা করুন আউটপুট ডিআই: ইউএসআই ডেটা ইনপুট (থ্রি ওয়্যার মোড) এসডিএ: ইউএসআই ডেটা ইনপুট (দুটি তারের মোড) আরআরএফ: বাহ্যিক অ্যানালগ রেফারেন্স পিসিআইএনটি 0: পিন পরিবর্তন বিঘ্নিত 0, উত্স 0 |
পোর্ট বি, বিট 5 - রিসেট / ডিডাব্লু / এডিসি 0 / পিসিআইএনটি 5
রিসেট: বাহ্যিক রিসেট ইনপুটটি সক্রিয় নিম্ন এবং আরএসডিডিআইএসবিএল ফিউজকে আন-প্রোগ্রামিং ("1") দ্বারা সক্রিয় করা হয়েছে। পুলআপ সক্রিয় করা হয় এবং পিনটি যখন রিসেট পিন হিসাবে ব্যবহৃত হয় তখন আউটপুট ড্রাইভার এবং ডিজিটাল ইনপুট নিষ্ক্রিয় হয়।
dW: যখন ডিবাগওয়াইআর সক্ষম (DWEN) ফিউজ প্রোগ্রাম করা হয় এবং লক বিটগুলি অপরিকল্পিত হয়, লক্ষ্য ডিভাইসের মধ্যে ডিবাগওয়াইআর সিস্টেম সক্রিয় করা হয়। রিসেট পোর্ট পিনটি ওয়্যার-ওআর (ওপেন ড্রেন) দ্বি-দিকনির্দেশক আই / ও পিন হিসাবে পুল-আপ সক্ষম সহ কনফিগার করা হয়েছে এবং লক্ষ্য এবং এমুলেটারের মধ্যে যোগাযোগের প্রবেশদ্বারে পরিণত হয়।
ADC0: এনালগ থেকে ডিজিটাল কনভার্টার, চ্যানেল 0।
পিসিআইএনটি 5: পিন পরিবর্তন ইন্টারপট উত্স 5।
বন্দর বি, বিট 4 - এক্সটিএল 2 / সিএলকেও / এডিসি 2 / ওসি 1 বি / পিসিএনটি 4
এক্সটিএল 2: চিপ ক্লক অসিলেটর পিন 2 অভ্যন্তরীণ ক্যালিবিটেবল আরসি অসিলেটর এবং বহিরাগত ঘড়ি বাদে সমস্ত চিপ ক্লক উত্সের জন্য ক্লক পিন হিসাবে ব্যবহৃত। যখন ঘড়ি পিন হিসাবে ব্যবহৃত হয়, তখন পিনটি আই / ও পিন হিসাবে ব্যবহার করা যায় না। চিপ ক্লক উত্স হিসাবে অভ্যন্তরীণ ক্যালিবিটেবল আরসি অসিলেটর বা বহিরাগত ঘড়ি ব্যবহার করার সময়, পিবি 4 একটি সাধারণ আই / ও পিন হিসাবে পরিবেশন করে।
সিএলকেও: ডিভাইডেড সিস্টেম ক্লকটি পিন পিবি 4 এ আউটপুট হতে পারে। PKTB4 এবং DDB4 সেটিংস নির্বিশেষে CKOUT ফিউজ প্রোগ্রাম করা থাকলে বিভক্ত সিস্টেমের ঘড়িটি আউটপুট হবে। এটি পুনরায় সেট করার সময় আউটপুটও হবে।
ADC2: এনালগ থেকে ডিজিটাল কনভার্টার, চ্যানেল 2।
ওসি 1 বি: আউটপুট ম্যাচ আউটপুট তুলনা করুন: আউটপুট (ডিডিবি 4 সেট) হিসাবে কনফিগার করার সময় পিবি 1 পিনটি টাইমার / কাউন্টার 4 এর সাথে বাইরের আউটপুট হিসাবে পরিবেশন করতে পারে D ওসি 1 বি পিনটিও পিডব্লিউএম মোড টাইমার ফাংশনের আউটপুট পিন।
পিসিআইএনটি 4: পিন পরিবর্তন ইন্টারপট উত্স 4।
বন্দর বি, বিট 3 - এক্সটিএল 1 / সিএলকিআই / এডিসি 3 / ওসি 1 বি / পিসিএনটি 3
এক্সটিএল 1: চিপ ক্লক অসিলেটর পিন 1. অভ্যন্তরীণ ক্যালিব্রেটেবল আরসি অসিলেটর ব্যতীত সমস্ত চিপ ক্লক উত্সগুলির জন্য ব্যবহৃত। যখন ঘড়ি পিন হিসাবে ব্যবহৃত হয়, তখন পিনটি আই / ও পিন হিসাবে ব্যবহার করা যায় না।
সিএলকিআই: একটি বাহ্যিক ক্লক উত্স থেকে ঘড়ি ইনপুট, দেখুন 26 পৃষ্ঠায় "বাহ্যিক ঘড়ি".
ADC3: এনালগ থেকে ডিজিটাল কনভার্টার, চ্যানেল 3।
ওসি 1 বি: ইনভার্টেড আউটপুট ম্যাচের আউটপুট তুলনা করুন: আউটপুট (ডিডিবি 3 সেট) হিসাবে কনফিগার করার সময় পিবি 1 পিনটি টাইমার / কাউন্টার 3 এর সাথে ম্যাচ বিয়ের তুলনা করে বাইরের আউটপুট হিসাবে পরিবেশন করতে পারে। ওসি 1 বি পিনটি পিডাব্লুএম মোড টাইমার ফাংশনের জন্য উল্টানো আউটপুট পিনও।
পিসিআইএনটি 3: পিন পরিবর্তন ইন্টারপট উত্স 3।
বন্দর বি, বিট 2 - এসসিকে / এডিসি 1 / টি 0 / ইউএসসিকে / এসসিএল / আইএনটি 0 / পিসিএনটি 2
এস কে কে: মাস্টার ক্লক আউটপুট, এসপিআই চ্যানেলের জন্য স্লেভ ক্লক ইনপুট পিন। এসপিআই যখন স্লেভ হিসাবে সক্ষম হয়, তখন এই পিনটি ডিডিবি 2 এর সেটিং নির্বিশেষে একটি ইনপুট হিসাবে কনফিগার করা হয়। এসপিআই যখন মাস্টার হিসাবে সক্ষম হয়, তখন এই পিনের ডেটা দিকনির্দেশনা ডিডিপিবি 2 দ্বারা নিয়ন্ত্রিত হয়। যখন এসপিআই দ্বারা পিনকে একটি ইনপুট হতে বাধ্য করা হয়, তখনও পুল-আপটি পোর্টটিবি 2 বিট দ্বারা নিয়ন্ত্রণ করা যায়।
ADC1: এনালগ থেকে ডিজিটাল কনভার্টার, চ্যানেল 1।
টি0: টাইমার / কাউন্টার 0 কাউন্টার উত্স।
ইউএসসিকে: থ্রি-ওয়্যার মোড ইউনিভার্সাল সিরিয়াল ইন্টারফেস ক্লক।
এসসিএল: ইউএসআই টু-ওয়্যার মোডের জন্য টু-ওয়্যার মোড সিরিয়াল ক্লক।
INT0: বাহ্যিক বাধা উত্স 0।
পিসিআইএনটি 2: পিন পরিবর্তন ইন্টারপট উত্স 2।
বন্দর বি, বিট 1 - এমআইএসও / এআইএন 1 / ওসি 0 বি / ওসি 1 এ / ডিও / পিসিআইএনটি 1
মিসো: এসপিআই চ্যানেলের জন্য মাস্টার ডেটা ইনপুট, স্লেভ ডেটা আউটপুট পিন। এসপিআই যখন মাস্টার হিসাবে সক্ষম হয় তখন এই পিনটি ডিডিবি 1 এর সেটিং নির্বিশেষে একটি ইনপুট হিসাবে কনফিগার করা হয়। এসপিআই যখন স্লেভ হিসাবে সক্ষম হয়, তখন এই পিনের ডেটা দিকনির্দেশনা ডিডিবি 1 দ্বারা নিয়ন্ত্রিত হয়। যখন এসপিআই দ্বারা পিনকে একটি ইনপুট হতে বাধ্য করা হয়, তখনও পুল-আপটি পোর্টবি 1 বিট দ্বারা নিয়ন্ত্রণ করা যায়।
এআইএন 1: অ্যানালগ তুলনামূলক নেতিবাচক ইনপুট। ডিজিটাল পোর্ট ফাংশনটি অ্যানালগ তুলকটির কার্যক্রমে হস্তক্ষেপ থেকে বাঁচতে অভ্যন্তরীণ পুল-আপ স্যুইচড দিয়ে পোর্ট পিনটি ইনপুট হিসাবে কনফিগার করুন।
OC0B: আউটপুট ম্যাচ আউটপুট তুলনা। পিবি 1 পিনটি টাইমার / কাউন্টার 0 তুলনা ম্যাচের জন্য একটি বাহ্যিক আউটপুট হিসাবে পরিবেশন করতে পারে বি ফাংশনটি পরিবেশন করার জন্য পিবি 1 পিনটি আউটপুট (ডিডিবি 1 সেট (এক)) হিসাবে কনফিগার করতে হবে। OC0B পিনটি PWM মোড টাইমার ফাংশনের জন্য আউটপুট পিন।
ওসি 1 এ: আউটপুট ম্যাচ আউটপুট তুলনা করুন: আউটপুট (ডিডিবি 1 সেট) হিসাবে কনফিগার করার সময় পিবি 1 পিনটি টাইমার / কাউন্টার 1 এর সাথে তুলনা ম্যাচ বিয়ের জন্য একটি বাহ্যিক আউটপুট হিসাবে পরিবেশন করতে পারে। ওসি 1 এ পিন হ'ল পিডাব্লুএম মোড টাইমার ফাংশনের আউটপুট পিন।
করুন: থ্রি-ওয়্যার মোড ইউনিভার্সাল সিরিয়াল ইন্টারফেস ডেটা আউটপুট। থ্রি-ওয়্যার মোড ডেটা আউটপুট PORTB1 মানকে ওভাররাইড করে এবং যখন ডেটার দিকনির্দেশ বিট ডিডিবি 1 সেট করা হয় তখন এটি বন্দরে চালিত হয় one দিকটি ইনপুট থাকলে এবং পোর্টবি 1 সেট (এক) থাকলে PORTB1 এখনও টান আপ সক্ষম করে।
পিসিআইএনটি 1: পিন পরিবর্তন ইন্টারপট উত্স 1।
বন্দর বি, বিট 0 - মোসি / এআইএন 0 / ওসি 0 এ / ওসি 1 এ / ডিআই / এসডিএ / এআরএফ / পিসিআইএনটি 0
মোসি: এসপিআই মাস্টার ডেটা আউটপুট, এসপিআই চ্যানেলের জন্য স্লেভ ডেটা ইনপুট। এসপিআই যখন স্লেভ হিসাবে সক্ষম হয়, তখন এই পিনটি ডিডিবি 0 এর সেটিং নির্বিশেষে একটি ইনপুট হিসাবে কনফিগার করা হয়। এসপিআই যখন মাস্টার হিসাবে সক্ষম হয় তখন এই পিনের ডেটা দিকনির্দেশনা ডিডিবি0 দ্বারা নিয়ন্ত্রিত হয়। যখন এসপিআই দ্বারা পিনকে একটি ইনপুট হতে বাধ্য করা হয়, তখনও পুল-আপটি PORTB0 বিট দ্বারা নিয়ন্ত্রণ করা যায়।
AIN0: অ্যানালগ তুলনামূলক ইতিবাচক ইনপুট। ডিজিটাল পোর্ট ফাংশনটি অ্যানালগ তুলকটির কার্যক্রমে হস্তক্ষেপ থেকে বাঁচতে অভ্যন্তরীণ পুল-আপ স্যুইচড দিয়ে পোর্ট পিনটি ইনপুট হিসাবে কনফিগার করুন।
OC0A: আউটপুট ম্যাচ আউটপুট তুলনা। আউটপুট (ডিডিবি0 সেট (এক)) হিসাবে কনফিগার করা হলে পিবি0 পিনটি টাইমার / কাউন্টার 0 এর সাথে তুলনা ম্যাচের জন্য একটি বাহ্যিক আউটপুট হিসাবে পরিবেশন করতে পারে। OC0A পিনটি PWM মোড টাইমার ফাংশনের জন্য আউটপুট পিন।
ওসি 1 এ: ইনভার্টেড আউটপুট ম্যাচের আউটপুট তুলনা করুন: আউটপুট (ডিডিবি0 সেট) হিসাবে কনফিগার করার সময় পিবি1 পিনটি টাইমার / কাউন্টার 0 এর সাথে ম্যাচ বি তুলনা করতে বাহ্যিক আউটপুট হিসাবে পরিবেশন করতে পারে। ওসি 1 এ পিন হ'ল পিডাব্লুএম মোড টাইমার ফাংশনের জন্য উল্টানো আউটপুট পিন।
এসডিএ: টু-ওয়্যার মোড সিরিয়াল ইন্টারফেস ডেটা।
AREF: ADC-এর জন্য বাহ্যিক এনালগ রেফারেন্স। PB0 তে পুলআপ এবং আউটপুট ড্রাইভার অক্ষম করা হয় যখন পিনটি বাহ্যিক রেফারেন্স বা অভ্যন্তরীণ ভলিউম হিসাবে ব্যবহার করা হয়tage AREF পিনে বাহ্যিক ক্যাপাসিটরের সাথে রেফারেন্স।
ডিআই: ইউএসআই থ্রি-ওয়্যার মোডে ডেটা ইনপুট। ইউএসআই থ্রি-ওয়্যার মোড সাধারণ পোর্ট ফাংশনগুলিকে ওভাররাইড করে না, তাই ডিআই ফাংশনের জন্য ইনপুট হিসাবে পিনটি কনফিগার করতে হবে।
পিসিআইএনটি 0: পিন পরিবর্তন ইন্টারপট উত্স 0।
টেবিল 10-4 এবং টেবিল 10-5 পোর্ট বি এর বিকল্প ফাংশনগুলিকে দেখানো ওভাররাইডিং সিগন্যালের সাথে সম্পর্কিত করুন চিত্র 10-5 অন পৃষ্ঠা 58.
টেবিল 10-4। PB-তে বিকল্প ফাংশনের জন্য ওভাররাইডিং সংকেত[5:3]
সংকেত নাম | পিবি 5 / রিসেট / এডিসি 0 / পিসিআইএনটি 5 | PB4/ADC2/XTAL2/ OC1B/PCINT4 | PB3/ADC3/XTAL1/ OC1B/PCINT3 |
পু | ![]() |
0 | 0 |
পিওওভ | 1 | 0 | 0 |
ডিডিওএ | আরএসটিডিআইএসবিএল(1) W দ্বি(1) | 0 | 0 |
ডিডিওভ | ডিবাগওয়্যার ট্রান্সমিট | 0 | 0 |
পিভিওই | 0 | ওসি 1 বি সক্ষম করুন | ![]() ওসি 1 বি সক্ষম করুন |
পিভিওভি | 0 | ওসি 1 বি | ওসি 1 বি |
পিটিওই | 0 | 0 | 0 |
ডিআইওইও | ![]() আরএসটিডিআইএসবিএল(1) + (PCINT5 • PCIE + ADC0D) |
PCINT4 • PCIE + ADC2D | PCINT3 • PCIE + ADC3D |
ডিআইইওভিও | ADC0D | ADC2D | ADC3D |
DI | পিসিআইএনটি 5 ইনপুট | পিসিআইএনটি 4 ইনপুট | পিসিআইএনটি 3 ইনপুট |
AIO | রিসেট ইনপুট, এডিসি 0 ইনপুট | এডিসি 2 ইনপুট | এডিসি 3 ইনপুট |
দ্রষ্টব্য: যখন ফিউজ "0" হয় (প্রোগ্রামড)।
টেবিল 10-5। PB-তে বিকল্প ফাংশনের জন্য ওভাররাইডিং সংকেত[2:0]
সংকেত নাম | PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 | PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 | PB0/MOSI/DI/SDA/AIN0/AR EF/OC1A/OC0A/
PCINT0 |
পু | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
পিওওভ | 0 | 0 | 0 |
ডিডিওএ | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
ডিডিওভ | (USI_SCL_HOLD + PORTB2) • DDB2 | 0 | ![]() ![]() (এসডিএ + পোর্টবি 0) • ডিডিবি 0 |
পিভিওই | USI_TWO_WIRE • DDB2 | OC0B সক্ষম করুন + OC1A সক্ষম করুন + USI_THREE_WIRE | ![]() OC0A সক্ষম করুন + OC1A সক্ষম করুন + (USI_TWO_WIRE DDB0) |
পিভিওভি | 0 | OC0B + OC1A + ডিও | ![]() OC0A + OC1A |
পিটিওই | ইউএসআইটিসি | 0 | 0 |
ডিআইওইও | PCINT2 • PCIE + ADC1D + USISIE E | PCINT1 • PCIE + AIN1D | PCINT0 • PCIE + AIN0D + USISIE |
ডিআইইওভিও | ADC1D | এআইএন 1 ডি | এআইএন 0 ডি |
DI | টি 0 / ইউএসসিকে / এসসিএল / আইএনটি 0 /
পিসিআইএনটি 2 ইনপুট |
পিসিআইএনটি 1 ইনপুট | ডিআই / এসডিএ / পিসিআইএনটি 0 ইনপুট |
AIO | এডিসি 1 ইনপুট | অ্যানালগ তুলক নেতিবাচক ইনপুট | অ্যানালগ তুলক ইতিবাচক ইনপুট |
বিবরণ নিবন্ধন করুন
এমসিইউসিআর - এমসিইউ নিয়ন্ত্রণ রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | বিওডিএস | পিইউডি | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | এমসিইউসিআর |
পড়ুন/লিখুন | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
বিট 6 - পিইউডি: পুল-আপ অক্ষম
এই বিটটি যখন একটিতে লেখা হয়, আই / ও পোর্টগুলিতে টানা-আপগুলি অক্ষম করে দেওয়া হয় এমনকি ডিডিএক্সএন এবং পোর্টটিक्सন রেজিস্টারগুলি পুল-আপগুলি সক্ষম করার জন্য কনফিগার করা থাকে ({DDxn, PORTxn} = 0b01)। দেখা 54 পৃষ্ঠায় "পিনটি কনফিগার করা" এই বৈশিষ্ট্য সম্পর্কে আরও বিশদ জন্য।
পোর্টটিবি - পোর্ট বি ডেটা রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x18 | – | – | পোর্টবি 5 | পোর্টবি 4 | পোর্টবি 3 | পোর্টবি 2 | পোর্টবি 1 | পোর্টবি 0 | পোর্টটিবি |
পড়ুন/লিখুন | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ডিডিআরবি - পোর্ট বি ডেটা দিকনির্দেশ রেজিস্টার
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x17 | – | – | ডিডিবি 5 | ডিডিবি 4 | ডিডিবি 3 | ডিডিবি 2 | ডিডিবি 1 | ডিডিবি 0 | ডিডিআরবি |
পড়ুন/লিখুন | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
পিনবি - পোর্ট বি ইনপুট পিনের ঠিকানা
বিট | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x16 | – | – | পিনবি 5 | পিনবি 4 | পিনবি 3 | পিনবি 2 | পিনবি 1 | পিনবি 0 | পিনবি |
পড়ুন/লিখুন | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
প্রাথমিক মান | 0 | 0 | N/A | N/A | N/A | N/A | N/A | N/A |
8-বিট টাইমার / কাউন্টার 0 পিডব্লিউএম এর সাথে
বৈশিষ্ট্য
দুটি স্বতন্ত্র আউটপুট ইউনিট তুলনা করুন
ডাবল বাফার আউটপুট নিবন্ধগুলির সাথে তুলনা করুন
তুলনা ম্যাচে টাইমার সাফ করুন (অটো রিলোড)
গ্লাইচ ফ্রি, ধাপের সঠিক পালস প্রস্থ মডুলার (পিডাব্লুএমএম)
পরিবর্তনশীল পিডাব্লুএম পিরিয়ড
ফ্রিকোয়েন্সি জেনারেটর
তিনটি স্বতন্ত্র বাধা উত্স (TOV0, OCF0A, এবং OCF0B)
ওভারview
টাইমার / কাউন্টার 0 একটি সাধারণ উদ্দেশ্য 8-বিট টাইমার / কাউন্টার মডিউল, দুটি স্বতন্ত্র আউটপুট তুলনা ইউনিট এবং পিডব্লিউএম সমর্থন সহ। এটি সঠিক প্রোগ্রাম কার্যকর করার সময় (ইভেন্ট ম্যানেজমেন্ট) এবং তরঙ্গ উত্পাদনের অনুমতি দেয়।
8-বিট টাইমার / কাউন্টারের সরলিকৃত ব্লক ডায়াগ্রামটি দেখানো হয়েছে চিত্র 11-1। আই / ও পিনের আসল স্থানের জন্য, দেখুন পৃষ্ঠা 25 এ "পিনআউট এটিটিনি 45/85/2"। আইপি ও অ্যাক্সেসযোগ্য আই / ও রেজিস্টারসমূহ, আই / ও বিট এবং আই / ও পিনগুলি সহ, সাহসী দেখানো হয়েছে। ডিভাইসে নির্দিষ্ট আই / ও রেজিস্টার এবং বিট অবস্থানগুলি তালিকাভুক্ত রয়েছে Page 77 পৃষ্ঠায় "বিবরণ নিবন্ধন করুন".
টাইমার/কাউন্টার (TCNT0) এবং আউটপুট তুলনা রেজিস্টার (OCR0A এবং OCR0B) হল 8-বিট রেজিস্টার। টাইমার ইন্টারাপ্ট ফ্ল্যাগ রেজিস্টারে (টিআইএফআর) সংকেতগুলি দৃশ্যমান। সমস্ত বাধা পৃথকভাবে টাইমার ইন্টারাপ্ট মাস্ক রেজিস্টার (TIMSK) দিয়ে মাস্ক করা হয়। TIFR এবং TIMSK চিত্রে দেখানো হয়নি।
টাইমার/কাউন্টারটি অভ্যন্তরীণভাবে, প্রিসকেলারের মাধ্যমে বা T0 পিনে একটি বাহ্যিক ঘড়ির উত্স দ্বারা ক্লক করা যেতে পারে। ক্লক সিলেক্ট লজিক ব্লক নিয়ন্ত্রণ করে কোন ঘড়ির উৎস এবং প্রান্তটি টাইমার/কাউন্টার তার মান বৃদ্ধি (বা হ্রাস) করতে ব্যবহার করে। টাইমার/কাউন্টার নিষ্ক্রিয় থাকে যখন কোনো ঘড়ির উৎস নির্বাচন করা হয় না। ক্লক সিলেক্ট লজিক থেকে আউটপুটকে টাইমার ক্লক (clkT0) বলা হয়।
ডাবল বাফার আউটপুট তুলনা করুন রেজিস্টার (OCR0A এবং OCR0B) সর্বদা টাইমার / কাউন্টার মান সঙ্গে তুলনা করা হয়। তুলনার ফলাফলটি ওয়েভফর্ম জেনারেটর দ্বারা আউটপুট তুলনা পিনের (ওসি 0 এ এবং ওসি 0 বি) এ একটি পিডাব্লুএম বা পরিবর্তনশীল ফ্রিকোয়েন্সি আউটপুট তৈরি করতে ব্যবহার করা যেতে পারে। 69 পৃষ্ঠায় "আউটপুট তুলনা ইউনিট" দেখুন ” বিস্তারিত জানার জন্য. তুলনা ম্যাচ ইভেন্টটি তুলনা পতাকা (OCF0A বা OCF0B) সেট করবে যা একটি আউটপুট তুলনা বিঘ্নিত অনুরোধ উত্পন্ন করতে ব্যবহার করা যেতে পারে।
সংজ্ঞা
এই বিভাগে অনেক নিবন্ধভুক্ত এবং বিট রেফারেন্স সাধারণ ফর্ম লেখা হয়। একটি নিম্নতর ক্ষেত্রে "এন" টাইমার / কাউন্টার সংখ্যার পরিবর্তে, এই ক্ষেত্রে 0. একটি নিম্ন কেস "এক্স" আউটপুট তুলনা ইউনিটকে প্রতিস্থাপন করে, এক্ষেত্রে ইউনিট এ বা তুলনামূলক ইউনিট বি তুলনা করুন যাইহোক, নিবন্ধ ব্যবহার করার সময় বা বিট সংজ্ঞায়িত করা হয় কোনও প্রোগ্রামে, সুনির্দিষ্ট ফর্মটি অবশ্যই ব্যবহার করতে হবে, যেমন, টাইমার / কাউন্টার 0 কাউন্টার মানটি অ্যাক্সেসের জন্য TCNT0।
মধ্যে সংজ্ঞা টেবিল 11-1 ডকুমেন্ট জুড়ে ব্যাপকভাবে ব্যবহৃত হয়।
টেবিল 11-1। সংজ্ঞা
ধ্রুবক | বর্ণনা |
নীচে | কাউন্টারটি বটটমে পৌঁছে যায় যখন এটি 0x00 হয়ে যায় |
MAX | যখন 0xFF (দশমিক 255) হয়ে যায় তখন কাউন্টারটি তার সর্বোচ্চতম পৌঁছে যায় |
শীর্ষ | কাউন্টার শীর্ষে পৌঁছে যায় যখন এটি গণনা অনুক্রমের সর্বোচ্চ মানের সমান হয়। শীর্ষ মানটি নির্দিষ্ট মান 0xFF (MAX) বা OCR0A রেজিস্টারে সঞ্চিত মান হিসাবে নির্ধারিত হতে পারে। অ্যাসাইনমেন্টটি অপারেশন মোডের উপর নির্ভর করে |
টাইমার / কাউন্টার প্রেসক্লেয়ার এবং ক্লক সোর্স
টাইমার / কাউন্টারটি কোনও অভ্যন্তরীণ বা বাহ্যিক ক্লক উত্স দ্বারা আটকানো যেতে পারে। ঘড়ির উত্স ক্লক সিলেক্ট লজিক দ্বারা নির্বাচিত হয় যা টাইমার / কাউন্টার 0 কন্ট্রোল রেজিস্টারে (টিসিসিআর0বি) অবস্থিত ক্লক সিলেক্ট (সি) বিট দ্বারা নিয়ন্ত্রিত হয়।
অভ্যন্তরীণ ক্লক উত্স প্রেসক্যালারের সাথে
টাইমার/কাউন্টার0 সিস্টেম ঘড়ি দ্বারা সরাসরি ঘড়ি করা যেতে পারে (CS0 [2:0] = 1 সেট করে)। এটি সিস্টেম ক্লক ফ্রিকোয়েন্সি (fCLK_I/O) এর সমান সর্বাধিক টাইমার/কাউন্টার ক্লক ফ্রিকোয়েন্সি সহ দ্রুততম অপারেশন সরবরাহ করে। বিকল্পভাবে, prescaler থেকে চারটি ট্যাপের একটি ঘড়ির উৎস হিসেবে ব্যবহার করা যেতে পারে। পূর্বনির্ধারিত ঘড়ির যেকোন একটির কম্পাঙ্ক থাকে
প্রেসক্যালারের পুনরায় সেট করুন
প্রেসকিলারটি বিনামূল্যে চলমান, অর্থাৎ এটি টাইমার/কাউন্টার 0 এর ক্লক সিলেক্ট লজিক থেকে স্বাধীনভাবে কাজ করে। যেহেতু প্রেসকলার টাইমার/কাউন্টারের ক্লক সিলেক্টের দ্বারা প্রভাবিত হয় না, তাই প্রেসক্যালারের অবস্থা এমন পরিস্থিতিতে পড়বে যেখানে একটি প্রেসক্লেড ঘড়ি ব্যবহার করা হয়। একজন প্রাক্তনampএকটি prescaling আর্টিফ্যাক্ট এর le যখন টাইমার/কাউন্টার সক্রিয় এবং prescaler দ্বারা ক্লক করা হয় (6> CS0 [2: 0]> 1)। টাইমার প্রথম কাউন্টে চালু হওয়ার সময় থেকে সিস্টেম ঘড়ি চক্রের সংখ্যা 1 থেকে N+1 সিস্টেম ঘড়ি চক্র হতে পারে, যেখানে N প্রেসকলার বিভাজকের (8, 64, 256, বা 1024) সমান।
প্রোগ্রাম প্রয়োগে টাইমার / কাউন্টারকে সিঙ্ক্রোনাইজ করার জন্য প্রেসকেলার রিসেট ব্যবহার করা সম্ভব।
বাহ্যিক ঘড়ির উত্স
T0 পিনে প্রয়োগ করা একটি বাহ্যিক ঘড়ির উৎস টাইমার/কাউন্টার ক্লক (clkT0) হিসাবে ব্যবহার করা যেতে পারে। T0 পিন হল sampপিন সিঙ্ক্রোনাইজেশন যুক্তি দ্বারা প্রতিটি সিস্টেম ঘড়ি চক্র একবার নেতৃত্ব। সিঙ্ক্রোনাইজড (গুলিampনেতৃত্বে) সংকেত তারপর পাস করা হয়
প্রান্ত ডিটেক্টর মাধ্যমে। চিত্র 11-2 T0 সিঙ্ক্রোনাইজেশন এবং এজ ডিটেক্টর লজিকের একটি কার্যকরী সমতুল্য ব্লক ডায়াগ্রাম দেখায়। রেজিস্টারগুলি অভ্যন্তরীণ সিস্টেম ঘড়ির (clkI/O) ধনাত্মক প্রান্তে ক্লক করা হয়। অভ্যন্তরীণ সিস্টেম ঘড়ির উচ্চ সময়ের মধ্যে ল্যাচটি স্বচ্ছ।
এজ ডিটেক্টর প্রতিটি ইতিবাচক (CS0[0:2] = 0) বা নেতিবাচক (CS7[0:2] = 0) প্রান্তের জন্য একটি clkT6 পালস তৈরি করে যা এটি সনাক্ত করে।
যে কোনও পালস প্রস্থের মোডুলেশন (পিডাব্লুএম) মোড ব্যবহার করার সময় ওসিআর0 এক্স রেজিস্টারগুলি দ্বিগুণ বাফার হয়। অপারেশনের তুলনায় (সিটিসি) মোডে সাধারণ এবং ক্লিয়ার টাইমারের জন্য, ডাবল বাফারিং অক্ষম করা হয়। ডাবল বাফারিং ওসিআর0x আপডেটের তুলনায় নিবন্ধের তুলনায় শীর্ষের বা নীচে সিঙ্ক্রোনাইজ করে। সিঙ্ক্রোনাইজেশন বিজোড় দৈর্ঘ্য, অ-প্রতিসাম্য পিডব্লুএম ডালের সংঘটনকে আটকায়, যার ফলে আউটপুট গ্লিট-মুক্ত করে।
OCR0x রেজিস্টার অ্যাক্সেস জটিল মনে হতে পারে, তবে এটি ক্ষেত্রে নয়। যখন ডাবল বাফারিং সক্ষম করা থাকে, তখন সিপিইউতে ওসিআর 0 এক্স বাফার রেজিস্টারে অ্যাক্সেস থাকে এবং ডাবল বাফারিং অক্ষম করা থাকলে সিপিইউ সরাসরি ওসিআর0x অ্যাক্সেস করতে পারে।
জোর করে আউটপুট তুলনা করুন
নন-পিডাব্লুএম ওয়েভফর্ম জেনারেশন মোডগুলিতে, ফোর্স আউটপুট তুলনা (FOC0x) বিটটিতে একটি লিখে কমপ্যাকারের ম্যাচের আউটপুটটি বাধ্য করা যেতে পারে। তুলনা ম্যাচ জোর করে ওসিএফ0 এক্স পতাকা সেট করবে না বা টাইমারটি পুনরায় লোড / সাফ করবে না, তবে ওসি0 পিনটি আপডেট করা হবে যেমন একটি সত্যিকারের তুলনা ম্যাচ ঘটেছে (সিওএম0x [1: 0] বিট সেটিংস নির্ধারণ করে যে ওসি0 এক্স পিন সেট হয়েছে, সাফ হয়েছে বা টগলড)।
টিসিএনটি 0 লিখনের সাথে মিল ব্লকিংয়ের সাথে তুলনা করুন
টিসিএনটি 0 রেজিস্টারে সমস্ত সিপিইউ রাইটিং অপারেশন পরবর্তী টাইমার ক্লক চক্রের সাথে সংঘটিত যেকোন তুলনা ম্যাচটিকে ব্লক করে দেবে, এমনকি টাইমার বন্ধ হয়ে গেলেও। এই বৈশিষ্ট্যটি ওসিআর0x কে টাইমার / কাউন্টার ঘড়ি সক্ষম করার সময় বাধা বিঘ্নিত না করে TCNT0 এর সমান মানতে আরম্ভ করার অনুমতি দেয়।
আউটপুট তুলনা ইউনিট ব্যবহার করে
যেহেতু অপারেশনটির যে কোনও মোডে টিসিএনটি 0 লিখলে একটি টাইমার ক্লক চক্রের জন্য সমস্ত তুলনা ম্যাচগুলি ব্লক হয়ে যাবে, তাই আউটপুট তুলনা ইউনিট ব্যবহার করার সময় টিসিএনটি 0 পরিবর্তন করার সময় ঝুঁকি রয়েছে, টাইমার / কাউন্টার চলছে কিনা তা স্বতন্ত্রভাবে। যদি টিসিএনটি 0 তে লেখা মানটি ওসিআর0x মানের সমান হয় তবে তুলনা মিলটি মিস হবে, ফলস্বরূপ ভুল তরঙ্গরূপ তৈরি করা হবে। একইভাবে, কাউন্টার ডাউন-কাউন্টিং হলে BCTOM এর সমান TCNT0 মানটি লিখবেন না।
OC0x এর সেটআপটি পোর্ট পিনের আউটপুটে যাওয়ার জন্য ডেটা নির্দেশিকা রেজিস্টার সেট করার আগে সম্পাদন করা উচিত। OC0x মান নির্ধারণের সহজতম উপায় হ'ল নরমাল মোডে ফোর্স আউটপুট তুলনা (FOC0x) স্ট্রোব বিট ব্যবহার করা। ওয়েভফর্ম জেনারেশন মোডের মধ্যে পরিবর্তন করার পরেও ওসি0 এক্স রেজিস্টারগুলি তাদের মান রাখে।
সচেতন হন যে COM0x [1: 0] বিটগুলি তুলনা মানের সাথে একত্রে দ্বিগুণ বাফার হয় না। COM0x [1: 0] বিট পরিবর্তন করা অবিলম্বে কার্যকর হবে effect
ম্যাচ আউটপুট ইউনিটের সাথে তুলনা করুন
তুলনা আউটপুট মোড (COM0x [1: 0]) বিটের দুটি ফাংশন রয়েছে। ওয়েভফর্ম জেনারেটর পরবর্তী তুলনা ম্যাচে আউটপুট তুলনা (OC0x) রাজ্য সংজ্ঞায়নের জন্য COM1x [0: 0] বিট ব্যবহার করে। এছাড়াও, COM0x [1: 0] বিটগুলি OC0x পিন আউটপুট উত্স নিয়ন্ত্রণ করে। চিত্র 11-6 COM0x [1: 0] বিট সেটিং দ্বারা প্রভাবিত লজিকের সরলীকৃত স্কিম্যাটিক দেখায়। আই / ও রেজিস্টারস, আই / ও বিটস এবং চিত্রের আই / ও পিনগুলি গা bold়ভাবে দেখানো হয়েছে। COM0x [1: 0] বিট দ্বারা প্রভাবিত কেবল সাধারণ I / O পোর্ট কন্ট্রোল রেজিস্টারগুলির (ডিডিআর এবং পোর্ট) অংশগুলি প্রদর্শিত হয়। OC0x স্থিতি উল্লেখ করার সময়, রেফারেন্সটি অভ্যন্তরীণ OC0x নিবন্ধকের জন্য, OC0x পিনের জন্য নয়। যদি কোনও সিস্টেম পুনরায় সেট হয়, OC0x রেজিস্টারটি "0" এ পুনরায় সেট করা হয়।
যখন OC0A / OC0B I / O পিনের সাথে সংযুক্ত থাকে, তখন COM0A [1: 0] / COM0B [1: 0] বিটগুলির কার্যকারিতা WGM0 [2: 0] বিট সেটিংয়ের উপর নির্ভর করে। টেবিল 11-2 ডাব্লুজিএম 0 [1: 0] বিটগুলি একটি সাধারণ বা সিটিসি মোডে সেট করা থাকলে (পি-পিডব্লুএম) বিট কার্যকারিতা দেখায়।
টেবিল 11-2। আউটপুট মোড, নন-PWM মোড তুলনা করুন
COM0A1 COM0B1 | COM0A0 COM0B0 | বর্ণনা |
0 | 0 | সাধারণ বন্দর অপারেশন, OC0A / OC0B সংযোগ বিচ্ছিন্ন। |
0 | 1 | তুলনা ম্যাচে OC0A / OC0B টগল করুন |
1 | 0 | তুলনা ম্যাচে OC0A / OC0B সাফ করুন |
1 | 1 | তুলনা ম্যাচে OC0A / OC0B সেট করুন |
টেবিল 11-3 WGM0 [1: 0] বিটগুলি দ্রুত PWM মোডে সেট করা থাকলে COM0x [2: 0] বিট কার্যকারিতা দেখায়।
টেবিল 11-3। আউটপুট মোড, দ্রুত PWM মোড তুলনা করুন(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | বর্ণনা |
0 | 0 | সাধারণ বন্দর অপারেশন, OC0A / OC0B সংযোগ বিচ্ছিন্ন। |
0 | 1 | সংরক্ষিত |
1 | 0 | তুলনা ম্যাচে OC0A / OC0B সাফ করুন, বটটমে OC0A / OC0B সেট করুন (নন-ইনভার্টিং মোড) |
1 | 1 | তুলনা ম্যাচে OC0A / OC0B সেট করুন, বটটমে OC0A / OC0B সাফ করুন (উল্টানো মোড) |
দ্রষ্টব্য: একটি বিশেষ ক্ষেত্রে ঘটে যখন OCR0A বা OCR0B সমান TOP এবং COM0A1/COM0B1 সেট করা হয়। এই ক্ষেত্রে, তুলনামূলক ম্যাচ উপেক্ষা করা হয়, কিন্তু সেট বা ক্লিয়ারটি BOTTOM-এ করা হয়। দেখা Fast৩ পৃষ্ঠায় "ফাস্ট পিডব্লিউএম মোড" আরো বিস্তারিত জানার জন্য
টেবিল 11-4 ডাব্লুজিএম 0 [1: 0] বিটগুলি সঠিক পিডব্লিউএম মোডে ফেজ করতে গেলে COM0x [2: 0] বিট কার্যকারিতা দেখায়।
টেবিল 11-4। আউটপুট মোড, ফেজ সঠিক PWM মোড তুলনা করুন(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | বর্ণনা |
0 | 0 | সাধারণ বন্দর অপারেশন, OC0A / OC0B সংযোগ বিচ্ছিন্ন। |
0 | 1 | সংরক্ষিত |
1 | 0 | আপ-কাউন্টিংয়ের সাথে তুলনা ম্যাচে OC0A / OC0B সাফ করুন। ডাউন-কাউন্টিং যখন তুলনা ম্যাচে OC0A / OC0B সেট করুন। |
1 | 1 | আপ-কাউন্টিংয়ের সময় তুলনা ম্যাচে OC0A / OC0B সেট করুন। ডাউন-কাউন্টিং হলে তুলনা ম্যাচে OC0A / OC0B সাফ করুন। |
দ্রষ্টব্য: 1. একটি বিশেষ ক্ষেত্রে ঘটে যখন OCR0A বা OCR0B সমান TOP এবং COM0A1/COM0B1 সেট করা হয়। এই ক্ষেত্রে, তুলনা ম্যাচ উপেক্ষা করা হয়, কিন্তু সেট বা পরিষ্কার TOP এ সম্পন্ন করা হয়। দেখা Page৪ পৃষ্ঠায় "ফেজ সঠিক PWM মোড" আরো বিস্তারিত জানার জন্য
বিটস 3: 2 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 1: 0 - ডাব্লুজিএম 0 [1: 0]: ওয়েভফর্ম জেনারেশন মোড
টিসিসিআর02বি রেজিস্টারে পাওয়া WGM0 বিটের সাথে সংযুক্ত, এই বিটগুলি কাউন্টারটির গণনা অনুক্রম, সর্বাধিক (টপ) কাউন্টার মানের উত্স এবং কী ধরণের তরঙ্গরূপ তৈরি করতে হবে তা নিয়ন্ত্রণ করে, দেখুন টেবিল 11-5। টাইমার / কাউন্টার ইউনিট দ্বারা সমর্থিত ক্রিয়াকলাপগুলি হ'ল: নরমাল মোড (কাউন্টার), তুলনা ম্যাচ (সিটিসি) মোডে ক্লিয়ার টাইমার এবং দুই ধরণের পালস প্রস্থের মড্যুলেশন (পিডাব্লুএম) মোড (দেখুন) "অপারেশন মোড" পৃষ্ঠা 71 এ).
টেবিল 11-5। ওয়েভফর্ম জেনারেশন মোড বিট বর্ণনা
মোড | ডাব্লুজিএম 02 | ডাব্লুজিএম 01 | ডাব্লুজিএম 00 | টাইমার / কাউন্টার মোড অফ অপারেশন | শীর্ষ | ওসিআরএক্স-এর আপডেট | TOV পতাকা সেট করা আছে |
0 | 0 | 0 | 0 | স্বাভাবিক | 0xFF | তাৎক্ষণিক | MAX(1) |
1 | 0 | 0 | 1 | পিডাব্লুএম, ফেজ সঠিক | 0xFF | শীর্ষ | নীচে(2) |
2 | 0 | 1 | 0 | সিটিসি | ওসিআরএ | তাৎক্ষণিক | MAX(1) |
3 | 0 | 1 | 1 | দ্রুত PWM | 0xFF | নীচে(2) | MAX(1) |
4 | 1 | 0 | 0 | সংরক্ষিত | – | – | – |
5 | 1 | 0 | 1 | পিডাব্লুএম, ফেজ সঠিক | ওসিআরএ | শীর্ষ | নীচে(2) |
6 | 1 | 1 | 0 | সংরক্ষিত | – | – | – |
7 | 1 | 1 | 1 | দ্রুত PWM | ওসিআরএ | নীচে(2) | শীর্ষ |
বিট 7 - এফওসি 0 এ: জোর করে আউটপুট এ
FOC0A বিটটি কেবল তখনই সক্রিয় থাকে যখন ডাব্লুজিএম বিটগুলি একটি নন-পিডব্লিউএম মোড নির্দিষ্ট করে।
তবে, ভবিষ্যতের ডিভাইসগুলির সাথে সামঞ্জস্যতা নিশ্চিত করার জন্য, যখন পিডাব্লুএম মোডে অপারেট করার সময় টিসিসিআর0 বি লেখা হয় তখন এই বিটটি শূন্যতে সেট করতে হবে। FOC0A বিটে একটি যৌক্তিক লেখার সময়, তাত্ক্ষণিক তুলনা মিলটি ওয়েভফর্ম জেনারেশন ইউনিটে বাধ্য করা হয়। OC0A আউটপুটটি তার COM0A [1: 0] বিট সেটিং অনুযায়ী পরিবর্তন করা হয়েছে। নোট করুন যে FOC0A বিটটি স্ট্রোব হিসাবে প্রয়োগ করা হয়েছে। সুতরাং এটি COM0A [1: 0] বিটের উপস্থিত মান যা জোর করে তুলনার প্রভাব নির্ধারণ করে।
একটি FOC0A স্ট্রোব কোনও বিঘ্ন ঘটায় না, বা এটি সিটিসি মোডে টেমারটিকে ওসিআর0এটিকে শীর্ষ হিসাবে ব্যবহার করে পরিষ্কার করবে না। FOC0A বিট সর্বদা শূন্য হিসাবে পড়া হয়।
বিট 6 - এফওসি 0 বি: ফোর্স আউটপুট তুলনা করুন বি
FOC0B বিটটি কেবল তখনই সক্রিয় থাকে যখন ডাব্লুজিএম বিটগুলি একটি নন-পিডব্লিউএম মোড নির্দিষ্ট করে।
তবে, ভবিষ্যতের ডিভাইসগুলির সাথে সামঞ্জস্যতা নিশ্চিত করার জন্য, যখন পিডাব্লুএম মোডে অপারেট করার সময় টিসিসিআর0 বি লেখা হয় তখন এই বিটটি শূন্যতে সেট করতে হবে। FOC0B বিটে একটি যৌক্তিক লেখার সময়, তাত্ক্ষণিক তুলনা মিলটি ওয়েভফর্ম জেনারেশন ইউনিটে বাধ্য করা হয়। OC0B আউটপুটটি তার COM0B [1: 0] বিট সেটিং অনুযায়ী পরিবর্তন করা হয়েছে। নোট করুন যে FOC0B বিটটি স্ট্রোব হিসাবে প্রয়োগ করা হয়েছে। সুতরাং এটি COM0B [1: 0] বিটের উপস্থিত মান যা জোর করে তুলনার প্রভাব নির্ধারণ করে।
একটি FOC0B স্ট্রোব কোনও বিঘ্ন ঘটায় না, বা এটি সিটিসি মোডে টেমারটিকে ওসিআর0 বিটিকে শীর্ষ হিসাবে ব্যবহার করে পরিষ্কার করবে না।
FOC0B বিট সর্বদা শূন্য হিসাবে পড়া হয়।
বিটস 5: 4 - রিসোর্স: সংরক্ষিত বিট
এই বিটগুলি এটিটিনি 25/45/85 এ সংরক্ষিত বিট এবং সর্বদা শূন্য হিসাবে পড়বে।
বিট 3 - WGM02: ওয়েভফর্ম জেনারেশন মোড
বিবরণ দেখুন "টিসিসিআর0 এ - টাইমার / কাউন্টার কন্ট্রোল রেজিস্টার এ" পৃষ্ঠা on 77 এ.
বিট 2: 0 - সিএস 0 [2: 0]: ঘড়ি নির্বাচন করুন
তিনটি ঘড়ি নির্বাচন বিট টাইমার / কাউন্টার দ্বারা ব্যবহৃত ঘড়ির উত্স নির্বাচন করে।
টেবিল 11-6। ঘড়ি নির্বাচন বিট বিবরণ
CS02 | CS01 | CS00 | বর্ণনা |
0 | 0 | 0 | কোনও ঘড়ির উত্স নেই (টাইমার / কাউন্টার বন্ধ হয়েছে) |
0 | 0 | 1 | clkI/O/(কোন প্রিসকেলিং নেই) |
0 | 1 | 0 | clkI/O/8 (প্রিসকেলার থেকে) |
0 | 1 | 1 | clkI/O/64 (প্রিসকেলার থেকে) |
1 | 0 | 0 | clkI/O/256 (প্রিসকেলার থেকে) |
1 | 0 | 1 | clkI/O/1024 (প্রিসকেলার থেকে) |
1 | 1 | 0 | টি0 পিনে বাহ্যিক ঘড়ির উত্স। প্রান্তে ঘড়ি। |
1 | 1 | 1 | টি0 পিনে বাহ্যিক ঘড়ির উত্স। ক্রমবর্ধমান প্রান্তে ঘড়ি। |
যদি টাইমার / কাউন্টার 0 এর জন্য বাহ্যিক পিন মোডগুলি ব্যবহার করা হয়, পিনকে আউটপুট হিসাবে কনফিগার করা থাকলেও টি0 পিনের ট্রানজিশনগুলি কাউন্টারকে ঘড়িতে থাকবে। এই বৈশিষ্ট্যটি গণনাটি সফ্টওয়্যার নিয়ন্ত্রণের অনুমতি দেয়।
কাউন্টার এবং তুলনা ইউনিট
টাইমার / কাউন্টার 1 জেনারেল অপারেশনকে অ্যাসিনক্রোনাস মোডে বর্ণনা করা হয় এবং সিঙ্ক্রোনাস মোডে অপারেশন কেবল তখনই উল্লেখ করা হয় যখন এই দুটি পদ্ধতির মধ্যে পার্থক্য রয়েছে। চিত্র 12-2 টাইমার / কাউন্টার 1 সিঙ্ক্রোনাইজেশন রেজিস্টার ব্লক ডায়াগ্রাম এবং নিবন্ধগুলির মধ্যে সিঙ্ক্রোনাইজেশন বিলম্ব দেখায়। নোট করুন যে সমস্ত ক্লক জেটিংয়ের বিবরণ চিত্রটিতে প্রদর্শিত হয়নি। টাইমার / কাউন্টার 1 রেজিস্টার মানগুলি অভ্যন্তরীণ সিঙ্ক্রোনাইজেশন রেজিস্টারগুলির মধ্য দিয়ে যায়, যা কাউন্টার অপারেশনকে প্রভাবিত করার আগে ইনপুট সিঙ্ক্রোনাইজেশন বিলম্বের কারণ হয়। রেজিস্টারগুলি টিসিসিআর 1, জিটিসিসিআর, ওসিআর 1 এ, ওসিআর 1 বি, এবং ওসিআর 1 সি রেজিস্টার লেখার পরে ঠিক আবার পড়তে পারবেন। ইনপুট এবং আউটপুট সিঙ্ক্রোনাইজেশনের কারণে রিডার ব্যাক মানগুলি টাইমার / কাউন্টার 1 (টিসিএনটি 1) রেজিস্টার এবং পতাকাগুলির জন্য (ওসিএফ 1 এ, ওসিএফ 1 বি, এবং টিওভি 1) বিলম্বিত হয়।
টাইমার / কাউন্টার 1 এ নিম্ন প্রস্তাবিত সুযোগগুলির সাথে একটি উচ্চ রেজোলিউশন এবং একটি উচ্চ নির্ভুলতার ব্যবহার রয়েছে। এটি দুটি নির্ভুল, উচ্চ গতির, 8 বিট পালস প্রস্থের মডুলারগুলি ঘড়ির গতি 64 মেগাহার্জ (বা 32 মেগাহার্জ লো স্পিড মোডে) ব্যবহার করে সমর্থন করে। এই মোডে, টাইমার / কাউন্টার 1 এবং আউটপুট তুলনা নিবন্ধগুলি নন-ওভারল্যাপিং নন-ইনভার্টেড এবং ইনভার্টেড আউটপুটগুলির সাথে ডুয়েল স্ট্যান্ড-একা পিডাব্লুএম হিসাবে পরিবেশন করে। নির্দেশ করে পৃষ্ঠা 86 এই ফাংশন সম্পর্কে বিস্তারিত বিবরণ জন্য। একইভাবে, উচ্চ প্রস্তাবিত সুযোগগুলি এই ইউনিটটিকে কম গতির কার্যকারিতা বা বিরল ক্রিয়াগুলির সাথে সঠিক সময় নির্ধারণের জন্য দরকারী করে।
চিত্র 12-2। টাইমার/কাউন্টার 1 সিঙ্ক্রোনাইজেশন রেজিস্টার ব্লক ডায়াগ্রাম।
টাইমার / কাউন্টার 1 এবং প্রেসক্যালার অ্যাসিঙ্ক্রোনাস মোডে পিএসকে ক্লকটি দ্রুত 64 মেগাহার্টজ (বা কম স্পিড মোডে 32 মেগাহার্টজ) পিসি কে ক্লকটিতে চলাকালীন যে কোনও ক্লক উত্স থেকে সিপিইউ চালানোর অনুমতি দেয়।
নোট করুন যে সিস্টেমের ঘড়ির ফ্রিকোয়েন্সি অবশ্যই পিসিকে ফ্রিক্যুয়েনির এক তৃতীয়াংশের চেয়ে কম হতে হবে। যখন সিস্টেমের ঘড়ি বেশি থাকে তখন অ্যাসিক্রোনাস টাইমার / কাউন্টার 1 এর সিঙ্ক্রোনাইজেশন প্রক্রিয়াটির জন্য পিসিকে-র কমপক্ষে দুটি প্রান্ত প্রয়োজন। যদি সিস্টেম ঘড়ির ফ্রিকোয়েন্সি খুব বেশি হয় তবে ডেটা বা নিয়ন্ত্রণের মানগুলি হারাতে এটি ঝুঁকিপূর্ণ।
নিম্নলিখিত চিত্র 12-3 টাইমার / কাউন্টার 1 এর জন্য ব্লক চিত্রটি দেখায়।
টেবিল 12-1। PWM মোডে মোড নির্বাচন তুলনা করুন
COM1x1 | COM1x0 | আউটপুট পিনের তুলনায় প্রভাব |
0 | 0 | OC1x সংযুক্ত নেই। OC1x সংযুক্ত নেই। |
0 | 1 | তুলনামূলক ম্যাচে ওসি 1 এক্স সাফ করেছে। সেট করুন যখন টিটিএনএনটি 1 = $ 00। ওসি 1 এক্স তুলনা ম্যাচে সেট করে। টিসিএনটি 1 = $ 00 হলে সাফ হয়ে যায়। |
1 | 0 | তুলনামূলক ম্যাচে ওসি 1 এক্স সাফ করেছে। TCNT1 = $ 00 হলে সেট করুন। OC1x সংযুক্ত নেই। |
1 | 1 | তুলনা ম্যাচে ওসি 1 এক্স সেট করুন। টিসিএনটি 1 = $ 00 হলে সাফ হয়ে যায়। OC1x সংযুক্ত নেই। |
এডিসির বৈশিষ্ট্য
টেবিল 21-8। ADC বৈশিষ্ট্য, একক শেষ চ্যানেল। TA = -40°C থেকে +85°C
প্রতীক | প্যারামিটার | অবস্থা | মিন | টাইপ | সর্বোচ্চ | ইউনিট |
রেজোলিউশন | 10 | বিট | ||||
নিখুঁত নির্ভুলতা (আইএনএল, ডিএনএল এবং কোয়ান্টাইজেশন, লাভ এবং অফসেট ত্রুটিগুলি সহ) | VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z |
2 | এলএসবি | |||
VREF = 4V, VCC = 4V,
এডিসি ঘড়ি = 1 মেগাহার্টজ |
3 | এলএসবি | ||||
VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z গোলমাল হ্রাস মোড |
1.5 | এলএসবি | ||||
VREF = 4V, VCC = 4V,
এডিসি ঘড়ি = 1 মেগাহার্টজ গোলমাল হ্রাস মোড |
2.5 | এলএসবি | ||||
ইন্টিগ্রাল অ-লিনিয়ারিটি (আইএনএল) (অফসেটের পরে যথাযথতা এবং ক্রমাঙ্কন অর্জন) | VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z |
1 | এলএসবি | |||
ডিফারেনশিয়াল অ-লিনিয়ারিটি (ডিএনএল) | VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z |
0.5 | এলএসবি | |||
ত্রুটি অর্জন | VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z |
2.5 | এলএসবি | |||
অফসেট ত্রুটি | VREF = 4V, VCC = 4V,
ADC ঘড়ি = 200 kHz z |
1.5 | এলএসবি | |||
রূপান্তর সময় | নিখরচায় চলমান রূপান্তর | 14 | 280 | s | ||
ঘড়ির ফ্রিকোয়েন্সি | 50 | 1000 | ২ kHz | |||
ভিআইএন | ইনপুট ভলিউমtage | জিএনডি | ভিআরইএফ | V | ||
ইনপুট ব্যান্ডউইথ | 38.4 | ২ kHz | ||||
আরইএফ | বাহ্যিক রেফারেন্স ভলিউমtage | 2.0 | ভিসিসি | V | ||
VINT | অভ্যন্তরীণ ভলিউমtage রেফারেন্স | 1.0 | 1.1 | 1.2 | V | |
অভ্যন্তরীণ 2.56V রেফারেন্স (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
আরআরইএফ | 32 | kΩ | ||||
বৃষ্টি | অ্যানালগ ইনপুট প্রতিরোধের | 100 | MΩ | |||
এডিসি আউটপুট | 0 | 1023 | এলএসবি |
দ্রষ্টব্য: 1. মান শুধুমাত্র নির্দেশিকা.
টেবিল 21-9। ADC বৈশিষ্ট্য, ডিফারেনশিয়াল চ্যানেল (ইউনিপোলার মোড)। TA = -40°C থেকে +85°C
প্রতীক | প্যারামিটার | অবস্থা | মিন | টাইপ | সর্বোচ্চ | ইউনিট |
রেজোলিউশন | লাভ = 1x | 10 | বিট | |||
লাভ = 20x | 10 | বিট | ||||
নিখুঁত নির্ভুলতা (আইএনএল, ডিএনএল সহ এবং
কোয়ান্টাইজেশন, লাভ এবং অফসেট ত্রুটি) |
লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
10.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
20.0 | এলএসবি | ||||
ইন্টিগ্রাল অ-লিনিয়ারিটি (আইএনএল) (অফসেটের পরে যথাযথতা এবং ক্যালিব্রেশন অর্জন) | লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
4.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
10.0 | এলএসবি | ||||
ত্রুটি অর্জন | লাভ = 1x | 10.0 | এলএসবি | |||
লাভ = 20x | 15.0 | এলএসবি | ||||
অফসেট ত্রুটি | লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
3.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
4.0 | এলএসবি | ||||
রূপান্তর সময় | নিখরচায় চলমান রূপান্তর | 70 | 280 | s | ||
ঘড়ির ফ্রিকোয়েন্সি | 50 | 200 | ২ kHz | |||
ভিআইএন | ইনপুট ভলিউমtage | জিএনডি | ভিসিসি | V | ||
ভিডিআইএফএফ | ইনপুট ডিফারেনশিয়াল ভলিউমtage | VREF/লাভ | V | |||
ইনপুট ব্যান্ডউইথ | 4 | ২ kHz | ||||
আরইএফ | বাহ্যিক রেফারেন্স ভলিউমtage | 2.0 | ভিসিসি - 1.0 | V | ||
VINT | অভ্যন্তরীণ ভলিউমtage রেফারেন্স | 1.0 | 1.1 | 1.2 | V | |
অভ্যন্তরীণ 2.56V রেফারেন্স (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
আরআরইএফ | রেফারেন্স ইনপুট প্রতিরোধের | 32 | kΩ | |||
বৃষ্টি | অ্যানালগ ইনপুট প্রতিরোধের | 100 | MΩ | |||
এডিসি রূপান্তর আউটপুট | 0 | 1023 | এলএসবি |
দ্রষ্টব্য: মান শুধুমাত্র নির্দেশিকা.
টেবিল 21-10। ADC বৈশিষ্ট্য, ডিফারেনশিয়াল চ্যানেল (বাইপোলার মোড)। TA = -40°C থেকে +85°C
প্রতীক | প্যারামিটার | অবস্থা | মিন | টাইপ | সর্বোচ্চ | ইউনিট |
রেজোলিউশন | লাভ = 1x | 10 | বিট | |||
লাভ = 20x | 10 | বিট | ||||
নিখুঁত নির্ভুলতা (আইএনএল, ডিএনএল সহ এবং
কোয়ান্টাইজেশন, লাভ এবং অফসেট ত্রুটি) |
লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
8.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
8.0 | এলএসবি | ||||
ইন্টিগ্রাল অ-লিনিয়ারিটি (আইএনএল) (অফসেটের পরে যথাযথতা এবং ক্যালিব্রেশন অর্জন) | লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
4.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
5.0 | এলএসবি | ||||
ত্রুটি অর্জন | লাভ = 1x | 4.0 | এলএসবি | |||
লাভ = 20x | 5.0 | এলএসবি | ||||
অফসেট ত্রুটি | লাভ = 1x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
3.0 | এলএসবি | |||
লাভ = 20x
VREF = 4V, VCC = 5V ADC ঘড়ি = 50 - 200 kHz z |
4.0 | এলএসবি | ||||
রূপান্তর সময় | নিখরচায় চলমান রূপান্তর | 70 | 280 | s | ||
ঘড়ির ফ্রিকোয়েন্সি | 50 | 200 | ২ kHz | |||
ভিআইএন | ইনপুট ভলিউমtage | জিএনডি | ভিসিসি | V | ||
ভিডিআইএফএফ | ইনপুট ডিফারেনশিয়াল ভলিউমtage | VREF/লাভ | V | |||
ইনপুট ব্যান্ডউইথ | 4 | ২ kHz | ||||
আরইএফ | বাহ্যিক রেফারেন্স ভলিউমtage | 2.0 | ভিসিসি - 1.0 | V | ||
VINT | অভ্যন্তরীণ ভলিউমtage রেফারেন্স | 1.0 | 1.1 | 1.2 | V | |
অভ্যন্তরীণ 2.56V রেফারেন্স (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
আরআরইএফ | রেফারেন্স ইনপুট প্রতিরোধের | 32 | kΩ | |||
বৃষ্টি | অ্যানালগ ইনপুট প্রতিরোধের | 100 | MΩ | |||
এডিসি রূপান্তর আউটপুট | -512 | 511 | এলএসবি |
নির্দেশ সেট সংক্ষিপ্তসার
স্মৃতিবিদ্যা | অপারেন্ডস | বর্ণনা | অপারেশন | পতাকা | # ক্লকস |
শিল্প ও লজিক নির্দেশাবলী | |||||
যোগ করুন | আরডি, আরআর | দুটি নিবন্ধ যুক্ত করুন | Rd ← Rd + Rr | জেড, সি, এন, ভি, এইচ | 1 |
এডিসি | আরডি, আরআর | দুটি নিবন্ধক বহন করে যুক্ত করুন | Rd ← Rd + Rr + C | জেড, সি, এন, ভি, এইচ | 1 |
এডিআইডাব্লু | আরডিএল, কে | শব্দটিতে তাত্ক্ষণিক যুক্ত করুন | Rdh:Rdl ← Rdh:Rdl + K | জেড, সি, এন, ভি, এস | 2 |
উপ | আরডি, আরআর | দুটি রেজিস্টার বিয়োগ করুন | Rd ← Rd – Rr | জেড, সি, এন, ভি, এইচ | 1 |
সুবি | আরডি, কে | নিবন্ধ থেকে কনস্ট্যান্ট বিয়োগ করুন | Rd ← Rd – K | জেড, সি, এন, ভি, এইচ | 1 |
এসবিসি | আরডি, আরআর | দুটি নিবন্ধকের সাথে বিয়োগ করুন | Rd ← Rd – Rr – C | জেড, সি, এন, ভি, এইচ | 1 |
SBCI সম্পর্কে | আরডি, কে | রেজি থেকে ক্যারি কনস্ট্যান্টের সাথে বিয়োগ করুন। | Rd ← Rd – K – C | জেড, সি, এন, ভি, এইচ | 1 |
এসবিআইডাব্লু | আরডিএল, কে | শব্দ থেকে তাত্ক্ষণিক বিয়োগ | Rdh:Rdl ← Rdh:Rdl – K | জেড, সি, এন, ভি, এস | 2 |
এবং | আরডি, আরআর | লজিকাল এবং নিবন্ধগুলি | Rd ← Rd ∙ Rr | জেড, এন, ভি | 1 |
অ্যান্ডি | আরডি, কে | লজিকাল এবং নিবন্ধ এবং কনস্ট্যান্ট | Rd ← Rd ∙ K | জেড, এন, ভি | 1 |
OR | আরডি, আরআর | লজিক্যাল ওআর রেজিস্টারস | Rd ← Rd বনাম Rr | জেড, এন, ভি | 1 |
ওআরআই | আরডি, কে | লজিকাল ওআর রেজিস্টার এবং কনস্ট্যান্ট | Rd ← Rd বনাম K | জেড, এন, ভি | 1 |
ইওআর | আরডি, আরআর | এক্সক্লুসিভ বা রেজিস্টারস | Rd ← Rd ⊕ Rr | জেড, এন, ভি | 1 |
COM | Rd | একের পরিপূরক | Rd ← 0xFF − Rd | জেড, সি, এন, ভি | 1 |
NEG | Rd | দুজনের পরিপূরক | Rd ← 0x00 − Rd | জেড, সি, এন, ভি, এইচ | 1 |
এসবিআর | আরডি, কে | নিবন্ধে বিট (গুলি) সেট করুন | Rd ← Rd বনাম K | জেড, এন, ভি | 1 |
সিবিআর | আরডি, কে | নিবন্ধে বিট (গুলি) সাফ করুন | Rd ← Rd ∙ (0xFF – K) | জেড, এন, ভি | 1 |
INC | Rd | ইনক্রিমেন্ট | Rd ← Rd + 1 | জেড, এন, ভি | 1 |
ডিইসি | Rd | হ্রাস | Rd ← Rd − 1 | জেড, এন, ভি | 1 |
TST | Rd | জিরো বা মাইনাসের জন্য পরীক্ষা | Rd ← Rd ∙ Rd | জেড, এন, ভি | 1 |
সিএলআর | Rd | সাফ নিবন্ধ | Rd ← Rd ⊕ Rd | জেড, এন, ভি | 1 |
এসইআর | Rd | রেজিস্টার সেট করুন | Rd ← 0xFF | কোনোটিই নয় | 1 |
ব্রাঞ্চ নির্দেশাবলী | |||||
আরজেএমপি | k | আপেক্ষিক জাম্প | PC ← PC + k + 1 | কোনোটিই নয় | 2 |
আইজেএমপি | অপ্রত্যক্ষভাবে ঝাঁপ দাও (জেড) | পিসি ← জেড | কোনোটিই নয় | 2 | |
আরসিএলএল | k | আপেক্ষিক সাবরুটাইন কল | PC ← PC + k + 1 | কোনোটিই নয় | 3 |
আইসিএএলএল | পরোক্ষ কল (জেড) | পিসি ← জেড | কোনোটিই নয় | 3 | |
RET | সাব্রুটিন রিটার্ন | পিসি ← স্ট্যাক | কোনোটিই নয় | 4 | |
RETI | বিঘ্নিত রিটার্ন | পিসি ← স্ট্যাক | I | 4 | |
সিপিএসই | আরডি, আরআর | তুলনা করুন, সমান হলে এড়িয়ে যান | যদি (Rd = Rr) PC ← PC + 2 বা 3 | কোনোটিই নয় | 1/2/3 |
CP | আরডি, আরআর | তুলনা করুন | Rd - Rr | জেড, এন, ভি, সি, এইচ | 1 |
সিপিসি | আরডি, আরআর | ক্যারি সাথে তুলনা করুন | Rd − Rr − C | জেড, এন, ভি, সি, এইচ | 1 |
সিপিআই | আরডি, কে | তাত্ক্ষণিক সঙ্গে নিবন্ধের তুলনা করুন | Rd − K | জেড, এন, ভি, সি, এইচ | 1 |
SBRC | আরআর, খ | বিট্রে রেজিস্টার সাফ হয়ে গেলে এড়িয়ে যান | যদি (Rr(b)=0) PC ← PC + 2 বা 3 | কোনোটিই নয় | 1/2/3 |
এসবিআরএস | আরআর, খ | যদি রেজিস্টার বিট সেট থাকে তবে এড়িয়ে যান | যদি (Rr(b)=1) PC ← PC + 2 বা 3 | কোনোটিই নয় | 1/2/3 |
এসবিআইসি | পি, খ | I / O রেজিস্টারে বিট ক্লিয়ার হয়ে গেলে এড়িয়ে যান | যদি (P(b)=0) PC ← PC + 2 বা 3 | কোনোটিই নয় | 1/2/3 |
এসবিআইএস | পি, খ | I / O রেজিস্টারে বিট সেট থাকলে ছেড়ে যান | যদি (P(b)=1) PC ← PC + 2 বা 3 | কোনোটিই নয় | 1/2/3 |
বিআরবিএস | এস, কে | স্থিতি পতাকা সেট যদি শাখা | যদি (SREG(গুলি) = 1) তাহলে PC←PC+k + 1 | কোনোটিই নয় | 1/2 |
বিআরবিসি | এস, কে | স্থিতি পতাকা মুছে ফেলা হলে শাখা | যদি (SREG(গুলি) = 0) তাহলে PC←PC+k + 1 | কোনোটিই নয় | 1/2 |
BREQ | k | সমান হলে শাখা | যদি (Z = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএনই | k | সমান না হলে শাখা | যদি (Z = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরসিএস | k | শাখা যদি সেট করা হয় | যদি (C = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরসিসি | k | ক্যারি ক্লিয়ার হয়ে গেলে শাখা | যদি (C = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএসএইচ | k | একই বা উচ্চতর যদি শাখা | যদি (C = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএলও | k | শাখা কম হলে | যদি (C = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএমআই | k | শাখা যদি মাইনাস হয় | যদি (N = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরপিএল | k | প্লাস যদি শাখা | যদি (N = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরজিই | k | বৃহত্তর বা সমান হলে শাখা, স্বাক্ষরিত | যদি (N ⊕ V= 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএলটি | k | শূন্যের চেয়ে কম হলে শাখা, স্বাক্ষরিত | যদি (N ⊕ V= 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএইচএস | k | হাফ ক্যারি পতাকা সেট হলে শাখা | যদি (H = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরএইচসি | k | হাফ ক্যারি পতাকা সাফ হলে শাখা | যদি (H = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরটিএস | k | টি পতাকা সেট যদি শাখা | যদি (T = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরটিসি | k | টি পতাকা সাফ হলে শাখা | যদি (T = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরভিএস | k | ওভারফ্লো পতাকা সেট করা থাকলে শাখা | যদি (V = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিআরভিসি | k | ওভারফ্লো পতাকা মুছে ফেলা হলে শাখা | যদি (V = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
ব্রাই | k | বিঘ্ন সক্ষম হলে শাখা | যদি ( I = 1) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
ব্রাইড | k | বিঘ্ন অক্ষম থাকলে শাখা | যদি ( I = 0) তাহলে PC ← PC + k + 1 | কোনোটিই নয় | 1/2 |
বিট এবং বিট-পরীক্ষা নির্দেশাবলী | |||||
এসবিআই | পি, খ | আই / ও রেজিস্ট্রারে বিট সেট করুন | I/O(P,b) ← 1 | কোনোটিই নয় | 2 |
সিবিআই | পি, খ | আই / ও রেজিস্ট্রারে বিট সাফ করুন | I/O(P,b) ← 0 | কোনোটিই নয় | 2 |
এলএসএল | Rd | লজিক্যাল শিফট বামে | Rd(n+1) ← Rd(n), Rd(0) ← 0 | জেড, সি, এন, ভি | 1 |
এলএসআর | Rd | লজিক্যাল শিফট ডানে | Rd(n) ← Rd(n+1), Rd(7) ← 0 | জেড, সি, এন, ভি | 1 |
রোল | Rd | বামদিকে বহন করুন ক্যারি করে | Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) | জেড, সি, এন, ভি | 1 |
ROR | Rd | ক্যারি করে ডানদিকে ঘোরান | Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) | জেড, সি, এন, ভি | 1 |
এএসআর | Rd | পাটিগণিত শিফট ডান | Rd(n) ← Rd(n+1), n=0..6 | জেড, সি, এন, ভি | 1 |
স্মৃতিবিদ্যা | অপারেন্ডস | বর্ণনা | অপারেশন | পতাকা | # ক্লকস |
SWAP | Rd | অদলবদল | Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) | কোনোটিই নয় | 1 |
বিএসইটি | s | পতাকা সেট | SREG(গুলি) ← 1 | SREG (গুলি) | 1 |
বিসিএলআর | s | পতাকা পরিষ্কার | SREG(গুলি) ← 0 | SREG (গুলি) | 1 |
বিএসটি | আরআর, খ | বিট স্টোর থেকে রেজিস্টার করুন to | T ← Rr(b) | T | 1 |
বিএলডি | আরডি, খ | টি থেকে রেজিস্ট্রারে বিট লোড | Rd(b) ← T | কোনোটিই নয় | 1 |
এসইসি | ক্যারি সেট করুন | গ ← ১ | C | 1 | |
সিএলসি | সাফ ক্যারি | গ ← ১ | C | 1 | |
সেন | নেতিবাচক পতাকা সেট করুন | N ← 1 | N | 1 | |
সিএলএন | নেতিবাচক পতাকা সাফ করুন | N ← 0 | N | 1 | |
SEZ | জিরো পতাকা সেট করুন | Z ← 1 | Z | 1 | |
সিএলজেড | জিরো পতাকা সাফ করুন | Z ← 0 | Z | 1 | |
এসইআই | গ্লোবাল ইন্টারাপ্ট সক্ষম করুন | আমি ← ১ | I | 1 | |
সিএলআই | গ্লোবাল ইন্টারপেট অক্ষম | আমি ← ১ | I | 1 | |
এসইএস | স্বাক্ষরিত পরীক্ষার পতাকা সেট করুন | এস ← 1 | S | 1 | |
সিএলএস | স্বাক্ষরিত পরীক্ষার পতাকা সাফ করুন | এস ← 0 | S | 1 | |
এসইভি | টোভস পরিপূরক ওভারফ্লো সেট করুন। | V ← 1 | V | 1 | |
সিএলভি | দ্বিগুণ পরিপূরক ওভারফ্লো সাফ করুন | V ← 0 | V | 1 | |
সেট | এসআরজি তে টি সেট করুন | টি ← ১ | T | 1 | |
সিএলটি | এসআরইজে ক্লিয়ার টি | টি ← ১ | T | 1 | |
Seh | এসআরইজে অর্ধ ক্যারি পতাকা সেট করুন | H ← 1 | H | 1 | |
সিএলএইচ | এসআরজি-তে হাফ ক্যারি পতাকা সাফ করুন | H ← 0 | H | 1 | |
ডেটা ট্রান্সফার নির্দেশাবলী | |||||
MOV | আরডি, আরআর | নিবন্ধকের মধ্যে সরান | Rd ← আরআর | কোনোটিই নয় | 1 |
চলুন | আরডি, আরআর | রেজিস্টার ওয়ার্ড কপি করুন | Rd+1:Rd ← Rr+1:Rr | কোনোটিই নয় | 1 |
এলডিআই | আরডি, কে | তাত্ক্ষণিক লোড করুন | Rd ← কে | কোনোটিই নয় | 1 |
LD | আরডি, এক্স | পরোক্ষভাবে লোড করুন | Rd ← (X) | কোনোটিই নয় | 2 |
LD | আরডি, এক্স + | পরোক্ষ এবং পোস্ট-ইনক লোড করুন। | Rd ← (X), X ← X + 1 | কোনোটিই নয় | 2 |
LD | আরডি, - এক্স | পরোক্ষ এবং পূর্ব ডিসেম্বর লোড করুন। | X ← X – 1, Rd ← (X) | কোনোটিই নয় | 2 |
LD | আরডি, ওয়াই | পরোক্ষভাবে লোড করুন | Rd ← (Y) | কোনোটিই নয় | 2 |
LD | আরডি, ওয়াই + | পরোক্ষ এবং পোস্ট-ইনক লোড করুন। | Rd ← (Y), Y ← Y + 1 | কোনোটিই নয় | 2 |
LD | আরডি, - ওয়াই | পরোক্ষ এবং পূর্ব ডিসেম্বর লোড করুন। | Y ← Y – 1, Rd ← (Y) | কোনোটিই নয় | 2 |
এলডিডি | আরডি, ওয়াই + কিউ | স্থানচ্যুতি সহ পরোক্ষভাবে লোড করুন | Rd ← (Y + q) | কোনোটিই নয় | 2 |
LD | আরডি, জেড | পরোক্ষভাবে লোড করুন | Rd ← (Z) | কোনোটিই নয় | 2 |
LD | আরডি, জেড + | পরোক্ষ এবং পোস্ট-ইনক লোড করুন। | Rd ← (Z), Z ← Z+1 | কোনোটিই নয় | 2 |
LD | আরডি, -জেড | পরোক্ষ এবং পূর্ব ডিসেম্বর লোড করুন। | Z ← Z – 1, Rd ← (Z) | কোনোটিই নয় | 2 |
এলডিডি | আরডি, জেড + কিউ | স্থানচ্যুতি সহ পরোক্ষভাবে লোড করুন | Rd ← (Z + q) | কোনোটিই নয় | 2 |
এলডিএস | আরডি, কে | এসআরএএম থেকে সরাসরি লোড করুন | Rd ← (k) | কোনোটিই নয় | 2 |
ST | এক্স, আরআর | পরোক্ষ স্টোর | (X) ← আরআর | কোনোটিই নয় | 2 |
ST | এক্স +, আরআর | পরোক্ষ এবং পোস্ট-ইনক স্টোর। | (X) ← Rr, X ← X + 1 | কোনোটিই নয় | 2 |
ST | - এক্স, আরআর | পরোক্ষ এবং প্রাক ডিসেম্বর স্টোর। | X ← X – 1, (X) ← Rr | কোনোটিই নয় | 2 |
ST | ওয়াই, আরআর | পরোক্ষ স্টোর | (Y) ← আরআর | কোনোটিই নয় | 2 |
ST | ওয়াই +, আরআর | পরোক্ষ এবং পোস্ট-ইনক স্টোর। | (Y) ← Rr, Y ← Y + 1 | কোনোটিই নয় | 2 |
ST | - ওয়াই, আরআর | পরোক্ষ এবং প্রাক ডিসেম্বর স্টোর। | Y ← Y – 1, (Y) ← Rr | কোনোটিই নয় | 2 |
STD | Y + q, আরআর | স্থানচ্যুতি সঙ্গে পরোক্ষ সঞ্চয় | (Y + q) ← Rr | কোনোটিই নয় | 2 |
ST | জেড, আরআর | পরোক্ষ স্টোর | (Z) ← আরআর | কোনোটিই নয় | 2 |
ST | জেড +, আরআর | পরোক্ষ এবং পোস্ট-ইনক স্টোর। | (Z) ← Rr, Z ← Z + 1 | কোনোটিই নয় | 2 |
ST | -জেড, আরআর | পরোক্ষ এবং প্রাক ডিসেম্বর স্টোর। | Z ← Z – 1, (Z) ← Rr | কোনোটিই নয় | 2 |
STD | জেড + কিউ, আরআর | স্থানচ্যুতি সঙ্গে পরোক্ষ সঞ্চয় | (Z + q) ← Rr | কোনোটিই নয় | 2 |
এসটিএস | কে, আরআর | স্টোর ডিরেক্ট এসআরএমে | (k) ← আরআর | কোনোটিই নয় | 2 |
এলপিএম | লোড প্রোগ্রাম মেমরি | R0 ← (Z) | কোনোটিই নয় | 3 | |
এলপিএম | আরডি, জেড | লোড প্রোগ্রাম মেমরি | Rd ← (Z) | কোনোটিই নয় | 3 |
এলপিএম | আরডি, জেড + | লোড প্রোগ্রাম মেমরি এবং পোস্ট ইনক | Rd ← (Z), Z ← Z+1 | কোনোটিই নয় | 3 |
এসপিএম | স্টোর প্রোগ্রাম মেমরি | (z) ← R1:R0 | কোনোটিই নয় | ||
IN | আরডি, পি | বন্দরে | Rd ← পি | কোনোটিই নয় | 1 |
আউট | পি, আরআর | আউট পোর্ট | P ← আরআর | কোনোটিই নয় | 1 |
ধাক্কা | Rr | স্ট্যাক অন রেজিস্ট্রেশন পুশ | স্ট্যাক ← আরআর | কোনোটিই নয় | 2 |
POP | Rd | স্ট্যাক থেকে পপ নিবন্ধন করুন | Rd ← স্ট্যাক | কোনোটিই নয় | 2 |
MCU নিয়ন্ত্রণের নির্দেশাবলী | |||||
NOP | কোন অপারেশন নেই | কোনোটিই নয় | 1 | ||
ঘুমাও | ঘুম | (স্লিপ ফাংশনের জন্য সুনির্দিষ্ট descr দেখুন) | কোনোটিই নয় | 1 | |
WDR | ওয়াচডগ পুনরায় সেট করুন | (ডাব্লুডিআর / টাইমার জন্য নির্দিষ্ট descr দেখুন) | কোনোটিই নয় | 1 | |
BREAK | বিরতি |
গতি (মেগাহার্টজ) (1) | সরবরাহ ভলিউমtagই (ভি) | তাপমাত্রা পরিসীমা | প্যাকেজ (2) | অর্ডার কোড (3) |
10 | 1.8 - 5.5 | ইন্ডাস্ট্রিয়াল
(-40 ° C থেকে + 85 to C) (4) |
8P3 | এটিটিনি 45 ভি -10 পিইউ |
8S2 | ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR | |||
8X | ATtiny45V-10XU ATtiny45V-10XUR | |||
20M1 | ATtiny45V-10MU ATtiny45V-10MUR | |||
20 | 2.7 - 5.5 | ইন্ডাস্ট্রিয়াল
(-40 ° C থেকে + 85 to C) (4) |
8P3 | ATtiny45-20PU সম্পর্কে |
8S2 | ATtiny45-20SU ATtiny45-20SUR
এটিটিনি 45-20 এসএইচ এটিনি 45 এসএইচআর |
|||
8X | ATtiny45-20XU ATtiny45-20XUR | |||
20M1 | ATtiny45-20MU ATtiny45-20MUR |
দ্রষ্টব্য: 1. গতি বনাম সরবরাহ ভলিউমের জন্যtage, বিভাগ দেখুন 21.3 পৃষ্ঠাতে 163 "গতি".
সমস্ত প্যাকেজগুলি পিবি-ফ্রি, হালাইড-মুক্ত এবং পুরোপুরি সবুজ এবং তারা বিপজ্জনক পদার্থের (রোএইচএস) প্রতিরোধের জন্য ইউরোপীয় নির্দেশকে মেনে চলে।
কোড সূচক
এইচ: NiPdAu সীসা সমাপ্তি
ইউ: ম্যাট টিন
আর: টেপ এবং রিল
এই ডিভাইসগুলি ওয়েফার আকারে সরবরাহ করা যেতে পারে। বিস্তারিত অর্ডার সম্পর্কিত তথ্য এবং ন্যূনতম পরিমাণের জন্য দয়া করে আপনার স্থানীয় আতেল বিক্রয় অফিসের সাথে যোগাযোগ করুন।
ত্রুটি
ত্রুটি এটিটি 25
এই বিভাগে সংশোধন পত্রটি এটিটিই 25 ডিভাইসটির সংশোধনকে বোঝায়।
রেভ ডি - এফ
কোন পরিচিত ত্রুটি নেই।
রেভ বি - সি
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
কম ঘড়ির ফ্রিকোয়েন্সি এবং/অথবা কম সাপ্লাই ভলিউমে EEPROM পড়ার চেষ্টা করা হচ্ছেtage এর ফলে অবৈধ ডেটা হতে পারে।
সমস্যা স্থির / workaround
যখন ঘড়ির ফ্রিকোয়েন্সি 1MHz এর নিচে থাকে এবং ভোল্ট সরবরাহ করে তখন EEPROM ব্যবহার করবেন নাtage 2V এর নিচে। যদি অপারেটিং ফ্রিকোয়েন্সি 1MHz এর উপরে না উঠতে পারে তাহলে ভোল সরবরাহ করুনtagই 2V এর বেশি হওয়া উচিত। একইভাবে, যদি সরবরাহ ভলিউমtage 2V এর উপরে উঠানো যাবে না তাহলে অপারেটিং ফ্রিকোয়েন্সি 1MHz এর বেশি হওয়া উচিত।
এই বৈশিষ্ট্যটি তাপমাত্রা নির্ভরশীল হিসাবে পরিচিত তবে এটি চিহ্নিত করা হয়নি। নির্দেশিকা কেবলমাত্র তাপমাত্রার জন্য দেওয়া হয়।
রেভ এ
না sampএলইডি.
ত্রুটি এটিটি 45
এই বিভাগে সংশোধন পত্রটি এটিটিই 45 ডিভাইসটির সংশোধনকে বোঝায়।
রেভ এফ - জি
কোন পরিচিত ত্রুটি নেই
রেভ ডি - ই
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
কম ঘড়ির ফ্রিকোয়েন্সি এবং/অথবা কম সাপ্লাই ভলিউমে EEPROM পড়ার চেষ্টা করা হচ্ছেtage এর ফলে অবৈধ ডেটা হতে পারে।
সমস্যা স্থির / workaround
যখন ঘড়ির ফ্রিকোয়েন্সি 1MHz এর নিচে থাকে এবং ভোল্ট সরবরাহ করে তখন EEPROM ব্যবহার করবেন নাtage 2V এর নিচে। যদি অপারেটিং ফ্রিকোয়েন্সি 1MHz এর উপরে না উঠতে পারে তাহলে ভোল সরবরাহ করুনtagই 2V এর বেশি হওয়া উচিত। একইভাবে, যদি সরবরাহ ভলিউমtage 2V এর উপরে উঠানো যাবে না তাহলে অপারেটিং ফ্রিকোয়েন্সি 1MHz এর বেশি হওয়া উচিত।
এই বৈশিষ্ট্যটি তাপমাত্রা নির্ভরশীল হিসাবে পরিচিত তবে এটি চিহ্নিত করা হয়নি। নির্দেশিকা কেবলমাত্র তাপমাত্রার জন্য দেওয়া হয়।
রেভ বি - সি
পিএলএল লক করছে না
অ্যাপ্লিকেশন কোড থেকে পঠিত EEPROM লক বিট মোড 3 এ কাজ করে না
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
ওসি 1 বি- এক্সওস 1 বি তে টাইমার কাউন্টার 1 পিডব্লিউএম আউটপুট জেনারেশনটি সঠিকভাবে কাজ করে না
পিএলএল লক করছে না
6.0 মেগাহার্টজ এর নীচে যখন ফ্রিকোয়েন্সি থাকে তখন পিএলএল লক হবে না
সমস্যা স্থির / কর্মক্ষেত্র
পিএলএল ব্যবহার করার সময়, 6.0 মেগাহার্টজ বা তার চেয়েও উচ্চতর চালান।
অ্যাপ্লিকেশন কোড থেকে পঠিত EEPROM লক বিট মোড 3 এ কাজ করে না
যখন মেমরি লক বিটস এলবি 2 এবং এলবি 1 প্রোগ্রাম 3 মোডে করা হয়, তখন EEPROM অ্যাপ্লিকেশন কোড থেকে কাজ করে না।
সমস্যা স্থির / চারপাশে কাজ
অ্যাপ্লিকেশন কোডটি EEPROM থেকে পড়ার প্রয়োজন হলে লক বিট সুরক্ষা মোড 3 সেট করবেন না।
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
কম ঘড়ির ফ্রিকোয়েন্সি এবং/অথবা কম সাপ্লাই ভলিউমে EEPROM পড়ার চেষ্টা করা হচ্ছেtage এর ফলে অবৈধ ডেটা হতে পারে।
সমস্যা স্থির / workaround
যখন ঘড়ির ফ্রিকোয়েন্সি 1MHz এর নিচে থাকে এবং ভোল্ট সরবরাহ করে তখন EEPROM ব্যবহার করবেন নাtage 2V এর নিচে। যদি অপারেটিং ফ্রিকোয়েন্সি 1MHz এর উপরে না উঠতে পারে তাহলে ভোল সরবরাহ করুনtagই 2V এর বেশি হওয়া উচিত। একইভাবে, যদি সরবরাহ ভলিউমtage 2V এর উপরে উঠানো যাবে না তাহলে অপারেটিং ফ্রিকোয়েন্সি 1MHz এর বেশি হওয়া উচিত।
এই বৈশিষ্ট্যটি তাপমাত্রা নির্ভরশীল হিসাবে পরিচিত তবে এটি চিহ্নিত করা হয়নি। নির্দেশিকা কেবলমাত্র তাপমাত্রার জন্য দেওয়া হয়।
ওসি 1 বি - টিওএস 1 বি তে টাইমার কাউন্টার 1 পিডব্লিউএম আউটপুট জেনারেশন সঠিকভাবে কাজ করে না
টাইমার কাউন্টার 1 পিডব্লিউএম আউটপুট OC1B-XOC1B সঠিকভাবে কাজ করে না। কেবল যখন ক্ষেত্রে কন্ট্রোল বিটস, COM1B1 এবং COM1B0 যথাক্রমে COM1A1 এবং COM1A0 একই মোডে থাকে, OC1B-XOC1B আউট-পুট সঠিকভাবে কাজ করে।
সমস্যা স্থির / চারপাশে কাজ
একমাত্র কাজটি হ'ল COM1A [1: 0] এবং COM1B [1: 0] বিট নিয়ন্ত্রণ বিটগুলিতে একই নিয়ন্ত্রণ সেটিংস ব্যবহার করা, ডাটা শীটে টেবিল 14- 4 দেখুন। Tiny45 রেভ ডি এর জন্য সমস্যাটি স্থির করা হয়েছে
রেভ এ
খুব বেশি পাওয়ার ডাউন ডাউন পাওয়ার
ডিবাগওয়াইআর যোগাযোগকে হারাতে থাকে যখন একক স্ট্র্যাপে বাধা দেয়
পিএলএল লক করছে না
অ্যাপ্লিকেশন কোড থেকে পঠিত EEPROM লক বিট মোড 3 এ কাজ করে না
কম সরবরাহ ভলিউমে EEPROM রিড ব্যর্থ হতে পারেtagই / কম ঘড়ির ফ্রিকোয়েন্সি
খুব বেশি পাওয়ার ডাউন ডাউন পাওয়ার
তিনটি পরিস্থিতি বিদ্যুৎ খরচ খুব বেশি পাওয়ার ডাউন করার দিকে পরিচালিত করবে। এইগুলো:
একটি বাহ্যিক ঘড়ি ফিউজ দ্বারা নির্বাচিত হয়, তবে I / O PORT এখনও আউটপুট হিসাবে সক্ষম হয়।
EEPROM পাওয়ার ডাউন ডাউন প্রবেশের আগে পড়া হয়।
ভিসিসি 4.5 ভোল্ট বা তার চেয়েও উচ্চতর।
অস্বীকৃতি: এই নথিতে তথ্য Atmel পণ্যের সংযোগে প্রদান করা হয়. এই দস্তাবেজ দ্বারা বা Atmel পণ্য বিক্রয়ের সাথে সম্পর্কিত কোন বৌদ্ধিক সম্পত্তি অধিকার এস্টপেল দ্বারা বা অন্যথায় কোন লাইসেন্স, প্রকাশ বা উহ্য করা হয় না। ATMEL-এ অবস্থিত বিক্রয়ের শর্তাবলী এবং ATMEL-এর শর্তাবলীতে উল্লেখ করা ব্যতীত WEBসাইট, ATMEL যাই হোক না কেন কোনো দায়বদ্ধতা স্বীকার করে না এবং এর পণ্যগুলির সাথে সম্পর্কিত যেকোন এক্সপ্রেস, উহ্য বা বিধিবদ্ধ ওয়্যারেন্টি অস্বীকার করে, তবে এর মধ্যে সীমাবদ্ধ নয়, দায়বদ্ধতার জন্য উহ্য ওয়্যারেন্টি, দায়বদ্ধতা দায়বদ্ধতা অ লঙ্ঘন. কোনো ঘটনাতেই ATMEL কোনো প্রত্যক্ষ, পরোক্ষ, ফলশ্রুতিমূলক, শাস্তিমূলক, বিশেষ বা আকস্মিক ক্ষতির জন্য দায়ী থাকবে না (সহ, সীমাবদ্ধতা ব্যতীত, ক্ষতি এবং লাভের ক্ষতি, ব্যবসা-বাণিজ্য, ব্যবসা-বাণিজ্যের জন্য) ING ব্যবহার বা ব্যবহারের অক্ষমতার বাইরে এই নথিতে, এমনকি যদি ATMEL-কে এই ধরনের ক্ষতির সম্ভাবনার পরামর্শ দেওয়া হয়।
Atmel এই নথির বিষয়বস্তুর নির্ভুলতা বা সম্পূর্ণতার বিষয়ে কোন উপস্থাপনা বা ওয়ারেন্টি দেয় না এবং নোটিশ ছাড়াই যেকোন সময়ে স্পেসিফিকেশন এবং পণ্যের বিবরণে পরিবর্তন করার অধিকার সংরক্ষণ করে। Atmel এখানে থাকা তথ্য আপডেট করার কোনো প্রতিশ্রুতি দেয় না। বিশেষভাবে অন্যথায় প্রদান না করা পর্যন্ত, Atmel পণ্যগুলি স্বয়ংচালিত অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত নয় এবং ব্যবহার করা হবে না। অ্যাটমেল পণ্যগুলি জীবনকে সমর্থন বা টিকিয়ে রাখার উদ্দেশ্যে অ্যাপ্লিকেশনগুলিতে উপাদান হিসাবে ব্যবহারের জন্য উদ্দেশ্য, অনুমোদিত বা ওয়ারেন্টিযুক্ত নয়।