ऑनलाइन तापमान निगरानी प्रणाली

डाउनलोड : PROJ_FORMAT_#

  1. परिचय

  2. कार्य वातावरण

2.1 हार्डवेयर आवश्यकता विशिष्टता

मैं. माइक्रोकंट्रोलर AT89c52
द्वितीय. एडीसी एडीसी0808
iii. Real Time Clock DS1307
iv. सीरियल EEPROM AT24c08
वी. सीरियल ट्रांसीवर MAX232
vi. एलसीडी 16×2

2.2 Software Requirement Specification

मैं. प्रोग्रामिंग भाषा एएनएसआई सी
द्वितीय. संकलक KEIL

2.3 हार्डवेयर के बारे में

2.3.1 माइक्रोकंट्रोलर (89सी52)
मुख्य विशेषताएं
 MCS-51™ उत्पादों के साथ संगत
 8K Bytes of In-System Reprogrammable Flash Memory
 सहनशक्ति: 1,000 लिखने/मिटाने के चक्र
 256 x 8-बिट आंतरिक रैम
 32 प्रोग्रामयोग्य I/O लाइनें
 तीन 16-बिट टाइमर/काउंटर
 आठ व्यवधान स्रोत
 प्रोग्रामेबल सीरियल चैनल

विवरण
The AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8K bytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmel’s high-density nonvolatile memory technology. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. एक मोनोलिथिक चिप पर फ्लैश के साथ बहुमुखी 8-बिट सीपीयू को जोड़कर, एटमेल एटी89सी52 एक शक्तिशाली माइक्रो कंप्यूटर है जो कई एम्बेडेड नियंत्रण अनुप्रयोगों के लिए अत्यधिक लचीला और लागत प्रभावी समाधान प्रदान करता है।

पिन कॉन्फ़िगरेशन

पिन विवरण
• आरएसटी
इनपुट रीसेट करें. A high on this pin for two machine cycles while the oscillator is running resets the device.
• एएलई/प्रोग
Address Latch Enable is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming.
• पीएसईएन
Program Store Enable is the read strobe to external program memory. जब AT89C52 बाहरी प्रोग्राम मेमोरी से कोड निष्पादित कर रहा है, तो PSEN प्रत्येक मशीन चक्र में दो बार सक्रिय होता है, सिवाय इसके कि बाहरी डेटा मेमोरी तक प्रत्येक पहुंच के दौरान दो PSEN सक्रियण छोड़ दिए जाते हैं।
• ईए/वीपीपी
बाहरी पहुंच सक्षम करें. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH.

फ़्लैश प्रोग्रामिंग

89c52 को प्रोग्राम करने के लिए, निम्नलिखित कदम उठाएँ।

  1. Input the desired memory location on the address lines.
  2. डेटा लाइनों पर उचित डेटा इनपुट करें
  3. Activate the correct combination of control signals
  4. ईए/वीपीपी बढ़ाएं
  5. Pulse ALE/PROG once to program a byte in the Flash array or lock bits. The byte-write cycle is self-timed and typically takes no more than 1.5 ms. Repeat steps 1 through 5, changing the address and data for the entire array or until the end of the object file is reached.

2.3.2 एडीसी 0808
मुख्य विशेषताएं:

2.3.3 वास्तविक समय घड़ी (डीएस1307)
विशेषताएं
 रियल-टाइम क्लॉक (आरटीसी) सेकंड, मिनट, घंटे, महीने की तारीख, महीना, सप्ताह का दिन और वर्ष की गणना करता है, जिसमें लीप-ईयर मुआवजा 2100 तक वैध होता है।
 डेटा भंडारण के लिए 56-बाइट, बैटरी-समर्थित, गैर-वाष्पशील (एनवी) रैम
दो-तार सीरियल इंटरफ़ेस
 स्वचालित पावर-फ़ेल सर्किटरी का पता लगाता है और स्विच करता है

पिन कॉन्फ़िगरेशन

पिन विवरण
 एससीएल (सीरियल क्लॉक इनपुट) - एससीएल का उपयोग सीरियल इंटरफ़ेस पर डेटा मूवमेंट को सिंक्रोनाइज़ करने के लिए किया जाता है।
 एसडीए (सीरियल डेटा इनपुट/आउटपुट) - एसडीए 2-वायर सीरियल इंटरफ़ेस के लिए इनपुट/आउटपुट पिन है।
 SQW/OUT (स्क्वायर वेव/आउटपुट ड्राइवर) - सक्षम होने पर, SQWE बिट 1 पर सेट होता है, SQW/OUT पिन चार वर्ग तरंग आवृत्तियों (1Hz, 4kHz, 8kHz, 32kHz) में से एक को आउटपुट करता है।
 X1, X2 - मानक 32.768kHz क्वार्ट्ज क्रिस्टल के लिए कनेक्शन। आंतरिक थरथरानवाला सर्किटरी को 12.5pF की निर्दिष्ट लोड कैपेसिटेंस (सीएल) वाले क्रिस्टल के साथ संचालन के लिए डिज़ाइन किया गया है।

