2 से अधिक एसपीआई दास जोड़ें


12

जैसा कि मैंने योजना पर देखा है, दासों के लिए 2 चैनल हैं - CS0 और CS1। क्या इसका मतलब है कि मैं केवल 2 चिप्स कनेक्ट कर सकता हूं, जैसे कि MCP3008 या कुछ और? या मैं इन 2 संलग्न दासों को अधिक दास संलग्न कर सकता हूं।

क्या रास्पबेरी योजना का समर्थन या सामान्य रूप से इस एसपीआई दास कनेक्शन योजना के साथ विकिपीडिया से लिया गया है? क्या इसे इस तरह बनाना संभव है?

एसपीआई गुलाम


"क्या इसे इस तरह बनाना संभव है?" -> मुझे लगता है कि वास्तव में ऐसा ही है, सिवाय इसके कि Pi में CE1 और CE1 है बजाय SS1, SS2, SS3 के। SCLK, MOSI और MISO बस लाइनें दोनों मामलों में सभी उपकरणों के बीच साझा की जाती हैं।
गोल्डीलॉक्स

जवाबों:


12

कई तरीकों से।

आप गुलाम का चयन करने के लिए बिट बैंग कर सकते हैं, अर्थात सभी उपकरणों को साझा MISO / MOSI / SCLK और जमीन से जोड़ सकते हैं लेकिन अलग-अलग CS। एसपीआई ड्राइवर को कॉल करने से पहले आप जिस डिवाइस को चाहते हैं उसके लिए बस सीएस लो सेट करें। SPI ड्राइवर CS को सेट करने का प्रयास करेगा, लेकिन यह नहीं जानता कि यह कनेक्टेड नहीं है।

40 पिन विस्तार हेडर के साथ पीएस में 3 चिप चयन के साथ एक और एसपीआई डिवाइस है। मेरा पिगियो पुस्तकालय उस उपकरण का समर्थन करता है।

आप पूरे प्रोटोकॉल में बिट बिट सॉफ्टवेयर कर सकते हैं।

आप अपनी इच्छानुसार किसी भी डिवाइस पर CS लाइन को स्विच करने के लिए अतिरिक्त हार्डवेयर जोड़ सकते हैं।

आदि आदि।

एडीडी से जुड़े

"उचित" रास्पबेरी पाई लिनक्स एसपीआई ड्राइवर वर्तमान में समीक्षा के माध्यम से जा रहा है ताकि सीएस के रूप में मनमाने ढंग से gpios का उपयोग किया जा सके।

2 से जोड़ें

वर्तमान Linux SPI ड्राइवर (spi_bcm2853) को चिप चयन के रूप में मनमाने ढंग से GPIO का समर्थन करने के लिए कहा जाता है। देखें / बूट / ओवरले / README।


1
"मनमानी gpios की अनुमति दें" अपने आप में एक अच्छा विचार है और एक एम्बेडेड सिस्टम से क्या उम्मीद कर सकते हैं। इनपुट के लिए धन्यवाद।
Ghanima

जोन, कृपया बताएं कि "पिगपियो" लाइब्रेरी के साथ "3 चिप चयन के साथ एक और एसपीआई डिवाइस" का उपयोग कैसे करें, या कोड उदाहरण के लिए लिंक करें। यह प्रश्न का उत्तर देने में मदद करेगा। धन्यवाद
एलेक्स

Abyz.co.uk/rpi/pigpio/cif.html#spiOpen देखें । GPIO 16-21 सहायक SPI से जुड़े हैं। Abyz.co.uk/rpi/pigpio/index.html#Type_3 देखें । वैकल्पिक रूप से अब वर्तमान लिनक्स SPI ड्राइवर (spi_bcm2853) को चिप चयन के रूप में मनमाने ढंग से GPIO का समर्थन करने के लिए कहा जाता है। देखें / बूट / ओवरले / README।
जौन

"40 पिन एक्सटेंशन हेडर के साथ पिस में 3 चिप चयन के साथ एक और एसपीआई डिवाइस है" 40 पिन हेडर पर केवल 2 सीएस है

1
@meh 40 पिन विस्तार हेडर पर 5 चिप चयन हैं। मुख्य एसपीआई के लिए दो और सहायक एसपीआई के लिए 3। सहायक SPI संकेतों को निम्न स्थिति में abyz.co.uk/rpi/pigpio/index.html#Type_3
joan

3

आप सही कह रहे हैं कि रास्पबेरीपी अपनी एसपीआई बस में केवल दो चिप चयन प्रदान करता है ( यहां देखें )। और मुझे लगता है कि SPI ड्राइवर और सॉफ़्टवेयर समाधान उस तथ्य पर भरोसा करते हैं (हालाँकि @ joan का उत्तर बताता है कि विभिन्न लाइब्रेरी इसे अलग तरीके से संभालती हैं और आधिकारिक ड्राइवर मनमाने ढंग से GPIO पिन को भविष्य में चिप चयन के रूप में उपयोग करने की अनुमति देगा)।

हालाँकि आपको यह ध्यान रखना है कि चिप का चयन पाई के समर्पित डिजिटल आउटपुट से अधिक कुछ नहीं है। इसलिए यदि आप GPIO पिन का उपयोग करते हैं तो आपके पास हमेशा बड़ी मात्रा में चिप का चयन हो सकता है। हालांकि जिस स्थिति में आपका सॉफ़्टवेयर सही SPI दास को संबोधित करने के लिए उपयुक्त पिन सेट करने के लिए ज़िम्मेदार होगा।

चूँकि चिप चयन का पूरा विचार केवल विशेष रूप से सिर्फ एक एकल दास का चयन करना है, इसलिए आप "व्यर्थ" GPIO पिन की मात्रा को कम करने के लिए कुछ सरल डिजिटल सर्किटरी का उपयोग कर सकते हैं (यदि आपको अन्य प्रयोजनों के लिए भी उनकी आवश्यकता है)। 74HC / HCT138 की तरह कुछ एक 3 से 8 लाइन डिकोडर / demultiplexer सिर्फ 3 GPIO पिन के साथ 8 चिप चयन के माध्यम से 8 दास को संबोधित करने के लिए इस्तेमाल किया जा सकता है।

यह ध्यान रखने योग्य है कि बस लाइनें SCLK और MOSI सभी दासों के बीच साझा की जाती हैं। इसलिए जब पाई के लिए कई दासों को प्लग करना सुनिश्चित करें कि पाई का प्रशंसक-आउट लोड (दासों के इनपुट पिन के प्रतिरोध और समाई) से अधिक नहीं है - हालांकि यह आज कम समाई के साथ एक समस्या से कम है और डिजिटल इनपुट का उच्च प्रतिरोध।


1

रास्पबेरी मंच पर आरपीआई इंजीनियर, फिल, द्वारा इसके लिए वास्तव में एक बहुत अच्छा जवाब है , 28 सितंबर, 2015 को देखें । मूल रूप से, वह एक उपकरण ट्री ओवरले का एक उदाहरण देता है जो कि चिप चयन के रूप में किसी भी मुफ्त GPIO के लिए spi-bcm2835 के साथ संभावना का उपयोग करता है।

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