एसडीआरएएम प्रोटोटाइप बनाम उत्पादन संकट


11

ISSI ( IS42S32800D ) से एक SDRAM मॉड्यूल के साथ एक LPC1788 का उपयोग करके मेरे पास एक डिज़ाइन है । यह एक 32 बिट इंटरफेस है।

मैंने इस डिज़ाइन को रूट कर दिया है और एक पीसीबी निर्माता के साथ एक प्रोटोटाइप बनाया है जो 6 लेयर प्रोटोटाइप करता है। प्रोटोटाइप पीसीबी ठीक काम करता है। मैंने तब सोचा कि मैं अपने सामान्य पीसीबी आपूर्तिकर्ता से एक छोटी मात्रा के बैच (100) में निर्मित पीसीबी प्राप्त करूंगा। मैंने उन्हें यह जानकारी दी कि मेरे प्रोटोटाइप का इस्तेमाल यह सुनिश्चित करने के लिए किया जाएगा कि कोई समस्या न हो।

तथापि! मुझे उत्पादन बोर्ड के साथ बड़े पैमाने पर समस्याएं हैं। सबसे पहले मैं एसडीआरएएम से किसी भी प्रतिक्रिया को उठाने में असमर्थ था, इसलिए मैंने अपने प्रोटोटाइप बोर्ड में उसी कोड का उपयोग किया था। पिछला बोर्ड 120 मेगाहर्ट्ज पर काम कर रहा था इसलिए मुझे यकीन था कि इस नए बोर्ड में कुछ गड़बड़ है। मुझे तब एक पोस्ट मिली, जहां लोगों ने एसडीआरएएम डेटा लाइनों (मैंने पहले इसका इस्तेमाल नहीं किया था) पर रिपीटर मोड का उपयोग करने का सुझाव दिया था और इसने एसडीआरएएम से प्रतिक्रिया उठाई, हालांकि यह स्थिर नहीं है। मैं 16 या तो पते पर लिख सकता हूं, लेकिन फिर बाद में पढ़े गए डेटा के साथ (हर पते पर) वह डेटा है जो मैंने पिछले लिखा था (शायद रिपीटर मोड के कारण)। जब मैं पुनरावर्तक मोड को अक्षम करता हूं, तो लौटाया गया डेटा 0xFFFFFFF है। मैं अब 48Mhz पर कनेक्ट करने की कोशिश कर रहा हूं, मेरे पास सबसे कम कॉन्फ़िगरेशन है।

मैं दोनों बोर्डों पर 22Ohms के एक ही समाप्ति प्रतिरोधों (डेटा लाइनों पर) का उपयोग कर रहा हूं, डेटा लाइनें औसतन 3 सेमी लंबी हैं। क्लॉक लाइन 2.4cm लंबी है। पता लाइनें 3.8cm लंबी औसत हैं।

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

Maximum Data Line Length: 59mm (Although this includes the branch to the NAND Flash)
Minimum Data Line Length (Ctrl to Res): 18mm
Maximum Address Line Length: 44mm
Minimum Address Line Length: 24mm
CLK: 24.5mm
CKE: 25mm
CAS: 28mm
RAS: 28.7mm

यहाँ मूल (कार्यशील) प्रोटोटाइप के लिए PCB स्टैक कॉन्फ़िगरेशन है: यहाँ छवि विवरण दर्ज करें

यहां उत्पादन (गैर-कार्यशील) पीसीबी के लिए पीसीबी स्टैक कॉन्फ़िगरेशन है यहाँ छवि विवरण दर्ज करें

यहाँ SDRAM के लिए मार्ग है: SDRAM रूटिंग


3
क्या प्रोटो और प्रोडक्शन रन के बीच प्रतिबाधा नियंत्रित थी?
dext0rb

