[ mikikg @ 14.01.2013. 16:01 ] @
Pozdrav,

kratko pitanje, zasto se stavlja bas Schotky dioda a ne obicna za MCLR (reset) kod PIC-ova i da li bi smetalo za in-cuircit programiranje ako nije postavljena Schotky?

Da li moze da se postavi recimo veoma brza BAV99 ili D-S spoj od BSS138 (to imam na lageru)?

[ bogdan.kecman @ 14.01.2013. 16:09 ] @
zbog 3x manjeg Vf od "obicne" diode .. dakle nema veze brzina, samo pad napona

ne smeta ni sto je brza posto ta dioda realno sluzi da kada programator posalje 13V na Vpp tih 13V ne popali ostalo sto je na 5V rail-u

EDIT: ako nemas na lageru, slobodno ti mozes da vezes Vpp (MCLR) direkt na 5V preko 10k otpornika ali onda moras da pazis kada programiras cip posto HVP ide sa 12-13V
[ mikikg @ 14.01.2013. 16:11 ] @
A da li je bas kritican taj Vf? Nemam je trenutno (SMD) a imam ona dva sto sam spomenuo ...

PIC koji tu koristim je low-voltage (od 2.nesto V pa navise) ...

Koliko se secam, cela caka oko tog MCLR (nevezano za programiranje) je da se PIC "otpusti" iz reseta sa kasnjenjem od kada stigne napon napajanja. Samo me interesuje da li ce uopste da izadje iz reseta ako je postavljena obicna dioda (ne znam koliki je logicki prag za MCLR).

[Ovu poruku je menjao mikikg dana 14.01.2013. u 17:29 GMT+1]
[ bogdan.kecman @ 14.01.2013. 16:57 ] @
trebalo bi da je logicki prag 80% od Vdd, dakle ako ga napajas sa 5V (nebitno sto on radi i na 2V) MCLR mora da bude preko 4V da bi izasao iz reseta... e sad, obzirom da je struja tu pateticno mala a da Vf na diodi zavisi od struje, kada se napuni taj kond realno bi struja trebalo da bude dovoljno mala i sa obicnom 1n4007 da on dodje do 5V iako je Vf preko 1V .. tako da bi trebalo da radi teoretski, prakticno nisam probao, ali nece sigurno nista da mu fali
[ mnn @ 14.01.2013. 17:42 ] @
Ja sam stavljao 1n4007.Nisam o svemu ovome ni razmišljao ,a nisam ni imao neku drugu.
[ foxhunter1 @ 14.01.2013. 19:57 ] @
Stavi sta nadjes u kuci, radice sigurno (nemoj samo one ispravljacice za katodnu cev TVa, njima je Vf veci od napona napajanja PICa ).
Ja ih uopste i ne stavljam, a koristim ICSP. Jedini problem sam imao sa MikroE programatorom, zato sto (izgleda) njihov generator Vpp-a
nema nikakav FB, pa zbog 4k7 otpornika koji sa MCLRa ide na +5V nikako nije mogao da napravi dovoljan napon za ulazak u mod za programiranje.
[ mikikg @ 14.01.2013. 20:36 ] @
Ok jasno. Stavicu onda ovu BAV99. Imam ih vise komada jer ih cesto koristim za zastitu I/O linija posto imaju veoma malu kapacitivnost od 1.5pF. A ne bih isao na varijantu bez diode jer mi se nikako ne "spaljuje" ostatak veoma "pipave" elektronike. Imam i unipolarne zener barijere za 5.1V u napajanju jer volim to kada pravim da napravim sto je moguce izdrzljivije a da rizikujem zboj par diodica ne dolazi u obzir :)
[ pedja089 @ 14.01.2013. 21:54 ] @
A zasto jednostavno ne bi iskljucio MCLR?
[ bogdan.kecman @ 15.01.2013. 01:10 ] @
Citat:
pedja089: A zasto jednostavno ne bi iskljucio MCLR?


