Прототип SDRAM проти виробничих негараздів


11

У мене є конструкція з використанням LPC1788 разом з модулем SDRAM від ISSI ( IS42S32800D ). Це 32-бітовий інтерфейс.

Я розробив цю конструкцію і мав прототип, виготовлений з виробником друкованої плати, який робить прототипи з 6 шарами. Прототип друкованої плати працює чудово. Тоді я думав, що отримаю друковану плату в невеликій партії об'єму (100) від мого звичайного постачальника друкованих плат. Я дав їм накопичувальну інформацію, яку мій прототип використовував для того, щоб не було проблем.

Однак! У мене масові проблеми з виробничою радою. Спочатку я не зміг викликати жодної відповіді від SDRAM що-небудь із тим самим кодом, який я використовував у своїй прототипі плати. Попередня плата працювала на 120 МГц, тому я був впевнений, що щось не так з цією новою платою. Потім я знайшов допис, де люди пропонували використовувати режим ретранслятора в лініях даних SDRAM (я цього раніше не використовував), і це викликало відповідь від SDRAM, однак це не стабільно. Я можу писати на 16 або більше адрес, але потім з наступним зчитуванням повернених даних (за кожною адресою) є ті дані, які я писав останнім часом (ймовірно, через режим повторювача). Коли я відключаю режим ретранслятора, повернені дані становлять 0xFFFFFFF. Зараз я намагаюся підключитися на частоті 48 МГц, найнижча конфігурація, для якої я встановлена.

Я використовую однакові резистори закінчення (на лініях даних) 22Ohms на обох платах, лінії передачі даних в середньому довжиною 3 см. Лінія годинника - 2,4 см завдовжки. Адресні рядки в середньому завдовжки 3,8 см.

Це занадто поза специфікацією, чи варто затримувати годинник довше, якщо він значно коротший? Я дійсно застряг тут, оскільки нічого не змінив щодо дизайну, сподівався на безшовне виготовлення для цих дощок.

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 МГц.

Що стосується лінії годинника, IIRC в моєму останньому дизайні SDRAM, у мене був встановлений годинник, тому його край стався останнім (його слід був найдовшим на 1 см), після того, як всі лінії адрес і даних стабілізувалися. Отже, так, сповільнення годинника варто спробувати. Мені не потрібно було ніякого контролю імпедансу на лініях SDRAM.

Ваші кінцеві резистори слід розміщувати якомога ближче до лінійних драйверів. Якщо вони не знаходяться в межах приблизно 0,5 см, вони можуть самі викликати роздуми, внаслідок чого простукують і дзвонять. IMHO, довжина сліду в 3 см жахливо мала, для цього потрібні кінцеві резистори (я використовую їх, починаючи з 6-10 см); ви спробували просто вийняти їх?

Ще одна річ, яку потрібно перевірити, чи є ваші літаки: чи є у вас сигнальні сліди, що перетинають площину розрізів? Це величезне «ні-ні», оскільки воно змушує зворотний струм пройти довгий маршрут навколо розрізу.

Нарешті, крайова швидкість є величезною проблемою в цих конструкціях. Багато мікросхем непотрібно короткий час підйому та падіння, а зменшення тактової частоти на це не впливає . Ці швидкі краї чудово підходять для створення роздумів. Це те, що намагаються виправити ваші резистори 22 Ом: вони сповільнюють краї. Хоча, якщо ви насправді це натискаєте, інструмент на зразок HyperLynx Mentor Graphics може бути використаний для пошуку оптимальної конструкції для завершення.

Я можу порекомендувати вам кілька книг, які висвітлюють усе це та багато іншого, і ми присягаємо ними:

Ці книги висвітлюють скорочення EMI, захисну конструкцію, складання друкованих плат, контроль опору, відключення джерела живлення та багато іншого. Далі містер Отт викладає семінари на цю тему (постачається з безкоштовним примірником своєї книги).


Книга Генрі Отта є біблією для мене в 1980 році. Однак, перш ніж я її прочитав, я вже був досвідченим бачити витоки РФ в механічному / електричному дизайні, перш ніж тестування ЕМС навіть почалося. Слоти, і радіатори, і діелектричні антени, і кабелі шин вводу / виводу були найкращою антеною для входу і виходу.
Тоні Стюарт Сунніскігуй EE75

Хороша інформація тут, згідно з моделюванням Hyperlynx, заснованим на моїх введених даних моделювання, необхідні резистори 22 Ом, оскільки в іншому випадку форма хвилі на даталінах (керована в час підйому на 1нс) від SDRAM жахливо дисторується, а деякі відбиття перетинають опорну напругу.
Джеймс

Також хороша рекомендація щодо складання. Існує незначна різниця в складі між прототипом і виробником. Я додаю діаграми до Питання, яке ви побачите. Також - я читав цілісність сигналу, спрощену Еріком Богатиним. Хороша інформація тут, але знадобиться деякий час, щоб перетравити та просипати достатньо, щоб почати новий макет дошки з його рекомендаціями.
Джеймс

Для чого це варто, OP спочатку мав те, що було схоже на фотографії Altium. Altium має власний набір інструментів цілісності сигналу, який може використовувати файли IBIS. Він також може досліджувати перехресні розмови. Але для цього потрібна точна інформація про складання.
ajs410

1
Тож у цей момент мене найбільше турбують резистори. Вони, здається, знаходяться посеред слідів, а не у водіїв, де вони належать. У цих програмах краще не використовувати резисторні пакети, а замість цього використовувати невеликі індивідуальні резистори. Якщо вам потрібно використовувати резисторні пакети, вам слід зайняти час, щоб зробити набагато кращу роботу, замінивши резистори, щоб зробити макет менш ненадійним. Це про все, що я можу сказати з вашого макета, який не містить контуру пакету і робить половину шарів важкими для прогляду.
Майк Десимоне

4

На такій частоті я думаю, що проблеми з довжиною треку навряд чи будуть головною проблемою, безумовно, із затримкою. Оскільки проблеми почалися з новою друкованою платою, перше, що потрібно зробити, - це протестувати всі лінії на безперервність (проти даних, а не вашої схеми, якщо у вашої схеми є помилки), а також обширити кожен штифт, щоб перевірити, чи є сигнали найменш правдоподібний - навіть якщо ваш обсяг не до перевірки деталей часу, це повинно бути досить очевидно, якщо є якісь відкриті або короткометражні штифти.

Виконання подібних матеріалів без належного обсягу загрожує потенційними небезпеками - як ви знаєте, скільки запасів у вас є? Навіть якщо це працює, то як ви знаєте, чи правильно ви знаходитесь на межі та вразливі до збоїв у галузі / виробництві через допуски, температуру чи фазу Місяця?


2

2-е додавання Ми припустили, що ваш дизайн був перевірений націненим, і код був ідеальним у ваших питаннях. (не) пропоную вам перевірити наступне;

  1. Налаштуйте IO для швидкого виходу та відключення вхідних фільтрів
  2. Увімкніть режим введення на годиннику
  3. Встановіть біт нахилу (9?), Щоб збільшити швидкість нахилу для штифтів інтерфейсу SDRAM
  4. Увімкніть режим ретранслятора, оскільки вони двонаправлені і не повинні залишатися плаваючими на вході cmos.
  5. Змініть напругу живлення, щоб визначити чутливість до помилок.
  6. режим скидання за замовчуванням для штифта шини даних - FUNC = 0X00, MODE = 0X02, HYSTERESIS = ENABLED, INVERT = DISABLED та SLEW = STANDARD
  7. Чи викликає ваш дзвінок на PINSEL_ConfigPin () з новим значенням функції, скидає РЕЖИМ на НЕАКТИВНИЙ (відсутність резистора, що висувається / підтягується) та вимикає ГІСТЕРЕЗ?
  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); // Очистити біти функції "

