| Автор |
Съобщение |
|
mechanism_8
Ранг: Минаващ
Регистриран на: Сря Окт 18, 2006 9:59 am Мнения: 2
|
 LPC221x ESD проблем!
Здравейте,
Имам проблем с LPC2212/14 и устойчивостта на му електростатични разряди (ESD). Това което установих е че тези смущения предизвикват спиране на ядрото по ралични причини: prefetch abort, data abort или просто спиране без да предизвика някакъв exception. От това състояние може да го извади watchdog таймера, но за моето приложение е недопустим рестарт, така че ми трябва друго решение. Само като тест, пуснах да мига един светодиод и конфигурирах всички останали I/O пинове като изходи в "0". Това не подобри никак устойчивостта към ESD.
Някой да се е борил с такива проблеми, или поне някакви идеи накъде да се насоча...
|
| Сря Окт 18, 2006 10:15 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Ми нямам опит с LPC , но ето какво съм забелязал по въпрос въобще устойчивост на големи смущения и подобни.
Както хората ще кажат като 1-во -> опроводяване и свързването на самото lpc и периферия + кварца най-вече и естествено захранването , нотова си е цяла наука.
Общи неща ти казвам знам , спокойно.
Това което исках да кажа най-вече е, че (СПОРЕД МЕН !) при сериозни изделия трябва Watchdog-a да е разрешен и да мислиш винаги така, че все едно във ПОЧТИ всеки (, ако не и всеки) важен момент ще отпадне MCU-то, поради някаквко смущение - каквото и да е.
И въпросът е да направиш добра процуда по възстановяване, но естествено и достатъчно бърза.
Щом имаш отговорна работа -> задължителен е горният подход.
Нямам много опит, колега  Но това е моето мнение. Нещо конкретно не мога да ти кажа, но мисля подхождащ просто грешно по проблема, затова ти И пиша !
Чао и успех
Ще ми е интересно да разбера как си се справил със ситуацията 
|
| Сря Окт 18, 2006 11:09 am |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
От армовете дето съм тествал на ESD Philips се държат най зле. В друга тема съм писал по въпроса.
Другото което съм тествал е STR712, AT91SAM7S.
Пробвай с по смислено опроводяване на платката,но надали ще имаш забележително по добър резултат. Да не би да си пропуснал да сложиш филтриращите кондензатори в количеството което предписват ?  Трябват и то непосредствено на пимовете ако може. При мен LPC2104 като тествах беше на кит на Olimex a SAM7 на нещо като макетна платка и въпреки това LPC-то можех да го ошашквам срвнително лесно докато SAM7 не можах въобще да го шашна с моята правена електростатика. В общи линии според мен LPC по устоичивост е на нивото на пиковете даже малко по зле ако се съди по платката на Olimex. Но като отчетем че е доста некадърно опроводена би трябвало да са на едно ниво почти.
|
| Сря Окт 18, 2006 11:54 am |
|
 |
|
FiTTiLA
Ранг: Професионалист
Регистриран на: Сря Май 11, 2005 3:47 pm Мнения: 534
|
Ако можеш прати някакви снимки на платката. Обикновенно, както каза Ники трябва да започнеш от развързващите кондери, тяхната стойност и тип (керамични или други). Хората слагат 100nF или 10nF мноооого близко до VDD крака. Другото как е екраниран кварца. Колко слойна е платката?
|
| Сря Окт 18, 2006 12:03 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Има отзиви че новите им серии LPC2300 и LPC2400 са вече доста сериозно направени и нямат вече забележки с устойчивоста но лични наблюдения нямам. Но ще се пробват и те някой ден  Засега има само семпли за богоизбрани 
|
| Сря Окт 18, 2006 12:10 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
1. АРМ за който говори човека е с външна шина. Няма никакъв смисъл да го сравнявате с SAM-a на Атмел. Всеки процесор с изведена шина е по сензитивен на външни влияния. Това е известно.
Ако говорим за затворен контролер - знаете каква платка пуснах с LPC2134 и на какво я подлагам - е работи без ядове.
2. Кучето както правилно е казал човека с нищо не може да му помогне, освен да регистрира проблема (това за maniaca, да не си мисли че кучето решава проблеми - то ги регистрира).
Това което мога да ти дам като съвет е:
- Кварца задължително с заземен корпус, като земята задължително е същата като на процесора (най-добре двете да лежат на общ земен полигон).
- Всички захранвания на процесора с по 100n, към земя. Освен това самото захранване се подвежда през 100uH/10uF(тантал) филтър.
- Ако не ползваш външната шина (в което се съмнявам, за чии ти е иначе тоя корпус) - дръпни я към земя с 10к. Въобще всички неизползвани пинове - или направо на земя (ако си сигурен че никога няма да ги ползваш) или през резистори към нещо твърдо. Висящ CMOS вход.... знаеш какво е. И да позлваш външната шина, пак я дръпни колкото можеш повече към земя или захранване с резистори.
- Ако имаш възможност за 4 и повече слоя - 1 захранване и 1 земя power plane помагат много. Ако не, максимално запълваш всяка възможна дупчица по платката с земя. Голямо количество проходни отвори в земните полигони. Абе няма нещо което да помага в случая повече от земята.
- Захранването филтрирай, където и колкото можеш повече. На входни/изходни кабели EMI suppresion ферити.
- Рисета - аз лично ползвам външен чип, и освен това имам винаги 10к/100n филтър директно на пина.
- Къси писти. Колкото се може по къси. И пак - мнооого земя.
Друго сега не се сещам, но платката е най-важното нещо за борба с ESD. Другото е метални екрани, но там говорим вече за други химии.
А бе я дай лейаута на платката да видим какво може да се направи. А и кажи какъв е характера на смущенията, какво ги провокира?
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Окт 18, 2006 1:58 pm |
|
 |
|
Tanev
Ранг: Новодошъл
Регистриран на: Нед Юли 02, 2006 10:27 pm Мнения: 152 Местоположение: Пловдив
|
Знам че вапроса е за "Академия" , но го видях тук. Та да попитам какво ще рече
"- Рисета - аз лично ползвам външен чип, и освен това имам винаги 10к/100n филтър директно на пина." ?

|
| Сря Окт 18, 2006 2:10 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Аз съм сравнявал Philips без външна шина с ATmel i STR712 също без външна. Мисля че теста е съвсем коректен. А за външната шина спор няма че влошава положението.
Но за твоя случай трябва да се отбележи че си вкарал всичко в метална екранировка. Това ти решава голяма част от проблемите.
|
| Сря Окт 18, 2006 2:21 pm |
|
 |
|
FiTTiLA
Ранг: Професионалист
Регистриран на: Сря Май 11, 2005 3:47 pm Мнения: 534
|
Товя ще рече че на повечето MPU ресета е с активно ниво '0', слага се резистор към захранване, след резистора слагаш кондензатор, като свободния карай на кодензатора вързваш на маса. Пример: 3V3 - RES- -||- GND, reseta на MPU-то го вързваш между резистора и конданзатора. Получава се RC група, за да може да мине глатко POR - Power On Reset-а. За външна IC използвам MCP130.
Последна промяна FiTTiLA на Сря Окт 18, 2006 2:40 pm, променена общо 1 път
|
| Сря Окт 18, 2006 2:35 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Пак да отбележа  ))) че платката работи стабилно без екраните. Никога не бих си позволил да я пусна в пройзводство ако без екрани се дъни, а с тях работи - това би значело че съм на ръба. Екраните в моя случай не са да я пазят от ESD (Защото аз така или иначе имам галванична връзка с източника на смущение), а за да не излъчва тя в ефир. Не че не помагат и за устойчивост, но не разчитам на тях. Между другото първата версия на платката беше 2 слоя без метални екрани. И си беше стабилна.
Ресет генератор е външния чип. А филтъра е 10к към плюс / 100n към земя вързани директно на пина.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Окт 18, 2006 2:38 pm |
|
 |
|
sthx
Ранг: Форумен бог
Регистриран на: Съб Юни 24, 2006 8:25 pm Мнения: 2292
|
И според мене опроводяването на платката е най-важно за борба със смущенията. Не ми се е случвало, когато имам проблеми добавянето на допълнителни кондензатори да подобрят ситуацията. Може би от мързел до сега не съм правил повече от двуслойни платки. Работят си и така и то обикновено в среда със много силни смущения. Задължително правя мрежа от пътечки с приблизителна стъпка 4-5 см както на масата, така и на захранването. По книгите пише, че такава мрежа играе ролята на екран при високочестотните смущения. Особено голямо внимание трябва да се отдели на високоомните вериги - в случая това е кварца. На много места из литературата се срещат примерни опроводявания в тази област. Относно екраните - правил съм експерименти и съм установил, че ако няма възможност като екран да се ползва масата, със същата ефективност може да се ползва и захранването - връзката между двете шини по променлив ток е нискоомна. Около проводника на reset-а също правя екранировка. И пак - колкото се може по-къси проводници на чувствителните линии.
_________________ Две плюс две е приблизително равно на четири. Факт!
|
| Сря Окт 18, 2006 9:50 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: LPC221x ESD проблем!
Това което си писал ме навежда на мисълта, че опитите ги правиш със свързан дебъгер към JTAG.(Щом като виждаш в какъв exeption влиза ядрото ...) Ако е така повтори ги като сложиш програмата да се изпълнява от вътрешния FLASH на MCU. Ползвам LPC2214 в едно усройство и когато JTAG дебъгера ми е свързан към платката мога да го ошашкам само като допра сонда до масата. Когато програмата върви от FLASH-а на MCU не съм успявал да го блокна.
|
| Сря Окт 18, 2006 10:27 pm |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
|
| Сря Окт 18, 2006 11:57 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: LPC221x ESD проблем!
мда... първо трябва да се определи дали проблемът идва от външната шина.
Но на тоя процесор при толкова флаш ме съмнява че изпълнява код отвън...
За JTAG-а това май е болно място на всички АРМ-ве. Може да се сложи малък кондензатор на TCK, но не... и в jtag-a не е проблема щото щеше да му забива и дебъгера (освен ако не е някой много убав) а не да вижда абортите...
Ако наистина не е шина и не jtag, остава PLL-a щото той най-лесно се разсейва от малки шумове и вкарва фалшиви тактове. Не знам Филипс но Атмел имат що-годе читав калкулатор и като си избереш честота може да видиш различни вариант за множители/делите като дава разни фактори и таки може да си направиш компромис колко станилен да е спрямо захранването и съответно колко шум самия той прави...
п.с. така без автора е по-интересно - трябва да се отгатне не само решението но и какъв е самия проблем 
|
| Чет Окт 19, 2006 12:24 am |
|
 |
|
mechanism_8
Ранг: Минаващ
Регистриран на: Сря Окт 18, 2006 9:59 am Мнения: 2
|
Благодаря за всички мниения и идеи. Пропуснах да уточня че кода се изпълнява отвън. Макар че правих тестове с код
във вътрешния флаш и не се държеше по-добре. Не правя тестовете със закачен JTAG. При всеки exception записвам стойност в една променлива, след като се случи exception и ме рестартира watchdog-а извеждам стойността на променливата, така че да определя причината..
Платката е ужасно наблъскана с много хардуер и няма кой знае каква свобода за промяна на опроводяването, така че като начало ще опитам варианта с 4 слойна платка. Това ще отнеме време, но ще споделя резултатите когато има такива.
|
| Чет Окт 19, 2006 9:17 am |
|
|