क्या माइक्रोकंट्रोलर के साथ मल्टी गीगाबाइट डीआरएएम मॉड्यूल का उपयोग करना संभव है?


20

मेरे पास दो बचे हुए 2 जीबी रैम मॉड्यूल हैं जिन्हें मैंने अपग्रेड करते समय अपने मैकबुक प्रो से हटा दिया था। मैं सोच रहा था कि क्या ये प्रयोग करने योग्य हैं, उदाहरण के लिए, एक Arduino। मैं वास्तव में अभी भी ऐसा करने की कोशिश करने के लिए बहुत शुरुआत कर रहा हूं, लेकिन अगर यह संभव है तो मैं उत्सुक हूं, या अगर माइक्रोक्रोलर को संबोधित करने के लिए बस बहुत अधिक स्मृति है।


1
आप शायद इसे करने के लिए कुछ रिग कर सकते हैं, लेकिन इंटरफ़ेस सर्किट्री शायद परिणामी प्रणाली का सबसे जटिल हिस्सा होगा, और परिणाम में थोड़ा व्यावहारिक मूल्य होगा।
जस्टजेफ

महान जवाब के लिए धन्यवाद! बहुत ही रोचक। मैं धीरे-धीरे सीख रहा हूं कि टुकड़े एक साथ कैसे फिट होते हैं। धन्यवाद।
जॉन्डियो

ARM9 और ARM11 प्लेटफार्म DDR2 नियंत्रकों की मेजबानी करते हैं, लेकिन फिर आप माइक्रोकंट्रोलर के बारे में नहीं बल्कि माइक्रोप्रोसेसर के बारे में बात कर रहे हैं। FPGA इसके साथ ही इंटरफेस कर सकता है। पूरा कार्य काफी जटिल है। एक arduino केवल 8-बिट है, इसलिए यह सिर्फ बड़े पैमाने पर संबोधित करने वाले काम को हाथ में नहीं कर सकता है।
हंस

हंस ने क्या कहा - उस तरह की रैम का उपयोग करने के लिए किसी भी सूक्ष्म रूप से शक्तिशाली एक डीडीआर नियंत्रक का निर्माण होगा। मैंने डीडीआर नियंत्रण के आंतरिक कामकाज पर बारीकी से ध्यान नहीं दिया है, लेकिन आपको यह बताने के लिए समर्पित हार्डवेयर की आवश्यकता है। कुछ ... पुराने मॉड्यूल, पुराने लेजर प्रिंटर से सामान आदि अधिक उपयोगी हो सकते हैं।
जॉन यू

जवाबों:


24

मैं नहीं कहने जा रहा हूं: सबसे बुनियादी असंगति यह है कि उन मॉड्यूलों पर बहुत अधिक पिन हैं, यहां तक ​​कि इसे एक Arduino के लिए भौतिक रूप से इंटरफ़ेस करने में सक्षम हो। इसी तरह के छोटे माइक्रोकंट्रोलर के लिए डिट्टो। एक एआरएम कॉर्टेक्स एम 3 करीब हो रहा है, लेकिन उनमें से कुछ वास्तव में इस तरह के फैशन में रैम को इंटरफ़ेस करने के लिए बाहरी बस आवश्यक है (मुझे लगता है)।

लेकिन मैं आगे भी खेलूंगा। मान लें कि आप Arduino को चिप को किसी भी तरह से इंटरफ़ेस कर सकते हैं एक और बुनियादी विद्युत अनुकूलता समस्या है आवश्यक वोल्टेज। मुझे लगता है कि ये RAM मॉड्यूल 2.2V की तरह कुछ अजीब का उपयोग करते हैं - वेनिला Arduino बोर्ड पर मौजूद नहीं है या वास्तव में, किसी भी अन्य बुनियादी hobbyist माइक्रोकंट्रोलर।

यह मानते हुए कि उस समय इस बात का ध्यान रखा गया था कि चिप अर्डिनो के लिए किसी अन्य बाहरी मेमोरी की तरह बहुत काम करेगी। यह वास्तव में हर समय किया जाता है - लोग वेबसर्वर लॉग और इस तरह के भंडारण के लिए महत्वपूर्ण स्थिरांक या एसडी / एमएमसी कार्ड स्टोर करने के लिए बाहरी EEPROM जोड़ते हैं। बेशक, इस संदर्भ में रैम मॉड्यूल अरुडिनो के लिए कोई वास्तविक लाभ नहीं प्रस्तुत करता है। इसकी मुख्य विशेषता गति है और Arduino (और हाँ, अन्य शौक़ीन माइक्रोकंट्रोलर) आम तौर पर घड़ी की गति में 25MHz नहीं तोड़ते हैं। वे गति के बारे में देखभाल करने के लिए बहुत धीमी हैं। और भंडारण आकार एक बड़ा मुद्दा नहीं है क्योंकि SD / MMC कार्ड में अंतर करने से स्पष्ट रूप से आसान होता है और खेलने के लिए अधिक स्थान प्रदान करता है।