मुझे यकीन नहीं है। बोर्ड घरों के लिए इन मापदंडों को ठीक से परिभाषित करने के लिए मुझे संकेत अखंडता के बारे में पर्याप्त नहीं पता है। मैंने महसूस किया कि अगर मैं यह नहीं जानता कि मैं क्या कर रहा हूं, तो मैं समस्याओं को ठीक करने के बजाय मुद्दों को निर्दिष्ट करूंगा।
जेम्स

और क्या आपने उन्हें प्रतिबाधा को सत्यापित करने के लिए भुगतान किया था (जो @dextorb ने आपको नियंत्रित करने का सुझाव दिया था)?
ब्रायन कार्लटन

यह औसत लंबाई नहीं है जो मायने रखती है। यह समूह के भीतर न्यूनतम और अधिकतम है।
ब्रायन कार्लटन

1
घड़ी की ट्रेस पर संकेत अखंडता SDRAM पिन को कैसे देखता है?
ब्रायन कार्लटन

जवाबों:


10

यह एक घटिया स्टैकअप है। आपकी कोर 0.2 मिमी होनी चाहिए और आपकी मोटाई का संतुलन परतों 3 और 4 (इनर 1 और इनर 2) के बीच प्रीपरग में होना चाहिए।

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

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

एक और चीज जिसे आपको जांचना है, वह है इस्तेमाल की गई सामग्री: 20 से अधिक विभिन्न सामग्रियां हैं जो खुद को "FR-4" कहते हैं, उदाहरण के लिए। मेरे द्वारा उपयोग किए जाने वाले सामान को आमतौर पर 370-HR कहा जाता है। यह हाई-स्पीड 100-500 मेगाहर्ट्ज सिग्नल के साथ काफी अच्छा व्यवहार करता है।

घड़ी लाइन के बारे में, मेरे आखिरी एसडीआरएएम डिजाइन पर आईआईआरसी की घड़ी थी, इसलिए इसकी बढ़त पिछले दिनों हुई (इसका पता 1 सेमी से सबसे लंबा था), सभी पते और डेटा लाइनों के स्थिर होने के बाद। तो, हां, घड़ी को रिटायर करने की कोशिश करना लायक है। मुझे SDRAM तर्ज पर किसी भी प्रतिबाधा नियंत्रण की आवश्यकता नहीं थी।

आपके समाप्ति प्रतिरोधों को यथासंभव लाइन ड्राइवरों के पास रखा जाना चाहिए। यदि वे लगभग 0.5 सेमी के भीतर नहीं हैं, तो वे स्वयं परावर्तनों का कारण बन सकते हैं, जिसके परिणामस्वरूप ओवरशूट और रिंगिंग हो सकते हैं। IMHO, 3 सेमी ट्रेस लंबाई समाप्ति प्रतिरोधों की आवश्यकता के लिए बहुत कम है (मैं उन्हें 6-10 सेमी के आसपास शुरू करने का उपयोग करता हूं); क्या आपने उन्हें बाहर निकालने की कोशिश की है?

आपके विमानों की जांच करने के लिए एक और चीज है: क्या आपके पास हवाई जहाज की कटौती के संकेत के निशान हैं? यह एक बहुत बड़ी संख्या है, क्योंकि यह रिटर्न करंट को कट के चारों ओर एक लंबा रास्ता तय करने के लिए मजबूर करता है।

अंत में, इन डिजाइनों में बढ़त दर एक बड़ी समस्या है। बहुत सारे चिप्स में अनावश्यक रूप से कम वृद्धि और गिरावट होती है, और घड़ी की आवृत्ति को कम करने से इस पर कोई प्रभाव नहीं पड़ता है। ये तेज धार प्रतिबिंब बनाने के लिए महान हैं। यह आपके 22 ओम टर्मिनेटर प्रतिरोधों को ठीक करने की कोशिश कर रहा है: वे किनारों को धीमा कर देते हैं। हालाँकि, यदि आप वास्तव में इसे आगे बढ़ा रहे हैं, तो Mentor Graphics 'HyperLynx जैसे उपकरण का उपयोग इष्टतम समाप्ति डिज़ाइन को खोजने के लिए किया जा सकता है।

कुछ किताबें जो मैं आपको सुझा सकता हूं कि यह सब और बहुत कुछ कवर करें, और हम काम पर उनकी कसम खाते हैं:

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


1980 में हेनरी ओट की पुस्तक मेरे लिए एक बाइबिल है। हालांकि इससे पहले कि मैं इसे पढ़ूं, मैं मैकेनिकल / इलेक्ट्रिकल डिजाइन में आरएफ रिसाव को देखने में पहले से ही कुशल था, ईएमसी परीक्षण शुरू होने से पहले। स्लॉट, और रेडिएटर, और ढांकता हुआ एंटीना, और I / O बस केबल्स इंग्रेस और इग्रेस के लिए सबसे अच्छा एंटीना थे।
टोनी स्टीवर्ट Sunnyskyguy EE75

अच्छी जानकारी यहाँ, मेरे इनपुट सिमुलेशन डेटा पर आधारित हाइपरलिंक्स सिमुलेशन के अनुसार, 22 ओम अवरोधकों की आवश्यकता होती है अन्यथा SDRAM से datalines (1ns वृद्धि समय पर संचालित) पर तरंग बुरी तरह से परेशान होती है और कुछ प्रतिबिंब संदर्भ वोल्टेज को पार करते हैं।
जेम्स

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

इसके लायक क्या है, ओपी मूल रूप से Altium पिक्स की तरह दिखता था। Altium में संकेत अखंडता उपकरण का अपना सेट है जो IBIS फ़ाइलों का उपयोग कर सकता है। यह क्रॉसस्टॉक की भी जांच कर सकता है। लेकिन ऐसा करने के लिए सटीक स्टैकअप जानकारी की आवश्यकता है।
अज्ज ४१०

1
तो इस बिंदु पर, मैं सबसे ज्यादा प्रतिरोधों के बारे में चिंतित हूं। वे उन ड्राइवरों के बजाय निशान के बीच में लगते हैं जहां वे हैं। इन अनुप्रयोगों में, रोकनेवाला पैक का उपयोग नहीं करना सबसे अच्छा है , लेकिन इसके बजाय छोटे व्यक्तिगत प्रतिरोधों का उपयोग करें। आप बाधा पैक का उपयोग करना चाहिए, तो आप समय लेने के लिए एक करने के लिए करना चाहिए बहुत बेहतर प्रतिरोधों की अदला-बदली के माध्यम से-पागल लेआउट कम करने के लिए काम किया है। यह सब मैं आपके लेआउट से बता सकता हूं, जिसमें कोई पैकेज की रूपरेखा नहीं है और यह देखने के लिए आधे परतों को कठिन बनाता है।
माइक डीमोन

4

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

बिना पर्याप्त गुंजाइश के इस तरह का सामान करना संभावित खतरों से भरा है - आप कैसे जानते हैं कि आपके पास कितना मार्जिन है? यहां तक ​​कि अगर यह काम करता है, तो आप कैसे जानते हैं कि क्या आप किनारे पर सही हैं या नहीं, और सहिष्णुता, तापमान या चंद्रमा के चरण के कारण फ़ील्ड / प्रोडोडिटोन विफलताओं के लिए असुरक्षित हैं?


2

