logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

PIC16F84. Start oscylatora. Zaprogramowany układ nie działa.

bindaz 12 Sty 2005 16:55 3116 12
REKLAMA
  • #1 1132066
    bindaz
    Poziom 14  
    Posty: 113
    Pomógł: 7
    Ocena: 6
    Mam problem ze startem oscylatora. Zaprogramowany układ nie działa. Wygląda na to, że nie wzbudził się oscylator. Po sprawdzeniu oscyloskopem przebiegów na kwarcu nie ma nic - ciągła linia. PIC programuje się bez problemów (weryfikacja potwierdza prawidłowy zapis programu do procesora) - programator JDM + IC-prog.
    Procesor PIC16F84A-04 - kwarc 4MHz_ podłączony do 15 i 16 nogi - od obydwu C=22pF do masy. Zasilanie 5V (+ noga 14, masa noga5). Noga 4 (!MCLR) do +5V.
    Próbowałem jeszcze inny nie zaprogramowany procesor. Też nie generuje.
    I jeszcze jeden - żadnych impulsów ani na kwarcu, ani innej nodze.
    Odłączyłem wszystkie porty od reszty układu gdyby coś tam ...
    Jest to mój pierwszy układ z PIC-em.

    W czym jest problem. Może ktoś się już z tym spotkał. Czy w ogóle pies jest pogrzebany gdzie indziej.

    Bardzo proszę o pomoc.
  • REKLAMA
  • #2 1132125
    darekpra
    Poziom 12  
    Posty: 33
    Pomógł: 1
    Czy wybrałeś odpowiednią konfigurację oscylatora?(LP XT HS RC) Wydaje mi się że w twoim przypadku trzeba wybrać XT.
  • REKLAMA
  • #3 1132444
    Teslacoil
    Poziom 19  
    Posty: 285
    Pomógł: 22
    Ocena: 11
    Witam. Może to banał ale czy kwarc jest napewno o.k.?


    pozdro
  • #4 1133762
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    MCLR musi być przez rezystor do +5V, inaczej może sie uwalić procek.
    Zrób generator RC, oprornik 10k i 40pF.Przestaw w konfiguracji na RC.
  • REKLAMA
  • #5 1134096
    bindaz
    Poziom 14  
    Posty: 113
    Pomógł: 7
    Ocena: 6
    Jak mam wybrać odpowiednią konfigurację oscylatora?
    Czy w niezaprogramowanym PIC-u oscylator nie ruszy ?
    Przecież tam na wejściu kwarc są dwa inwertery. A żeby to wsystko działało to najpierw musi ruszyć oscylator.
    Co do podłączenia nogi 4 (!MCLR) do +5V to w wielu aplikacjach spotkałem bez rezystora.

    Dziwna sprawa mam 6 tych procesorów. Sprawdzałem dwa. Jak pisałem jeden zaprogramowany drugi nie.
    Kupiłem to w dosć solidnej firmie (dzwoniłem mam gwarancję wymiany, ale nie chciałbym się wygłupić)

    Pozrawiam i proszę o wsparcie jakimiś pomysłami

    Myślałem jeszcze o podłączeniu zewnętrznego generatora (na bramkach) na wejście osc1 (16N), może procek wtedy ruszy ???
  • REKLAMA
  • Pomocny post
    #6 1134482
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    Bindaz wrote:
    Cytat:
    Jak mam wybrać odpowiednią konfigurację oscylatora?

    W programie Ic-Prog z prawej strony u góry masz napis Oscillator i pod nim rozwijane menu. Klikniesz i z listy wybierzesz XT. To odpowiada Twojemu rezonatorowi kwarcowemu.
    Cytat:

    Czy w niezaprogramowanym PIC-u oscylator nie ruszy ?

    Ruszy, ale tylko RC, ponieważ w skasowanym lub zupełnie nowym PIC-u taki oscylator jest ustawiony. Odpowiada to wartości 11 binarnie dla bitów wyboru typu oscylatora.

    Te wszystkie mądrości możesz wyczytać w dokumentacji ściągniętej ze strony producenta - w pliku PDF na stronie 23 w rozdziale 6.0 Special Features of the CPU.

    A swoją drogą nie wyobrażam sobie, jak można próbować cokolwiek robić z mikrokontrolerem nic o nim nie wiedząc? Przecież w ten sposób to będziesz miał problemy co krok. A wystarczy przeczytać PDF-a.
  • #7 1136944
    bindaz
    Poziom 14  
    Posty: 113
    Pomógł: 7
    Ocena: 6
    Dzięki Jacu$ pomogło, wszystko działa.

    Widzisz, całe życie człowiek się uczy, a z mikroprocesorami to ja dopiero zaczynam, więc mogłem przeoczyć ten bardzo istotny drobiazg.
  • #8 2128977
    t.n1
    Poziom 13  
    Posty: 208
    Pomógł: 7
    Ocena: 27
    Zlozylem sobie JDM z 3 diodami sygnalizacyjnymi, dzialal i poprawnie zapisywal.Teraz chcialem kolejny raz zmienic wsad i nie widze napiecia 5V.(dioda 5,1V OK)Mam pytanie czy 5V ujawnia sie dopiero po wlozeniu w podstawke np:PIC 16F84A czy jesli wloze(port com) bez PICa to juz powinna swiecic.Wczesniej nie zwrocilem na to uwagi bo od razu mi sie ladnie odpalil.Teraz nie chodzi wiec nie wiem czy uwalilem pic czy dal d... JDM.
    W ukladzie z ktorym sie bawie zmienialem kwarc z 8MHz na 3.57 bo nie chcial startowac oscylator.
    Czy 16F84A-04 (czyli 4MHz) ma szanse pojsc z kwarcem 8MHz ?
  • #9 2128991
    Troll_u
    Poziom 12  
    Posty: 104
    Pomógł: 3
    Ocena: 3
    hmm mogę jeszcze zabrać głos tutaj, bo może się czegoś dowiem, a tego nie wiem...

    Po co jest ten sały rezonator kwarcowy? Jaka jest jego rola?
  • #10 2129658
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    :arrow: t.n1
    PIC16F84-04 ma szansę chodzić z zegarem nawet 10 MHz ale nie każdy egzemplarz. Jeśli już nawet uda się go uruchomić z taką częstotliwością to może działać poprawnie rdzeń mikroprocesora ale np. EEPROM wewnętrzny już może się nie programować. Jeśli chcesz przetaktować PIC-a to zmniejsz pojemności kondensatorków przy kwarcu i zasilaj go napięciem nie mniejszym niż 5V.

    :arrow: Troll_u
    Każdy mikroprocesor wymaga sygnału taktującego, który zapewnia współpracę wszystkich wewnętrznych przerzutników. Może to być dowolny generator przebiegu prostokątnego ale jeśli zależy nam na dokładnym określeniu czasu każdej operacji to używamy generatora stabilizowanego kwarcem. Sam układ elektroniczny generatora jest wbudowany do mikrokontrolera ale rezonator kwarcowy należy podłączyć z zewnątrz.
    Obecnie większość PIC-ów posiada wewnętrzny generator o kilku możliwych do ustawienia częstotliwościach i w miarę stabilnych (ok. 1% dokładności) a także możliwość podpięcia układu RC lub podania zewnętrznego przebiegu prostokątnego.
  • #11 2129692
    Troll_u
    Poziom 12  
    Posty: 104
    Pomógł: 3
    Ocena: 3
    hmm czyli zakup takiego RC nie jest koniczeny, i rozumiem, że proste programy powinny chodzić na wbudowanym generatorze. Ale mam kilka innych pytań:
    - jeśli nie korzystam z RC zewnętrznego, to co mam zrobić z pinami 15 i 16 w swoim pic16f84-20? zewrzeć czy zostawić wolne czy możę jeszcze bóg wie co....
    -
    Cytat:
    kilku możliwych do ustawienia częstotliwościach
    znaczy sie, moja 20HMz nie koniecznie musi chodzić na f=20 MHZ? Jeśli tak, to jak to ustawić? I czy częstotliwość 20 MHz jest dobra, czy może ją zmniejszyć... ?

    mam nadziejeż że nie zamotałem bardzo... ;)
    pozdrawiam!
  • #12 2131059
    t.n1
    Poziom 13  
    Posty: 208
    Pomógł: 7
    Ocena: 27
    Jacu$ napisał:
    :arrow: t.n1
    PIC16F84-04 ma szansę chodzić z zegarem nawet 10 MHz ale nie każdy egzemplarz. Jeśli już nawet uda się go uruchomić z taką częstotliwością to może działać poprawnie rdzeń mikroprocesora ale np. EEPROM wewnętrzny już może się nie programować. Jeśli chcesz przetaktować PIC-a to zmniejsz pojemności kondensatorków przy kwarcu i zasilaj go napięciem nie mniejszym niż 5V.

    Czy to znaczy ze musze kupic 20MHz -owy zeby to sprawdzic?
    Czy to ,ze sie da zapisac jest rownoznaczne z tym ze zastartuje oscylator?
    Jakie wartosci powinny byc na pinach zlacza Com (9pin) do ktorego nic nie podlaczono.Mam watpliwosci czy nie uwalilem portu bo JDM mialem na pajeczynie i dzialal do czasu swietnie.
    Dzieki za odpowiedzi.
  • #13 2131234
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    :arrow: Troll_u
    Układ RC to znaczy Resistor i Capacitor czyli oporniczek i kondensatorek.
    Taki układ wyznacza częstotliwość drgań wbudowanego układu generatora. Zamiast układu RC można podpiąć rezonator kwarcowy. Bez jednego lub drugiego generator nie będzie oscylował więc mikrokontroler nie będzie bez nich pracował.
    PIC16F84 jest przestarzałym układem i już się go od paru lat nie produkuje. On nie posiada wewnętrznego oscylatora pracującego bez zewnętrznych elementów (kwarcu lub układu RC). Podsumowując: musisz podłączyć do nóżek 15 i 16 jakiś kwarc albo układ RC. W dokumentacji (datasheet) jest to wszystko wyczerpująco wyjaśnione. Nawet jeśli nie rozumiesz po angielsku to schematy powiedzą Ci wszystko.
    Jeśli kupisz sobie taki np. PIC18F1220 to nie będziesz musiał nic podłączać z zewnątrz (oprócz zasilania) a wewnętrzny oscylator ustawisz sobie na 8, 4, 2, 1, 0.5, 0.25, 0.125 MHz lub na 31kHz. Tylko nie pytaj jak to się ustawia - czytaj datasheet.

    Dodano po 9 [minuty]:

    :arrow: t.n1
    Aby sprawdzić czy Twój PIC16F84-04 będzie pracował z kwarcem 8 MHz musisz po prostu napisać jakiś prosty programik mrugający diodką na jakimś pinie i spróbować go uruchomić na kwarcu 8 Mhz. Ja tak kiedyś zrobiłem i stwierdziłem, że działał..
    Fakt, że układ się daje zaprogramować nie ma nic wspólnego z częstotliwością taktowania. Programowanie układu zachodzi przy doprowadzonym z zewnątrz przebiegu taktującym o bardzo niskiej częstotliwości w porównaniu z megahercami.
    Co do programatora to pytaj innych. Ja nigdy nie miałem do czynienia z JDM-opodobnymi konstrukcjami. IMHO JDM to prawie gwarancja kłopotów.

