Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Mehrere DS18S20 mit 1-Wire Kategorie: CC-Pro Unit & Appl.Board (von Jo - 30.08.2011 19:06)
Als Antwort auf Re: Mehrere DS18S20 mit 1-Wire von Joerg - 30.08.2011 14:15

> > > > > > > > > > Hallo
> > > > > > > > > >
> > > > > > > > > > hast Du eine L├Âsung f├╝r das DS1820 Problem gefunden? Ich w├Ąre an der L├Âsung interessiert.
> > > > > > > > > > Um die ROM Codes auszulesen gibt es auch search rom, ich verstehe leider nicht, wie ich das
> > > > > > >  anwenden muss?
> > > > > > > > > >
> > > > > > > > > > Viele Gr├╝├?e
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > Hi zusammem, erst mal alles gutes C-Controlling Pro f├╝r 2009  :-)
> > > > > > > > >
> > > > > > > > > Ich habe folgenden Link gefunden der den ROM Search Algorith beschriebt sowie die
> > > > > > > Implementierung
> > > > > > > > > in C mitbringt.
> > > > > > > > >
> > > > > > > > > http://www.maxim-ic.com/appnotes.cfm/appnote_number/187
> > > > > > > > >
> > > > > > > > > Damit kann man wohl so ziemlich alle 1 wire Chips anh├Ąngen. Ich werde bei gelegen-
> > > > > > > > > heit mal schauen, ob sich das auf den C-Control ├╝bertragen l├Ąsst. Hat jemand Interesse
> > > > > > >  mitzuwirken?
> > > > > > > > > Viele Gr├╝├?e
> > > > > > > > > Jo

