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 - 31.08.2011 18:18)
Als Antwort auf Re: Mehrere DS18S20 mit 1-Wire von Jo - 30.08.2011 19:06

> > > > > > > > > > > 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
>
Hallo Jörg,
ich könnte dir was mailen, wenn du Interesse hat schicke mir einfach eine mail an
c-control at hi-jo punkt de.
Viele Grüße
Jo


    Antwort schreiben


Antworten: