रास्पबेरी पाई को एसपीआई आवृत्तियों का समर्थन करता है?


22

क्या एसपीआई आवृत्तियों रास्पबेरी Pi समर्थन करता है?

इसके अतिरिक्त:

  • क्या वे सभी bootc.net SPI ड्राइवर द्वारा समर्थित हैं ?
  • एसपीआई के माध्यम से किसी अन्य चिप के साथ संवाद करने की कोशिश करते समय क्या कोई व्यसनी चीजें हैं जिनके बारे में मुझे सतर्क रहना चाहिए?

जवाबों:


21

रास्पबेरी पाई एसपीआई एपीबी घड़ी की गति पर चलता है, जो कोर घड़ी की गति, 250 मेगाहर्ट्ज के बराबर है। यह वांछित गति के लिए 2 से 65536 तक किसी भी संख्या से विभाजित किया जा सकता है । डेटाशीट निर्दिष्ट करती है कि भाजक को दो की शक्ति होनी चाहिए, लेकिन यह गलत है । विषम संख्याओं को गोल किया गया है, और 0 (या 1) 65536 के बराबर है। 2 से छोटा एक विभाजक इसलिए असंभव है।

यह आवृत्ति रेंज 3.814 kHz से 125 मेगाहर्ट्ज तक है, जिसके बीच में 32768 चरण हैं।

(इस मामले पर बहुत गलत जानकारी दी गई है, लेकिन इन परिणामों को प्रयोग द्वारा सत्यापित किया गया है। कृपया इस शब्द का प्रसार करें।)


1
मुझे लगता है कि यह जवाब सबसे ऊपर होना चाहिए।
जॉन वाट

क्या तुम इसके बारे में निश्चित हो? गॉर्डन का दावा है कि जब आप इसे किसी भी संख्या में खिला सकते हैं, तो केवल दो की शक्तियों से वास्तव में फर्क पड़ता है: रास्पबेरी पाई पर समझ एसपीआई | Gordons परियोजनाओं
scruss

3
मैंने एक आस्टसीलस्कप के साथ इसका परीक्षण किया। मुझे लगता है कि गॉर्डन के साथ समस्या यह है कि वह कर्नेल चालक का उपयोग करता है, जो कर्नेल चालक का उपयोग किए बिना प्रोसेसर को सीधे कमांड करने के बजाय घड़ी की गति को नियंत्रित करता है।
नेकेडबल

2
यह फोरम-थ्रेड Nakedible के उत्तर को साबित करने के लिए और जानकारी प्रदान करता है: raspberrypi.org/phpBB3/…
Nippey

5

एसपीआई को मुख्य घड़ी की गति पर चलाया जा सकता है या धीमे बाह्य उपकरणों के लिए विभाजित किया जा सकता है। मुख्य घड़ी 250 मेगाहर्ट्ज है। डिवाइडर को दो की किसी भी शक्ति पर सेट किया जा सकता है - 2 ^ 0 से सभी 2 ^ 16 तक। इसका अर्थ है कि SPI आवृत्तियों 3.8 kHz से 250 MHz तक समर्थित हैं।

सूत्रों का कहना है:


1
शायद - फरहाद बीसीएम 2835 के लिए डेटाशीट से सोर्सिंग कर रहा है जो आरपीआई के लिए वास्तविक एसओसी है जबकि मेरा संदर्भ बीसीएम 2708 के लिए है जो एसओसी का केवल एक हिस्सा है। स्रोत हो सकता है ... लेकिन फिर से वे नहीं कर सकते। इसलिए मुझे लगता है कि अब के लिए वैकल्पिक स्रोतों को संरक्षित करना बेहतर है।
मारिया ज्वेरेना

1
ओह और एरिया51 हमें प्रति प्रश्न के 1.7 उत्तरों के रूप में सूचीबद्ध करता है और कहता है "प्रति प्रश्न 2.5 उत्तर अच्छे हैं, प्रति प्रश्न केवल 1 उत्तर में कुछ काम करने की आवश्यकता है। एक स्वस्थ साइट में, प्रश्नों को कई उत्तर प्राप्त होते हैं और सबसे अच्छा उत्तर शीर्ष को दिया जाता है।" :-)
मारिया ज़वेरीना