विवरण
DS1307 सीरियल रीयल-टाइम क्लॉक कम शक्ति वाली है; पूर्ण बाइनरी-कोडेड दशमलव (बीसीडी) घड़ी/कैलेंडर और एनवी एसआरएएम के 56 बाइट्स। पता और डेटा को 2-तार, द्वि-दिशात्मक बस के माध्यम से क्रमिक रूप से स्थानांतरित किया जाता है। घड़ी/कैलेंडर सेकंड, मिनट, घंटे, दिन, तारीख, महीना और वर्ष की जानकारी प्रदान करता है। 31 दिन से कम वाले महीनों के लिए महीने की समाप्ति तिथि स्वचालित रूप से समायोजित की जाती है, जिसमें लीप वर्ष के लिए सुधार भी शामिल हैं। घड़ी AM/PM संकेतक के साथ 24 घंटे या 12 घंटे के प्रारूप में काम करती है। DS1307 में एक अंतर्निर्मित पावर सेंस सर्किट है जो बिजली विफलताओं का पता लगाता है और स्वचालित रूप से बैटरी आपूर्ति पर स्विच करता है।

ऑपरेशन
DS1307 सीरियल बस में एक स्लेव डिवाइस के रूप में काम करता है। START शर्त लागू करके और एक डिवाइस पहचान कोड और उसके बाद एक रजिस्टर पता प्रदान करके पहुंच प्राप्त की जाती है। STOP शर्त निष्पादित होने तक बाद के रजिस्टरों को क्रमिक रूप से एक्सेस किया जा सकता है। जब वीसीसी 1.25 x वीबीएटी से कम हो जाता है तो डिवाइस प्रगति पर पहुंच समाप्त कर देता है और डिवाइस एड्रेस काउंटर को रीसेट कर देता है। गलत डेटा को सहनशीलता से बाहर सिस्टम से डिवाइस पर लिखे जाने से रोकने के लिए इस समय डिवाइस के इनपुट को पहचाना नहीं जाएगा। जब वीसीसी वीबीएटी से नीचे गिर जाता है तो डिवाइस कम-वर्तमान बैटरी बैकअप मोड में स्विच हो जाता है। पावर-अप पर, जब VCC VBAT + 0.2V से अधिक होता है तो डिवाइस बैटरी से VCC पर स्विच हो जाता है और VCC 1.25 x VBAT से अधिक होने पर इनपुट को पहचान लेता है।

2.3.4 सीरियल ट्रांसीवर (MAX232)

विशेषताएं
 उच्च डेटा दर - 250 kbits/sec लोड के तहत
 सिंगल +5V पावर से संचालित
 छोटे कैपेसिटर का उपयोग करता है: 0.1 μF

पिन कॉन्फ़िगरेशन

विवरण

DS232A एक दोहरी RS-232 ड्राइवर/रिसीवर जोड़ी है जो एकल +5-वोल्ट बिजली आपूर्ति से RS-232 वोल्टेज स्तर उत्पन्न करती है। अतिरिक्त ±12-वोल्ट आपूर्ति की आवश्यकता नहीं है क्योंकि DS232A +5-वोल्ट आपूर्ति को ±10 वोल्ट में परिवर्तित करने के लिए ऑन-बोर्ड चार्ज पंप का उपयोग करता है। ड्राइवर स्लेव दरें और डेटा दरें 250k बिट्स/सेकंड तक की गारंटी हैं। DS232A केवल 0.1 µF चार्ज पंप कैपेसिटर के साथ संचालित होता है।

2.3.4 सीरियल ईईपीरोम
विशेषताएं
 आंतरिक रूप से व्यवस्थित 1024 x 8 (8K) मेमोरी
 2-तार सीरियल इंटरफ़ेस
 द्वि-दिशात्मक डेटा ट्रांसफर प्रोटोकॉल
 हार्डवेयर डेटा सुरक्षा के लिए प्रोटेक्ट पिन लिखें
 8-बाइट पेज (1K, 2K), 16-बाइट पेज (4K, 8K, 16K) लिखने के तरीके
 आंशिक पृष्ठ लिखने की अनुमति है

पिन कॉन्फ़िगरेशन

विवरण
AT24C08 8 बिट्स के 1024 शब्दों के रूप में व्यवस्थित 8192 बिट्स सीरियल इलेक्ट्रिकली इरेज़ेबल और प्रोग्रामेबल रीड-ओनली मेमोरी (EEPROM) प्रदान करता है। डिवाइस को कई औद्योगिक और वाणिज्यिक अनुप्रयोगों में उपयोग के लिए अनुकूलित किया गया है जहां कम-शक्ति और कम-वोल्टेज संचालन आवश्यक है। AT24C08 को 2-तार सीरियल इंटरफ़ेस के माध्यम से एक्सेस किया जाता है।

2.3.5. लिक्विड क्रिस्टल डिस्प्ले
ऑनलाइन तापमान मॉनिटरिंग सिस्टम 16 x 2 के डिस्प्ले के साथ सिस्टम एंड डिस्प्ले के रूप में लिक्विड क्रिस्टल डिस्प्ले का उपयोग करता है। इसमें 2 लाइनों के साथ ASCII डेटा के 16 अक्षरों की डिस्प्ले क्षमता है, कुल 32 अक्षर
2.4 सॉफ्टवेयर के बारे में

2.4.1 प्रोग्रामिंग भाषा (एएनएसआई सी)
प्रोजेक्ट के लिए सॉफ़्टवेयर KEIL कंपाइलर का उपयोग करके “C” उच्च स्तरीय भाषा में लिखा गया था।
क्यों “सी”
सी एम्बेडेड प्रोग्रामर के लिए पसंद की भाषा बन गई है, क्योंकि इसमें प्रोसेसर स्वतंत्रता का लाभ है। यह प्रोसेसर स्वतंत्रता प्रोग्रामर को प्रोसेसर वास्तुकला के विवरण के बजाय एल्गोरिदम और अनुप्रयोगों पर ध्यान केंद्रित करने की अनुमति देती है। हालाँकि इसकी कई विशेषताएँ अन्य उच्च स्तरीय भाषाओं पर भी समान रूप से लागू होती हैं। शायद सी की ताकत यह है कि यह एम्बेडेड प्रोग्रामर्स को उच्च स्तरीय भाषाओं के लाभों को नुकसान पहुंचाए बिना प्रत्यक्ष हार्डवेयर नियंत्रण की एक असाधारण डिग्री प्रदान करता है।
C के साथ लगभग हर प्रोसेसर के लिए कंपाइलर और क्रॉस-कंपाइलर उपलब्ध हैं। C या C++ या असेंबली भाषा में किसी भी स्रोत कोड को एक निष्पादन योग्य छवि में परिवर्तित किया जाना चाहिए जिसे ROM चिप में लोड किया जा सकता है।
2.4.2 केआईएल कंपाइलर
रायसनेंस एकीकृत विकास पर्यावरण
केईआईएल विकास किट के बारे में
रायसनेंस 8051, एक्सए और एसटी6 डेवलपमेंट किट 8051 परिवार, एक्सए परिवार और एसटी6 परिवार के माइक्रोकंट्रोलर्स के लिए सॉफ्टवेयर बनाने का एक संपूर्ण समाधान हैं। विकास किट में कई अलग-अलग उपकरण शामिल होते हैं जो सरल से लेकर अत्यधिक जटिल तक की परियोजनाओं को सापेक्ष आसानी से विकसित करने की अनुमति देते हैं। केईआईएल 1988 से एम्बेडेड उपकरण विकसित कर रहा है और इसने कई वर्षों का अनुभव प्राप्त किया है।
विकास उपकरण
• एएनएसआई सी कंपाइलर
सी कंपाइलर एक एएनएसआई अनुरूप कंपाइलर है जो स्रोत फ़ाइलें लेता है और ऑब्जेक्ट फ़ाइलें उत्पन्न करता है। सी भाषा के एक्सटेंशन का उपयोग माइक्रोकंट्रोलर की सुविधाओं को उपयोग या नियंत्रित करने में सक्षम बनाने के लिए किया जाता है।
• असेंबलर
असेंबलर असेंबलर में लिखी स्रोत फ़ाइलें लेता है और ऑब्जेक्ट फ़ाइलें उत्पन्न करता है।
• लिंकर/लोकेटर
लिंकर कंपाइलर और लिंकर द्वारा उत्पन्न ऑब्जेक्ट फ़ाइलों को जोड़ता है और एक अलग प्रकार की ऑब्जेक्ट फ़ाइल तैयार करता है। लिंकर यह भी तय करता है कि मेमोरी में कुछ प्रकार के डेटा और कोड कहाँ स्थित हैं।
• ऑब्जेक्ट-टू-हेक्स कनवर्टर
कनवर्टर लिंकर द्वारा उत्पन्न ऑब्जेक्ट फ़ाइल को परिवर्तित करता है और एक इंटेल हेक्स फ़ाइल उत्पन्न करता है, जो अधिकांश डिवाइस प्रोग्रामर के साथ संगत है।
• केइल
केईआईएल एकीकृत विकास पर्यावरण। केईआईएल एक विंडोज़ प्रोग्राम है जो उपयोगकर्ता को प्रोजेक्ट बनाने, प्रोजेक्ट बनाने के लिए आसानी से कंपाइलर, असेंबलर और लिंकर को कॉल करने और प्रोजेक्ट को अनुकरण या डीबग करने की अनुमति देता है।
• पुस्तकालय प्रबंधक
लाइब्रेरी प्रबंधक कंपाइलर या असेंबलर द्वारा उत्पन्न ऑब्जेक्ट फ़ाइलें ले सकता है और एक लाइब्रेरी बना सकता है जो अन्य परियोजनाओं में शामिल है।
• मॉनिटर
मॉनिटर एक प्रोग्राम है जो हार्डवेयर पर चलता है और प्रोग्राम निष्पादित होने पर डिबगिंग जानकारी को केईआईएल तक वापस भेजता है। यह प्रोग्राम के निष्पादन को नियंत्रित करने और हार्डवेयर पर निष्पादित होने के दौरान प्रोग्राम को डीबग करने का एक साधन भी प्रदान करता है
विकास के चरण

  1. RIDE एक संपादक प्रदान करता है जो उपयोगकर्ता को C स्रोत फ़ाइलें (.c एक्सटेंशन) और असेंबलर स्रोत फ़ाइलें (8051 के लिए .a51 एक्सटेंशन, XA के लिए .axa एक्सटेंशन और ST6 के लिए .st6 एक्सटेंशन) उत्पन्न करने की अनुमति देता है।

  2. प्रत्येक स्रोत फ़ाइल का उपयुक्त टूल का उपयोग करके अनुवाद किया जाता है। कंपाइलर C स्रोत फ़ाइलों का अनुवाद करता है। असेंबलर असेंबलर स्रोत फ़ाइलों का अनुवाद करता है। प्रत्येक उपकरण एक पुनः-स्थानीय ऑब्जेक्ट फ़ाइल (.obj एक्सटेंशन) उत्पन्न करता है। यदि किसी प्रोजेक्ट में एक से अधिक C स्रोत फ़ाइल या एक से अधिक असेंबलर स्रोत फ़ाइल है, तो कंपाइलर और असेंबलर को आवश्यकतानुसार कई बार निष्पादित किया जाता है।

  3. यदि कोई लाइब्रेरी फ़ाइल जेनरेट की जा रही है तो लाइब्रेरी मैनेजर सभी पुनः-लोकेट करने योग्य ऑब्जेक्ट फ़ाइलों को लेता है और उन्हें लाइब्रेरी फ़ाइल (.lib एक्सटेंशन) में संयोजित करता है। फिर लाइब्रेरी फ़ाइल को अन्य परियोजनाओं के साथ जोड़ा जा सकता है।

  4. लिंकर/लोकेटर स्थानांतरित करने योग्य ऑब्जेक्ट फ़ाइलें और लाइब्रेरी फ़ाइलें लेता है और बाहरी संदर्भों को हल करते हुए उन्हें एक साथ जोड़ता है। लिंकर/लोकेटर फिर मेमोरी मैप में विशिष्ट पतों पर वेरिएबल और कोड का पता लगाता है। लिंकर/लोकेटर एक एकल एब्सोल्यूट ऑब्जेक्ट फ़ाइल (.aof एक्सटेंशन) उत्पन्न करता है। यह बिना किसी एक्सटेंशन के भी वही फ़ाइल जेनरेट करता है।

  5. एब्सोल्यूट ऑब्जेक्ट फ़ाइल का उपयोग केईआईएल में सिम्युलेटर या डिबगर द्वारा किया जा सकता है, क्योंकि फ़ाइल में डिबगिंग जानकारी हो सकती है। वैकल्पिक रूप से एब्सोल्यूट ऑब्जेक्ट फ़ाइल का उपयोग इन-सर्किट एमुलेटर के साथ किया जा सकता है।

  6. ऑब्जेक्ट-हेक्स कन्वर्टर टूल एक एब्सोल्यूट ऑब्जेक्ट फ़ाइल को इंटेल HEX फ़ाइल (.hex एक्सटेंशन) में परिवर्तित करता है, जो डिबगिंग जानकारी के बिना उत्पन्न शुद्ध बाइनरी कोड का प्रतिनिधित्व करता है। Intel HEX फ़ाइल वस्तुतः सभी डिवाइस प्रोग्रामर द्वारा स्वीकार की जाती है। एक संपादक, सिम्युलेटर और डिबगर होने के अलावा, केईआईएल संपूर्ण निर्माण प्रक्रिया को नियंत्रित और स्वचालित भी करता है। एकल मेनू आइटम का चयन करके, केईआईएल लाइब्रेरी फ़ाइल या एब्सोल्यूट ऑब्जेक्ट फ़ाइल और इंटेल हेक्स फ़ाइल उत्पन्न करने के लिए सही टूल निष्पादित करेगा।

न्यूनतम सिस्टम आवश्यकताएँ

• विंडोज़ 9x/NT/2000
• पेंटियम प्रोसेसर
• 20 एमबी हार्ड डिस्क स्थान
• 32 एमबी रैम

2.4.3 फ्रंट एंड टूल
2.4.4 प्लेटफार्म

  1. हार्डवेयर डिज़ाइन और विवरण

चित्र: 1 ऑनलाइन तापमान निगरानी प्रणाली का ब्लॉक आरेख

सिस्टम विवरण

. यह I2C मास्टर (माइक्रोकंट्रोलर) डिवाइस और अन्य स्लेव (रियल टाइम क्लॉक, सीरियल EEPROM) डिवाइस के बीच विश्वसनीय और तेज़ संचार प्रदान करता है।

  1. सिस्टम विश्लेषण

सिस्टम विश्लेषण कार्य में दो उप-कार्य शामिल हैं।
वे हैं

  1. डेटा प्रवाह आरेख

  2. नियंत्रण प्रवाह आरेख

  3. डेटा प्रवाह आरेख

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

डीएफडी और सीएफडी में प्रयुक्त मुख्य नोटेशन

ओटीएमएस के लिए संदर्भ-स्तरीय डीएफडी

लेवल 0 डीएफडी को मौलिक सिस्टम मॉडल या संदर्भ मॉडल भी कहा जाता है, जो पूरे सॉफ्टवेयर तत्व को एक एकल बुलबुले के रूप में दर्शाता है जिसमें इनपुट और आउटपुट डेटा क्रमशः इनकमिंग और आउटगोइंग तीरों द्वारा इंगित किया जाता है।
जैसे ही डीएफडी को विवरण के बड़े स्तरों में परिष्कृत किया जाता है, विश्लेषक सिस्टम का एक अंतर्निहित कार्यात्मक अपघटन करता है, जिससे फ़ंक्शन के लिए अगला परिचालन विश्लेषण पूरा होता है। साथ ही, डीएफडी परिशोधन के परिणामस्वरूप डेटा का अनुरूप परिशोधन होता है क्योंकि यह उन प्रक्रियाओं से गुजरता है जो एप्लिकेशन को शामिल करते हैं।

