धारावाहिक संचार प्रोटोकॉल DPM
(Dilbertian प्रोटोकॉल संशोधन)
प्रोटोकॉल नाम नोट करें
नाम “Dilbertiano” इस प्रोटोकॉल के पहले संस्करण से आता है, हम कहा जाता है “IDP उल्टे Dilbertian प्रोटोकॉल” (2010), जहां शून्य के साथ एक सेल प्रतिनिधित्व कर रहे थे “बंद करें” और एक सेल के साथ “बड़े” (“0” पतला और “1” वसा – अनुसार निम्नलिखित vignette से आता है “Dilbert” द्वारा स्कॉट Adams – www.dilbert.com).
क्योंकि एक नए प्रोटोकॉल ?
पीसी के लिए एक सरल इनपुट-आउटपुट सिस्टम उपलब्ध कराने के लिए Theremino प्रणाली का उद्देश्य, सस्ते और आसान का उपयोग करें. यह ऑटो-क्रमांकन का उपयोग करने के लिए आसान कर रहे हैं आवश्यक बनाने के लिए और उनके प्रकार की पहचान करने के लिए, सरल बनाने और लिंक्स की लागत को कम करने के लिए केवल एक तार पर संवाद करने के लिए आवश्यक है.
हमने इसे लिखने के लिए एक समान प्रोटोकॉल है. प्रयोग और अनुसंधान के कई वर्षों का सबसे अच्छा वर्तमान संस्करण एकत्रित करता है.
इस दस्तावेज़ को PDF स्वरूप में डाउनलोड:
DPM_Protocol_2015_ENG.pdf
DPM_Protocol_2015_ITA.pdf
सुविधाएँ
- द्विदिश सीरियल संचार एक एकल तार पर.
- ऑटो-विन्यास.
- कनेक्ट किए हुए डिवाइस के ऑटो का पता लगाने.
- से लेकर उपकरणों की संख्या 1 में 200.
- डिवाइस का प्रकार के आधार पर प्रेषित और प्राप्त बाइट्स की संख्या बदलता है.
- संचरण गति अप करने के लिए 4 लघु केबलों के साथ डेटा का एक बहुत संचारित करने के लिए megabits/सेकंड.
- संचरण गति अप करने के लिए 100 Kilobits/सेकंड लंबे केबल के लिए (अप करने के लिए 10 मी).
- संचार के उच्च दक्षता (से 10 में 20 कर सकते हैं में अधिक से अधिक बार).
बिजली बंद
संचरण एक एकल तार पर जगह लेता है, लेकिन आप एक संदर्भ की जरूरत है बड़े पैमाने पर और एक आपूर्ति वोल्ट, जहां तार सामान्य रूप से तीन करने के लिए हैं.
DPM का समर्थन करने वाले किसी भी डिवाइस किसी इनपुट संबंधक होना आवश्यक (करने के लिए मास्टर) और एक आउटपुट उपकरणों के बहाव को (दास)
किकेटसथि द्वारा आम तौर पर इस्तेमाल कर रहे हैं 3 Poli, रिक्ति के साथ 2.54 मिमी.
संचार पर एक मास्टर श्रृंखला होना चाहिए (समय और शक्ति प्रदान करने) और एक में cascade से जुड़े उपकरणों की संख्या (दास नामक).
तनाव है कि मास्टर लाइन पर प्रदान करता है है 5 V, इसी सहिष्णुता के साथ और एक ही अधिकतम वर्तमान के साथ 5 V कि USB कनेक्टर से वापस लेने.
संख्या और प्रकार जो कनेक्ट किए जा सकते हैं उपकरणों के मालिक प्रदान कर सकते हैं कि अधिकतम वर्तमान सीमा. इस वर्तमान, सामान्य रूप से है 250 लेकिन, और अप करने के लिए बढ़ाया जा सकता 500 लेकिन. यह खत्म हो रहा USB की क्षमता से अधिक होगा ’ और असामान्य विशेषताओं कनेक्टर्स के लिए लागू होगा.
निम्न कारक द्वारा कनेक्ट करने योग्य उपकरणों की अधिकतम संख्या तक सीमित है:
– अधिकतम वर्तमान कि “मास्टर” प्रदान कर सकते हैं.
– कि चावल-संचरण का चक्र समय में लाइन भालू बाइट्स की अधिकतम संख्या.
दोनों “मास्टर” कि “दास” एक भिगोना रोकनेवाला के साथ लाइन से जुड़े हुए हैं, यह भी एक कम से गुजारें के रूप में कार्य करता है, रेडियो हस्तक्षेप और overvoltage सुरक्षा. इस रोकनेवाला का मूल्य सामान्य रूप से है 33 में 330 ओम
प्रसारण प्रारूप
एक गैर वापसी करने के लिए शून्य स्वरूप का उपयोग कर (NRZ) मानक.
डिफ़ॉल्ट स्वरूप = 8, एन, 1
– 1 सा शुरू
– 8 डेटा बिट्स
– no-parity
– 1 बंद सा
डेटा पंक्ति का स्तर “कॉम लाइन”
एक तरफ रेखा यह स्तर ऊपर करने के लिए (3.3 V)
सिग्नल “1” द्वारा चिह्नित है 3.3 V
सिग्नल “0” द्वारा चिह्नित है 0 V
दोहराने टाइम्स और थ्रूपुट
संचरण की गति
कम गति का उपयोग कर जब लंबाई, और तो कनेक्शन केबल की क्षमता, उच्च रहे हैं. जब दूरी कम और उच्च गति उपकरणों की एक बड़ी संख्या के साथ संचार करने के लिए इस्तेमाल किया जा सकता है (या बाइट्स की एक बड़ी संख्या की आवश्यकता है कि उपकरणों के साथ संवाद) स्थापना की नामांकित गति से कर रहे हैं “1” (1 k बिट्स/सेकंड) अप करने के लिए “12” (4 मेगा बिट्स प्रति सेकंड)
बाइट्स की अधिकतम संख्या
बॉड दर के आधार पर प्रेषित किया जा कर सकते हैं जो बाइट्स की अधिकतम संख्या को निम्न तालिका में सूचीबद्ध है.
टाइम्स, दूरियों और बाइट्स की संख्या
स्पीड
|
थोड़ा समय
|
बिट
के लिए
दूसरा
|
बाइट्स
हर 15Ms |
बाइट्स हर
30Ms |
अधिकतम दूरी
|
अधिकतम क्षमता
|
दास
मैक्स
संख्या
|
1
|
1 Ms
|
1K
|
1
|
3
|
10 मी
|
1 UF
|
3
|
2
|
500 हमें
|
2K
|
3
|
6
|
5 मी
|
500 NF
|
6
|
3
|
200 हमें
|
5K
|
4
|
8
|
2 मी
|
200 NF
|
15
|
4
|
100 हमें
|
10K
|
15
|
30
|
1 मी
|
100 NF
|
30
|
5
|
50 हमें
|
20K
|
30
|
60
|
500 मी
|
50 NF
|
60
|
6
|
20 हमें
|
50K
|
40
|
80
|
200 मी
|
20 NF
|
150
|
7
|
10 हमें
|
100K
|
150
|
300
|
100 मी
|
10 NF
|
160
|
8
|
5 हमें
|
200K
|
300
|
600
|
50 मी
|
5 NF
|
80
|
9
|
2 हमें
|
500K
|
400
|
800
|
20 मी
|
2 NF
|
32
|
10
|
1 हमें
|
1मी
|
1500
|
3000
|
10 मी
|
1 NF
|
16
|
11
|
500 एन एस
|
2मी
|
3000
|
6000
|
5 मी
|
500 पीएफ
|
8
|
12
|
250_ एन एस
|
4मी
|
6000
|
12000
|
2.5 मी
|
250 पीएफ
|
4
|
सभी उपकरणों के कम से कम गति को लागू करना होगा “7” कि डिफ़ॉल्ट गति माना जाता है. यदि आप से एक अलग गति सेट करने के लिए चाहते हैं “7” यह श्रृंखला में सभी डिवाइसेज़ का समर्थन करना होगा.
को “अधिकतम दूरी” केबलों की विशेषताओं पर निर्भर करता है, तालिका के मानों से एक shielded केबल RG58 के लिए गणना कर रहे हैं 50 ओम 100pF प्रति मीटर करने की क्षमता के साथ.
At कम गति की संख्या “दास” बाइट्स की अधिकतम संख्या में प्रेषित किया जा कर सकते हैं तक सीमित है 30 मिलीसेकंड. (प्रत्येक गुलाम में कम से कम एक बाइट का उपयोग करता है और आप एक दोहराने तेजी से पर्याप्त तरल पदार्थ आंदोलनों बनाने के लिए दावा)
उच्च गति पर, की संख्या “दास” अधिकतम क्षमता द्वारा ही सीमित है, प्रत्येक “दास” की क्षमता के लगभग जोड़ता 40..60 पीएफ और अधिकतम दूरी की लगभग कम कर देता है 50 सेमी.
क्षमता प्रति 30pF के आधार पर गणना की गई “दास” प्लस एक कनेक्शन केबल से करने के लिए अन्य 20pF 20 मुख्यमंत्री और अन्य 10pF होने के कारण अतिरिक्त प्रतिरोध के खाते में लेने के लिए “द्विपक्षीय स्विच” (कुल: 60पीएफ)
आपूर्ति वर्तमान और प्रतिरोध प्रति मीटर से संचार की अधिकतम केबल लंबाई
केबल प्रकार —>
अधिकतम वर्तमान
( पीक वर्तमान )
|
H1500/H1000/H500/H155/RG11
20 Milli ohms
या उससे कम
प्रति मीटर
|
Rg58 /Rg59u/H155 /
नेट केबल्स
के बारे में
50 Milli ohms
प्रति मीटर
|
Rg59/RG6 /फोन मुड़ तार /
नेट केबल्स
के बारे में
100 Milli ohms
प्रति मीटर
|
10 लेकिन | 1 मी | 400 मी | 200 मी |
20 लेकिन | 500 मी | 200 मी | 100 मी |
50 लेकिन | 200 मी | 80 मी | 40 मी |
80 लेकिन | 125 मी | 50 मी | 25 मी |
100 लेकिन | 100 मी | 40 मी | 20 मी |
200 लेकिन | 50 मी | 20 मी | 10 मी |
400 लेकिन | 25 मी | 10 मी | 5 मी |
500 लेकिन | 20 मी | 8 मी | 4 मी |
800 लेकिन | 12.5 मी | 5 मी | 2.5 मी |
1 में | 10 मी | 4 मी | 2 मी |
दूरी की गणना में हम कि वोल्टेज ड्रॉप जमीन पर खाते में ले लो, से अधिक नहीं है 200 एमवी. पावर केबल पर वोल्टेज ड्रॉप, संचरण त्रुटियों के कारण नहीं, यह भी काफी ज्यादा हो सकते हैं (को 5 V नीचे करने के लिए ड्रॉप कर सकते हैं 3.3 V समस्याओं बनाने के बिना) जमीन पर shielded केबलों के मामले में स्क्रीन है., जो आम तौर पर कम प्रतिरोध की घोषणा से है, दूरी तो अधिक से अधिक होगा.
केबल क्षमता
के मूल्यों “अधिकतम लंबाई” उपरोक्त तालिका में संकेत दिया केवल लगभग. की एक क्षमता के साथ केबल को जोड़ने के लिए मान्य हैं 100 पीएफ प्रति मीटर. निम्न टेबल दिखाता है कि सबसे अधिक इस्तेमाल किया केबल के लिए लागू किया जा करने के लिए सुधार.
केबल
|
बाहरी
व्यास
( मिमी )
|
प्रतिबाधा
( ओम )
|
क्षमता
(पीएफ/mt.)
|
प्रतिरोध
(milliohm
/ मीटर)
|
अधिकतम लंबाई पढ़नेवाला
|
H1500
|
15
|
50
|
80
|
4
|
एक्स 1.25
|
H1000
|
10.3
|
50
|
80
|
11
|
एक्स 1.25
|
Rg213
|
10.3
|
50
|
100
|
|
–
|
H500
|
9.8
|
50
|
82
|
15
|
एक्स 1.22
|
H155
|
5.8
|
50
|
82
|
32
|
एक्स 1.22
|
Rg8
|
10
|
52
|
90
|
|
–
|
Rg11 (टी वी)
|
10.3
|
75
|
60
|
21
|
एक्स 1.7
|
RG59 (टी वी)
|
6.15
|
75
|
67
|
159
|
एक्स 1.5
|
RG6 _(बैठ गया टी वी)
|
6.8
|
75
|
51
|
100
|
एक्स 2.0
|
Rg56/U_(टी वी)
|
6.9
|
75
|
53
|
|
एक्स 2.0
|
Rg59/U _(टी वी)
|
4.5
|
75
|
53
|
45
|
एक्स 2.0
|
Rg58
|
5.2
|
50
|
100
|
53
|
–
|
Rg142
|
4.95
|
50
|
96
|
|
–
|
Rg174
|
2.8
|
50
|
100
|
|
–
|
Rg178
|
1.85
|
50
|
95
|
|
–
|
Rg179
|
2.55
|
75
|
64
|
|
एक्स 1.5
|
RG187
|
2.7
|
75
|
65
|
|
एक्स 1.5
|
Rg188
|
2.7
|
50
|
95
|
|
–
|
Rg196
|
1.9
|
50
|
93
|
|
–
|
Rg316
|
2.5
|
50
|
95
|
|
–
|
नेट केबल
|
|
|
मिन 50
मैक्स 130
|
मिन 60
मैक्स 200
|
एक्स 2.0
एक्स 0.7
|
पीसी ऑडियो केबल
|
|
|
मिन 120
मैक्स 300
|
मिन 500
मैक्स 3000
|
एक्स 0.8
एक्स 0.5
|
Microphonic
केबल
|
|
|
मिन 60
मैक्स 300
|
|
एक्स 1.7
एक्स 0.3
|
मुड़ टेलीफोन के तार
|
|
|
50
|
100
|
एक्स 2.0
|
वहाँ भी कर रहे हैं कम-क्षमता केबल्स (थोड़ा इस्तेमाल किया और खोजने के लिए मुश्किल):
- Rg62 – 93 ओम – 44 पीएफ/mt
- RG71 – 93 ओम – 44 पीएफ/mt
- Rg210 – 93 ओम – 44 पीएफ/mt
- RG63 – 125 ओम – 33पीएफ/mt
- RG114 – 185 ओम – 27पीएफ/mt
एक अज्ञात केबल की क्षमता को मापने:
- परिपूर्ण shielded केबल skinning और अछूता सेंट्रल strand बनाए रखने की तैयारी.
- एक मीटर या समाई मीटर के साथ केंद्रीय और बाहरी शील्ड के बीच उपाय.
- माप सटीकता में सुधार करने के लिए, पांच या दस मीटर केबल का उपयोग करें.
- Picofarads केबल के मीटर की संख्या से मापा के मूल्य फूट डालो.
उपकरणों के प्रकार
उपकरणों से एक नंबर के साथ लेबल किए गए हैं 0 में 199 पहचान करने के लिए उसे "प्रकार".
मान्यता और प्रत्येक डिवाइस क्रमांकन के स्तर पर ही इस के साथ "प्रकार" दिखाता है.
वर्तमान में कर रहे हैं निम्नलिखित उपकरणों परिभाषित:
डिवाइस प्रकार
|
स्पीड
मिन
|
गति अधिकतम
|
में बाहर पिन
|
पावर
|
नाम
|
0
|
विशेष “कस्टम” प्रकार
|
||||
1
|
1
|
12
|
1
|
12 लेकिन
|
Capacitive संवेदक
हाय गुणवत्ता
|
2
|
1
|
12
|
10
|
Inout दास
|
|
3
|
1
|
12
|
12
|
Inout के सामान्य
|
|
4
|
1
|
12
|
12
|
INOUT
|
|
5
|
6
|
आभासी मास्टर पिन
(पहला संस्करण) |
|||
8
|
10
|
आभासी मास्टर पिन – V2
|
|||
9 | 12 | आभासी मास्टर पिन – V4 | |||
255 | अज्ञात |
उपकरणों की अधिकतम संख्या
कनेक्ट करने योग्य उपकरणों की अधिकतम संख्या द्वारा सीमित है:
– चयनित गति के आधार पर प्रेषित किया जा सकता बाइट्स की अधिकतम संख्या.
– कि "गुरु" प्रदान कर सकते हैं अधिकतम वर्तमान (सामान्य रूप से 500 लेकिन)
– प्रोटोकॉल द्वारा समर्थित डिवाइस की अधिकतम संख्या है 200 (से 0 में 199)
पिन के प्रकार
पिन से एक नंबर के साथ लेबल किए गए हैं 0 में 255 पहचान करने के लिए उसे "PinType".
आउटपुट पिन प्रकार
आउटपुट पिन
प्रकार
|
नाम
|
मास्टर गुलाम को
बाइट्स
|
गुलाम मास्टर करने के लिए
बाइट्स
|
0
|
उपयोग नहीं किये गए
|
0
|
0
|
1
|
DIG_OUT
|
1
|
0
|
2
|
Pwm_8
|
1
|
0
|
3
|
Pwm_16
|
2
|
0
|
4
|
SERVO_8
|
1
|
0
|
5
|
SERVO_16
|
2
|
0
|
6 | STEPPER के | 4 | 0 |
7 | PWM_FAST | 5 | 0 |
इनपुट पिन प्रकार
इनपुट पिन
प्रकार
|
नाम
|
मास्टर गुलाम को
बाइट्स
|
गुलाम मास्टर करने के लिए
बाइट्स
|
129
|
DIG_IN
|
0
|
1
|
130
|
DIG_IN_PU
|
0
|
1
|
131
|
ADC_8
|
0
|
1
|
132
|
ADC_16
|
0
|
2
|
133
|
CAP_8
|
0
|
1
|
134
|
CAP_16
|
0
|
2
|
135
|
RES_8
|
0
|
1
|
136
|
RES_16
|
0
|
2
|
140
|
काउंटर
|
0
|
2
|
141
|
COUNTER_PU
|
0
|
2
|
142
|
FAST_COUNTER
|
0
|
2
|
143
|
FAST_COUNTER_PU
|
0
|
2
|
144
|
अवधि
|
0
|
4
|
145
|
PERIOD_PU
|
0
|
4
|
146
|
SLOW_PERIOD
|
0
|
4
|
147
|
SLOW_PERIOD_PU
|
0
|
4
|
150
|
USOUND_SENSOR
|
0
|
2
|
160
|
CAP_SENSOR
|
0
|
3
|
165
|
STEPPER_DIR
|
0
|
4
|
180
|
ENCODER_A
|
0
|
2
|
181
|
ENCODER_A_PU
|
0
|
2
|
182
|
ENCODER_B
|
0
|
0
|
183
|
ENCODER_B_PU
|
0
|
0
|
175
|
ADC_24
|
0
|
1
|
176
|
ADC_24_DIN
|
0
|
0
|
177
|
ADC_24_DOUT
|
0
|
0
|
स्वामी और दास के बीच संचार (सीरियल लाइन)
पहली बाइट | पारेषण के प्रकार | संचरण | प्राप्त करना |
255 (*4) | विस्तारित विशेष (भविष्य के विस्तार के लिए) |
1 बाइट्स (एक्सटेंशन) >>>>> विस्तारित क्रियाएँ तालिका देखें <<<<< |
— |
254 (*1) | RecogStart प्रारंभिक मान्यता और क्रमांकन |
1 बाइट्स (डेटा बाइट्स संख्या = 0) 1 बाइट्स (सीआरसी के अध्यक्ष तथा प्रबंध निदेशक / 0) |
— |
253 (*2) | Recog अनुक्रम संख्या और प्रकार के अनुरोध दर्ज करें |
1 बाइट्स (डेटा बाइट्स संख्या = 1) 1 बाइट्स (से 0 में 199) 1 बाइट्स (अध्यक्ष तथा प्रबंध निदेशक/Nbytes/प्रकार के सीआरसी) |
1 बाइट्स ( प्रकार ) 1 बाइट्स ( सीआरसी ) |
251 (*3) | FastDataExchange तेजी से डेटा एक्सचेंज. |
1 बाइट्स (डेटा बाइट्स संख्या = 0) 1 बाइट्स (अध्यक्ष तथा प्रबंध निदेशक/0 के सीआरसी) से 0 में 60 डेटा बाइट्स |
से 0 में 63 डेटा बाइट्स |
249 (*4) | SetupSlavePins के लिए सेटिंग्स दर्ज करें एक पिन “दास” |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (डेटा बाइट्स की संख्या) NN बाइट्स (PinTypes: 1 पिन प्रति बाइट्स) 1 बाइट्स (अध्यक्ष तथा प्रबंध निदेशक/SlaveId/आदि के सीआरसी..) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (सीआरसी बाइट्स पर पिछला) |
248 (*4) | SetMasterName का नाम दर्ज करें “मास्टर” |
NN बाइट्स (शून्य से समाप्त नाम के अक्षर) | — |
247 (*4) | GetMasterName पढ़ने का नाम “मास्टर” |
— | NN बाइट्स (वर्णों की नाम द्वारा शून्य समाप्त हुई) |
246 (*4) | SendValuesToSlave भेजने के “एन” बाइट्स एक गुलाम “मी” (मैक्स 56 बाइट्स) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (बाइट्स की संख्या) बाइट्स 1 . . . बाइट n 1 बाइट्स (सीआरसी अध्यक्ष तथा प्रबंध निदेशक/SlaveId/nBytes/n) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (सीआरसी बाइट्स पर पिछला) |
245 (*4) | GetValuesFromSlave अनुरोध के लिए “एन” गुलाम करने के लिए बाइट्स “मी” (मैक्स 56 बाइट्स) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (बाइट्स की संख्या) 1 बाइट्स (सीआरसी के अध्यक्ष तथा प्रबंध निदेशक/SlaveId/nBytes) |
byte1 . . बाइट n 1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (सीआरसी पर एन + 1 पिछला बाइट) |
244 (*4) | SendBytesToSlave भेजने के “एन” दास के लिए बाइट्स “मी” (मैक्स 56 बाइट्स) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (बाइट्स की संख्या) बाइट्स 1 . . . बाइट n 1 बाइट्स (सीआरसी अध्यक्ष तथा प्रबंध निदेशक/SlaveId/nBytes/n) |
1 बाइट्स ( गुलाम सूचकांक ) 1 बाइट्स ( सीआरसी ) पर बाइट्स पिछला |
243 (*4) | GetBytesFromSlave अनुरोध के लिए “एन” गुलाम करने के लिए बाइट्स “मी” (मैक्स 56 बाइट्स) |
1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स (बाइट्स की संख्या) 1 बाइट्स (सीआरसी के अध्यक्ष तथा प्रबंध निदेशक/SlaveId/nBytes) |
बाइट्स 1 . . . बाइट n 1 बाइट्स (गुलाम सूचकांक) 1 बाइट्स ( सीआरसी ) के बारे में एन + 1 पिछला बाइट |
199 (*5) | SetSpeed | 1 बाइट्स (कॉम. स्पीड) 1 बाइट्स (अध्यक्ष तथा प्रबंध निदेशक/comm. गति पर सीआरसी) |
— |
0 | कोई क्रिया |
(*1) सेवा आदेश.
(*2) आदेश केवल स्वामी और दास Recog द्वारा किया जाता है मान्यता के दौरान.
(*3) तेजी से संचार – मास्टर केवल एक USB Exchange का उपयोग करके सभी गुलामों के मूल्यों एक्सचेंजों
(*4) संचार आज्ञाओं को एकल दास
(*5) विशेष आदेशों
SendValuesToSlave एक गुलाम की आउटपुट पिन करने के लिए मान भेजता है (मास्टर या आभासी दासों पर भौतिक रूपों)
GetValuesFromSlave एक गुलाम की इनपुट पिन से मान पढ़ता है (मास्टर या आभासी दासों पर भौतिक रूपों)
SendBytesToSlave जेनेरिक बाइट्स भेजें (उदाहरण के विन्यास), एक गुलाम की ओर (मास्टर या आभासी दासों पर भौतिक रूपों)
GetBytesFromSlave कानून जेनेरिक बाइट्स (उदाहरण के लिए राज्य के), एक दास से (मास्टर या आभासी दासों पर भौतिक रूपों)
सभी आदेशों से कोड है 200 में 255, को रोकने के लिए, त्रुटियों के मामले में, IDs और गुलाम प्रकार (से 0 में 199) एक कमांड के रूप में व्याख्या की जा सकता है. (Setspeed क्योंकि यह कभी नहीं लेकिन तक ही सीरियल रेखा से नीचे भेजा है गिनती नहीं करता ’ एचएएल, करने के लिए मास्टर, USB के माध्यम)
होस्ट कंप्यूटर और गुरु के बीच संचार (यूएसबी)
आज्ञा से “मेजबान” की ओर “मास्टर”
आदेश का नाम | आईडी USB_TxData[0] |
पैरामीटर्स USB_TxData[1 करने के लिए n] |
RecogStart | CommandID, | Nbytes |
FastDataExchange | CommandID, | से 0 करने के लिए 60 डेटा बाइट्स |
SetupSlavePins | CommandID, | SlaveId, Nbytes |
SetMasterName | CommandID, | MasterName (शून्य समाप्त) |
GetMasterName | CommandID, | – |
SendValuesToSlave | CommandID, | SlaveId, Nbytes, Byte1….ByteN |
GetValuesFromSlave | CommandID, | SlaveId, Nbytes |
SendBytesToSlave | CommandID, | SlaveId, Nbytes, Byte1….ByteN |
GetBytesFromSlave | CommandID, | SlaveId, Nbytes |
SetSpeed | CommandID, | CommSpeed |
Risposte दा “मास्टर” की ओर “मेजबान”
आदेश का नाम | प्रतिक्रिया USB_RxData[0] |
मान वापस USB_RxData[1 करने के लिए n] |
RecogStart | 0 ठीक = | Nslaves, दास Type1 … गुलाम प्रकार N |
FastDataExchange | 0 ठीक = | से 0 करने के लिए 63 डेटा बाइट्स |
SetupSlavePins | 0 ठीक = | – |
SetMasterName | 0 ठीक = | – |
GetMasterName | 0 ठीक = | मास्टर का नाम (शून्य समाप्त) |
SendValuesToSlave | 0 ठीक = | – |
GetValuesFromSlave | 0 ठीक = | बाइट 1 … बाइट N |
SendBytesToSlave | 0 ठीक = | – |
GetBytesFromSlave | 0 ठीक = | बाइट 1 … बाइट N |
SetSpeed | 0 ठीक = | – |
USB बफ़र की शून्य स्थिति इंगित करता है कि क्या आदेश से मार डाला था “मास्टर” सफलतापूर्वक.
सीआरसी की गणना
सभी सीआरसी इस्तेमाल लगातार बाइट्स की एक निश्चित संख्या से अधिक की गणना कर रहे हैं और एक बाइट सीआरसी परिणाम है. CRC परिकलन "अनुदैर्ध्य रिडन्डन्सी जाँच" पर आधारित एक एल्गोरिथ्म का उपयोग कर.
अनुदैर्ध्य रिडन्डन्सी जाँच
Dim CRC as Byte
CRC = 0
For each byte b
CRC = CRC Xor b
Next
"" सांसारिक दृश्यों के बीच collisions से बचने के लिए ( उदाहरण के लिए, 0000 = 1111 या 123 = 321 ) और मान्य सीआरसी का उत्पादन सरल अनुक्रम ( उदाहरण के लिए, 0000 सीआरसी के साथ = 0 ) इसके बाद के संस्करण विधि के साथ क्रमचय संशोधित किया गया है.
CRC परिकलन परिणाम कुशल और बेहद सरल है.
इस प्रोटोकॉल में प्रयुक्त सीआरसी की गणना
Dim CRC as Byte
CRC = 0
For each byte b
CRC = CRC Xor b
CRC = CRC + 1
Next
बॉड दर सेटिंग
यदि आप एक बॉड दर एक डिफ़ॉल्ट के अलावा अन्य का उपयोग करने का फैसला, फिर "गुरु" श्रृंखला में सभी उपकरणों को नई गति संवाद होना चाहिए.
यह सेटिंग भी एक पाश डिवाइस पहचान बनाने से पहले संभव होना चाहिए और भी बहुत लंबी पारेषण लाइनों के साथ संभव होना चाहिए. इसलिए वहाँ कोई विशेष आदेश है कि अब दिखाया है है.
1 – मास्टर के लिए उच्च लाइन का कहना है 50 Ms
2 – सभी दास निश्चित रूप से एक वर्ण लंबित रखा जाता
3 – एक ब्रेक मास्टर उत्पन्न करता है (कम स्तर रेखा 12 न्यूनतम गति पर बिट
4 – मास्टर मुद्दों पर एक 55 चरित्र (01010101) वांछित बॉड दर
5 – सभी गुलामों की बॉड दर इस बाइट्स से तर्क करना (ऑटो-बॉड)
6 – मास्टर एक बाइट "स्पीड" को निर्दिष्ट करता है भेजता है (से 1 में 12)
7 – मास्टर एक बाइट सीआरसी पर दो बाइट्स की गणना के भेजता है (अध्यक्ष तथा प्रबंध निदेशक/गति)
8 – एक गलती इसकी गति परिवर्तन नहीं करता है अगर गुलाम है
बॉड दर की जाँच करें
यदि आप एक बहुत उच्च गति सेट संचरण लाइन में उपयोग के लिए श्रृंखला में कुछ उपकरणों की गति सेटिंग का समर्थन करने में सक्षम नहीं हो सकता और त्रुटियाँ हो सकती है जब डेटा संचारण.
यदि संचरण त्रुटियों शून्य या कम कर रहे हैं तुलना 0.1% फिर गति सेट मान्य है.
मान्यता और क्रमांकन
1 – सुनिश्चित करें कि सभी एक ही गति पर संवाद करने के लिए "गति" सेटिंग के पूरे क्रम के लिए गुलाम मास्टर outputs.
2 – गुरु को आदेश प्रसारित नहीं है 50 मिलीसेकंड.
3 – इस बिंदु पर सभी दास चाहिए किसी आदेश के लिए इंतज़ार कर रहे हो.
4 – मास्टर मुद्दों पर एक कोड "254″ (RecogStart).
5 – वे कमजोर-पुल-अप डाल सभी दास (100-400 UA) इनपुट-आउटपुट पर और अनुप्रवाह उपकरणों के लिए आउटपुट कनेक्शन खोलें. वे अब और नहीं "253 को छोड़कर किसी भी आदेश का जवाब″ (Recog).
6 – मास्टर एक कोड "253 मुद्दों″ (प्रकार अनुरोध) और फिर एक बाइट संख्या 0 के साथ″, श्रृंखला में पहली डिवाइस एक बाइट इसके प्रकार के साथ मिलता है, पुल को हटा, डाउनस्ट्रीम दास और किसी भी आदेश के लिए प्रतिसाद नहीं दे रहा करने के लिए कनेक्ट.
7 – मास्टर एक कोड "253 मुद्दों″ (प्रकार अनुरोध) और फिर एक बाइट संख्या 1 के साथ″, इसके प्रकार के साथ एक बाइट श्रृंखला में दूसरा डिवाइस मिलता है, पुल को हटा, डाउनस्ट्रीम दास और किसी भी आदेश के लिए प्रतिसाद नहीं दे रहा करने के लिए कनेक्ट.
8 – मास्टर एक कोड "253 मुद्दों″ (प्रकार अनुरोध) और फिर एक बाइट "2 संख्या के साथ″,
9 – मास्टर की ओर दासों मुद्दों सभी सेटिंग अनुक्रम "स्पीड", कि सभी गुलामों को सामान्य संचार मोड में दिखाता है.
10 – मेजबान गुरु बताते हैं (पीसी) संख्या और प्रकार में से प्रत्येक USB दास द्वारा मान्यता प्राप्त.
Roberto_Cena & Livio_Cicala (2010 – 2016)