असीमित पढ़ने / लिखने की संचालन क्षमता के साथ एक गैर-वाष्पशील मेमोरी आईसी की आवश्यकता है


12

मुझे एक मेमोरी समाधान की आवश्यकता है जो कि एक माइक्रो-कंट्रोलर आधारित परियोजना पर एक संचित गणना का ट्रैक रखने के लिए उपयोग किया जा रहा है।

संचित गणना से मेरा कहने का तात्पर्य यह है कि माइक्रो-कंट्रोलर इस मेमोरी लोकेशन का उपयोग किसी ईवेंट की घटना को गिनने के लिए करता है। गणना को बिजली आउटेज के दौरान संरक्षित करने की आवश्यकता होती है, इसलिए नॉन-वोलेटाइल मेमोरी की आवश्यकता होती है।

इसके अलावा, गिनती वृद्धि घटना की घटना अक्सर होती है इसलिए मेमोरी के लिए बहुत कुछ लिखा जाएगा इसलिए मेरा REPROM का उपयोग करने में संकोच होता है।

पसंदीदा संचार इंटरफ़ेस I2C होगा, लेकिन अन्य विकल्प स्वागत योग्य हैं।

मेरे सिर के ऊपर से, मैं SRAM लो-पावर वाष्पशील मेमोरी आईसी की कल्पना करता हूं, जिसमें पावर-डाउन पर सिक्का सेल की तरह बैकअप बैटरी द्वारा संचालित होने का विकल्प है।


15
आप F-RAM चाहते हैं।
हार्ट

3
... और सवाल क्या है?
दही

2
यदि I2C लेखन ऑपरेशन के बीच में बिजली विफल होने लगे तो आप क्या करेंगे? आप यह कैसे सुनिश्चित कर सकते हैं कि आप गिनती को भ्रष्ट नहीं करेंगे? यह समस्या आपके विचार से अधिक कठिन है, जब तक कि आप आसन्न बिजली हानि का पता नहीं लगा सकते हैं, और उस स्थिति में आप अपने रैम-बेस काउंटर को एक विशिष्ट EEPROM में कॉपी कर सकते हैं।
इलियट एल्डरसन

5
लगातार ’कैसे होता है? एक एकल चर के लिए भी एक छोटे आकार के EEPROM में बहुत मूर्खतापूर्ण उच्च धीरज होगा। आपका अंतिम लेखन विफल होने की स्थिति में आपके पास अंतिम x काउंट्स का बैक-अप भी होगा।
hekete

मुझे कुछ पुरानी शैली की गैर-फ्लैश ईई यादों को याद किया गया, जिसमें 100 मिलियन साइकिल का वादा किया गया था।
analogsystemsrf

जवाबों:


21

उपलब्ध आकार के क्रम में तीन गैर-वाष्पशील मेमोरी प्रकार आपकी आवश्यकताओं से मेल खाते हैं:

  • स्तरित EEPROM / FLASH पहनें।
  • बैटरी बैकअप SRAM।
  • FRAM।

लागत के मामले में, FRAM सबसे अच्छा है। आप सभी की जरूरत चिप के अंदर है, जिसमें लेखन को पूरा करने के लिए बैकअप कैपेसिटर भी शामिल हैं। हालाँकि उपलब्ध आकार कम हैं।
बैटरी बैकअप SRAM सामग्री में बड़ी और महंगी है।
पहनने के स्तर EEPROM पहनने के स्तर को संभालने के लिए फर्मवेयर की आवश्यकता होती है।


1
धन्यवाद। मैंने FRAM को @Hearth द्वारा सुझाया गया है और मुझे लगता है कि यह मेरी जरूरतों के हिसाब से सबसे अच्छा है। बस उम्मीद है कि मुझे I2C संस्करण मिल सकता है। इसके अलावा संचायक चर को केवल 32 बिट लंबा होना चाहिए। तो आकार वास्तव में एक बड़ा मुद्दा नहीं है।
सेरेजो

3
@GH_eng I²C FRAM चिप्स । स्मृति के रूप में यह काफी महंगा है (अपेक्षाकृत नई तकनीक होने के नाते), लेकिन आपको जिन विकल्पों की आवश्यकता है, उनके लिए शायद अधिक लागत आएगी।
अंगीठी

3
MRAM भी है
DKNguyen

1
@GH_eng TI MSP430FR * ने FRAM में बनाया है मुझे लगता है। यद्यपि आप पहले से ही अपने MCU के लिए विवश हो सकते हैं।
detly

21

यहाँ मैंने एक उत्पाद पर किया है जो अभी भी बड़े पैमाने पर उत्पादन में है।

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

कम वोल्टेज ट्रिगर और उस समय के बीच लगभग 10-20ms का समय होता है जब बिजली प्रबंधन IC ने किक किया और सब कुछ बंद कर दिया (एक क्रमबद्ध तरीके से)। यह काम करता है या नहीं यह आपकी बिजली की आपूर्ति में ऊर्जा भंडारण पर निर्भर करता है, लेकिन यहां तक ​​कि एक छोटी-ईश आपूर्ति भी इसे काफी धीमा कर सकती है ताकि आप एक छोटा डेटा सेट मज़बूती से लिख सकें।


1
@ हेल्मर यह बहुत चालाक है! जानकार अच्छा लगा। संभवतः EEPROM और MCU के इनपुट से पहले रखा गया एक जलाशय सीएपी समय विलंबता को और बढ़ा देगा। केवल नकारात्मक पक्ष पीसीबी पर शायद अधिक घटक हैं।
सेरेजो

उस समय यह स्पष्ट रूप से पीसीबी रियल एस्टेट सहित सबसे सस्ता समाधान था। बेशक यह आपकी बारीकियों पर निर्भर करता है: हमारे पास एक अतिरिक्त स्पेयर जीपीआईओ लाइन थी, इसलिए यह मुफ़्त था। बाकी बस कुछ जेली बीन्स (छोटे सस्ते एसएमडी पार्ट्स)
हिल्मर

आप शायद 10-20ms तक खिंचाव कर सकते हैं यदि आपको वास्तव में आपूर्ति में एक एल्कप डालकर मदद करने के लिए पर्याप्त बड़ा है और परेशान करने वाले साइड-इफेक्ट के लिए बहुत बड़ा नहीं है।
मस्तूल

@ मस्त: जो शायद बहुत महंगा होगा और आप एक वैकल्पिक समाधान के साथ बेहतर हो सकते हैं
हिलमार

6

टॉगल एमआरएएम (मैग्नेटोरसिस्टिव रैम) का दावा किया जाता है कि इसमें एक प्रभावी रूप से अनंत लिखने का धीरज होता है (वे किसी भी तंत्र के बारे में नहीं जानते हैं जो इसे लिखने के लिए लिखता है)। मुझे ऐसे किसी भी चिप्स के बारे में पता नहीं है, जो I2C बोलते हैं, हालाँकि, इसलिए आपको SPI के लिए समझौता करना होगा। यहाँ इस तरह का एक हिस्सा है: https://www.digikey.com/product-detail/en/everspin-technologies-inc/MR25H256ACDF/819-1064-ND/8286370


5

ऐसा लगता है कि आप बस RTC क्लॉक चिप या मॉड्यूल का उपयोग कर सकते हैं। इनमें बैटरी बैकअप, उपयोगकर्ता डेटा के लिए अतिरिक्त SRAM और I2C इंटरफ़ेस है।

या केवल बैटरी समर्थित SRAM के साथ MCU का उपयोग शुरू करने के लिए करें, इसलिए किसी बाहरी घटक की आवश्यकता नहीं है।


उदाहरण के लिए DS1307, DS1338।
filo