zato sto onda ne mozes da napravis da se pic startuje par ms posle dolaska napona bez da se drndas sa bor-om + ne mozes lako da dodas reset taster +... mclr je koristan pin
[ mikikg @ 15.01.2013. 05:37 ] @
Kod mene je doticni PIC u SSOP kucistu i nema sanse da ga drugacije isprogramiram prvi put (da postavim boot loader) sem direktno na samoj plocici pa mi zato treba ta logika oko MCLR.
[ bogdan.kecman @ 15.01.2013. 12:51 ] @
imas ssop stipaljke, ubacis ga u stipaljku i napeces nije problem, a moze i samo napravis obicnu plocku sa ENIG zavrsnicom sa footprintom koji ti treba, stavis odozgo cip i pritisnes ga necim (drvena stipaljka radi 1/1) i napeces ga bez problema :D .. jos bolje, kupis schmart plocku, samo stavis ssop cip na plocku, ona posto ima one ureze on lepo cucne, pritisnes ga prstom i napeces .. etc etc ..

inace i kada ugasis MCLR u configu, cip se starta cim dodje struja (mclr postna input pin) ali i dalje ako dovedes 12V na mclr ubacujes cip u mod za programiranje posto je taj pin uvek Vpp to ne mozes da iskljucis
[ pedja089 @ 15.01.2013. 14:59 ] @
Otkako sam presao na 18F ja ne pamtim da sam stavio bilo sta na mclr...
Uvek na ploci ostavim letvicu za pickit, config PWRTEN ON, MCLR OFF. PGD i PGC pinove gldam da ne koristim, ako koristim spojim ih preko 2k2 otpora. I uvek ako nesto treba doraditi ispraviti, nikakav problem...
[ mikikg @ 15.01.2013. 16:00 ] @
Uzeo sam PIC18F13K50 jer mi je trebao sto manji ali da ima HW USB i I2C. Kod njega su isti pinovi za USB D+ / D- i za PGC / PGD.

Da li postoji mozda neki jos manji PIC sa HW USB i I2C?

Znam da moze i SW USB / I2C da se realizuje, ali iskreno sa HW implementacijom je krajnje prosto i ugodno za razvoj. Evo neke I2C periferije sam poterao iz prve, bukvalno ni trunku problema nisam imao oko toga ...
Tacno bih odlepio da sam morao kojim slucajem da debugiram te protokole :) ... Za par evra razlike u ceni da ja gubim silno vreme, stvano nema smisla :)

Sa PIC radim od neke 95' godine (dobro se secam OTP i PIC-eva sa prozorcicima!) ali sam imao duzu pauzu pa sam malo ispao iz fazona, tako da sad gledam sa sto manje muke da prodjem.
[ bogdan.kecman @ 15.01.2013. 19:09 ] @
pgc i pgd nemaju veze sa i2c to je samo za programiranje, kakve veze ima sto je to na istom mestu kao d+ i d- ?
ima dosta picova sa hw usb-om, idi na microchip sajt i imas tamo onaj component chooser, odaberes da oces 1usb kanal, dodaj i2c i onda gledaj ostale parametre .. limitiraj na 8bitne (ako neces 16bitne) ...

