Multi master Dallas buszon

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Multi master Dallas buszon

Hozzászólás Szerző: SzLacus »

A témában megfogalmazott problémát próbálom körüljárni, amihez szívesen veszem mások tapasztalatát, ötletét.
Az alap probléma onnan adódik, hogy több arduino alapú eszközt szeretnék egy dallas buszon kezelni. Azt szeretném megoldani, hogy bármelyik szerkezet mesterként meg tudjon szólítani a buszon bárkit, és a többiek jó szolga módjára válaszoljanak is.
A mester rész adott a dallas könyvtár formájában, azt akármikor lehet használni, ha gyári slave-k vannak a buszon. De most emulálni kéne tudni a slave eszközt. Bascomban megírta ezt valaki, de én most Aeduinoban utazom. Roberttel egy rövis privátban megbeszéltük, hogy megvan Arduinora is, csak nem stabil. Mert az Arduino úgy kezeli a megszakításokat ahogy, és az időkritikus dolgok nem komálják ezt.
Ezért még rá sem kerestem az arduino-s megoldásra, viszont el kezdtem turkálni a dallas-nál, ahol vannak bridge áramörök.
A DS2480 RS232, a DS2483 pedig I2C felé ver hidat. A második rögtön mesternek nevezi magát, a 80-as ennél "szerényebb".
Azt sem igazán tudom eldönteni, hogy elvben lehetséges-e megkerülni, vagy elviselhető szintre csökkenteni például a DS2480-al az Arduino időzítési sajátosságait. A soros kommunikáció menni fog ami rögtön időzítéses megszakít alapon. Vagyis lehet, hogy még inkább súlyosbítom a problémámat, a lib-es megoldáshoz képest? minden levett bájtnál a soros kezelő rész leállíthatatlanul dolgozni fog a soros bufferen, Az is igaz, hogy ez akkor fog jönni, amikor a bájt már megjött, akkor meg akár lehet hogy nem borítja fel az 1W folyamatot. két bájt között lehet idő másra is. Nyilván sokkal jobban kéne ismernem a belső működését nem csak az Arduinónak, de az Atmel procoknak is. De olyan régen még nem foglalkozom az Arduinóval, hogy meglegyen ez a tudásom.
Azt mondhatom, hogy a buszon nem lesz folyamatos csevegés, az idő nagy részében csend honol, csak ha valakivel történik valami, akkor tudatja a többiekkel. Valamint az üzenetek hossza sem lesz kisregény méretű, jelen elképzelésem szerint nem éri el a 16 bájtot egy üzenet hossza a megszólított eszköz címével együtt.
Van-e valakinek tapasztalata valamelyik áramkörrel, vagy esetleg az általam még fel nem kutatott lib-el?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: Robert »

Nem. Az 1wire busz csak egyetlen mastert képes kezelni. Ugyanis nincsen ütközésdetektálás. Nem hallgat bele a buszba, hogy van e forgalom rajta.
Ha magad megírod, akkor lesz. DE: gyári eszközök nem kezelik.

Tipp: Arduinoból kiszakadva, esetleg a mindenféle megszakításokat minimálisra csökkentve talán működhet.
Fontos! Szabadalom illetve licensz VÉDI az 1-wire slave eszközöket. Így NEM gyárthatsz és adhatsz el 1-wire slave eszközt, ha nem dallas/maxim chippel készült!
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: SzLacus »

A szabalom tiszteletben tartása megodottnak tekinthető, hiszen a felvetésben két áramkőrük is szerepel. Ezen kívül nem kereskedelmi célú a dolog. Az ütközésre magam is gondoltam, többek között ezért is elítettem hogy kevés és rövid forgalom várható. Ezzel együt kezelni valami módon kelleni fog az ütközést.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: Robert »

A szabadalom/licensz az _önálló_ egységre vonatkozik. Master-t készíthetsz, slave-t _NEM_.
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: SzLacus »

Kezdünk jogi fórummá válni, miközben műszaki jellegű a felvetés. Egy gondolatot a dologhoz, aztán hagyom, mert én nem vagyok szabadalmi jogász és nem is szándékozom azzá válni. Ha megveszem a dallas bridge chipet, akkor annak az adatlapján semmi nem utal arra, hogy csak mastert készíthetek. Megvettem, ezzel ők a pézükhöz jutottak, a chipre eső szabadalmi díjat ezzel megkapták, én meg azt építek a chippel, amit akarok. Ha sw oldom meg az egészet, akkor nem csörög a dallas kasszájában a pénz, és jogos a felháborodásuk. Mindez kereskedelmi cél mellett igaz, ha magamnak csinálom, akkor nem érzem sérülni a jogaikat.
De hogy a műszaki vonalra próbáljak visszakanyarodni, azt gondolom, hogy a DS2480-al soros kommunikációvá alakul az 1W forgalma. ami azt jelenti, hogy az egész 1W protokollt meg kell írnom soros portra. Ez elég nagy falatnak tűnik, nem biztos, hogy megéri a befektetett munkát az, hogy csak egy madzag kell hozzá.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: Robert »

A bridge chip nem slave. A Bridge chipek bus-masterek!
DS2480, DS2482 és a többiek...
A DS2480-at pl. nagyon sokat használok. Szembe kötök kettőt, akkor bizony multimaster lesz a buszon, tele mindenféle ütközéssel. Nem lesz egyikből sem slave.
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Re: Multi master Dallas buszon

Hozzászólás Szerző: SzLacus »

Igen már látom, a bridge csak a fizikai réteget valósítja meg, a slave funkciót meg kell írni. Az pedig elég nagy feladvány, én még nem tartok ott. De mások nálam előrébb járnak, például ha Bascom volna a nyelv, akkor"COW" kereső kifejezéssel érdekes dolgokat talál az ember itt a tavIR-on is, de a http://bascom.at.ua/publ/1-1-0-1 címen érdemes meglesni egy konkrét helyettesítést. A DS2450 áramkörét valósítja meg Atmel procival a szerző, bascom-ul.
Egyeránt tiszteletben tartva a Dallas jogait, és a világháló szabadságát ide szúrok egy linket (https://github.com/smurfix/owslave) ami ugyan ezt valósítja meg Arduino környezetben. Tapasztalatom nincs, ez csak ez első találat ami használhatónak ígérkezik számomra.
Dolog lesz vele, mert az a néhány dallas chip amit megvalósít, az nekem most nem kell, viszont ezek alapján remélem meg tudom írni a magam alkalmazását. Nem helyettesíteni akarok kapható dallas áramkört, hanem nem létező funkciót akarok megvalósítani és dallas buszon kommunikálni vele. Majd meglátjuk sikerül-e, ha siker lesz tudatom a közzel.
Robit meg arra kérem, hogy ha jogsértő a téma folytatása, vagy a már eddig leírtak is jogi következményekkel fenyegetik az oldalt, akkor nyugodtan zúzza le a témát.
Ha viszont nem az, akkor felhívva a figyelmet a linkelt könyvtár szerzője által is említett szerzői jogi aggályokra, hozzászólásra biztatom a tiszetelt hobbi társakat, megosztva a tapasztalatainkat egymással.
Válasz küldése