> > > > > > > >
> > > > > > > > Hallo,
> > > > > > > >
> > > > > > > > gibt es schon jemanden der den ROM Search Algorithmus auf dem C-Control Pro umgesetzt hat?
> > > > > > > >
> > > > > > > > Ich habe mich einmal daran versucht, aber ich scheitere an den Befehlen OWWriteBit und
> > > > > > > OWReadBit.
> > > > > > > > Mit OneWire_Write und Read werden ja immer ganze Bytes gesendet und gelesen.
> > > > > > > >
> > > > > > > > Gr├╝├?e J├Ârg
> > > > > > > >
> > > > > > > Hallo Peter, hallo *,
> > > > > > > wie kann OWWriteBit und OWReadBit implementiert werden? Hat es jemand schon realisiert?
> > > > > > > @Peter, w├Ąre doch sehr sinnvoll in den OneWire Befehlssatz mit aufzunehmen.
> > > > > > > Ansonsten w├╝sste ich nicht, wie man SEARCH ROM [F0h] implementieren kann.
> > > > > > >
> > > > > > > Danke und viele Gr├╝├?e
> > > > > > >
> > > > > > > Jo
> > > > > >
> > > > > > Ich bin auch immer noch daran interessiert....
> > > > > >
> > > > > > Gr├╝├?e Joerg
> > > > >
> > > > > Hallo J├Ârg,
> > > > > in http://pdfserv.maxim-ic.com/en/an/AN162.pdf ist genau beschrieben, wie das Bit-Lesen und
> > > > > Schreiben zu implementieren ist. Beim OW-Byte Read und Write von C-Control ist u.A. schon
> > > > > der Bitaufruf vorhanden. Zumindest ist es in dem Beispiel
> > > > > http://pdfserv.maxim-ic.com/en/an/AN162.pdf so implementiert.
> > > > > F├╝r jemand der sich in Assembler auskennt, sollte
> > > > > //////////////////////////////////////////////////////////////////////////////
> > > > > // READ_BIT - reads a bit from the one-wire bus. The delay
> > > > > // required for a read is 15us, so the DELAY routine won't work.
> > > > > // We put our own delay function in this routine in the form of a
> > > > > // for() loop.
> > > > > //
> > > > > unsigned char read_bit(void)
> > > > > {
> > > > > unsigned char i;
> > > > > DQ = 0; // pull DQ low to start timeslot
> > > > > DQ = 1; // then return high
> > > > > for (i=0; i<3; i++); // delay 15us from start of timeslot
> > > > > return(DQ); // return value of DQ line
> > > > > }
> > > > > Page 3 of 15
> > > > > Write Bit Example
> > > > > //////////////////////////////////////////////////////////////////////////////
> > > > > // WRITE_BIT - writes a bit to the one-wire bus, passed in bitval.
> > > > > //
> > > > > void write_bit(char bitval)
> > > > > {
> > > > > DQ = 0; // pull DQ low to start timeslot
> > > > > if(bitval==1) DQ =1; // return DQ high if write 1
> > > > > delay(5); // hold value for remainder of timeslot
> > > > > DQ = 1;
> > > > > }// Delay provides 16us per loop, plus 24us. Therefore delay(5) = 104us
> > > > >
> > > > > keine all zu gro├?e Herausforderung sein.
> > > >
> > > > Nein, es ist keine gro├?e Herausforderung, sind ja nur zwei Funktionen. Aber
> > > > erstmal m├╝├?te ich mir hier die Hardware aufbauen, zumal ich keine 2 OW devices
> > > > hier habe. Die Hardware m├╝├?te ich mir bestellen und zusammenl├Âten. Dann die Funktionen
> > > > implementieren, dann in CompactC testen. Die Implementation von OW ist aber leicht
> > > > unterschiedlich zwischen Mega32, Mega128 und Mega128 CAN. Alle diese Platformen testen.
> > > > Dann mu├? es auch in die AVR32 Lib rein, an der ich gerade schreibe. Dort dann testen.
> > > > BASIC ist aber auch Pflicht, also dann auf allen vier Plattformen in BASIC testen.
> > > > Dazu geh├Âren eigentlich noch Demoprogramme, also Demoprogramme in BASIC und C schreiben,
> > > > auf deutsch und englisch. Dann haben sich bei mir Leute in der Vergangenheit beschwert,
> > > > das wenn Funktionen schon da sind, sie auch in die Dokumentation geh├Âren. Also Funktionen
> > > > mit Syntax von BASIC und C in die Hilfedatei, dazu geh├Ârt dann auch das PDF.
> > > > Und dann die gesamte Dokumentation f├╝r PDF und Hilfe nochmal auf englisch.
> > > >
> > > > Hier bin ich schon locker f├╝r diese Kleinigkeit bei 5-6 Manntagen (ca. viertel Monatsgehalt)
> > > > das mir keiner bezahlt. Und wenn ich Funktionen einbaue, mu├? ich daf├╝r gerade stehen.
> > > > Also wenn ein Kunde meint, da einen Bug zu haben, debugge ich da im Zweifelsfall stundenlang
> > > > und sehe keinen Cent.
> > > >
> > > > Gruss Peter
> > > >
> > >
> > > Hallo Peter,
> > >
> > > ich kann das alles nachvollziehen...
> > >
> > > Ich war nur bisher in dem Glauben, das Byte lesen besteht aus 8 * Bit lesen besteht.
> > >
> > > Gr├╝├?e Joerg
> > >
> > > > >
> > > > > Viele Gr├╝├?e
> > > > >
> > > > > Jo
> >
> > Hallo J├Ârg,
> > wie sind deine Assembler-Kentnisse? Ich habe mit dem Watchdog mal etwas gebastelt,
> > ich denke mit entsprechenden Assember-Beispielen sollte es machbar sein!?!
> > Wenn du Lust hast, k├Ânnen wir es zusammen versuchen
> >
> > Viele Gr├╝├?e
> > Jo
>
> Hallo Jo,
>
> meine Assembler Kenntnisse sind eher schlecht.
>
> Ich habe mir mal einen 1 wire C Code von einem Peter Dannegger heruntergeladen.
> Das ganze hapert aber an dem Timing auf dem C Control.
> In diesem Code wird aber auch in der Byte Routine die Bit Routine aufgerufen.
> Ich meine man braucht also nur den inneren Teil der Byte Routine.
>
> Gr├╝├?e Joerg
>
>
Hallo J├Ârg,
das mit dem Timing sollten wir in Griff kriegen; die Takfrequenz com C-Control ist bekannt,
damit ist die Ausf├╝hrzeit unterschiedlicher Assemblerbefehle berechenbar.
In der Assembler Routine m├╝ssen die Interrupts disabled werden.
Wenn es doch nur mehr Beispiele f├╝r Assembler mit C-Control g├Ąbe....
U.U. hilft auch eine entsprechende Routine mit dem AVR zu schreiben und dann den generierten
Assembler code vom Compiler anzuschauen?
Ich frage auch mal im Kollegenkreis ob jemand mit der Implementierung helfen kann.

Viele Gr├╝├?e

Jo



    Antwort schreiben


Antworten:

Re: Mehrere DS18S20 mit 1-Wire (von Jo - 31.08.2011 18:18)