| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с TIMER1 PIC18F66J60 http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=6358 |
Страница 1 от 1 |
| Автор: | darkyp [ Сря Дек 10, 2008 11:05 am ] |
| Заглавие: | Проблем с TIMER1 PIC18F66J60 |
Дълго време се боря с проблема и най-накрая реших да се допитам тук. Реших на PIC-а да му ползвам TIMER1 за RTC. Закачих му 32.768kHz кристал (12.5pF). Имам 4 устройства на еднакви платки с еднакъв софт. На две от устройствата осцилатора работи. На другите две не. Срещали ли сте такъв проблем и на какво може да се дължи? Кристала го пробвах с кондензатори 15pF, 22pF, 33pF - с всички еднакво се държи. Понякога тръгва (много рядко) при стартиране на устройството. Повечето пъти не тръгва. Когато не тръгва ако вържа паралелно на кварца резистор (нещо като R-feedback предполагам се получава) - сработва винаги, но естествено не се позиционира на честотата. Като махна резистора - спира. Друг ефект - с мултиметъра който имам (нямам идея за входните му капацитети и съпротивления) тръгвам да меря честота на RC0 - постепенно се качва до 32768 и остава така работещ без закачени допълнителни елементи. Така работи и остава работещ при WATCHDOG рестарт. При загуба на захранване и възстановяване пак не работи. Благодаря! |
|
| Автор: | optron [ Сря Дек 10, 2008 12:18 pm ] |
| Заглавие: | |
Зачети ератата за тоя чип, сещам се, че имаше една обща ерата точно за таймер1... В нея може да пише за твоя проблем, ако са го отбелязали като проблем, също и как да го решиш. Потърси в сайта на Микрочип. |
|
| Автор: | darkyp [ Сря Дек 10, 2008 12:33 pm ] |
| Заглавие: | |
Знам я ератата, обаче тя не е за това дали самия осцилатор работи или не, а е за пропускане инкрементирането на регистрите. |
|
| Автор: | Cekins [ Сря Дек 10, 2008 1:11 pm ] |
| Заглавие: | |
Ами аз съм имал такъв проблем с 6620 (или 21 ли беше не помня). Значи това което успях да установя е че тръгва когато си иска - незнайна причина. В общи линии се държеше така както го описваш. Гадно е ама ти препоръчвам да сложиш кварца възможно най-близо до чипа и по възможност пистите да не се пресичат с други по слоевете на платката. Прави успоредни писти. Поиграй си и с кондензаторите. При мен някак тръгна, ама му направих една допълнителна простотия - значи в софта нулирам таймера, пускам осциолатора и чакам известо време да дойде прекъсване, ако не дойде настройвам таймера за вътрешния осцилатор да цъка горе-долу на същото време. Само дето на мен ми трябваше някакво времезадаване що годе точно (отмерване на време) а не RTC. Един вид юзера не забелязва кога е тръгнал и кога не. Като не тръгне малко не е точно отмерването, ама в приложението не ми беше фатално. Иначе два дена си играх с тоя осцилатор - де тръгва де не тръгва. На пиновете си излиза нормално всичко - като подам на входа 0 изхода си става 1 и обратно ама кварца не се разцъква. Като го барам някой път тръгва някой път не. Може да пробваш и с други кварцове. Аз смених няколко - купешки от комет и от стари часовници. Не помня с какъв успя да тръгне - и то тръгва в 95% от пусканията. Ератата не помня гледах ли я ама не си спомням някъде да съм прочел за такъв проблем. Тогава и нямах време да копам по въпроса - машинката беше за "вчера". |
|
| Автор: | darkyp [ Сря Дек 10, 2008 1:16 pm ] |
| Заглавие: | |
@Cekins: благодаря за споделения опит. предположих, че може нещо да е от пистите, обаче е готова платката и сега му вкарвам кварца без да е предвидено да го има та нямам много избор да го сложа близо освен да пробвам директно на краката му, а при смд-то ми е малко сложно. Ще се опитам да направя пробата. |
|
| Автор: | darkyp [ Сря Дек 10, 2008 2:57 pm ] |
| Заглавие: | |
Много тъпа работа. Мръднах малко кварца и сега работи. Спирах го (само таймера без захранването), пусках го, работи сигурно около 95% от случаите. За да го пусна ползвам movwf, дали е от значение ако примерно ползвам bsf? Не би трябвало но не знам. Ама 95% е по-лошо и от 0% щото трудно се хваща проблема |
|
| Автор: | bongo-bongo [ Сря Дек 10, 2008 7:26 pm ] |
| Заглавие: | |
А масата за кондензаторите откъде я вземаш? Честотата е ниска за да пречи индуктивнистта на пистите, така че по-близо до масите! Тури едно мостче и друг път внимавай с аналоговото |
|
| Автор: | Цецо [ Сря Дек 10, 2008 8:09 pm ] |
| Заглавие: | |
Имай предвид, че този род кварцове са правени за работа с намалена консумация. Т.е. генератора вътре в чипа е различен от този на "главния" кварц, правен е да е икономичен. И това го прави доста капризен. Къде ще пльоснеш кварца е от съществено значение - правилото е "непосредствено до чипа с все двата кондензатора". Като земята между кварца (ако е заземен)/кондензаторите му и самия процесор трябва да е максимално къса. Абе не случайно на всички картинки го рисуват залепен за чипа и с две късички писти до пиновете. То това важи за всеки кварц де, но за часовниковия е задължително заради спецификата на осцилатора. Самите кондензатори също имат голямо значение. Някой работят с 15-30пф, някой искат повече.... а някой си бичат и без. Въпрос на комбинация. |
|
| Автор: | darkyp [ Сря Дек 10, 2008 9:03 pm ] |
| Заглавие: | |
Като чета спецификацията на кварца, как да разбера какви кондензатори искат? Тези които съм взел са от комет. Ще скъся масата и ще видя как се държи. Остана ми още един дивайс, който не пали кварца и ще го пробвам на него. Обаче късо и максимално късо са ми малко субективни понятия. Нещо като мм дали няма |
|
| Автор: | Цецо [ Сря Дек 10, 2008 9:13 pm ] |
| Заглавие: | |
По принцип в дейта шита не казват ли какви са кондензаторите като стойност? Ако не казват пробвай с 15, 30, 100 pf и въобще без кондензатори. А относно късите писти - в твоя случай, след като ореш по готова платка, ако корпуса е SOIC направо лепи кварца за процесора и го огъни върху него. Самите кондензатори ще им намериш място да висят някъде по краката на кварца и те. Иначе като се рути платка - ми няма изискване в "мм". Максимално късо, колкото може и това е А между другото пробвай и с кварц на друга фирма. Тези поне ги имат навсякъде. Щото съм имал кварцове дето единствения начин да ги запаля е с бензин и клечка кибрит. Но с Кометски за дупчен монтаж, не съм имал ядове, на пикове си тиктакат. Точно за тоя процесор не ми се тегли дата шит, ама гледам че за 25J10 има писано доста за Timer1 с външен кварц. Има и картинка на опроводяването. Тия последните можеха да ползват Timer1 като клок на проца, огледай там всички битове дали са ти правилно сетнати. На старите се пускаше просто с T1CON.T1OSCEN бита, ама тия новите може и нещо друго да искат. |
|
| Автор: | darkyp [ Сря Дек 10, 2008 9:29 pm ] |
| Заглавие: | |
Ами не е SOIC - TQFP е, 64 пина на 12х12 мм. Малко ми е сложно да го лепна за краката. Битовете ги четох препрочетох и смятам че са ОК - в DS-а има готов код, който да се използва за RTC и в общи линии моя е като него. Все пак на 3 от дивайсите запали. Два от раз, третия и аз не знам как, 4-тия го мъча сега (т.е. утре ще продължа). Не съм много напред с аналоговата затова да попитам - защо като меря с осцилоскопа и пали в момента като допра сондата? Случва се и ако с пинсета пипна единия крак на кварца. Как се обяснява това? Според мен е защото е low power осцилатора и лесно се влияе от малки външни импулси - но пък пак си мислех че ще му влияя само на честотата а не и на самото пускане. Факт е че с пинсетата влияя на честотата, но пък и го пускам |
|
| Автор: | bongo-bongo [ Сря Дек 10, 2008 9:30 pm ] |
| Заглавие: | |
Хм, взех да се правя на спец за неща с които почти не съм работил обаче с теорията и с други генератори съм наясно. Пък и доста готово съм видял. Под "максимално близо" се разбира първият елемент срещу крачетата да е кварца а до него кондензаторите. Около пътечките за кварца няма други писти а масата да е по-дебеличка о да отива директно до съответното краче. А номерът с резистора и осцилоскопа ме навежда до мисълта за "бъгав" генератор. 1,5МОма паралелно на кварца няма да попречи но ще оправи постояннотоковия режим. |
|
| Автор: | darkyp [ Сря Дек 10, 2008 9:30 pm ] |
| Заглавие: | |
Забравих... в дейташийта говорят за капацитети като стойности но не знам как се наричат тези, който се добавят към маса |
|
| Автор: | ji4ka [ Чет Дек 11, 2008 12:12 am ] | |||||||||
| Заглавие: | ||||||||||
Може ЦМОС инвертора на осцилатора да не е с достатъчно усилване или да няма добра линейност. Осцилоскопа освен капацитет е възможно да вкарва и смущаващо напрежение което да разклаща инвертора. Може да пробваш да го "подритнеш" осцилатора с няколко импулса през малък капацитет от друг пин на контролера. |
||||||||||
| Автор: | darkyp [ Чет Дек 11, 2008 1:54 pm ] |
| Заглавие: | |
Благодаря на всички за съдействието и споделените знания. Вече и аз съм малко по-ограмотен. С паралелен мегаом и половина не стана. Без кондензатори - работи (пали) винаги, но с по-висока честота и вероятно сменяща се - не съм го мерил. В крайна сметка успях да приближа кварца с много малко (вероятно 2-3мм) и на самите крака сложих 33 пико. Сега работи. Надявам се безотказно но това времето ще покаже Още веднъж благодаря! |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|