चित्र 2 संदर्भ स्तर डेटा प्रवाह आरेख

ओटीएमएस के लिए लेवल 1 डीएफडी

चित्र 3 स्तर 1 डेटा प्रवाह आरेख

डेटा प्रवाह सूचना

  1. उपयोगकर्ता आदेश और डेटा
  2. अनुरोध कॉन्फ़िगर करें
  3. डेटा कॉन्फ़िगर करें
  4. प्रारंभ/रोकें
  5. सेंसर की स्थिति
  6. कॉन्फ़िगरेशन डेटा
  7. ए/डी संदेश
  8. कॉन्फ़िगरेशन डेटा
  9. सेंसर की जानकारी
  10. जानकारी प्रदर्शित करें
  11. अलार्म प्रकार

ओटीएमएस का लेवल 2 डीएफडी

लेवल 2 डेटा फ्लो आरेख मॉनिटर सेंसर प्रक्रिया को परिष्कृत करता है

चित्र 1 स्तर 2 डेटा प्रवाह आरेख

डेटा प्रवाह सूचना

  1. सेंसर स्थिति
  2. सेंसर आईडी, प्रकार
  3. अलार्म डेटा
  4. कॉन्फ़िगरेशन डेटा
  5. सेंसर आईडी, प्रकार, स्थान
  6. सेंसर की जानकारी
  7. अलार्म प्रकार

नियंत्रण प्रवाह आरेख

