PIC продовжує скидати: Чи бачу я побічні ефекти від використання дошки?


11

Я використовую PIC18F4680 і у мене виникають проблеми із його створенням зовнішнього тактового джерела 40 МГц або кристала 10 МГц в режимі HSPLL. Використання 10 МГц кристала в режимі HS здається нормальним, а кристал 5 МГц в режимі HSPLL також добре працює.

Що відбувається, так що PIC запускається, працює на кілька секунд, а потім вимикається на деякий час і запускається знову. Загальний період циклу становить близько 5 секунд, з яких PIC працює припиняє роботу на початку другої секунди.

Я також помітив, що іноді, коли я додаю достатньо великий розряджений конденсатор до шини живлення макетної плати, PIC буде добре працювати. Цікавим моментом є те, що це відбувається лише в тому випадку, якщо я додаю конденсатор, поки PIC вже працює. Якщо я живлю дошку з конденсатором або розміщую конденсатор, який не був повністю розряджений, проблема залишається.

Я читав на деяких сайтах, що проблеми, схожі на мої, можуть траплятися через збільшення споживання енергії PIC на більш високій частоті і більш низькій робочій напрузі. У тих випадках, якщо на джерелі живлення є короткі падіння напруги, вони, швидше за все, досягають найнижчої робочої напруги ПОС на цій частоті, тому для вирішення цієї проблеми добре матиме додаткові конденсатори. Оскільки при повному навантаженні на 40 МГц весь ланцюг використовує близько 64 мА, моя перша ідея полягала в тому, щоб поставити танталові конденсатори сподіваючись, що вони будуть досить великими і мають достатньо низький показник ШОЕ, щоб вирішити проблему. . Одне не допомогло, а друге теж не допомогло. Тож я додав алюмінієвий конденсатор і це теж не допомогло.100 μ F 470 μ F10 мкЖ100 мкЖ470 мкЖ алюмінієвий конденсатор без ефекту. Зрештою, я додав алюмінієвий електролітичний конденсатор на 1 мФ, а потім вперше схема працювала нормально, поки не вимкнулася та не включила живлення. Я також повинен зазначити, що для цілей тестування я використовую Vcc напругою 5,5 В, яка є найвищою номінальною напругою для цього мікроконтролера. Це повинно залишити мені трохи місця до 4,2 В, що є найнижчою робочою напругою на 40 МГц

Далі я читав, що іноді плаваючі виходи можуть спричинити збої, тож я поставив кілька невикористаних резисторів на всі невикористані штифти, і це не допомогло. Після цього я прочитав, що іноді можуть виникнути проблеми, якщо входи генераторів плавають, тому я спробував підключити їх до GND за допомогою деяких резисторів, і це не допомогло.10 M Ω10 кΩ10 МΩ

Через довжину дроту, що йде від виходу генератора на вхід генератора на ПОС, я очікував проблем з ним, але я не очікував проблем із 10 МГц кристалом, який дуже близький до шпильок генератора на ПОС. Також із кристалом я б очікував проблем і в режимі HS, якщо проблема спотворення сигналу генератора через дошку була проблемою, але в режимі HS PIC працює добре.

Я зазвичай використовую 33 pF конденсатори для кристалів, але я також намагався з 15 пФ, і я не міг виявити жодних змін.

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

Я також відключив для тестування сторожовий таймер, скидання коричневого відключення та скидання скидання / переповнення. Я думаю, що я вимкнув усі джерела скидання цього чіпа. Також програма знаходиться у нескінченному циклі, тому вона не закінчується.

PCF8583 не має жодних проблем, і він продовжує працювати правильно, навіть коли PIC перезавантажується, але, з іншого боку, він має значно нижчу мінімальну напругу.

На жаль, у мене немає осцилографа, але я робив деякі тести з звуковою (96 кГц частотою дискретизації), і я помітив, коли включена RTC, на лінії електропередачі є шум 25 Гц. Програма, яку я використовую, повідомляє про пік 300 мВ до піку, але я не знаю, наскільки їй довіряти, і не знаю, чи цього буде достатньо, щоб викликати якісь проблеми для ПОС. Коли все вимкнено, шум становить близько 100 мВ до піку, щоб це було добре.

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

Так хтось має уявлення, що тут відбувається?

Врешті-решт, я міг би просто запустити PIC на частоті 20 МГц, але якщо мені потрібна більша потужність обробки, я б хотів мати змогу запускати її на 40 МГц.

ОНОВЛЕННЯ

Я розмістив ще один регулятор на самій дошці, і шум, сприйманий звуковою карткою, значно нижчий (приблизно від 50 мВ до піку), але це не вплинуло на головну проблему.


1
Гм, я збирався запропонувати WDT та коричневий, але ви відключили їх. Чи знаєте ви, що для цього ПОС є якісь помилки з коричневим кольором? Я ніколи не намагався так швидко запустити ПОС на дошці хліба. Ми використовуємо 18F4580 весь час з 10MHz осцилятором і HSPLL. Вони чудово працюють.
Rocketmagnet

2
Забудьте про дошку (я ніколи їх не використовую) та використовуйте належну друковану плату, це зекономить багато часу.
Леон Геллер

3
@Leon Heller Це може заощадити багато часу, але в цей момент PCB коштує дорожче мого часу, тим більше, що навіть у мене немає списку всіх основних компонентів, які я буду використовувати.
AndrejaKo

1
@AndrejKo Це звучить як одна з тих проблем, яка змушує мене скрутитися в кулю і заплакати. Ви впевнені, що ваш час стоїть так мало? Я просто зробив друковану плату - зазвичай це теж дуже весело!
AngryEE

1
@AndrejaKo: Якщо ви не проти чекати тиждень або близько того, я мав великий успіх із цим груповим замовленням на друкованій платі: dorkbotpdx.org/wiki/pcb_order . Якщо ви не хочете заробляти своє, це
Кріс Лаплант

Відповіді:


12

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

У вас є Low Voltage Programming Enableтрохи конфігурації включені? Ваш PGMPIN-код увімкнено PORTB? Якщо це так, ви можете розглянути можливість відключення обох даних Low Voltage Programming Enableта Port B A/D Enableцифрових входів під час скидання. Згідно з моїм старим звітом, те, що відбувалося, ми залишали PORTBплаваючі, поки вони були аналоговими входами та спрацьовували PGMштифтом. Озираючись назад, я не знаю, чи був цей діагноз правильним, але ми закінчили цей проект успішно, тому, можливо, варто його зняти.


Цікаво! Лише кілька хвилин тому я помітив, що підключення програміста вплинуло на проблему, і тепер ця відповідь. Я відключив порт BA / D та LVP, і він працює добре. Це може бути якась дивна взаємодія на штифті PGM.
AndrejaKo

@AndrejaKo, це звучить дуже добре з того, що я пережив. Я сподіваюся, що він залишається стабільним ... вибагливе обладнання може бути дуже неприємним, коли ви намагаєтесь щось зробити: S
Джон L,

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

Чудово! Я радий, що це вирішило питання.
абдулла кахраман

1
Я зробив свій день братом, я провів цілий день, намагаючись зрозуміти, чому в землі мій PIC 16F887 скидає кожні кілька секунд. Встановлено низьку напругу в прогоні ланцюга, і плаваючий штифт PGM сприймав шум, викликаючи скидання. +1 реп для вас
Gianluca Ghettini

7

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

Єдиний реальний спосіб налагодити це - виправити все, що ви знаєте, що невірно, незалежно від того, чи є курильне пістолет чи ні. Врешті-решт проблема буде вирішена так чи інакше.

Якщо такий MCU не працює належним чином, вам майже завжди доводиться зосереджуватися на основах: Power, Clock та Reset. З дошкою всі троє підозрюваних!

Підозрюваним №1 для мене є тактова частота 40 МГц. 40 МГц досить швидко проходить по дроту, що плаває в повітрі. Це також швидко набиватися на макет, де "система розподілу сигналу" насправді не розроблена для високих швидкостей. Якби це була друкована плата, я б сказав вам, щоб переконатися, що ваш імпеданс сліду відповідає і правильно припиняти свої сигнали. На жаль, ти не можеш реально зробити це на дошці. Найкраще, що я можу вам сказати, - тримати провод якомога коротше - а потім зробити їх ще коротшими! Використовуйте o-область для тактового сигналу, зондованого безпосередньо на PIC-штифті, при цьому GND-відвід зонда також знаходиться безпосередньо на найближчому GND-штирі на PIC. Це скаже вам багато про ваш годинник.

(Спробуйте запозичити o-область, якщо зможете. Налагодити речі без одного буде важко.)

Підозрюваний №2 - це влада. Потужність також є величезною проблемою для макетів, оскільки індуктивність і опір дроту порівняно високі. Тут ще раз тримайте дроти короткими. Я також зазначу, що у вас немає жодних роз'єднувальних ковпачків на генераторі 40 МГц. Для OSC я б хотів паралельно з 0,1 uF і чимось більшим (4,7 uF до 100 uF). Ваш PIC також може використовувати щось більше паралельно з обмеженням 0,1 uF. Зазвичай більші ковпачки не знадобляться, але з дошкою нічого нормально.

Підозрюваний №3 скидається. Ви не дали нам жодної інформації про сигнал скидання, і я б сказав, що це найнижчий показник, про що я підозрюю, але ви все одно повинні перевірити його. Поставте на нього o-область і подивіться, що відбувається. Ви можете просто використовувати вольтметр. Якщо напруга на штифті для скидання близьке до порогового рівня, тоді вам потрібно це зафіксувати.