Podsumowanie tematu

✨ Problem dotyczył braku startu oscylatora w mikrokontrolerze PIC16F84A-04 z kwarcem 4 MHz podłączonym do nóżek 15 i 16 z kondensatorami 22 pF do masy. Pomimo poprawnego zaprogramowania układu programatorem JDM i weryfikacji, na kwarcu nie pojawiały się impulsy, a oscyloskop wskazywał ciągłą linię. Wskazano, że kluczową przyczyną problemu była nieprawidłowa konfiguracja typu oscylatora w programie IC-prog – zamiast domyślnego ustawienia RC należało wybrać konfigurację XT, odpowiadającą rezonatorowi kwarcowemu. Zwrócono uwagę, że nóżka MCLR powinna być podłączona do +5 V przez rezystor, aby uniknąć uszkodzenia procesora. Podkreślono, że PIC16F84 nie posiada wewnętrznego oscylatora i wymaga zewnętrznego kwarcu lub układu RC do generacji sygnału taktującego. Dyskusja poruszyła także kwestie dopuszczalnej częstotliwości kwarcu (np. 8 MHz lub 20 MHz) i wpływu na poprawność działania oraz programowanie pamięci EEPROM. Ostatecznie poprawne ustawienie konfiguracji oscylatora w programie i właściwe podłączenie elementów zewnętrznych pozwoliło na uruchomienie układu. Zwrócono uwagę na konieczność zapoznania się z dokumentacją techniczną (datasheet) w celu prawidłowego doboru i konfiguracji elementów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA