इंटेल 8253: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:


[[Image:Ic-photo-Intel--C8253.JPG|thumb|इंटेल C8253]]
[[Image:Ic-photo-Intel--C8253.JPG|thumb|इंटेल C8253]]
[[Image:Intel 8253 and 8254.svg|thumb|इंटेल 8253 प्रोग्रामयोग्य अंतराल टाइमर। Intel 8254 में समान पिनआउट है।]][[इंटेल]] 8253 और 8254 [[प्रोग्रामयोग्य अंतराल टाइमर]] (पीआईटी) हैं, जो तीन 16-बिट काउंटर का उपयोग करके समय और गिनती कार्य करते हैं।<ref name=i82c54/>
[[Image:Intel 8253 and 8254.svg|thumb|इंटेल 8253 प्रोग्रामयोग्य अंतराल टाइमर। इंटेल 8254 में समान पिनआउट है।]][[इंटेल]] 8253 और 8254 [[प्रोग्रामयोग्य अंतराल टाइमर]] (पीआईटी) हैं, जो तीन 16-बिट काउंटर का उपयोग करके समय और गणना फ़ंक्शन निष्पादित करते हैं।<ref name=i82c54/>


825x परिवार मुख्य रूप से [[Intel 8080]]/[[Intel 8085]]-प्रोसेसर के लिए डिज़ाइन किया गया था, लेकिन बाद में x86 संगत सिस्टम में उपयोग किया गया। 825x चिप्स, या बड़ी चिप में एम्बेडेड समकक्ष सर्किट, सभी [[आईबीएम पीसी संगत]] और वेक्टर -06 सी जैसे सोवियत कंप्यूटरों में पाए जाते हैं।
825x वर्ग मुख्य रूप से [[Intel 8080|इंटेल 8080]]/[[Intel 8085|इंटेल 8085]]-प्रोसेसर के लिए डिज़ाइन किया गया था, परंतु बाद में x86 संगत सिस्टम में उपयोग किया गया। 825x चिप, या बड़ी चिप में एम्बेडेड समकक्ष सर्किट, सभी [[आईबीएम पीसी संगत]] और वेक्टर -06 सी जैसे सोवियत कंप्यूटरों में पाए जाते हैं।


पीसी कंपैटिबल्स में, टाइमर चैनल 0 को [[ व्यवधान अनुरोध (पीसी आर्किटेक्चर) ]] -0 (उच्चतम प्राथमिकता हार्डवेयर इंटरप्ट) को सौंपा गया है। टाइमर चैनल 1 को DRAM रिफ्रेश के लिए असाइन किया गया है (कम से कम 80386 से पहले के शुरुआती मॉडल में)। टाइमर चैनल 2 [[पीसी स्पीकर]] को सौंपा गया है।
पीसी कंपैटिबल्स में, टाइमर चैनल 0 को [[ व्यवधान अनुरोध (पीसी आर्किटेक्चर) | अंतरायन अनुरोध (पीसी आर्किटेक्चर)]] -0 (उच्चतम प्राथमिकता हार्डवेयर इंटरप्ट) को दिया गया है। टाइमर चैनल 1 को डीरैम रिफ्रेश के लिए असाइन किया गया है (कम से कम 80386 से पहले के प्रारम्भिक मॉडल में)। टाइमर चैनल 2 [[पीसी स्पीकर]] को दिया गया है।


इंटेल 82c54 ([[सीएमओएस]] लॉजिक के लिए सी) वेरिएंट 10 मेगाहर्ट्ज क्लॉक सिग्नल तक संभालता है।<ref name=i82c54/>
इंटेल 82c54 ([[सीएमओएस]] लॉजिक के लिए सी) प्रकार 10 मेगाहर्ट्ज क्लॉक सिग्नल तक संभालता है।<ref name=i82c54/>
==इतिहास==
==इतिहास==
8253 का वर्णन 1980 इंटेल कंपोनेंट डेटा कैटलॉग प्रकाशन में किया गया है। 8254, जिसे उच्च क्लॉक स्पीड रेटिंग के साथ 8253 के सुपरसेट के रूप में वर्णित किया गया है, की 1982 इंटेल कंपोनेंट डेटा कैटलॉग में प्रारंभिक डेटा शीट है।
8253 का वर्णन 1980 इंटेल कंपोनेंट डेटा कैटलॉग प्रकाशन में किया गया है। 8254, जिसे उच्च क्लॉक स्पीड रेटिंग के साथ 8253 के सुपरसेट के रूप में वर्णित किया गया है, की 1982 इंटेल कंपोनेंट डेटा कैटलॉग में प्रारंभिक डेटा शीट है।