sto se 18F tice obzirom da je mchip ugasio C18 i zasra* XC8 treba polako bezat od toga na gore il u stranu, kako kome lakse
[ mnn @ 15.01.2013. 19:19 ] @
To na gore pretpostavljam šta može biti,a na šta si mislio za to u stranu?
[ bogdan.kecman @ 15.01.2013. 23:03 ] @
na gore ostajes na microchip-u te koristis 16 i 32bitni pic
u stranu menjas firmu te prelazis na 8bitni atmel, 16bitni ti msp430, 32bitni arm ..
[ mikikg @ 19.01.2013. 02:36 ] @
Od PIC-eva sa HW USB koliko sam gledao nema nista manje od PIC18F13K50 i prakticno istog samo sa vise memorije PIC18F14K50 koji su u 20 pinskim kucistima. Ima samo tu jos i LF varijanta za ova dva koji su predvidjeni za low-voltage 1.8V do 3.6V.
[ mikikg @ 19.01.2013. 02:55 ] @
Uzgred, porucio sam BAS70-06 za potrebe ovog MCLR. Uzeo sam vise komada jer ove Shotky diodice cesto zatrebaju ;)
[ zica49 @ 20.01.2013. 08:57 ] @
Meni kad bas ustreba ta shotky BAT razbijem stariji PHILIPS-ov video i u njemu nadjem....svijetloplavo upadljivo u oci..
[ mikikg @ 20.01.2013. 12:10 ] @
Znam za to, nego je meni trebalo u SOT-23 kucistu, tj SMD ...
[ bogdan.kecman @ 20.01.2013. 14:13 ] @
Citat:
mikikg:
Uzgred, porucio sam BAS70-06 za potrebe ovog MCLR. Uzeo sam vise komada jer ove Shotky diodice cesto zatrebaju ;)


ja ne kupujem obicne skoro uopste, samo schotky posto cena nije drasticno razlicita na kolicine koje ja koristim :)
[ mikikg @ 20.01.2013. 19:45 ] @
Samo sam se malo presao oko ove BAS70-06, trebao sam da uzmem BAS70-04. Ova 04 ima REDNO spojene dve diode pa moze da se koristi kao zastitne diode za signalne vodove dok kod ove 06 (anoda na anodu) prakticno mogu samo jednu da iskoristim, ne znam zasta bih konkretno mogao da iskoristim takav spoj ...
[ bogdan.kecman @ 21.01.2013. 02:26 ] @
pa uvek mozes da ih koristis kao "samo jednu" ili da ih koristis u paraleli :)
[ mikikg @ 25.01.2013. 23:14 ] @
Proradilo mi ovo cudo od PIC18F13K50 + Si5351 :) ... MCLR je sa Schotky kao sa sheme ...

Za sad se igram sa internim oscilatorom i gledam sad opciju kako da se prebacim sa internog na externi oscilator, iskreno ne stavlja mi se sad jos jedan kristal za PIC a zuje mi prazna dva externa PLL-a izlaza :) Koliko vim po specifikaciji MOZE da se svicuje sa internog na externi i tu cak ima neka logika za kontrolu ako nesto krene naopkako sa externim, PIC ostane na internom dok ovaj ne proradi ...

Ja srecan ... :))
[ mikikg @ 02.02.2013. 19:52 ] @
Samo da javim u vezi oscilatora i USB primene, ne vredi, mora da se stavi 6 ili 12MHz kristal ili 48MHz externi oscilator (u EC high modu).
Sa 48MHz externim oscilatorom USB mi je proradio iz drugog-treceg puta dok sam "nabo" ispravne config registre.
Naravno, potrosnja se prilicno povecala pa se primecuje razlika kada je PIC bio hladan (sa internim RC) i sada kada je mlak sa eksternim oscilatorom.

Kad je proradio USB sa PIC18F13K50, proradio je bas kako treba, extra brzo i pouzdano + sam CPU dobio na brzini (za razliku kada se tera sa internim RC oscilatorom) i recimo kombinacija sa USB i I2C sa 400KHz comm radi bas bas dobro.
[ bogdan.kecman @ 03.02.2013. 10:06 ] @
nema potrosnja veze sa externim vs internim oscilatorom vec sa brzinom. spustis mu klok pa ce da trosi manje :D

rekoh ti ja da usb i rc oscilator tesko da ce da se dogovore
[ mikikg @ 03.02.2013. 12:29 ] @
Naravno, potrosnja je vezana za brzinu clock-a ...

A za oscilator sam te poslusao :) Ostavio sam ipak mesta na PCB da tu nesto postavim ako RC oscilator ne proradi sa USB. Sa RC nije hteo ni u jednom modu da proradi, ni low speed USB 1.0. Pocne nesto da dzrlja po USB portu, vide se signali ali na kraju nista ... Ispada da je Microchip malo tu isfolirao stvari, rekose u doc da kao moze da radi, kao da se clock resinhriizuje sa USB host ali izgleda da od toga nema nista ...