Тепер давайте переглянемо те, що ви спробували:

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

Додаткові обмеження потужності - це одна з тих речей, яка навряд чи спричинить проблеми. Ось чому ви можете просто надіти деякі і не надто переживати про них. Особливо з 10-100 цф.

Пізніше, як тільки все запрацює, ви можете зняти ці шапки по черзі та побачити, чи проблема повертається. Якщо вона не повертається, тоді не було проблеми з кришками. Але наразі вам потрібно усунути це як потенційну проблему, але додавши обмеження.

Хоча плаваючі штифти можуть бути проблемою, вони рідко є досить великою проблемою, щоб призвести до краху MCU. Це варто виправити, оскільки це спричиняє інші проблеми, але це навряд чи буде тут проблемою. Примітка: простий спосіб зупинити невикористаний штифт від плавання - встановити їх як вихід! Високий чи низький, не має значення. Але якщо PIC веде ці шпильки, вони не можуть плавати.


2
Гарна відповідь. Усі ці довгі неохайні дроти просто змусили мене думати, що намагатися налагодити цю роботу на бридкій дошці не варто і часу, і нещастя.
Rocketmagnet

Гарний список! Я підзвітую результати, коли пройду їх.
AndrejaKo

4

Ви не згадали PIN-код PGM (іноді його називають LVP). Це повинно бути зав'язано низьким або LVP відключений у байтах коніфігу.

Ви впевнені, що цей ПІК може приймати 40 МГц безпосередньо? Деякі можуть досягати 40 МГц лише через внутрішню PLL. Я не перевірив аркуш, але слід. Навіть якщо так, я не очікував би, що 40 МГц на дошці добре поводяться. Я думаю, ви повинні мати змогу отримати PIC, що працює з 10 МГц-кристалом і внутрішнім 4x PLL, хоча якщо ви обережні з дошкою та поставте обхідні ковпачки в потрібних місцях.

Таке питання виникає регулярно. Замість повторення всіх типових проблем див. Https://electronics.stackexchange.com/a/29620/4512 .


Здається, у нас є дві правильні відповіді :)
Абдулла кахраман

2

Я повинен погодитися з Девідом. Таких довгих проводів дуже багато, а 40 МГц на дошці досить оптимістично. Я не можу повірити, що ваш час дійсно стоїть настільки мало, що ви не можете дозволити собі зробити трохи прототипу друкованої плати . Ці речі коштують лише близько 30 фунтів з PCB Train . Я впевнений, що поруч з вами знайдеться хтось, хто може надати подібне.

Чому б цього не зробити. Створіть друковану плату, яка має компоненти PIC, генератор і регулятор як компоненти SMD, а потім ціле навантаження смуг парфуму. Таким чином, ви все ще можете зробити прототипування, але будьте впевнені, що PIC задоволений.

Прототип ПК на платформі


2
Ах, я люблю 3D Altium! До речі, 30 фунтів стерлінгів можуть бути великими для студента :) Краще використовувати дошку для парфу або, краще, домашню плату.
абдулла кахраман

1
Якщо вам вдасться зробити домашню плату, я обов'язково спробую з цією ідеєю.
AndrejaKo

2
@AndrejaKo - Класно. Дайте нам тоді галочку :) - Або навіть просто покладіть два ряди шпилькових смужок, щоб ви могли вставити її в дошку.
Rocketmagnet

1

якщо у вас є генератор зовнішньої змінної F, розгляньте можливість його використовувати для тестування макета / чіпа для проблем. і знайдіть зовнішню F, яка викликає збій. І пам’ятайте, що кабелі провідного заземлення виступають антеною для перехресних розмов.


0

зонд виглядає, як вам потрібен логічний зонд, dvm або область застосування ... http://search.digikey.com/us/en/products/DP%2052/BKDP52-ND/227492

Надіньте кришку на годинниковий чіп V + / gnd і розгляньте кручену пару на 40 МГц, якщо далеко. Pic xtal має вхід і вихід .. перевірити перевернутий вихідний рівень постійного струму = v / 2? .. чи зігрівається Пік? га ..

Я пропоную XL PLL-режим 10 МГц @ 40 МГц, щоб уникнути проблем із компонуванням.

"У режимі HSPLL використовується генератор режиму HS для частот до 10 МГц. PLL потім помножує вихідну частоту генератора на 4, щоб створити внутрішню тактову частоту до 40 МГц. FOSC3: біти конфігурації FOSC0 запрограмовані для режиму HSPLL (= 0110). "


Я насправді намагався використовувати HSPLL і 10 МГц кристал, але в режимі HSPLL він показує ті ж результати, що і генератор. Він прекрасно працює в режимі HS.
AndrejaKo

Крім того, PIC не нагрівається під час використання, наскільки я бачу.
AndrejaKo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.