1
गलत उत्तर: 2 ^ 0 समर्थित नहीं है, और डिवाइडर को दो की शक्ति होने की आवश्यकता नहीं है।
नाकाबिल

1
क्या आप अपने बयानों के लिए स्रोत प्रदान कर सकते हैं?
मारिया ज़वेरीना

1
Bcm2835 डेटाशीट 2 ^ 0 बिंदु की पुष्टि करता है। raspberrypi.org/wp-content/uploads/2012/02/… bcm3333 लाइब्रेरी में परिभाषित करके भी इसकी पुष्टि की गई है। open.com.au/mikem/bcm2835 दो दिव्यांगों की गैर-शक्ति के रूप में, डेटशीट इरेटा में उल्लेख है कि संभवतः 2 में से कई का मतलब था। elinux.org/BCM2835_datasheet_errata यह भी कुछ फोरम पर पोस्ट किया गया था कि 2 में से कोई भी एकाधिक काम करने लगता है। यह सब वास्तविक हार्डवेयर पर एसपीआई आउटपुट का परीक्षण करके भी पुष्टि की गई है । नीचे मेरा जवाब देखें जो इसे बिल्कुल निर्दिष्ट करता है।
नेकेडबल

4

BCM2835 की डेटापत्रक पेज 120 पर निम्नलिखित कहते हैं: एसपीआई ब्लॉक की घड़ी रजिस्टर के मूल्य में शामिल है।

BC क्लॉक डिवाइडर SCLK = कोर क्लॉक / CDIV यदि CDIV को 0 पर सेट किया गया है, तो विभाजक 65536 है। विभाजक की शक्ति 2 होनी चाहिए। विषम संख्याओं को गोल किया गया। अधिकतम SPI घड़ी की दर APB घड़ी की है।

मुझे कोई संदर्भ नहीं मिल रहा है कि एपीबी बस की अधिकतम आवृत्ति क्या है, मुझे लगता है कि यह एआरएम 11 दस्तावेज का हिस्सा है और यह एसओसी नहीं है।


1
संदर्भ के लिए धन्यवाद; मेरा मानना ​​है कि पेज 156 है? CDIV 16 बी चौड़ा लगता है, इसलिए 1 से 65536 तक जाता है। "कोर क्लॉक" शायद 700 मेगाहर्ट्ज है? तो हम ~ 10.7 kHz से लेकर रहस्यमय APB सीमा तक सीमा प्राप्त करेंगे?
अंकल

1
आपका बहुत स्वागत है, लेकिन मुझे डर है कि यह घड़ी मुख्य घड़ी नहीं है। यह एपीबी बस है: "एपीबी को कम बैंडविड्थ नियंत्रण एक्सेस के लिए डिज़ाइन किया गया है, उदाहरण के लिए सिस्टम बाह्य उपकरणों पर रजिस्टर रजिस्टर इंटरफेस। इस बस में एएचबी के समान एक पता और डेटा चरण है, लेकिन बहुत कम, कम जटिलता संकेत सूची (उदाहरण के लिए इसे नष्ट नहीं किया गया है)। )। इसे 32 बिट और 66MHz सिग्नल का समर्थन करना है। "
फरहाद

4

मैंने http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html पर देखे गए अनुसार परीक्षण किया है और गति को बदल दिया है।

जब परीक्षा पास की जाती है तो अधिकतम गति 15MHz = 15000KHz: परिणाम देखें:

spi mode: 0
bits per word: 8
max speed: 15000000 Hz (15000 KHz)

FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D

16 मेगाहर्ट्ज पर परीक्षण विफल रहा। आंद्रे


1
खदान 32MHz = 32,000 किलोहर्ट्ज़ पर ठीक चला। मैंने इसे यहाँ उल्लेख किया है कि यह व्यावहारिक सीमा भी है। मैं रास्पियन हार्ड फ्लोट पर नवीनतम आरपीआई फर्मवेयर चला रहा हूं अगर इससे कोई फर्क पड़ता है।
dodgy_coder

RPM 3 के पास 60MHz पर वह परीक्षण सफलतापूर्वक चल रहा है।
Vlad
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.