[ bogdan.kecman @ 03.02.2013. 19:01 ] @
ima tu neka teska filozofija ... postoje neki picovi koji mogu full speed sa internim osc-om ali taj ne spada u njih .. sve u svemu ja sam probao nekoliko sprava koje navodno mogu bez kristala da rade full speed usb i ispostavilo se da "negde rade a negde ne" (nije pic u pitanju) tako da ja to vise ne .... treba usb -> stavim kristal, nije da su nesto extra skupi .. a ako je mi fali pinova - uzmem veci mcu
[ mikikg @ 04.02.2013. 22:07 ] @
Ljudi treba mi mala pomoc ...

Ovaj PIC18F13K50 sam poterao, SW napisao i u sustini to sve radi ...

Ali imam sporadican RESET :( Radi par minuta i resetuje se ... Nema nikakvo pravilo kad se desava, nekad radi duze nekad krace ...

Tehnicki moj drajver upise neke registre ka PIC i dalje vise nista ne radi, niti ka USB niti ka ostalim periferijama. Trenutno koristim samo dva izlaza za I2C i ostali pinovi mi svi vise, znaci mala sansa da je do BOR ... To tako radi i samo vidim da se resetovao PIC tj krene ispocetka moj program pa tako znam.

Sta li tu moze da bude problem?

PIC se napaja sa 5V, redno ima jedna prigusnica za filtriranje, pre i iza nje po X7R (0.1 + 1uF) kondenzator. Ukupan riple na 5V je ~80mV sto mislim da je prihvatljivo. Cak sam stavio i jedan veliki feritni (EMI) prsten i provuko par puta sve cetri zice od USB i opet isto. D+ i D- linije su spojene preko 22ohm otpornika.

Da ne pravi ovde problem clock? Znaci spojen je externi SMD kristalni oscilator od 48MHz (izmerio 48000510Hz = ~10ppm) koji se napaja sa 5V i fizicki se nalazi na 1mm od PIC, ne moze blize.

Jedino mi ostaje da probam sa drugim racunarom ili sa USB hub da vidim da li to ima neke veze ali nisam pametan sta je problem :(

A tako mi je sve lepo radilo dok sam vozio RC oscilator (nevezano za USB), ovaj oscilator mi je samo haos napravio, gomilu s**** mi pravi po RF spektru a sve sam preduzeo da to sprecim ...
[ goran_68 @ 04.02.2013. 22:40 ] @
Koliko se sećam ja sam prigušnicu stavljao redno i sa masom i sa 5V sa USB. Na data linije sam vezivao USB6B1 kao zaštitu. Mislim da mi se to još negde vuče. Mogu da potražim i da ti dam pa probaj. Što ne usporiš malo taj oscilator da vidiš da li je zbog toga?
[ mikikg @ 04.02.2013. 22:51 ] @
Pa sad cu to da probam, da ukljucim clock divider?

Evo sad sam probao da odkacim USB komunikaciju, ostavio samo 5V sa USB i evo od kad sam napisao onaj gore post nije se resetovao!
Znaci nesto ga sama USB comm (interno, neki nizi layer komunikacije) zaglupi pa se resetuje ...
[ goran_68 @ 04.02.2013. 23:05 ] @
Ako sumnjaš na comm onda možda imaš stack overflow reset omogućen (STVREN bit postavljen u konfiguracionim bitovima).
[ mikikg @ 04.02.2013. 23:15 ] @
I na to sam posumljao, ali sam ostavio taj bit, trebao bi da bude ukljucen ako mi interno moj program nesto pobrljavi ...

Nego odprilike da sam ga uhvatio!

Bio mi je ukljucen Int / Ext Oscilator Switchover. Sada sam ga iskljucio i nije se jos resetovao.

Samo mi ne ide u glavu kakve on veze ima kada ja nigde nisam u programu to koristio / prebacivao?? Jedino da je neko/nesto van mog znanja (scope-a) to menjao, mozda je to deo one logike koju sam kritikovao za resinhronizaciju USB clocka :)
[ bogdan.kecman @ 05.02.2013. 02:33 ] @
ne znam taj pic ali
- sta se nalazi u statusu, dal taj pic ima "zasto je resetovan" (znam da neki imaju samo flag dal je resetovan ili je cold boot, a neki imaju dal je cold/warm boot, mclr reset, wdt reset ..), da li si proverio taj info ako postoji i video sta ga je resetovalo? To ti je realno prva stvar koju uradis, kada se starta firmware overis status i ispises "kako si se digo", tako znas kada se resetne, zasto se resetovo (mclr, bor, wdt, stack..)
- sta si radio sa vusb (da li uopste ima? ako radi na 5v trebalo bi da ima)
- jel ti to od 48M oscilator ili kristal? ako je kristal dal si siguran da imas load caps odgovarajuce velicine (nemam pojma koji su odgovarajuci)
- da li si siguran da si iskljucio sve automatske resete pri testiranju (wdt, bor, stack..) - nema veze sto ti trebaju u finalnom proizvodu - ugasis ih da vidis kako se ponasa sad, dal ce da se zaglupi ili resetuje, onda probas i mclr da ugasis (ako moze uopste) pa vidis dal se i dalje resetuje ili se zaglupljuje ili radi kako treba
- koji usb stek koristis?
- da li koristis sleep/low power modove (ne znam dal ih taj pic ima)

95% problema sa resetovanjem koje sam ja imao je vezano za mclr (los dizajn, los cap, nizak napon, los lem, los trace..), ostalih 5% je sve ostalo.
[ mikikg @ 05.02.2013. 08:52 ] @
Problem sam resio i definitivno je bio razlog oko config flaga za prebacivanje sa internog na externi oscilator. Kao sto rekoh, nije mi jasno zasto je to smetalo obzirom da nisam koristio to programski, samo sam bio ostavio kao mogucnost ako se kasnije budem igrao oko toga.

Evo celu noc je ostao ukljucen i nije se resetovao.

Cisto za referencu da odgovorim ...

- nisam proveravao taj statusni flag, verovatno ga ima, ne znam ...
- Vusb pin je preko 2 x 0.1uF spojen na masu
- u pitanju je 48MHz SMD oscilator ne kristal, to sam jedino iskopao iz furde, racunao sam na interni R/C pa nisam narucio adekvatan kristal (mnogo mi je pipava ta situacija jer par centimetra dalje na PCB mi je OP-AMP za demodulator koji barata sa mikro voltima i sve harmonike od oscilatora mi "hvata")
- sve sam te config flagove za automatski reset iskljucio osim onaj za stack overflow
- usb konektor je neka moja privremena improvizacija sa pin postoljima i custom kabelom (morao sam to da pravim zbog programiranja, na ovom PIC su isti pinovi za PGC/PGD i D+/D-)
- nisam koristio sleep funkcije
- sve upotrebljene R/L/C komponente su bile nove i sve lemove/vodove sam bio proverio posto sam radio (visoko rizicnu :) home-made plocicu
[ bogdan.kecman @ 05.02.2013. 12:32 ] @
ako si montirao drugi oscilator ne bi smeo da se resetuje
ako nisi montirao drugi oscilator moguce da se resetuje kada proba da ode na njega, ali to ce uraditi
- ako to explicitno trazis
- ako odes u neki od lp/sleep modova
- ako provali da je glavni oscilator "puko"

ako ti kazes da prva dva nisi radio neki mu je problem sa tim oscilatorom, tj on u nekom trenutku pomisli da isti ne valja pa proba switch i dangne se ..

rekoh sa tim nisam imao iskustva ali skoro svi picovi imaju int/ext switchover i to radi 1/1