एआरएम के लिए बाहरी मेमोरी के साथ इंटरफेस करने के लिए एक अच्छा विकल्प क्या है?


13

मैंने अभी LPC2132 चिप का उपयोग करके एक प्रोजेक्ट पूरा किया, लेकिन पूरे 64kb RAM का उपयोग करने के साथ समस्याओं में भाग गया।

अपनी अगली परियोजना के लिए, मैं एक ऐसी चीज़ का उपयोग करना चाहूंगा जो बाहरी, बहुत बड़ी मेमोरी चिप का संदर्भ दे सके। एआरएम किस तरह का यह कर सकता है और मुझे दो उपकरणों पर बात करने के लिए क्या करने की आवश्यकता है?


1
हम SRAM, SDRAM, DDR, DDR2, DDR3 के बारे में किस तरह की मेमोरी की बात कर रहे हैं?
जे एटकिंसन

1
विशेष रूप से कोई प्रकार नहीं। 64k से कुछ बड़ा ...
samoz

जवाबों:


10

बाहरी रैम मेमोरी के लिए आपको एमएमयू की जरूरत नहीं है, अगर आपको एक की जरूरत है तो निर्धारण कारक बस अधिक स्थान की आवश्यकता से पूरी तरह से अलग मुद्दा है। यदि आप सीधे धातु पर कोडिंग कर रहे हैं तो यह वास्तव में आपके जीवन को एमएमयू नहीं होने का आसान बना सकता है। मैं यह भी नोट करना चाहूंगा कि एक MMU वस्तुतः एक बाहरी घटक नहीं है, बल्कि SoC डाई पर है।

आप कई परिवारों में ARM SoCs पा सकते हैं जो ARM7 से बाहरी मेमोरी की अनुमति देते हैं उदाहरण के लिए NXP LPC2212 Series इसे सबसे अच्छा नहीं कह रहा है, बस पहला ARM7 SoC जो बाहरी मेमोरी इंटरफेस के साथ Google में आया है, इसके बहुत सारे विकल्प हैं ।

मैं एआरएम परिवारों में विभिन्न कोर की विशेषताओं पर अधिक ध्यान देना चाहूंगा, क्योंकि आप उनमें से लगभग सभी को SoC के बाहरी कंट्रोलर के साथ पा सकते हैं।

अब आपको किस प्रकार की मेमोरी की आवश्यकता है और इसे कैसे काम करना है, यह उस SoC पर निर्भर करता है जिसे आप चुनते हैं और बाह्य मेमोरी कंट्रोलर को किस मेमोरी का समर्थन करता है। उदाहरण के लिए ARM7 SoC I लिंक बाहरी SRAM के साथ-साथ फ्लैश और रोम को भी सपोर्ट करता है और 4 16MB बैंकों को सपोर्ट करता है, जिससे आप एक ही समय में एक्सटर्नल फ्लैश और SRAM को हुक कर सकते हैं।

आप अलग-अलग रैम का उपयोग कर सकते हैं और आईसी के फ्लैश के पैकेज भी हैं जिन्हें एमसीपी (मल्टी चिप पैकेज) कहा जाता है, जिसमें 1 पैकेज में फ्लैश और रैम दोनों शामिल हो सकते हैं। आप इन उपकरणों को कैसे चुनते हैं यह कई कारकों पर निर्भर करता है, आपको अपने आवेदन के बारे में अधिक विशिष्ट होना चाहिए।

हुक करना कितना आसान है, यह उस गति पर निर्भर करता है जिसकी आपको आवश्यकता है। अधिकांश बाहरी मेमोरी कंट्रोलर में प्रोग्रामेबल क्लॉक रेट होते हैं। मेमोरी इंटरफ़ेस क्लॉक दरें बहुत कम से कम 10MHz और संभवतः बहुत अधिक हो सकती हैं। संक्षेप में आपके बहुत कुछ इस तरह से ब्रेडबोर्डिंग नहीं करने के लिए, आपको एक पीसीबी डिजाइन करने और इन पंक्तियों के लिए अखंडता के मुद्दों पर विशेष ध्यान देने की आवश्यकता है।