Я пам'ятаю налагодження моєї 1-ї програми CMOS від студента фізики післядипломної роботи для портативного сейсмічного запису, перемикаючої логічної дошки таймера. Не було вбудованого програмного забезпечення чи програмного забезпечення, але він ніколи не робив аналізу на толерантність до найгіршого випадку, і апаратне обладнання мало місце для перегонів, коли я будував і відладжував ще десяток плат. Сейсмічний проф приніс начальника відділу фізики, щоб запитати, чому я не можу зробити налагодження дощок, тоді я мусив порадити його варіації компонентів викрити багато недоліків дизайну, які називаються умовами гонки в часі через метастабільні умови та використаний край годинника. Він все ще не розумів, тоді я попросив його сказати мені, скільки пальців я розгорнув, піднімаючи руку, перш ніж вона досягла моєї талії від низької до високої. Тоді він сказав, що ви не можете цього зробити і очікуєте правильної відповіді. Я точно сказав. Це примітивна расова умова. Вони стають менш очевидними з більшим рівнем складності. U Манітоби, 1973 рік.

Перший додав: Яку схему закінчення шини ви використовували? автобус спосіб (1) є кращим, чи 1,25 В постійного струму?


  1. Чи платили за ІКТ на цих дошках? тест на голій дошці є обов'язковим
  2. Ви вказали імпеданс у своїх інструкціях щодо компонування гербер?
  3. Чи виконували ви моделювання на своєму макеті з допуском?
  4. Діелектрична константа на платах і # шарах попереднього контролю контролює опір смугової лінії та мікросмужкової смуги разом із шириною сліду та зазором.

    Існує багато безкоштовних онлайн-калькуляторів Z для стриптизу.

    Ви можете спробувати виміряти ємність на великих доріжках або наземних площинах і порівняти обидві дошки.

    Також дивіться на сигнали з великою швидкістю дії і спостерігайте за схемою "окуляри" та "тактових" даних.

Повинно бути просте пояснення помилок, але знайти його непросто. Але як тільки ти знайдеш першопричину ... ти більше не помилишся.

додано: Ще одна помилка, яку я виявив - ваша діаграма висоти штабеля не вказує товщину шару Cu і недостатньо для розміщення в 6 шарах, якщо вона неправильна або товщина Cu становить 0,039 мм (НЕ;)


Лише коментар до ОП - я бачу, що ОП використовує Altium Designer, і є програмний калькулятор імпедансу. Я не дуже його використовував, але я його десь знаю!
dext0rb

2
Під час проводки сліду (натисніть W у вікні друкованої плати), натисніть клавішу Tab, і ви побачите орієнтовний опір.
ajs410

як правило, за низької складності Qty 100 PWB не платив би за ІКТ (тест), але у них є сліпі доріжки, тому я б ... щось розглянути ... і виміряти ємність на
головій

Я не платив за контроль імпедансу на цих платах. Модельовані лінії в Hyperlynx (MentorGraphics) показали набагато досконалі (або в межах специфікації) форми хвиль на основі мого маршрутизованого дизайну. Щоб моделювати це, я відтворив кожну лінію електропередачі та разом з моделями IBIS. У мене немає достатньої області пропускної здатності, щоб належним чином дослідити фактичні сигнали = (
Джеймс

1
Привіт @TonyStewart, дякую за підтримку. 1) Дошка-прототип не вимагала швидкого вбивання. Увімкнено, без зміни ефекту. 2) Не знаєте, що це означає - годинник - вихід? 3) Гістерезис було увімкнено. Вимкнено без змін у силі. 4) Збільшена знищена частота не увімкнена для протоколу. Увімкнено, без зміни ефекту. 5) Не перевірено. 7) Функція Pin Config не змінює інші біти. 8) Дискретний код для керуючих штифтів, для циклу для даних / адреси 9) Коли мені потрібно включити WE? EMC контролер повинен це зробити для мене? 10) Біти ПРИМІТКИ перед встановленням. У мене є ще один прототип на замовлення, будьте тут наступного тижня.
Джеймс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.