दूसरा जोड़ें हमने माना कि आपके डिजाइन का मार्जिन परीक्षण किया गया था और कोड आपके प्रश्नों में परिपूर्ण था। (नहीं) मेरा सुझाव है कि आप निम्नलिखित को सत्यापित करते हैं;

  1. IO को तेजी से स्लीप करने के लिए कॉन्फ़िगर करें और इनपुट फिल्टर्स को अक्षम करें
  2. घड़ी पर इनपुट मोड सक्षम करें
  3. एसडीआरएएम इंटरफेस पिन के लिए स्लीव रेट बढ़ाने के लिए स्लीव बिट (9?) सेट करें
  4. पुनरावर्तक मोड सक्षम करें क्योंकि वे द्वि-दिशात्मक हैं और उन्हें सेमीोस इनपुट पर तैरते नहीं छोड़ा जाना चाहिए।
  5. त्रुटि के प्रति संवेदनशीलता निर्धारित करने के लिए आपूर्ति वोल्टेज बदलें।
  6. डेटा बस पिन के लिए डिफ़ॉल्ट रीसेट मोड FUNC = 0X00, MODE = 0X02, HYSTERESIS = ENABLED, INVERT = DISABLED, और SLEW = STANDARD
  7. क्या PINSEL_ConfigPin () एक नए फ़ंक्शन मान के साथ कॉल करता है, MODE to INACTIVE (कोई पुल-डाउन / पुल-अप रोकनेवाला) रीसेट न करें और HYSTERESIS बंद करें?
  8. क्या आप एक / अगले छोरों या असतत कोड का उपयोग कर रहे हैं जैसे;

    • LPC_IOCON-> P3_0 | = 1 | // D0 @ P3.0
    • LPC_IOCON-> P3_1 | = 1; // D1 @ P3.1
    • LPC_IOCON-> P3_2 | = 1; // D2 @ P3.2 आदि।
  9. क्या आप WE पिन को फिर से सक्षम करने के लिए जोर देते हैं, हर बार जब जरूरत होती है?
  10. क्या आप _ का उपयोग करते हैं? * pPIN & = ~ (0x00000007); // स्पष्ट फ़ंक्शन बिट्स "

मैं एक भूकंपीय पोर्टेबल रिकॉर्डिंग, switchable टाइमर तर्क बोर्ड के लिए एक भौतिक विज्ञान के बाद स्नातक छात्र से मेरी पहली CMOS डिजाइन डिबगिंग याद है। कोई फर्मवेयर या यूसी नहीं था, लेकिन उसने कभी भी सबसे खराब स्थिति सहिष्णुता विश्लेषण नहीं किया था और हार्डवेयर में सभी जगहों पर दौड़ की स्थिति थी जब एक दर्जन से अधिक बोर्ड बनाए गए थे और खुद से डिबग किए गए थे। भूकंपीय प्रोफेसर ने भौतिकी विभाग के प्रमुख को यह पूछने के लिए उकसाया कि मैं बोर्डों को डिबग क्यों नहीं कर सकता हूं, तो मुझे उन्हें सलाह देना था कि मेटास्टेबल स्थितियों और घड़ी की बढ़त के कारण समय की दौड़ की स्थिति नामक कई डिज़ाइन दोषों को उजागर करने के लिए उन्हें घटक भिन्नता से अवगत कराया जाए। वह अभी भी समझ में नहीं आया था, तब मैंने उससे पूछा कि मैं यह बताऊँ कि मैंने अपनी उँगलियों को कितनी देर तक ऊँचा किया था, इससे पहले कि यह मेरे कमर के स्तर को कम से ऊँचा तक पहुँचा दे। फिर उसने कहा, तुम ऐसा नहीं कर सकते और एक सही जवाब की उम्मीद कर सकते हो। मैंने कहा, ठीक है। यह एक आदिम जाति की स्थिति है। वे जटिलता के अधिक स्तरों के साथ कम स्पष्ट होते हैं। यू मानितोबा 1973।

1 जोड़ा: आपने कौन सी बस समाप्ति योजना का उपयोग किया? बस विधि (1) को प्राथमिकता दी जाती है, क्या 1.25Vdc साफ है?


  1. क्या इन बोर्डों पर आईसीटी के लिए भुगतान किया गया था? नंगे बोर्ड परीक्षण एक चाहिए
  2. क्या आपने अपने गेरबर लेआउट निर्देशों पर प्रतिबाधा निर्दिष्ट की है?
  3. क्या आपने सहिष्णुता के साथ अपने लेआउट पर सिमुलेशन चलाए?
  4. बोर्ड पर ढांकता हुआ निरंतर और पूर्व-प्राग की #of परतें ट्रेसलाइन और माइक्रोस्ट्रिप के प्रतिबाधा के साथ-साथ ट्रेस चौड़ाई और अंतराल को नियंत्रित करती हैं।

    स्ट्रिपलाइन के लिए कई मुफ्त ऑनलाइन जेड कैलकुलेटर हैं।

    आप बड़े ट्रैक या ग्राउंड विमानों पर समाई को मापने और दोनों नंगे बोर्डों की तुलना करने की कोशिश कर सकते हैं।

    हाई स्पीड स्कोप वाले सिग्नल्स को भी देखें और ओवरशूट और क्लॉक <> डेटा आई पैटर्न देखें।

त्रुटियों के लिए एक सरल स्पष्टीकरण होना चाहिए, लेकिन इसका पता लगाना आसान नहीं है। लेकिन एक बार जब आप मूल कारण का पता लगा लेते हैं ... आप उस गलती को फिर से नहीं करेंगे।

जोड़ा गया: एक और गलती जो मुझे मिली वह यह है कि आपकी स्टैक हाइट आरेख घन परत की मोटाई को इंगित नहीं करता है और 6 परतों में फिट होने के लिए अपर्याप्त है जब तक कि यह गलत न हो या घन मोटाई 0.039 मिमी (नॉट;)


ओपी के लिए बस एक टिप्पणी - मैं देखता हूं कि ओपी अल्टियम डिजाइनर का उपयोग कर रहा है, और सॉफ्टवेयर में एक प्रतिबाधा कैलकुलेटर है। मैंने इसका ज्यादा इस्तेमाल नहीं किया है, लेकिन मुझे इसका पता है कहीं!
dext0rb

2
ट्रेस करते समय (पीसीबी दृश्य में डब्ल्यू दबाएं), टैब कुंजी दबाएं और आप अनुमानित प्रतिबाधा देखेंगे।
अज्ज ४१०

आम तौर पर कम जटिलता के लिए Qty 100 PWB की मैं ICT (परीक्षण) के लिए भुगतान नहीं करेगा, लेकिन ये अंधे ट्रैक हैं इसलिए मुझे लगता है ... कुछ पर विचार करना होगा ... और एक नंगे बोर्ड पर कैपेसिटेंस को मापना होगा V + <> GND
टोनी स्टीवर्ट एनीस्कीस्की EE75

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

1
नमस्कार @TonyStewart, आपके समर्थन के लिए धन्यवाद। 1) प्रोटोटाइप बोर्ड को फास्ट स्लीव की आवश्यकता नहीं थी। प्रभाव में कोई परिवर्तन नहीं के साथ सक्षम। 2) यह पता लगाने का क्या मतलब है - घड़ी एक आउटपुट है? 3) हिस्टैरिसीस को सक्षम किया गया था। प्रभाव में कोई बदलाव नहीं होने के साथ अक्षम। 4) बढ़ी हुई नींद प्रोटो पर सक्षम नहीं है। प्रभाव में कोई परिवर्तन नहीं के साथ सक्षम। 5) परीक्षण नहीं किया गया। 7) पिन कॉन्फिगर फंक्शन अन्य बिट्स को नहीं बदलता है। 8) नियंत्रण पिन के लिए असतत कोड, डेटा के लिए लूप के लिए / पता 9) मुझे कब सक्षम करने की आवश्यकता है? ईएमसी नियंत्रक को मेरे लिए यह करना चाहिए? 10) बिट्स सेट होने से पहले नोट किए गए हैं। मेरे पास ऑर्डर पर एक और प्रोटोटाइप है, अगले सप्ताह यहां हो।
जेम्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.