आपका सबसे अच्छा दांव एक कोर चुनना है जिसे आप खेलना चाहते हैं और उस पर बाहरी मेमोरी के साथ कई विकास बोर्डों में से एक ढूंढते हैं।


उत्तर के लिए धन्यवाद निशान। अगर कोई MMU जरूरी था या नहीं तो मैं उलझन में था। स्पार्कफुन को देखते हुए, उनके पास वास्तव में अभी बिक्री पर एलपीसी 2294 है, जिसमें एक बाहरी मेमोरी बस है। मुझे लगता है कि मैं उसके साथ जाऊंगा।
समोसे

4
MMU का उपयोग भौतिक उपकरणों के लिए वर्चुअल एड्रेस स्पेस को मैप करने के लिए किया जाता है। इसका उपयोग ऑपरेटिंग सिस्टम द्वारा विभिन्न प्रक्रियाओं की स्मृति को अलग करने के लिए किया जाता है, पेजिंग के लिए, मेमोरी विखंडन के मुद्दों को हल करने के लिए, डायनामिक हार्डवेयर डिवाइसों की मेमोरी मैपिंग आदि। यह मेमोरी सब सिस्टम का वर्चुअलाइजेशन करता है। ज्यादातर मामलों में आपको केवल एक एमएमयू की आवश्यकता होगी यदि आप मल्टीप्रोसेसिंग सुविधाओं के पूर्ण सेट के साथ एक ऑपरेटिंग सिस्टम चलाना चाहते थे। उदाहरण के लिए आपको पूर्ण लिनक्स कर्नेल को चलाने के लिए MMU की आवश्यकता होगी, हालाँकि uClinux है जिसे MMU के बिना चलाने के लिए संशोधित किया गया है।
मार्क

क्या SPI / IIC मोड में काम करने वाले बाहरी एप्रोम को ब्रेडबोर्ड करना ठीक है? मैं 24c64 IC का उपयोग करके अपने MCU की फ्लैश मेमोरी का विस्तार करने के लिए उत्सुक हूं।
0xakhil

यह कठिन होगा; आपको एक अच्छी ब्रेडबोर्ड, बहुत छोटी तारों (जैसे 1 इंच) और बहुत धीमी घड़ियों की जरूरत है (2 मेगाहर्ट्ज से आगे किसी भी चीज़ से बचें, मैं कहूंगा)। मैं बस के मामले में तारों के बजाय 200 ओम प्रतिरोधों का उपयोग करता हूं, धीमी वृद्धि / गिरावट के समय प्राप्त करने के लिए। रिमेबर कि जीएनडी चिप्स के बीच भी छोटा होना चाहिए। यह किसी भी रिकॉर्ड को नहीं तोड़ता है, लेकिन आपको अवधारणा का एक प्रमाण देगा जिसे आप एक बेहतर बोर्ड में अनुवाद कर सकते हैं।
गिलर्मो प्रांडी

5

STM32 प्रोसेसर (32-बिट कॉर्टेक्स-एम 3 कोर) की बड़ी श्रृंखला में एक एफएसएमसी है, जो एक लचीली स्थिर मेमोरी नियंत्रक है। इसके साथ आप फ्लैश, रैम और अन्य मेमोरी पेरिफेरल्स जैसे एलसीडी और ऐसे कनेक्ट कर सकते हैं।

मैं STM32F103ZET6 की सिफारिश कर सकता हूं क्योंकि tcrosley ने भी कहा था, और आप $ 68 के लिए eBay पर फ्लैश और sram सहित एक विकास बोर्ड प्राप्त कर सकते हैं - http://cgi.ebay.com/ws/eBayISAPI.dll.ViewItem&item=22061990841111


चेतावनी, किसी भी बाहरी मेमोरी जिसे आप एसटीएम 32 एक्स में जोड़ते हैं, वह आंतरिक SRAM या आंतरिक फ़्लैश जितनी तेज़ नहीं होगी। जैसे 6-9X धीमा। यदि आपको तेज मेमोरी की आवश्यकता है, तो सुनिश्चित करें कि यह आंतरिक है। मैं एक एसटीएम 32 पर 16 एमबी पीएसआरएएम के साथ एक परियोजना कर रहा हूं और यदि आप इसे सामान्य उद्देश्य मेमोरी के रूप में उपयोग करते हैं तो यह बहुत धीमी है।
मार्क लकाटा

1
आप तेजी से जाने के लिए FSMC / PSRAM प्राप्त कर सकते हैं, लेकिन आप इसे सामान्य मेमोरी स्पेस में नहीं रख सकते, अर्थात ढेर मेमोरी के लिए। आपको समर्पित डीएमए एक्सेस का उपयोग करना होगा।
मार्क लकाटा

4

मुझे हाल ही में एक नई परियोजना के लिए इसी तरह की आवश्यकता थी, और 512M आंतरिक और 64K आंतरिक RAM के 64K के साथ STMicro STM32F103ZET6 (ARM 32-bit Cortex-M3) को चुना, और मात्रा में लगभग 10 डॉलर। इसमें एक मेमोरी कंट्रोलर है जो 64MB तक की बाहरी मेमोरी (26 एड्रेस बिट्स) को एड्रेस कर सकता है। 144-पिन LQFP पैकेज में उपलब्ध है। (मुझे प्रोटोटाइप के लिए BGA का उपयोग करना पसंद नहीं है।) मैं इसे 2MB सरू SRAM के साथ किसी भी अन्य गोंद (कोई मल्टीप्लेक्सिंग) की आवश्यकता के बिना इंटरफेस करूंगा।


ठंडा! क्या आप एक विकास बोर्ड का उपयोग कर रहे हैं या आपने अपना खुद का बनाया है?
समोसे

मेरे स्थानीय STMicro प्रतिनिधि ने मुझे "STM32 के लिए IAR किकस्टार्ट किट" iar.com/website1/1.0.1.0/658/1/?item=prod_prod-s1/225 के साथ खेलने के लिए दिया; हालांकि माइक्रो केवल 64-पिन पैकेज है, इसलिए इसमें FSMC पिन नहीं है, इसलिए मैं बोर्ड को 144-पिन पैकेज के साथ समाप्त कर सकता हूं।
tcrosley

क्या मैं कुछ भूल रहा हूँ? 26 बिट सीधे 2 ^ 6 = 64 एम स्थानों को संबोधित कर सकते हैं। 512MB के साथ इसका मतलब होगा 8-बाइट शब्द। कि 512Mb होना चाहिए?
XTL

1
@XTL: अच्छा कैच, मैंने अपना जवाब सही किया।
tcrosley

3

शायद एक Atmel AT91SAM9G20 ?

यह एक जानवर (217-पिन BGA पैकेज) का एक सा है, लेकिन यह कीमत के लिए एक महान चिप है। यदि आप कुछ अधिक मानव-अनुकूल खोज रहे हैं, तो शायद Atmel AT91M42800A आज़माएँ । मुझे लगता है कि सबसे छोटा MCU है जिसमें बाहरी मेमोरी हार्डवेयर है, कम से कम Atmel से। यह 144-पिन LQFP पैकेज है।

Atmel में एक पैरामीट्रिक चयनकर्ता है: http://www.atmel.com/dyn/products/param_table_v2.asp?family_id=605&OrderBy=part_no&Direction=ASC

(मुझे लगता है कि मुझे जोड़ना चाहिए कि मैं Atmel के लिए काम नहीं करता; मैं बस उनके सामान से परिचित होना चाहता हूं।)

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