एक बड़े वर्ग के एप्लिकेशन डेटा के बजाय घटनाओं द्वारा “संचालित” होते हैं; रिपोर्ट या प्रदर्शन के बजाय नियंत्रण जानकारी का उत्पादन करें, और समय और प्रदर्शन की भारी चिंता के साथ जानकारी को संसाधित करें।

चित्र 1 नियंत्रण प्रवाह आरेख
डेटा प्रवाह सूचना

  1. उपयोगकर्ता आदेश और डेटा
  2. अनुरोध कॉन्फ़िगर करें
  3. डेटा कॉन्फ़िगर करें
  4. प्रारंभ/रोकें
  5. सेंसर की स्थिति
  6. कॉन्फ़िगरेशन डेटा
  7. ए/डी संदेश
  8. कॉन्फ़िगरेशन डेटा
  9. सेंसर की जानकारी
  10. जानकारी प्रदर्शित करें
  11. अलार्म प्रकार
  12. सॉफ्टवेयर डिजाइन
    सॉफ़्टवेयर डिज़ाइन में दो भाग शामिल होंगे
    • सी प्रोग्राम डिज़ाइन (स्रोत)
    5.1 “सी” प्रोग्राम डिज़ाइन
    यह ऑनलाइन तापमान निगरानी प्रणाली का मुख्य कार्यक्रम है। इसे RIDE (रेज़ोनेंस इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट) कंपाइलर के साथ संकलित किया गया है और उत्पन्न निष्पादन योग्य छवि को माइक्रोकंट्रोलर (AT 89c52) चिप में डंप किया जाएगा। कार्यक्रम के लिए संपूर्ण फ़्लो चार्ट नीचे दिए गए हैं
    मुख्य कार्यक्रम दिनचर्या

“नियंत्रण” दिनचर्या के लिए प्रवाह चार्ट

“लिखने का समय” रूटीन के लिए फ़्लो चार्ट

  1. I2C प्रोटोकॉल
  2. सीरियल कम्युनिकेशन प्रोटोकॉल
    6.2 I2C प्रोटोकॉल संचार
    सिंहावलोकन
    उपभोक्ता इलेक्ट्रॉनिक्स, दूरसंचार और औद्योगिक इलेक्ट्रॉनिक्स में, अक्सर असंबंधित प्रतीत होने वाले डिज़ाइनों के बीच कई समानताएँ होती हैं। उदाहरण के लिए, लगभग हर प्रणाली में शामिल हैं: • कुछ बुद्धिमान नियंत्रण, आमतौर पर एक एकल-चिप माइक्रोकंट्रोलर • एलसीडी ड्राइवर, रिमोट I/O पोर्ट, RAM, EEPROM, या डेटा कन्वर्टर्स जैसे सामान्य प्रयोजन सर्किट • रेडियो और वीडियो सिस्टम के लिए डिजिटल ट्यूनिंग और सिग्नल प्रोसेसिंग सर्किट, या टोन डायलिंग वाले टेलीफोन के लिए DTMF जनरेटर जैसे अनुप्रयोग-उन्मुख सर्किट। सिस्टम डिजाइनरों और उपकरण निर्माताओं दोनों के लाभ के लिए इन समानताओं का फायदा उठाने के लिए, साथ ही हार्डवेयर दक्षता और सर्किट सादगी को अधिकतम करने के लिए, फिलिप्स ने कुशल अंतर-आईसी नियंत्रण के लिए एक सरल द्वि-दिशात्मक 2-तार बस विकसित की। इस बस को इंटर IC या I2C-बस कहा जाता है। वर्तमान में, फिलिप्स की आईसी रेंज में पहले उल्लिखित सभी तीन श्रेणियों में कार्य करने के लिए 150 से अधिक सीएमओएस और द्विध्रुवी आई2सी-बस संगत प्रकार शामिल हैं। सभी I2C-बस संगत उपकरणों में एक ऑन-चिप इंटरफ़ेस शामिल होता है जो उन्हें I2C-बस के माध्यम से एक दूसरे के साथ सीधे संवाद करने की अनुमति देता है। यह डिज़ाइन अवधारणा डिजिटल नियंत्रण सर्किट को डिज़ाइन करते समय आने वाली कई इंटरफ़ेसिंग समस्याओं का समाधान करती है।
    I2C-बस की विशेषताएं
    • केवल दो बस लाइनों की आवश्यकता है; एक सीरियल डेटा लाइन (एसडीए) और एक सीरियल क्लॉक लाइन (एससीएल)
    • बस से जुड़ा प्रत्येक उपकरण एक अद्वितीय पते द्वारा सॉफ्टवेयर द्वारा संबोधित किया जा सकता है और सरल मास्टर/स्लेव संबंध हर समय मौजूद रहते हैं; मास्टर्स मास्टर-ट्रांसमीटर या मास्टर-रिसीवर के रूप में कार्य कर सकते हैं
    • यदि दो या दो से अधिक मास्टर एक साथ डेटा ट्रांसफर शुरू करते हैं तो यह डेटा भ्रष्टाचार को रोकने के लिए टकराव का पता लगाने और मध्यस्थता सहित एक वास्तविक मल्टी-मास्टर बस है
    • सीरियल, 8-बिट ओरिएंटेड, द्वि-दिशात्मक डेटा ट्रांसफर मानक-मोड में 100 kbit/s तक, फास्ट-मोड में 400 kbit/s तक, या हाई-स्पीड मोड में 3.4 Mbit/s तक किया जा सकता है।
    • डेटा अखंडता को संरक्षित करने के लिए ऑन-चिप फ़िल्टरिंग बस डेटा लाइन पर स्पाइक्स को अस्वीकार कर देता है
    • एक ही बस से कनेक्ट किए जा सकने वाले आईसी की संख्या केवल 400 पीएफ की अधिकतम बस क्षमता तक सीमित है।

डिज़ाइनर को लाभ

• ब्लॉक आरेख पर कार्यात्मक ब्लॉक वास्तविक आईसी के अनुरूप हैं; डिज़ाइन ब्लॉक आरेख से अंतिम योजनाबद्ध तक तेजी से आगे बढ़ते हैं।
• बस इंटरफ़ेस डिज़ाइन करने की कोई आवश्यकता नहीं है क्योंकि I2C-बस इंटरफ़ेस पहले से ही ऑन-चिप में एकीकृत है।
• एकीकृत एड्रेसिंग और डेटा-ट्रांसफर प्रोटोकॉल सिस्टम को पूरी तरह से सॉफ्टवेयर-परिभाषित करने की अनुमति देता है
• एक ही आईसी प्रकार का उपयोग अक्सर कई अलग-अलग अनुप्रयोगों में किया जा सकता है
• डिज़ाइन-समय कम हो जाता है क्योंकि डिज़ाइनर I2C-बस संगत IC द्वारा दर्शाए जाने वाले अक्सर उपयोग किए जाने वाले कार्यात्मक ब्लॉकों से जल्दी परिचित हो जाते हैं
• आईसी को बस में किसी भी अन्य सर्किट को प्रभावित किए बिना सिस्टम में जोड़ा या हटाया जा सकता है
• दोष निदान और डिबगिंग सरल हैं; खराबी का तुरंत पता लगाया जा सकता है

I2C-बस अवधारणा
I2C-बस में दो तार, सीरियल डेटा (एसडीए) और सीरियल क्लॉक (एससीएल) होते हैं, जो बस से जुड़े उपकरणों के बीच जानकारी ले जाते हैं। प्रत्येक डिवाइस को एक अद्वितीय पते से पहचाना जाता है (चाहे वह माइक्रोकंट्रोलर, एलसीडी ड्राइवर, मेमोरी या कीबोर्ड इंटरफ़ेस हो) और डिवाइस के कार्य के आधार पर ट्रांसमीटर या रिसीवर के रूप में काम कर सकता है। स्पष्ट रूप से एक एलसीडी ड्राइवर केवल एक रिसीवर है, जबकि एक मेमोरी डेटा प्राप्त और संचारित दोनों कर सकती है। ट्रांसमीटर और रिसीवर के अलावा, डेटा ट्रांसफर करते समय उपकरणों को मास्टर या गुलाम के रूप में भी माना जा सकता है

I2C-बस शब्दावली की परिभाषा

बाइट प्रारूप
एसडीए लाइन पर डाला गया प्रत्येक बाइट 8-बिट लंबा होना चाहिए। प्रति स्थानांतरण प्रसारित किए जा सकने वाले बाइट्स की संख्या अप्रतिबंधित है। प्रत्येक बाइट के बाद एक पावती बिट होना चाहिए। डेटा को सबसे पहले सबसे महत्वपूर्ण बिट (एमएसबी) के साथ स्थानांतरित किया जाता है (चित्र ए देखें)। यदि कोई दास डेटा का एक और पूरा बाइट प्राप्त या संचारित नहीं कर सकता है जब तक कि उसने कोई अन्य कार्य नहीं किया हो, उदाहरण के लिए आंतरिक व्यवधान की सर्विसिंग, तो वह मास्टर को प्रतीक्षा स्थिति में मजबूर करने के लिए क्लॉक लाइन SCL LOW को पकड़ सकता है। डेटा स्थानांतरण तब जारी रहता है जब स्लेव डेटा के दूसरे बाइट के लिए तैयार होता है और क्लॉक लाइन एससीएल जारी करता है।

चित्र ए. I2C बस पर डेटा स्थानांतरण

स्वीकार करें
पावती के साथ डेटा ट्रांसफर अनिवार्य है। पावती-संबंधित घड़ी पल्स मास्टर द्वारा उत्पन्न होता है। ट्रांसमीटर पावती घड़ी पल्स के दौरान एसडीए लाइन (हाई) जारी करता है। रिसीवर को स्वीकृत क्लॉक पल्स के दौरान एसडीए लाइन को नीचे खींचना चाहिए ताकि इस क्लॉक पल्स की उच्च अवधि के दौरान यह स्थिर LOW बनी रहे (चित्र देखें)।

चित्र बी. I2C बस पर स्वीकार करें

7-बिट पते वाले प्रारूप
डेटा ट्रांसफर चित्र ए में दिखाए गए प्रारूप का पालन करता है। START स्थिति (एस) के बाद, एक स्लेव पता भेजा जाता है। यह पता 7 बिट लंबा है, इसके बाद आठवां बिट है जो एक डेटा दिशा बिट (आर/डब्ल्यू) है - एक ‘शून्य’ एक ट्रांसमिशन (WRITE) को इंगित करता है, एक ‘एक’ डेटा के लिए अनुरोध (रीड) को इंगित करता है। डेटा ट्रांसफर हमेशा मास्टर द्वारा उत्पन्न STOP शर्त (P) द्वारा समाप्त किया जाता है। हालाँकि, यदि कोई मास्टर अभी भी बस में संचार करना चाहता है, तो वह बार-बार START स्थिति (Sr) उत्पन्न कर सकता है और पहले STOP स्थिति उत्पन्न किए बिना किसी अन्य दास को संबोधित कर सकता है। ऐसे स्थानांतरण में पढ़ने/लिखने के प्रारूपों के विभिन्न संयोजन संभव हैं।

चित्र: ए. पूर्ण डेटा स्थानांतरण.

पूर्ण डेटा स्थानांतरण प्रारूप

एस-स्टार्ट स्थिति
पी-स्टॉप स्थिति
उ0- अभिस्वीकृति

  1. सीरियल कम्युनिकेशन प्रोटोकॉल
    आरएस 232 और एएससीसीआईआई की स्थापना बहु-उपयोगकर्ता कंप्यूटर संगठनों के विकास के साथ हुई, जिसमें कई उपयोगकर्ताओं को सीरियल डेटा लिंक के माध्यम से एक होस्ट मेनफ्रेम से जोड़ा गया था, और सीरियल डेटा को एएससीआईआई में एन्कोड किया गया था। परिधीय उपकरणों, जैसे प्रिंटर, ने सीरियल उपकरणों के बढ़ते बाजार तक पहुंचने के लिए समान मानकों को अपनाया।
    ASCII का उपयोग करके सीरियल डेटा ट्रांसमिशन इतना सार्वभौमिक हो गया है कि विशेष एकीकृत सर्किट, यूनिवर्सल एसिंक्रोनस रिसीवर ट्रांसमीटर (UARTS), 8-बिट समानांतर डेटा बाइट को 10-बिट सीरियल स्ट्रीम में परिवर्तित करने और 10-बिट सीरियल स्ट्रीम को 8-बिट समानांतर बाइट में परिवर्तित करने के कार्यों को करने के लिए विकसित किए गए थे।
    89c52 में सीरियल डेटा ट्रांसमिशन/रिसेप्शन सर्किटरी शामिल है जिसे 0 से 3 तक क्रमांकित चार अतुल्यकालिक डेटा संचार मोड का उपयोग करने के लिए प्रोग्राम किया जा सकता है।

• मोड 0: हाई-स्पीड, 8-बिट शिफ्ट रजिस्टर; f/12 की एक बॉड दर
• मोड 1: मानक 8-बिट यूएआरटी; परिवर्तनीय बॉड दरें
• मोड 2 और मोड 3 मल्टीप्रोसेसर 9-बिट यूएआरटी

एसिंक्रोनस 8-बिट कैरेक्टर (मोड1)

  1. परिचालन विशिष्टताएँ

  2. आवेदन वास्तविक समय

  3. निष्कर्ष
    9.1 भविष्य का दायरा

9.2 सीमाएँ
.

  1. ग्रंथ सूची