PIC 16F877 latchup problema

L

lazeris

Guest
Labas visiems.
Aš dirbu su projektu, kuris naudoja PIC 16F877 į comunicate asynchronicznie dėl ilgo linija keli šimtai metrų, tarp magistro įtaiso ir kelių vergais vienetų.
Taip, kaip komunikacijos yra labai panašus į RS485, apie kurias 3 viela sistema naudojama (du Diferencialinė laidų plius GND), perduoti duomenis į Diferencialinė būdu.
Vienintelis diference mano atveju, yra tai, kad mano vergais vienetų naudoti tą pačią eilutę, kaip energijos šaltinis, ir kaip jie reaguoja yra shorting teigiamą linijos taip pat Diferencialinė būdu.
Dabar, ideja yra ok, ir jis veikia gerai, bet aš turiu vieną mažą problemą:
Everytime I prijungti naują vergais vienetų liniją, dėl jau prijungtas vergais vienetai, pic inverts jo I / O rezultatus už laikotarpį nuo 72mS ar daugiau, sukelia nepageidautinus rezultatus.
Aš taip pat notisted panašų elgesį kaskart liesti OSC CLKIN Kaisčiai su atsuktuvu.
Power Up Laikmatis ir Brown-out aptikimas yra tiek, ir iš naujo būtų sveikintinas tiekimo įtampos kritimo situaciją, bet ne kreipimasis vertybes, I / O pins.
Aš skaičiau kažkur, kad toks elgesys yra vadinami Latchup, bet kas yra priežastis, ir ką aš galiu padaryti, kad to išvengtų?
I'll apretiate bet ideias.
Ačiū.

 
Aš panaši problema su 16C (F) 73 ir 74 lustu, aš sustabdyti daugelio dieną osciloskopo ir vienintelis sprendimas, kad aš rasiu tikrina pagal Watchdog kontroliuoti rx eilutė statuso, jei linija buvimo pemanent mažai watdog naujo chip, aš taip pat pamatė, kad latchup problema atsitiko su bendrojo I / O, jei prisiliesti prie Kaisčiai su screew vairuotojas, aš bandė taikyti kondensatorius, induktoriaus, filtras be rezultatų

 
Aš taip pat turėjo problemų, kurios gali sukelti šią problemą.Mano atveju atsiejimo buvo problema ,1 uf arti luste ir įsitikinkite, kad Maitinimo šaltiniu yra geros quolity.
Barrybear

 
Iš tiesų, 70ms yra silpnas laikas PIC poreikius galia, tuo metu, visi Kaisčiai zburzona.Nesvarbu, kaip jūs setted konfigūracijos bitų (Power Up Laikmatis ir Brown Iš aptikimas. Ir tt)
Naudodami RS485, jūsų Tx / Rx iddle valstybės (TTL pusėje) yra
5 V, kad kiekvieną kartą, kai įjungti į naują vergais eilutėje, jūs gaminant schodzili impulso, kuris yra aiškinamas kaip pradėti bylą vienetai, kurie klausosi neto.
Jūs negalite kiaušinio pavidalo tokių įrenginių elgesį, todėl turi išspręsti šį klausimą į savo kodą ir protokolą.
Just my 20 centų, aš išspręsti šią įjungiamieji laiką kas kartą # INT_RDA atidaroma.

Best wishes,humber555
 
Humber, problema yra šiek tiek skiriasi nuo.
Kaiščių nėra žemyn.
Kad būtų tik gerai, bet kas vyksta tai, kad visi I / O's get Invertuoti.
Aš turiu omenyje, visi tie tapo nulio ir visi nulio tapo tie, apie kiekvieną I / O Kaisčiai konfigūruojamas kaip rezultatas.
Ir tai atsitiks per 72mS laikotarpis,
kuriam pasibaigus jos tapo įprastos vėl.

 
Aš išbandyti problema su ICE emuliatorius (Softec DSE1674), kurie naudoja Mikroschema Mikroschema, kad sw nėra sustabdyta, tik TRIS registrą invertuotojo iš įvesties ir išvesties ir, jei vieta bandymas yra tinkamas reinversion kasdieninį RX Kaisčiai atvyko į įvesties valstybės .
Į mistey kad phenomenus atrodo taip pat su Max485 decoupler, su indukcinių ar kondensatorius filtrą.Yra pasikartojantis kai sudarys trumpą impulsą į RS485 linija arba tiesiogiai į rx Kaisčiai

 
Ilgas eilutes gali įlaipinti glitches ar gali turėti talpos.

Tai galėtų būti priežastis - pabandykite izoliuoti linijos su mažu resitor - 47 Ohm arba įdėti transorb linijos.

 
"Laser", būtų Jūs pasirengę įdėti savo kodą?
Arba siųskite jį man.
Aš galėsiu jums padėti.

Aš dirbau plačiai su pic Comms. (RS485, RS232)
Jūs turėtumėte naudoti kažką panašaus sn75176 RS485 lustų o.

 

Welcome to EDABoard.com

Sponsor

Back
Top