8254 को एचएमओएस में लागू किया गया है और इसमें रीड बैक कमांड 8253 पर उपलब्ध नहीं है, और ही काउंटर को इंटरलीव करने के लिए पढ़ने और लिखने की अनुमति देता है।<ref>{{cite book |author1=Deepali A. Godse |author2=Atul P. Godse |title=उन्नत माइक्रोप्रोसेसर|publisher=Technical Publications |year=2007 |isbn=978-81-89411-33-6 |page=74}}</ref>
8254 को एचएमओएस में लागू किया गया है और इसमें रीड बैक कमांड 8253 पर उपलब्ध नहीं है, और एक ही काउंटर को इंटरलीव करने के लिए पढ़ने और लिखने की अनुमति देता है।<ref>{{cite book |author1=Deepali A. Godse |author2=Atul P. Godse |title=उन्नत माइक्रोप्रोसेसर|publisher=Technical Publications |year=2007 |isbn=978-81-89411-33-6 |page=74}}</ref>
आधुनिक पीसी कंपेटिबल, या तो चिप सीपीयू या [[साउथब्रिज (कंप्यूटिंग)]] पर सिस्टम का उपयोग करते समय आमतौर पर बैकवर्ड संगतता और इंटरऑपरेबिलिटी के लिए पूर्ण 8254 संगतता लागू करते हैं।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref> रीड बैक कमांड मल्टीकोर सीपीयू और जीपीयू के साथ इंटरऑपरेबिलिटी के लिए महत्वपूर्ण I/O सुविधा है।


=== वेरिएंट ===
आधुनिक पीसी कंपेटिबल, या तो चिप सीपीयू या [[साउथब्रिज (कंप्यूटिंग)]] पर सिस्टम का उपयोग करते समय सामान्यतः बैकवर्ड संगतता और अंतरप्रचालनीयता के लिए पूर्ण 8254 संगतता लागू करते हैं।<ref>http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf {{Bare URL PDF|date=March 2022}}</ref> रीड बैक कमांड मल्टीकोर सीपीयू और जीपीयू के साथ अंतरप्रचालनीयता के लिए महत्वपूर्ण आई/ओ सुविधा है।
-55°C से +125°C के तापमान रेंज के साथ Intel M8253 का सैन्य संस्करण है, जिसमें ±10% 5V पावर सहनशीलता भी है।<ref>Intel Corporation, "Focus Components: Military Intelligence: Timers, EPROMs, Leadless Chip Carriers", Solutions, March/April 1983, Page 12.</ref> उपलब्ध 82C53 CMOS संस्करण को ओकी इलेक्ट्रिक इंडस्ट्री|ओकी इलेक्ट्रॉनिक इंडस्ट्री कंपनी लिमिटेड को आउटसोर्स किया गया था।<ref>Intel Corporation, "NewsBit: Intel Licenses Oki on CMOS Version of Several Products", Solutions, July/August 1984, Page 1.</ref> Intel 82C54 का उपलब्ध पैकेज संस्करण 1986 की पहली तिमाही में सैंपलिंग के 28-पिन चिप_कैरियर#प्लास्टिक-लीडेड_चिप_कैरियर में था।<ref>Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, January/February 1986, Page 2</ref>
 
=== प्रकार ===
-55°C से +125°C के तापमान श्रेणी के साथ इंटेल M8253 का सैन्य संस्करण है, जिसमें ±10% 5V सामर्थ्य सहनशीलता भी है।<ref>Intel Corporation, "Focus Components: Military Intelligence: Timers, EPROMs, Leadless Chip Carriers", Solutions, March/April 1983, Page 12.</ref> उपलब्ध 82C53 CMOS संस्करण को ओकी इलेक्ट्रिक इंडस्ट्री कंपनी लिमिटेड को आउटसोर्स किया गया था।<ref>Intel Corporation, "NewsBit: Intel Licenses Oki on CMOS Version of Several Products", Solutions, July/August 1984, Page 1.</ref> इंटेल 82C54 का उपलब्ध पैकेज संस्करण 1986 की प्रथम तिमाही में सैंपलिंग के 28-पिन चिप कैरियर में था।<ref>Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, January/February 1986, Page 2</ref>
== विशेषताएँ ==
== विशेषताएँ ==
[[Image:Intel 8253 block diagram.svg|thumb|का ब्लॉक आरेख {{nowrap|Intel 8253}}]]टाइमर में तीन काउंटर हैं, जिनकी संख्या 0 से 2 है।<ref name="Intel 8254">{{cite web |title=8254/82C54: Introduction to Programmable Interval Timer |url=http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |publisher=Intel Corporation |archive-url=https://web.archive.org/web/20161122073424/http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |accessdate=21 August 2011|archive-date=22 November 2016 }}</ref> प्रत्येक चैनल को छह मोड में से में संचालित करने के लिए प्रोग्राम किया जा सकता है। बार प्रोग्राम हो जाने पर, चैनल स्वतंत्र रूप से काम करते हैं।<ref name=i82c54>{{cite web |archive-url=https://web.archive.org/web/20150603122044/http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |archive-date=3 June 2015 |url=http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |url-status=dead |title=Intel 82C54 CHMOS Programmabe Interval Timer |type=datasheet |access-date=26 November 2012 }}</ref>
[[Image:Intel 8253 block diagram.svg|thumb|का ब्लॉक आरेख {{nowrap|Intel 8253}}]]टाइमर में तीन काउंटर हैं, जिनकी संख्या 0 से 2 है।<ref name="Intel 8254">{{cite web |title=8254/82C54: Introduction to Programmable Interval Timer |url=http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |publisher=Intel Corporation |archive-url=https://web.archive.org/web/20161122073424/http://www.intel.com:80/design/archives/periphrl/docs/7203.htm |accessdate=21 August 2011|archive-date=22 November 2016 }}</ref> प्रत्येक चैनल को छह मोड में से में संचालित करने के लिए प्रोग्राम किया जा सकता है। एक बार प्रोग्राम हो जाने पर, चैनल स्वतंत्र रूप से कार्य करते हैं।<ref name=i82c54>{{cite web |archive-url=https://web.archive.org/web/20150603122044/http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |archive-date=3 June 2015 |url=http://download.intel.com/design/archives/periphrl/docs/23124406.pdf |url-status=dead |title=Intel 82C54 CHMOS Programmabe Interval Timer |type=datasheet |access-date=26 November 2012 }}</ref>
प्रत्येक काउंटर में दो इनपुट पिन होते हैं - सीएलके ([[ घड़ी ]] इनपुट) और गेट - और डेटा आउटपुट के लिए पिन, आउट। तीन काउंटर एक-दूसरे से स्वतंत्र 16-बिट डाउन काउंटर हैं, और इन्हें केंद्रीय प्रसंस्करण इकाई द्वारा आसानी से पढ़ा जा सकता है।<ref>{{cite web |title=MSM 82c53 Datasheet |url=http://www.sharpmz.org/download/8253.pdf}}</ref>
प्रत्येक काउंटर में दो इनपुट पिन होते हैं - "CLK"  ([[ घड़ी ]] इनपुट) और "GATE" - और डेटा आउटपुट के लिए पिन, "OUT"। तीन काउंटर एक-दूसरे से स्वतंत्र 16-बिट डाउन काउंटर हैं, और इन्हें केंद्रीय प्रसंस्करण इकाई द्वारा सरलता से पढ़ा जा सकता है।<ref>{{cite web |title=MSM 82c53 Datasheet |url=http://www.sharpmz.org/download/8253.pdf}}</ref>
* डेटा बस बफ़र में माइक्रोप्रोसेसर और आंतरिक रजिस्टरों के बीच डेटा बस को बफ़र करने का तर्क होता है। इसमें 8 इनपुट पिन हैं, जिन्हें आमतौर पर D7..D0 के रूप में लेबल किया जाता है, जहां D7 [[सबसे महत्वपूर्ण बिट]] है।
* डेटा बस बफ़र में माइक्रोप्रोसेसर और आंतरिक रजिस्टरों के बीच डेटा बस को बफ़र करने का तर्क होता है। इसमें 8 इनपुट पिन हैं, जिन्हें सामान्यतः D7..D0 के रूप में लेबल किया जाता है, जहां D7 [[सबसे महत्वपूर्ण बिट]] है।
* रीड/राइट लॉजिक में 5 पिन होते हैं, जो नीचे सूचीबद्ध हैं।{{overline|X}} दर्शाता है कि X सक्रिय निम्न सिग्नल है।
* रीड/राइट लॉजिक में 5 पिन होते हैं, जो निम्न सूचीबद्ध हैं। {{overline|X}} दर्शाता है कि X एक सक्रिय निम्न सिग्नल है।
** {{overline|RD}}: संकेत पढ़ें
** {{overline|RD}}: रीड सिग्नल
** {{overline|WR}}: संकेत लिखें
** {{overline|WR}}: राइट सिग्नल
** {{overline|CS}}: चिप चयन सिग्नल
** {{overline|CS}}: चिप सिलेक्ट सिग्नल
** A0, A1: [[पता पंक्ति]]याँ
** A0, A1: [[पता पंक्ति|एड्रैस लाइन]]


उपरोक्त हार्डवेयर सिग्नल सेट करके पीआईटी का ऑपरेशन मोड बदल दिया जाता है। उदाहरण के लिए, कंट्रोल वर्ड रजिस्टर पर लिखने के लिए, किसी को सेट करना होगा {{overline|CS}}=0, {{overline|RD}}=1, {{overline|WR}}=0, ए1=ए0=1.
उपरोक्त हार्डवेयर सिग्नल सेट करके पीआईटी का ऑपरेशन मोड बदल दिया जाता है। उदाहरण के लिए, कंट्रोल वर्ड रजिस्टर पर लिखने के लिए, किसी को {{overline|CS}}=0, {{overline|RD}}=1, {{overline|WR}}=0, A1=A0=1 सेट करना होगा।


* कंट्रोल वर्ड रजिस्टर में प्रोग्राम की गई जानकारी होती है जिसे ([[माइक्रोप्रोसेसर]] द्वारा) डिवाइस पर भेजा जाएगा। यह परिभाषित करता है कि पीआईटी का प्रत्येक चैनल तार्किक रूप से कैसे काम करता है। इन बंदरगाहों तक प्रत्येक पहुंच में लगभग 1 µs का समय लगता है।
* कंट्रोल वर्ड रजिस्टर में प्रोग्राम की गई सूचना होती है जिसे ([[माइक्रोप्रोसेसर]] द्वारा) डिवाइस पर भेजा जाएगा। यह परिभाषित करता है कि पीआईटी का प्रत्येक चैनल तार्किक रूप से कैसे कार्य करता है। इन पोर्ट तक प्रत्येक पहुंच में लगभग 1 µs का समय लगता है।


काउंटरों को आरंभ करने के लिए, माइक्रोप्रोसेसर को इस रजिस्टर में नियंत्रण शब्द (सीडब्ल्यू) लिखना होगा। यह रीड/राइट लॉजिक ब्लॉक के पिन के लिए उचित मान सेट करके और फिर डेटा/बस बफर ब्लॉक में नियंत्रण शब्द भेजकर किया जा सकता है।
काउंटरों को आरंभ करने के लिए, माइक्रोप्रोसेसर को इस रजिस्टर में नियंत्रण शब्द (सीडब्ल्यू) लिखना होगा। यह रीड/राइट लॉजिक ब्लॉक के पिन के लिए उचित मान सेट करके और फिर डेटा/बस बफर ब्लॉक में नियंत्रण शब्द भेजकर किया जा सकता है।


नियंत्रण शब्द रजिस्टर में 8 बिट्स हैं, जिन्हें D7..D0 लेबल किया गया है (D7 सबसे महत्वपूर्ण बिट है)। डिकोडिंग कुछ जटिल है. अधिकांश मान तीन काउंटरों में से के लिए पैरामीटर सेट करते हैं:
नियंत्रण शब्द रजिस्टर में 8 बिट्स हैं, जिन्हें D7..D0 लेबल किया गया है (D7 सबसे महत्वपूर्ण बिट है)। डिकोडिंग कुछ जटिल है।  अधिकांश मान तीन काउंटरों में से एक  के लिए पैरामीटर सेट करते हैं:
* सबसे महत्वपूर्ण दो बिट्स (यदि 11 नहीं) उस काउंटर रजिस्टर का चयन करें जिस पर कमांड लागू होता है।
* सबसे महत्वपूर्ण दो बिट्स (यदि 11 नहीं) उस काउंटर रजिस्टर का चयन करें जिस पर कमांड लागू होता है।
* अगले दो बिट्स (यदि 00 नहीं हैं) उस प्रारूप का चयन करें जिसका उपयोग काउंटर रजिस्टर में बाद में पढ़ने/लिखने की पहुंच के लिए किया जाएगा। इसे आमतौर पर ऐसे मोड पर सेट किया जाता है जहां एक्सेस सबसे कम-महत्वपूर्ण और सबसे-महत्वपूर्ण बाइट्स के बीच वैकल्पिक होता है। 8253 और 8254 के बीच अंतर यह है कि पहले वाले में आंतरिक बिट था जो पढ़ने और लिखने दोनों को प्रभावित करता था, इसलिए यदि प्रारूप 2-बाइट पर सेट किया गया था, तो lsbyte को पढ़ने से निम्नलिखित लेखन को msbyte पर निर्देशित किया जाएगा। 8254 में पढ़ने और लिखने के लिए अलग-अलग बिट्स का उपयोग किया गया।
* अग्रिम दो बिट्स (यदि 00 नहीं हैं) उस फॉर्मैट का चयन करें जिसका उपयोग काउंटर रजिस्टर में बाद में पढ़ने/लिखने की पहुंच के लिए किया जाएगा। इसे सामान्यतः ऐसे मोड पर सेट किया जाता है जहां एक्सेस सबसे कम-महत्वपूर्ण और सबसे-महत्वपूर्ण बाइट्स के बीच वैकल्पिक होता है। 8253 और 8254 के बीच अंतर यह है कि पहले वाले में आंतरिक बिट था जो पढ़ने और लिखने दोनों को प्रभावित करता था, इसलिए यदि फॉर्मैट 2-बाइट पर सेट किया गया था, तो lsbyte को पढ़ने से निम्नलिखित लेखन को msbyte पर निर्देशित किया जाएगा। 8254 में पढ़ने और लिखने के लिए अलग-अलग बिट्स का उपयोग किया गया।
* अगले तीन बिट्स उस मोड का चयन करें जिसमें काउंटर काम करेगा।
* अग्रिम तीन बिट्स उस मोड का चयन करें जिसमें काउंटर कार्य करेगा।
* सबसे कम महत्वपूर्ण बिट यह चुनता है कि काउंटर बाइनरी या [[बाइनरी-कोडित दशमलव]] में काम करेगा या नहीं। (बीसीडी गिनती लगभग कभी भी उपयोग नहीं की जाती है और इसे एमुलेटर या साउथब्रिज में ठीक से लागू नहीं किया जा सकता है।)
* सबसे कम महत्वपूर्ण बिट यह चयनित है कि काउंटर बाइनरी या [[बाइनरी-कोडित दशमलव]] में कार्य करेगा या नहीं। (बीसीडी गणना लगभग कभी भी उपयोग नहीं की जाती है और इसे एमुलेटर या साउथब्रिज में ठीक से लागू नहीं किया जा सकता है।)


हालाँकि, दो अन्य रूप भी हैं:
यद्यपि, दो अन्य रूप भी हैं:
* किसी दिए गए टाइमर के लिए गिनती को लॉक करें। अगला रीड, रीड के समय काउंटर वैल्यू लौटाने के बजाय, लैच कमांड के पल में काउंटर वैल्यू लौटाएगा। रीड पूरा होने के बाद, बाद में पढ़ा गया वर्तमान काउंटर लौटा देगा। जब लैच कमांड का उपयोग किया जाता है, तो मोड और बीसीडी स्थिति नहीं बदली जाती है।
* किसी दिए गए टाइमर के लिए गणना को लॉक करें। अग्रिम रीड, रीड के समय काउंटर वैल्यू लौटाने के अतिरिक्त, लैच कमांड के समय में काउंटर वैल्यू लौटाएगा। रीड पूर्ण होने के पश्चात, बाद में पढ़ा गया वर्तमान काउंटर लौटा देगा। जब लैच कमांड का उपयोग किया जाता है, तो मोड और बीसीडी स्थिति नहीं बदली जाती है।
* (केवल 8254) एकाधिक टाइमर के लिए स्थिति को लॉक करें और/या गिनती करें। यह बिटमैप का उपयोग करके साथ कई लैच कमांड की अनुमति देता है। साथ ही, वर्तमान चैनल कॉन्फ़िगरेशन को गिनती के अतिरिक्त वापस पढ़ा जा सकता है।
* (मात्र 8254) एकाधिक टाइमर के लिए स्थिति को लॉक करें और/या गणना करें। यह बिटमैप का उपयोग करके साथ कई लैच कमांड की अनुमति देता है। साथ ही, वर्तमान चैनल कॉन्फ़िगरेशन को गणना के अतिरिक्त वापस पढ़ा जा सकता है।


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
|+ 8253/8254 control word
|+ 8253/8254 कंट्रोल वर्ड
|-
|-
!colspan=8| Bit #/Name
!colspan=8| बिट #/नाम
!rowspan=2| Short Description
!rowspan=2| संक्षिप्त वर्णन
|-
|-
! D7<br />SC1
! D7<br />SC1
Line 63: Line 64:
|colspan=3| mode
|colspan=3| mode
|align=center| BCD
|align=center| BCD
|align=left| Set mode of Counter 0  
|align=left| काउंटर 0 का मोड सेट करें
|-
|-
| 0
| 0
Line 70: Line 71:
|colspan=3| mode
|colspan=3| mode
|align=center| BCD
|align=center| BCD
|align=left| Set mode of Counter 1  
|align=left| काउंटर 1 का मोड सेट करें
|-
|-
| 1
| 1
Line 77: Line 78:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Set mode of Counter 2 (at port 42h)
|align=left| काउंटर 2 का मोड सेट करें (पोर्ट 42 घंटे पर)
|-
|-
| 1
| 1
Line 87: Line 88:
| C0
| C0
|bgcolor=lightgrey| x
|bgcolor=lightgrey| x
|align=left| Read-back command (8254 only)
|align=left| रीड-बैक कमांड (मात्र 8254)
|-
|-
|colspan=9|  
|colspan=9|  
Line 95: Line 96:
| 0
| 0
|colspan=4 bgcolor=lightgrey| &mdash; x &mdash;
|colspan=4 bgcolor=lightgrey| &mdash; x &mdash;
|align=left| Latch counter value.  Next read of counter will read snapshot of value.
|align=left| कुंडी काउंटर वैल्यू। काउंटर का अग्रिम टेक्स्ट वैल्यू का स्नैपशॉट पढ़ेगा।
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 102: Line 103:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Read/Write low byte of counter value only
|align=left| केवल काउंटर वैल्यू की कम बाइट पढ़ें/लिखें
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 109: Line 110:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Read/Write high byte of counter value only
|align=left| केवल काउंटर वैल्यू की उच्च बाइट पढ़ें/लिखें
|-
|-
|colspan=2|counter
|colspan=2|counter
Line 116: Line 117:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| 2×Read/2xWrite low byte then high byte of counter value
|align=left| 2×पढ़ें/2xकम बाइट लिखें फिर काउंटर वैल्यू का उच्च बाइट
|-
|-
|colspan=9|  
|colspan=9|  
Line 126: Line 127:
| 0
| 0
| BCD
| BCD
|align=left| Mode 0: Interrupt on Terminal Count
|align=left| मोड 0: टर्मिनल काउंट पर व्यवधान
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 134: Line 135:
| 1
| 1
| BCD
| BCD
|align=left| Mode 1: Hardware Retriggerable One-Shot
|align=left| मोड 1: हार्डवेयर रिट्रिगरेबल वन-शॉट
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 142: Line 143:
| 0
| 0
| BCD
| BCD
|align=left| Mode 2: Rate Generator
|align=left| मोड 2: रेट जेनरेटर
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 150: Line 151:
| 1
| 1
| BCD
| BCD
|align=left| Mode 3: Square Wave
|align=left| मोड 3: स्क्वायर वेव
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 158: Line 159:
| 0
| 0
| BCD
| BCD
|align=left| Mode 4: Software Triggered Strobe
|align=left| मोड 4: सॉफ्टवेयर ट्रिगर स्ट्रोब
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 166: Line 167:
| 1
| 1
| BCD
| BCD
|align=left| Mode 5: Hardware Triggered Strobe (Retriggerable)
|align=left| मोड 5: हार्डवेयर ट्रिगर स्ट्रोब (रिट्रिगरेबल)
|-
|-
|colspan=9|
|colspan=9|
Line 174: Line 175:
|colspan=3| mode
|colspan=3| mode
| 0
| 0
|align=left| Counter is a 16-bit binary counter (0–65535)
|align=left| काउंटर एक 16-बिट बाइनरी काउंटर है (0-65535)
|-
|-
|colspan=2| counter
|colspan=2| counter
Line 274: Line 275:
|align=left| Read-back command applies to counter 0
|align=left| Read-back command applies to counter 0
|}
|}
पीआईटी सेट करते समय, माइक्रोप्रोसेसर पहले नियंत्रण संदेश भेजता है, फिर पीआईटी को गिनती संदेश भेजता है। गिनती की प्रक्रिया पीआईटी को ये संदेश प्राप्त होने के बाद शुरू होगी, और, कुछ मामलों में, अगर यह गेट इनपुट [[संकेत किनारा]] बढ़ते सिग्नल किनारे का पता लगाता है।
पीआईटी सेट करते समय, माइक्रोप्रोसेसर पहले नियंत्रण संदेश भेजता है, फिर पीआईटी को गणना संदेश भेजता है। गणना की प्रक्रिया पीआईटी को ये संदेश प्राप्त होने के पश्चात शुरू होगी, और, कुछ मामलों में, अगर यह "GATE" इनपुट [[संकेत किनारा]] बढ़ते सिग्नल किनारे का पता लगाता है।
स्थिति बाइट प्रारूप. बिट 7 सॉफ़्टवेयर को OUT पिन की वर्तमान स्थिति की निगरानी करने की अनुमति देता है। बिट 6 इंगित करता है कि गिनती कब पढ़ी जा सकती है; जब यह बिट 1 होता है, तो गिनती तत्व अभी तक लोड नहीं हुआ है और प्रोसेसर द्वारा वापस पढ़ा नहीं जा सकता है। बिट्स 5 से 0 नियंत्रण रजिस्टर में लिखे गए अंतिम बिट्स के समान हैं।
स्थिति बाइट फॉर्मैट. बिट 7 सॉफ़्टवेयर को OUT पिन की वर्तमान स्थिति की निगरानी करने की अनुमति देता है। बिट 6 इंगित करता है कि गणना कब पढ़ी जा सकती है; जब यह बिट 1 होता है, तो गणना तत्व अभी तक लोड नहीं हुआ है और प्रोसेसर द्वारा वापस पढ़ा नहीं जा सकता है। बिट्स 5 से 0 नियंत्रण रजिस्टर में लिखे गए अंतिम बिट्स के समान हैं।
   {| class="wikitable" style="text-align: center;"
   {| class="wikitable" style="text-align: center;"
|+ 8254 status word
|+ 8254 status word
Line 313: Line 314:
|colspan=3| mode
|colspan=3| mode
| BCD
| BCD
|align=left| Counter mode bits, as defined for the control word register
|align=left| Counter mode bits, as defined for the कंट्रोल वर्ड register
|}
|}


Line 319: Line 320:
नियंत्रण शब्द के D3, D2 और D1 बिट्स टाइमर के ऑपरेटिंग मोड को सेट करते हैं। कुल मिलाकर 6 मोड हैं; मोड 2 और 3 के लिए, डी3 बिट को नजरअंदाज कर दिया जाता है, इसलिए गायब मोड 6 और 7 मोड 2 और 3 के लिए उपनाम हैं।
नियंत्रण शब्द के D3, D2 और D1 बिट्स टाइमर के ऑपरेटिंग मोड को सेट करते हैं। कुल मिलाकर 6 मोड हैं; मोड 2 और 3 के लिए, डी3 बिट को नजरअंदाज कर दिया जाता है, इसलिए गायब मोड 6 और 7 मोड 2 और 3 के लिए उपनाम हैं।


सभी मोड GATE इनपुट के प्रति संवेदनशील हैं, GATE उच्च के कारण सामान्य ऑपरेशन होता है, लेकिन GATE कम का प्रभाव मोड पर निर्भर करता है:
सभी मोड GATE इनपुट के प्रति संवेदनशील हैं, GATE उच्च के कारण सामान्य ऑपरेशन होता है, परंतु GATE कम का प्रभाव मोड पर निर्भर करता है:
* मोड 0 और 4: GATE कम होने पर गिनती निलंबित कर दी जाती है, और GATE अधिक होने पर गिनती फिर से शुरू हो जाती है।
* मोड 0 और 4: GATE कम होने पर गणना निलंबित कर दी जाती है, और GATE अधिक होने पर गणना फिर से शुरू हो जाती है।
* मोड 1 और 5: GATE के बढ़ते किनारे की गिनती शुरू होती है। गिनती को प्रभावित किए बिना GATE नीचे जा सकता है, लेकिन और बढ़ती बढ़त शुरुआत से ही गिनती को फिर से शुरू कर देगी।
* मोड 1 और 5: GATE के बढ़ते किनारे की गणना शुरू होती है। गणना को प्रभावित किए बिना GATE निम्न जा सकता है, परंतु और बढ़ती बढ़त शुरुआत से ही गणना को फिर से शुरू कर देगी।
* मोड 2 और 3: गेट लो फोर्स को तुरंत हाई आउट करें (क्लॉक पल्स की प्रतीक्षा किए बिना) और काउंटर को रीसेट करता है (अगली क्लॉक गिरने वाले किनारे पर)। जब GATE फिर से ऊपर चला जाता है, तो गिनती फिर से शुरू हो जाती है।
* मोड 2 और 3: "GATE" लो फोर्स को तुरंत हाई आउट करें (क्लॉक पल्स की प्रतीक्षा किए बिना) और काउंटर को रीसेट करता है (अगली क्लॉक गिरने वाले किनारे पर)। जब GATE फिर से ऊपर चला जाता है, तो गणना फिर से शुरू हो जाती है।


=== मोड 0 (000): टर्मिनल गिनती पर व्यवधान ===
=== मोड 0 (000): टर्मिनल गणना पर अंतरायन ===
मोड 0 का उपयोग सॉफ्टवेयर नियंत्रण के तहत सटीक समय विलंब उत्पन्न करने के लिए किया जाता है। इस मोड में, काउंटर इसमें लोड किए गए प्रारंभिक COUNT मान से 0 तक गिनती शुरू कर देगा। गिनती दर इनपुट घड़ी आवृत्ति के बराबर है।
मोड 0 का उपयोग सॉफ्टवेयर नियंत्रण के तहत सटीक समय विलंब उत्पन्न करने के लिए किया जाता है। इस मोड में, काउंटर इसमें लोड किए गए प्रारंभिक COUNT मान से 0 तक गणना शुरू कर देगा। गणना दर इनपुट घड़ी आवृत्ति के बराबर है।


कंट्रोल वर्ड लिखे जाने के बाद OUT पिन को कम सेट किया जाता है, और COUNT प्रोग्राम होने के बाद गिनती घड़ी चक्र शुरू होती है। काउंटर 0 तक पहुंचने तक OUT कम रहता है, जिस बिंदु पर OUT को तब तक उच्च सेट किया जाएगा जब तक कि काउंटर पुनः लोड न हो जाए या नियंत्रण शब्द न लिखा जाए। काउंटर चारों ओर से लपेटता है <code>0xFFFF</code> आंतरिक रूप से और गिनती जारी रहती है, लेकिन OUT पिन फिर कभी नहीं बदलता है। सामान्य गणना के लिए गेट सिग्नल को उच्च स्तर पर सक्रिय रहना चाहिए। यदि गेट नीचे चला जाता है, तो गिनती रोक दी जाती है, और फिर से ऊपर जाने पर गिनती फिर से शुरू हो जाती है।
कंट्रोल वर्ड लिखे जाने के पश्चात OUT पिन को कम सेट किया जाता है, और COUNT प्रोग्राम होने के पश्चात गणना घड़ी चक्र शुरू होती है। काउंटर 0 तक पहुंचने तक OUT कम रहता है, जिस बिंदु पर OUT को तब तक उच्च सेट किया जाएगा जब तक कि काउंटर पुनः लोड न हो जाए या नियंत्रण शब्द न लिखा जाए। काउंटर चारों ओर से लपेटता है <code>0xFFFF</code> आंतरिक रूप से और गणना जारी रहती है, परंतु OUT पिन फिर कभी नहीं बदलता है। सामान्य गणना के लिए "GATE" सिग्नल को उच्च स्तर पर सक्रिय रहना चाहिए। यदि "GATE" निम्न चला जाता है, तो गणना रोक दी जाती है, और फिर से ऊपर जाने पर गणना फिर से शुरू हो जाती है।


नई गिनती की पहली बाइट गिनती रजिस्टर में लोड होने पर पिछली गिनती को रोक देती है।
नई गणना की पहली बाइट गणना रजिस्टर में लोड होने पर पिछली गणना को रोक देती है।


=== मोड 1 (001): प्रोग्रामयोग्य शॉट ===
=== मोड 1 (001): प्रोग्रामयोग्य शॉट ===
इस मोड में 8253 का उपयोग [[मोनोस्टेबल मल्टीवाइब्रेटर]] के रूप में किया जा सकता है। GATE इनपुट का उपयोग ट्रिगर इनपुट के रूप में किया जाता है।
इस मोड में 8253 का उपयोग [[मोनोस्टेबल मल्टीवाइब्रेटर]] के रूप में किया जा सकता है। GATE इनपुट का उपयोग ट्रिगर इनपुट के रूप में किया जाता है।


प्रारंभ में OUT उच्च होगा। एक-शॉट पल्स शुरू करने के लिए ट्रिगर के बाद क्लॉक पल्स पर OUT कम हो जाएगा, और जब तक काउंटर शून्य तक नहीं पहुंच जाता तब तक कम रहेगा। फिर OUT उच्च स्तर पर जाएगा और अगले ट्रिगर के बाद CLK पल्स तक उच्च बना रहेगा।
प्रारंभ में OUT उच्च होगा। एक-शॉट पल्स शुरू करने के लिए ट्रिगर के पश्चात क्लॉक पल्स पर OUT कम हो जाएगा, और जब तक काउंटर शून्य तक नहीं पहुंच जाता तब तक कम रहेगा। फिर OUT उच्च स्तर पर जाएगा और अग्रिम ट्रिगर के पश्चात CLK पल्स तक उच्च बना रहेगा।


नियंत्रण शब्द और प्रारंभिक गणना लिखने के बाद, काउंटर सशस्त्र है। ट्रिगर के परिणामस्वरूप काउंटर लोड होता है और अगले सीएलके पल्स पर आउट कम सेट होता है, इस प्रकार एक-शॉट पल्स शुरू होता है। एन की प्रारंभिक गणना के परिणामस्वरूप अवधि में एक-शॉट पल्स एन सीएलके चक्र प्राप्त होगा।
नियंत्रण शब्द और प्रारंभिक गणना लिखने के पश्चात, काउंटर सशस्त्र है। ट्रिगर के परिणामस्वरूप काउंटर लोड होता है और अग्रिम "CLK"  पल्स पर आउट कम सेट होता है, इस प्रकार एक-शॉट पल्स शुरू होता है। एन की प्रारंभिक गणना के परिणामस्वरूप अवधि में एक-शॉट पल्स एन "CLK"  चक्र प्राप्त होगा।


वन-शॉट पुनः ट्रिगर करने योग्य है, इसलिए किसी भी ट्रिगर के बाद एन सीएलके पल्स के लिए आउट कम रहेगा। एक-शॉट पल्स को काउंटर में समान गिनती दोबारा लिखे बिना दोहराया जा सकता है। GATE का OUT पर कोई प्रभाव नहीं पड़ता. यदि ऑनशॉट पल्स के दौरान काउंटर पर नई गिनती लिखी जाती है, तो वर्तमान वन-शॉट प्रभावित नहीं होता है जब तक कि काउंटर को फिर से चालू न किया जाए। उस स्थिति में, काउंटर को नई गिनती के साथ लोड किया जाता है और नई गिनती समाप्त होने तक वनशॉट पल्स जारी रहता है।
वन-शॉट पुनः ट्रिगर करने योग्य है, इसलिए किसी भी ट्रिगर के पश्चात एन "CLK"  पल्स के लिए आउट कम रहेगा। एक-शॉट पल्स को काउंटर में समान गणना दोबारा लिखे बिना दोहराया जा सकता है