Follow-Up question on Electrical Engineering Stackexchangeब्लूटूथ निम्न ऊर्जा - एक विशेषता मूल्य को अद्यतन करने के बार-बार
मैं (एक संभावित उपयोग की स्थिति के रूप में, एक माउस की कल्पना) समय की एक छोटी राशि में बार-बार एक ब्लूटूथ निम्न ऊर्जा विशेषता का मान लिखना चाहते हैं।
- एक 128bit UUID के साथ विशेषता 20 बाइट लंबा है। इसलिए, इसे एक कम ऊर्जा लेनदेन में लिखा जा सकता है।
- लेखन 50 हर्ट्ज की दर से होते हैं, जो प्रत्येक 20ms पर एक बार लिखने के बराबर होता है।
- इसलिए, 20 * 50 * 8 = 8 केबीटी/एस लिखा गया है।
- मैं कमांड/का उपयोग कर रहा हूं विशेषता लिखने के बिना लिखें। इसलिए, विशेषता परत पर कोई पावती नहीं होती है।
- कोई अन्य ब्लूटूथ या ब्लूटूथ कम ऊर्जा डिवाइस जुड़े हुए हैं। डब्लूएलएएन पर कुछ भी नहीं किया जाता है। परीक्षण के दौरान कोई अन्य विशेषताओं को पढ़ या लिखा नहीं जाता है।
मैं आईफोन 4 एस से अनुक्रम संख्या वाले पैकेट भेजकर प्रोग्राम का परीक्षण करता हूं। अनुक्रम संख्या प्रत्येक भेजे गए पैकेट के बाद एक द्वारा बढ़ाया जाता है।
प्राप्त करने वाले पक्ष पर, एक प्रोग्राम करने योग्य विकास बोर्ड, जिसमें CSR1000 बीएलई चिप शामिल है, का उपयोग किया जाता है जो पैकेट प्राप्त करता है और प्राप्त अनुक्रम संख्या को सीरियल कनेक्शन में प्रिंट करता है।
मेरे समस्याओं निम्नलिखित हैं:
कुछ समय के बाद, पैकेट गिरा दिया हो रही शुरू करते हैं। पहले ~ 100 पैकेट ठीक @ 50 हर्ट्ज काम करते हैं। तब से, पैकेट गिरावट शुरू हो जाते हैं।
0x00 - 0x46 received 0x47, 0x48 missing 0x49, 0x4a, 0x4b, 0x4c received 0x4d missing 0x4e, 0x4f, 0x50, 0x51 received 0x52 missing 0x53, 0x54, 0x55, 0x56 received 0x57 missing ...
अक्सर, चार पैकेट के एक पैकेट से फैलता है ठीक (शायद ही कभी, केवल 2 पैकेट)। फिर, 1-7 पैकेट गायब हैं।
जब मैं विशेषता मूल्य आकार को कम करता हूं, तो समस्या अभी भी बनी रहती है।
जब मैं 50 हर्ट्ज की बजाय 100 हर्ट्ज पर लिखता हूं, तो तस्वीर समान होती है - केवल 35 पैकेट के बाद बूंदें शुरू होती हैं और चार पैकेट के सफल संचरण के बीच 5-7 पैकेट गिराए जाते हैं।
खोए हुए पैकेट के साथ, परिणामी संचरण दर लगभग 5 केबीटी/एस है, चाहे लिखने की आवृत्ति के बावजूद। यह स्पष्ट रूप से ~ 305 केबीटी/एस से नीचे है जो ब्लूटूथ कम ऊर्जा पर तकनीकी रूप से संभव होना चाहिए।
समस्या भी विपरीत दिशा में होती है, जब मैं विकास बोर्ड से आईफोन 4 एस में पैकेट भेज रहा हूं। दोबारा, 5 केबीटी/एस अधिकतम है जो मुझे मिल रहा है। इस परिदृश्य के लिए अधिसूचना तंत्र का उपयोग किया जाता है। फिर, विशेषता परत पर कोई पावती नहीं होती है।
जब मैं दोनों दिशाओं को एक साथ भेजने की कोशिश करता हूं, तो चीजें उस बिंदु तक उड़ने लगती हैं जहां मुझे विकास बोर्ड और आईफोन 4 एस दोनों को रीसेट करना होता है।
सवाल:
इस ब्लूटूथ निम्न ऊर्जा चिप की एक समस्या हो सकती है कि विकास बोर्ड पर प्रयोग किया जाता है?
यदि हां, तो समस्या विपरीत दिशा में क्यों होती है, जहां आईफोन रिसीवर के रूप में कार्य करता है?
क्या बाजार में कोई विकास बोर्ड है जो विशेषताओं तक उच्च आवृत्ति पहुंच का समर्थन करता है?
समस्या की उत्पत्ति क्या हो सकती है?
कृपया धारणाओं के अतिरिक्त ब्लूटूथ स्पेक/प्रस्तुति स्लाइड्स/आलेखों के हिस्सों को संदर्भित करने का प्रयास करें।
बाजार पर ब्लूटूथ कम ऊर्जा चूहों मौजूद हैं। चूहे में 125 हर्ट्ज की सामान्य मतदान दर होती है और कम से कम दो 16 बाइट मूल्यों और प्रति छड़ी अतिरिक्त छिपाई ओवरहेड भेजना पड़ता है। इसलिए, मेरी समस्या का समाधान उपलब्ध होना चाहिए।
अद्यतन
ले कनेक्शन पूर्ण घटनाब्लूटूथ विशिष्टता संस्करण 4.0 खंड 2 भाग ई धारा 7.7.65.1 में वर्णित है। मैं अलग कनेक्शन मापदंडों के लिए निम्न मान प्राप्त करते हैं:
Parameter Value Description
--------------------------------------------------
Conn_Interval 0x0054 Time = 105 ms
Conn_Latency 0x0000 Time = 0 ms
Supervision_Timeout 0x00fc Time = 2520 ms
Master_Clock_Accuracy 0x05 50 ppm
क्या ली चिप/देव बोर्ड आप उपयोग कर रहे हैं? –
कनेक्शन के लिए आपने किन पैरामीटर सेट किए हैं - क्या आप डिफ़ॉल्ट का उपयोग कर रहे हैं? –
आप कनेक्शन समय कैसे देखते हैं? – chwi