1
दुर्भाग्य से, बोर्ड पर उपयोग किया जाने वाला RTCC एक DS3231M है। DS1307 RTCC के रूप में एक ही पिन कॉन्फ़िगरेशन, लेकिन कोई आंतरिक अतिरिक्त डेटा रजिस्टर नहीं है। अपने एकीकृत थरथरानवाला की वजह से यह चुना। मुझे पूरी तरह से सर्किट की समीक्षा समझ में आती है :(!
सेरेजो

5

सरू नॉनवोल्टिक SRAM को क्या कहते हैं । यह मानक SRAM है जो बिजली के विफल होने पर स्वचालित रूप से बैकअप ले लेता है। चूंकि यह केवल बिजली की विफलता पर गैर-वाष्पशील मेमोरी को लिखता है, इसलिए इसमें संभावित रूप से बहुत अधिक स्थायित्व है। यह धारावाहिक और समानांतर संस्करणों में आता है। यह थोड़ा ओवरकिल हो सकता है, क्योंकि सबसे छोटा एक 64Kb है।

सामान्य ऑपरेशन के तहत, nvSRAM मानक संकेतों और समय का उपयोग करते हुए एक पारंपरिक अतुल्यकालिक SRAM की तरह व्यवहार करता है। nvSRAM समानांतर रैंडम एक्सेस पढ़ता है और 20 ns तक तेजी से लिखता है।

एक बिजली की विफलता पर, एनवीएसआरएएम स्वचालित रूप से SRAM डेटा की एक कॉपी को गैर-मेमोरी मेमोरी में बचाता है, जहां डेटा 20 वर्षों से संरक्षित है। SRAM और अहिंसात्मक स्मृति के बीच स्थानांतरण पूरी तरह से समानांतर है, जिससे किसी भी उपयोगकर्ता के हस्तक्षेप के बिना ऑपरेशन को 8 एमएस या उससे कम में पूरा करने की अनुमति मिलती है।

पावर-अप पर, nvSRAM डेटा को SRAM को वापस कर देता है और सिस्टम ऑपरेशन जारी रहता है जहां से इसे छोड़ा गया है। nvSRAM उपयोगकर्ता नियंत्रित सॉफ्टवेयर STORE और RECALL दीक्षा आदेशों के साथ-साथ अधिकांश संस्करणों में एक उपयोगकर्ता नियंत्रित हार्डवेयर STORE कमांड भी प्रदान करता है।

NVSRAM ब्लॉक आरेख



यह सामान शानदार है!
तोमाची

4

एक एकल 4 बाइट चर के लिए, EEPROM पूरी तरह से ठीक होगा।

मान लीजिए कि आप इसे प्रति सेकंड एक बार लिख रहे हैं और आपके पास एक विशिष्ट 32Kb EEPROM है और हम 100,000 लेखन चक्रों के रूढ़िवादी धीरज के साथ चलते हैं।

आप एक स्पष्ट करने की जरूरत से पहले 8000 बार अपने 4 बाइट्स लिख सकते हैं। तो यह 800 मिलियन बार होना चाहिए कि आप इसे रूढ़िवादी अनुमान का उपयोग करके भी लिख सकते हैं।

अब एक वर्ष में केवल 31.5 मिलियन सेकंड होते हैं, इसलिए एक दूसरे पर लिखने में EEPROM धीरज के कम अंत अनुमान तक पहुंचने में 25 साल लगेंगे।


1
बेशक, EEPROM को लिखना बहुत धीमा है (मिलीसेकंड) इसलिए ओपी के "लगातार लिखते हैं" को तेज समाधान की आवश्यकता हो सकती है ... आपने प्रति सेकंड एक बार मान लिया है, लेकिन ओपी ने हमें उस बिंदु पर अंधेरे में छोड़ दिया। और EEPROM को "समाशोधन" एक बहुत, बहुत लंबा समय (सेकंड) वास्तव में ले जाएगा। मुझे लगता है कि आप मिटाए जाने के बजाय पुराने मूल्यों को अधिलेखित कर सकते हैं, लेकिन यदि गणना मान कड़ाई से अनुक्रमिक नहीं हैं, तो यह पता लगाना कठिन होगा कि अंतिम मान किस मूल्य पर लिखा गया था।
इलियट एल्डरसन

@ElliotAlderson आप शायद मान सकते हैं कि जो कभी उच्चतम मूल्य था, वह अंतिम होगा। जाहिर है कि इस मामले में एक बार प्रति सेकंड 'लगातार' के रूप में गिना जाता है या नहीं। बस यह इंगित करना कि 1 सेकंड से अधिक की आवृत्तियों को लिखना, EEPROM अभी भी पूरी तरह से व्यवहार्य है।
Hekete

0

यहां बहुत सारे विकल्प हैं, लेकिन वास्तविक मुद्दा डेटा को दूषित होने से रोक रहा है। एक लिखने के दौरान बिजली की हानि डेटा को दूषित कर सकती है। I2C इस से बचने के लिए एक अच्छा विकल्प है, क्योंकि एसपीआई के साथ आप पा सकते हैं कि एक 32 बिट शब्द के 4 बाइट्स को अपडेट करने के माध्यम से एक लेखन प्रकट होता है (स्मृति के दृष्टिकोण से) आधे रास्ते को पूरा करने के लिए। I2C थोड़ा अधिक मजबूत है, लेकिन केवल थोड़ा सा।

मेरी सलाह मूल्य की 4 प्रतियों को संग्रहीत करने की होगी। इस तरह भले ही लेखन बाधित हो, लेकिन दो हमेशा मेल खाते रहेंगे।

एफआरएएम या समान शायद सबसे अच्छा विकल्प है।

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