तो भी अगर यह संभव हो तो यह वास्तव में उचित नहीं होगा।


मैं कबूल करने के बारे में सोचा है कि मेरे arduino के लिए कुछ पुराने डुबकी घूंट को बदलने के बारे में है, बस फेर लार्फ़्स। (लेकिन, यह उल्लेखनीय होगा, ब्रेडबोर्ड पर भी, w / 4164 युग रद्दी)। दूसरे, मैं पूरी तरह से सहमत हूँ।
जस्टजेफ

1
यह एक गुणवत्ता का उत्तर है, चरणबद्ध मान्यताओं का उपयोग करके और अंतिम स्थिति में पहुंचने पर। अच्छी नौकरी!
लीनरॉकी

2
ताज़ा मुद्दों की अनदेखी न करें। एक अन्य कारण "कमांड आधारित" फ्लैश संभवतः एक बेहतर मैच है जब एक नियंत्रक का एक माउस एक मेमोरी के एक मैक ट्रक को चलाने की कोशिश कर रहा है।
क्रिस स्ट्रैटन

मैंने प्रश्न के साथ एक टिप्पणी ऊपर दी है, लेकिन मुझे लगता है कि मुझे इसे यहाँ रखना चाहिए। उत्तर के लिए बहुत बहुत धन्यवाद। स्टैक एक्सचेंज एक सुपर संसाधन है, और यह सभी लोगों के कारण गुणवत्ता के उत्तर प्रदान करने में समय लगता है।
जॉन्डियो

8

मैं नहीं, बीच में एक अच्छा आकार (पिन गिनती) fpga चिपके बिना नहीं कहेंगे, fpga स्मृति से बात करता है और माइक्रोकंट्रोलर एक पेजिंग योजना का उपयोग करके fpga से बात करता है।


मेरी सोच भी। और FPGA एक पारदर्शी ताज़ा नियंत्रक हो। लेकिन वास्तव में ... यह एक छोटे एआरएम सिस्टम पर सॉफ्टवेयर में एक arduino का अनुकरण करने के लिए सरल और सस्ता नहीं होगा ?
क्रिस स्ट्रैटन

1
हालांकि मजेदार या शैक्षिक यह हो सकता है कि डीडीआर सरल नहीं है, और शुरुआती सामान नहीं है। इस मेमोरी को लगाने के लिए एक और लैपटॉप या मदरबोर्ड खोजें और एक fpga eval बोर्ड का उपयोग करके डीडीआर के बारे में जानें, जिसके किनारे थोड़ा सा है या शायद एक बीगलबोर्ड या ऐसा कुछ है। पहली समस्या पिन काउंट है, दूसरा सिग्नल, टाइमिंग आदि है। जब आप अपना खुद का पीसीबोर्ड बनाते हैं तो इसे काम पर लाना मुश्किल होता है। यह एक एलसीडी इंटरफेस या कुछ ऐसा नहीं है कि आप एक माइक्रोकंट्रोलर को ब्रेडबोर्ड कर सकते हैं।
old_timer

7

आप 32 के पते को उत्पन्न करने के लिए एक arduino जैसी किसी चीज़ की अनुमति देने के लिए एक प्रणाली का उपयोग कर सकते हैं व्यायाम करते हैं।

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


1
क्या AVR किसी भी परिस्थिति में RAM से कोड निष्पादित कर सकता है?
निक टी

@ निक टी - मैं अप्रत्यक्ष रूप से यह सुझाव नहीं दे रहा था कि ऐसे कोई परिदृश्य हैं जहां यह हो सकता है; मैं सीधे कह रहा था कि अगर कोई इस तरह की रैम में हस्तक्षेप करने के बारे में सोच रहा था , तो यह सोचना गलत होगा कि वे इस प्रकार इसका उपयोग कर सकते हैं।
जस्टजेफ

1
सीरियल फ्लैश या SRAM आमतौर पर EEPROM की तुलना में एक अच्छा सौदा है। यदि आपको बहुत सारे गैर-लाभकारी डेटा (दूरस्थ कोड उपयोग के मामले) की आवश्यकता है, तो फ्लैश शायद बेहतर विकल्प है। बड़े बफ़र्स के लिए, SRAM का उपयोग करें; यह EEPROM की तुलना में बहुत तेज है। यदि आपके पास कुछ कॉन्फ़िगरेशन बिट्स हैं जिन्हें स्वतंत्र रूप से टॉगल करने की आवश्यकता है, तो यह वास्तव में केवल EEPROMs के लिए छोड़ दिया गया आला है।
केविन वर्मियर

@reemrevnivek - अच्छी बात है, मैं आपकी टिप्पणी को +1 करता हूं। यदि आप EEPROM के आसपास कुछ दर्जन विन्यास सेटिंग्स रख रहे हैं। अगर आप वीडियो के फ्रेम रखना चाहते हैं, SRAM।
जस्टजेफ

7

यदि आप कभी DRAM चिप डेटाशीट को देखते हैं तो DDR2 के लिए 50MHz + जैसी किसी चीज़ की न्यूनतम घड़ी की गति होती है। तो नहीं, आप उनके साथ एक माइक्रोकंट्रोलर के साथ इंटरफ़ेस करने में सक्षम नहीं होंगे (जब तक कि इसमें अंतर्निहित हार्डवेयर समर्थन न हो)।


यह उल्लेख करने के लिए नहीं कि आपको मेमोरी को ताज़ा करने की आवश्यकता है, बल्कि बार-बार! Arduino अपने सभी समय को मेमोरी कंट्रोल लाइनों को चलाने में व्यस्त होगा!
टॉयबिल्डर

6

संक्षिप्त जवाब नहीं है।

Arduino DDR या DDR2 मेमोरी इंटरफ़ेस नहीं चला सकता है। आप एक FPGA के साथ एक SPI इंटरफ़ेस के साथ एक DDR / DDR2 नियंत्रक बना सकते हैं, लेकिन यह एक महत्वपूर्ण उपक्रम है।


6

आपको एक कम वोल्टेज ड्राइवर (SSTL) की आवश्यकता होगी, और लगभग 100 चैनलों (प्रत्येक अंतर को नियंत्रित करने के लिए कुछ तरीके, ताकि लगभग 200 पिन हों। सोचिए BGA।)

अधिकांश DRAM को कम से कम 1kHz पर रीफ्रेश करना पड़ता है और संभवत: कम बिट त्रुटि दर के लिए अधिक होता है। यह तब एक प्रमुख पृष्ठभूमि कार्य का निर्माण करेगा और Arduino की अधिकांश प्रबलिंग शक्ति का उपयोग करेगा, यदि इस तरह की दर से मेमोरी को ताज़ा करना संभव है।

हालांकि आप कुछ माइक्रोकंट्रोलर्स के साथ क्या देख सकते हैं, जैसे PIC24F / H / dsPIC33F, वे एक समानांतर मास्टर बस इंटरफ़ेस का समर्थन करते हैं, जो कुछ प्रकार के समानांतर SRAM को एक्सेस करने की अनुमति देता है। सी के साथ भी समर्थन है, क्योंकि इस बाहरी मेमोरी को कोड चर में कई पर मैप किया जा सकता है और यहां तक ​​कि ब्लॉक जो आंतरिक और बाहरी दोनों यादों को जोड़ते हैं। बाहरी मेमोरी में आपको कुछ PMB कोड लिखने की आवश्यकता होती है। हालांकि आप इसके साथ केवल 1 एमबी तक ही संबोधित कर पाएंगे।


AFAIK डीडीआर SSTL का उपयोग नहीं LVDS
mazurnification 19

@mazurnification, हाँ, आप सही हैं (मेरी त्रुटि।) फिर भी, एक दुःस्वप्न Arduino से नियंत्रित करने के लिए।
थॉमस ओ

फिर अपना उत्तर सही करो!
केविन वर्मर

@reemrevnivek, ठीक है। सही किया। हालाँकि, मैं केवल इंगित कर रहा था कि यह अव्यावहारिक था। कोई फर्क नहीं पड़ता कि कौन से सिग्नलिंग प्रारूप का उपयोग किया जाता है।
थॉमस ओ

2

नहीं, मेमोरी और MCU के बीच किसी प्रकार के पेजिंग इंटरफ़ेस के बिना नहीं। AVR MCUs में से कुछ वास्तव में एक अंतर्निहित बाहरी मेमोरी इंटरफ़ेस है - Atmega2560, उदाहरण के लिए (ATmega640 / 1280/1281/2560/2561 डेटा शीट की धारा 8 देखें)। लेकिन पता स्थान किलोबाइट्स में मापा जाता है, गीगाबाइट्स पर नहीं।

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