Re: 1-wire "správně"

Jan Waclawek konfera na efton.sk
Středa Leden 10 13:59:55 CET 2024


[preposielam]

Dobry den,

ja by som sa skusil pozriet na tuto problematiku z trochu ineho pohladu. Ked som pri navrhu mojho teplomera nad 1_Wire trochu rozmyslal, tak som dospel ku nasledovnym problemom a otazkam.

Prvy taky okruh otazok, ktory Vam cosi napovie ku realizacii 1_Wire radica v mikroprocesorovom systeme je otazka obsluzneho softwaru. Tuna treba zvazit to, ci uz mate vo firmware napisanu korektne zbernicu I2C, teda hlavne impulzne rusenie, pri dlhsich zberniciach. Pokial je odpoved ano, tak radic DS2482 moze byt dobrym riesenim. Ulahci vykonavanie jednotlivych taskov a prikazov, ktore po zbernici 1_Wire bezia. Pokial to I2C nemate vo firmware, tak si obsluhu musite naprogramovat sam. Tu vyvstane hlavne otazka kolizie medzi systemovym periodickym interruptom a citanim a zapisovanim na 1_Wire zbernici. Da sa to rozne obist, napr. spomenutym UARTom, ci pouzitim casovaca, ktory vie na i/o-pine "input capture" a "output compare", ako to mam navrhnute v teplomeri ja. Alebo pocas operacii na 1_Wire zablokujete systemovy periodicky interrupt. Aj tuna uz treba riesit trochu hardware mikroprocesoru, teda vybrat vhodne periferie.

Druhy okruh otazok sa tyka pouziteho hardwaru. Kedze pri mcu aj pri radici DS2482 mate vzdy jeden i/o-pin, ktory musite riesit. Tu je to trochu komplikovanejsie ale, ako odbastlili ludia v konfere vratane mna, tak bez nejakej teorie sa nezaobidete. 

Prva otazka pri hardwarovej realizacii 1_Wire zbernice je prisposobenie vstupnej a vystupnej impedancie digitalnych driverov i/o-pinu v mcu a to iste so vstupom DQ 1_Wire cidla. Prisposobenie je potrebne realizovat medzi generatorom - io-pin, vedenim - pouzity kabel, a zatazou - 1_Wire cidlom. Tuna je asi najvacsi problem impedancia kabla. Podla toho, kedy ste skoncili skolu, tak to je bud 90, 100 alebo 120 Ohmov. Podla toho treba odbastlit ostatnu bizuteriu.

Druha otazka je hardwarova ochrana i/o-pinu v mcu a pinu DQ pred roznymi zakmitmi a impulznym rusenim, ktore sa naidukuje do systemu budic-vedenie-prijimac. To su take tie rozne ESD, bursty a surge.Chranit musite ako i/o pin mikrokontrolera alebo i/o-pin radica DS2482, tak aj jednotlive i/o-piny DQ 1_Wire cidiel. Tuna skoncite pri vseobecnej viacstupnovej impulzovej ochrane, ktoru tu v roznych variaciach spominali viaceri diskutujuci. V podstate mate dve ochrany. Jeden typ ochrany mate na mcu, druhy typ ochrany na 1_Wire cidle. V podstate je to dosticka alebo fragment na plosnom spoji, kde mate SMD odpor, diody v SOT-23, SMD odpor, SMD zenerku a SMD kapacitu na napajani. Hodnoty a typy suciastok si musite odbastlit. Niekedy sa este v datasheetoch uvadza aj RC v napajani cidla, je to hlavne teda pri teplotnych cidlach PWM, ale ja si myslim, ze to nemoze byt na skodu. Je to len 1 odpor navyse.

Tretia otazka je ako to navrhnut cele na plosaku. Tuna by som doporucil videa od p.Feranca. Su jasne a zretelne a vysvetlujuci p.profesor si dal naozaj zalezat aj na praktickych ukazkach. Takze odporucam si ich pozriet. Su na mcu.cz.

Andrej

> Zdravím,

> příspěvek pana Hudečka o tom, že nemá rád 1-wire neb musí zakazovat 
> přerušení a své vlastní úvahy,  nad spolehlivostí sběrnice s čidly, 
> která je přímo připojená na pin procesoru mě vedou k úvahám jak to 
> "dělat správně".

> prošel jsem si na AnalogDevices obvody pro řízení 1-wire a víceméně 
> jeden z použitelných a dostupných je DS2482 převodník i2c na 1-wire. 
> Porozhlédl jsem se po netu a skoro to tak vypadá, že ho nikdo nepoužívá,
> minimálně Arduino komunita ho skoro nezmiňuje.

> nejběžnější knihovna pro obsluhu 1-wire:  PaulStoffregen/OneWire ho 
> nijak nezmiňuje a pokud jsem něco nepřehlídl tak s ním nepočítá,  Dále
> jsem našel několik starších kníhoven (nevím jestli už nejsou opuštěné)
> které by měly suplovat OneWire s komunikací přes i2c - například 
> cybergibbons/DS2482_OneWire. Jestli jsem to správně pochopil, tak by 
> měla fungovat i DallasTemperature, kterou masivně používám ve svých 
> projektech.

> Jak to děláte vy?

> Pokud máte rozsáhlejší topologii 1-wire, používáte nějaké budiče, nebo
> to jedete "na surovo" jen z pinu CPU?

> Díky

> Petr
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240110/17e5547d/attachment.htm>


Další informace o konferenci Hw-list