बड़ी संख्या में पिन के बिना समानांतर रैम?


16

1970 के दशक में वापस, टेक्सास इंस्ट्रूमेंट्स के पास उत्पादों की एक अब-बंद श्रृंखला थी जिसे उन्होंने GRAM कहा (और केवल समतुल्य जीओएमएम पढ़ा) जो मूल रूप से एक मानक मेमोरी चिप थी जिसमें 8 पिन पर सभी मल्टीप्लेक्स पते और डेटा के साथ थे। आप चिप को दो बाइट्स पते पर भेजकर एक ऑपरेशन शुरू करेंगे और फिर हर बार जब आप या तो पढ़ने या लिखने वाले पिन को स्पंदित करेंगे तो वह बस का उपयोग करके एक बाइट को पढ़ेगा या लिखेगा, फिर आंतरिक पते के काउंटर को बढ़ाएगा। परिणाम एक मेमोरी चिप था जो लगभग एक मानक समानांतर मेमोरी चिप के रूप में तेजी से (कम से कम अनुक्रमिक एक्सेस ऑपरेशंस के लिए) था, लेकिन जिसे केवल 16-पिन पैकेज की आवश्यकता थी, बजाय 28-पिन पैकेजों के दिन की अन्य समान यादों की जरूरत थी। ।

आज, इसी तरह के अनुप्रयोगों के लिए, आप शायद सबसे अधिक एसपीआई-एक्सेस सीरियल मेमोरी का उपयोग करते हैं - लेकिन समस्या यह है कि ऐसी यादें काफी धीमी हैं (अधिकांश में लगभग 20Mbit / s का अधिकतम थ्रूपुट है; कुछ दो बार जितनी तेजी से दौड़ते हैं; लेकिन मुझे इससे ज्यादा तेज नहीं मिला है) जबकि उन TI भागों का एक आधुनिक समकक्ष इससे कहीं अधिक तेज हो सकता है, आसानी से 100 + Mbit / s की अनुमति देता है।

क्या कुछ भी मौजूद है जो अभी भी उत्पादन में है और जो उन TI चिप्स के समान व्यवहार करता है? निकटतम मैं आज पा सकता है कस्टम-उद्देश्य वाले भाग, उदाहरण के लिए वीएलएसआई वीएस 23 एस 010 डी , जो एक मेमोरी डिवाइस को जोड़ती है जो एक तरह के इंटरफ़ेस का समर्थन करता है जिसे मैं डिस्प्ले ड्राइवर के साथ देख रहा हूं, जो कि पिन पिन को 48 पिन तक रखता है .. । मैं 14 या 16 पिन पैकेज में आदर्श रूप से कुछ ढूंढ रहा हूं (मुझे लगता है कि 14 यथार्थवादी न्यूनतम है - 2x शक्ति, 8x डेटा, घड़ी, पता चयन, बाइट पढ़ें, बाइट लिखें)।


MC68HC11 माइक्रोकंट्रोलर के पास एक कष्टप्रद मल्टीप्लेक्स एड्रेस + डेटा बस था जो आप वर्णन करते हैं, ऐसी मेमोरी उसके लिए भयानक होगी।
पाइप

लेकिन 68HC11 केवल m0ed A0..7; A8..15 अभी भी अलग पिन थे।
17

जवाबों:


19

उपयुक्त मानक समाधान संभवतः QSPI (जिसे QPI, या SQI भी कहा जाता है) है। यह कुछ हद तक एसपीआई इंटरफ़ेस का विस्तार है, लेकिन प्रत्येक दिशा (MISO / MOSI) के लिए एक एकल सिग्नल के बजाय चार (क्वाड, इसलिए परिचित में क्यू) डेटा बिट्स (IO0 / IO1 / IO2 / IO3) का उपयोग करता है।

इसलिए चिप्स बहुत छोटे हैं (आमतौर पर SO-8), और इंटरफ़ेस बहुत कुशल है: आपको प्रत्येक पढ़ने या लिखने के लिए पता भेजने की आवश्यकता है, लेकिन फिर आप फट में कई बाइट्स पढ़ सकते हैं, प्रत्येक घड़ी चक्र में चार बिट। अधिकतम घड़ी की गति आमतौर पर फ्लैश के लिए ~ 104MHz है। यह दोहरी डेटा दर सिग्नलिंग (प्रत्येक घड़ी के किनारे पर चार बिट्स, दोनों बढ़ते और गिरते हुए) का उपयोग करके और भी तेज़ी से बनाया जा सकता है: इसलिए प्रत्येक घड़ी चक्र में आठ बिट्स - आमतौर पर, इस मोड में फ्लैश चिप्स अधिकतम 80MHz पर अधिकतम हो जाएंगे)।

चिप डेटशीट प्रत्येक संकेत के सटीक अर्थ / उपयोग के बारे में सभी विवरण प्रदान करेगा। समझाने के लिए, यहां एक रीड कमांड टाइमिंग आरेख (एकल डेटा दर मोड में, और इस डेटाशीट से लिया गया है ) है:

यहाँ छवि विवरण दर्ज करें

यहां, आप देखते हैं कि आपको पहली बाइट पाने के लिए 14 घड़ी चक्रों की आवश्यकता है (80 मेगाहर्ट्ज पर, इसका मतलब है कि 175ns का उपयोग समय)। लेकिन अगर आपको अधिक बाइट्स की आवश्यकता है, तो बस प्रति बाइट (25ns) में 2 चक्र जोड़ें। तो फट में पढ़ने से यह एक विशिष्ट 70ns या यहां तक ​​कि एक 45ns फ्लैश समानांतर चिप की तुलना में बहुत तेज हो जाएगा।

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

RAM थोड़ा मुश्किल है, लेकिन अभी भी उपलब्ध है, विशेष रूप से माइक्रोचिप (जैसे 23LC512 ), ON सेमी (जैसे N01S818HA ) और ISSI (जैसे IS62WVS2568GBLL-45 ) से। वे हालांकि, फ्लैश से धीमी हैं। लेकिन आईएसएसआई मैं ऊपर सुझाव देता हूं कि अभी भी 45MHz (एकल डेटा दर) तक जाता है, जाहिर तौर पर पहले बाइट के लिए 11 घड़ियों की जरूरत है। या दूसरे तरीके से डालें: 200ns + 45ns प्रति बाइट (180Mbit / s थ्रूपुट), जो बुरा नहीं है, और आपके द्वारा संकेतित GRAM गति से अधिक है।

इसके अलावा, ध्यान दें कि हार्डवेयर में इस इंटरफ़ेस का समर्थन उच्च-अंत MCUs (NXP, ST, ...) से होता है।


हां, यह बिल्कुल वैसा ही दिखता है जैसा मैं था। धन्यवाद। :)
जूल्स

एक और सुंदर समान इंटरफ़ेस 4-बिट एसडी बस है।
दिमित्री ग्रिगोरीव

@DmitryGrigoryev यह सही है। लेकिन मुझे नहीं लगता कि आप रैम चिप का पालन कर सकते हैं, हालांकि। संभवतः केवल NAND फ़्लैश चिप्स (eMMC) हैं।
को एसई

@dim - मेरी समझ (ST के QSPI इंटरफेस के आधार पर) यह है कि वे पढ़े / लिखे (केवल पढ़ने के लिए ही नहीं) - RAM vs Flash या तो ज्यादा मायने नहीं रखना चाहिए
तीन पेजफेल

@ThreePhaseEel तुम सही हो: एसटी चिप्स पर, QSPI इंटरफ़ेस को दो में से एक मोड में सेट किया जा सकता है: अप्रत्यक्ष मोड (आप स्पष्ट रूप से कुछ रजिस्टरों को सेट करके चिप को कमांड देते हैं), और मेमोरी-मैप्ड मोड (फ्लैश इंटरफ़ेस स्वचालित रूप से अनुवाद करता है मेमोरी एक्सेस रीड कमांड में)। मेमोरी-मैप्ड मोड में, संदर्भ मैनुअल स्पष्ट रूप से कहता है कि केवल पढ़ने की अनुमति है। अप्रत्यक्ष मोड में, हालांकि, आप जो भी कमांड भेज सकते हैं (पढ़ / लिख / जो कुछ भी चाहते हैं), जैसा कि आपने उल्लेख किया है। मैं तदनुसार संपादित करूँगा।
को एसई

2

मैं इसे एक और उत्तर के रूप में पोस्ट कर रहा हूं क्योंकि यह कुछ पूरी तरह से अलग है।

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

यह बहुत अधिक गति (166 मेगाहर्ट्ज तक), और 8-बिट बस में डीडीआर का उपयोग करता है। तो आप 2666 Mbit / s (वाह!) तक पहुँच सकते हैं, जो QSPI को बहुत पीछे छोड़ देता है। इसे SRAM के बजाय उच्च-घनत्व DRAM के लिए भी डिज़ाइन किया गया है, इसलिए आप 8M x 8 चिप्स (ISSI QSPI SRAM के लिए 256k x 8 अन्य पोस्ट में उल्लिखित) पा सकते हैं। यह केवल 12 सिग्नल (आपूर्ति किए गए वोल्टेज को छोड़कर) का उपयोग करता है।

यहाँ ISSI: IS66WVH8M8ALL का हाइपरराम उत्पाद है । हाइपरफ्लैश उत्पाद भी हैं जो आप पा सकते हैं।

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


कई विक्रेताओं के क्यूएसपीआई फ्लैश के 8 बिट संस्करण हैं जो प्रदर्शन के मामले में "हाइपरबस" के समान हैं।
टिम्मी ब्रोलिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.