Problem med 1wire och DS2438

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
swirve
Inlägg: 400
Blev medlem: 13 mars 2007, 21:58:25
Ort: Norrköping

Problem med 1wire och DS2438

Inlägg av swirve »

Ska prata med en DS2438 med en 8051 (eller rättare sagt CC2530) processor men har lite problem med 1-wire interfacet. Problemet är att DS2438 inte verkar kunna driva signalen låg med sin presence-puls efter att processorn skickat en reset puls. Se bild:
Bild

Koden som körs är i princip rakt av från maxim:

Kod: Markera allt


#define DQ P1_0

unsigned char ow_reset(void)
{
  unsigned char presence;
  DQ = 0; //pull DQ line low
  delay(460); // leave it low for 480us
  DQ = 1; // allow line to return high
  delay(52); // wait for presence // 60 us
  presence = DQ; // get presence signal
  delay(400); // wait for end of timeslot
  return(presence); // presence signal returned
} // 0=presence, 1 = no part

Hårdvara som används är smartrf05eb tillsammans med cc2530em som kör TI:s Z-stack. DS2438 används tillsammans med en HIH4000 fuktsensor som sitter på ett kort med 2 spänningsreggar(5V och 3.3V).
Någon som har en aning om vad som kan vara fel? Ska testa imorrn med en DS18b20 och se hur den beter sig. Måste erkänna att jag inte är helt hemma på 8051 programmering, men efter att ha läst så ska det räcka att skriva en '1'a till en port för att använda den som ingång.
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Re: Problem med 1wire och DS2438

Inlägg av björn »

Det är inte som du sätter utgången till en etta? Den skall ju bara sättas till ingång.

EDIT: Om jag förstår http://focus.ti.com/lit/ug/swru191b/swru191b.pdf rätt så skall du använda PxSEL för att sätta porten till ingång (ha dock inte använt TI själv).
Senast redigerad av björn 18 april 2011, 21:48:34, redigerad totalt 1 gång.
swirve
Inlägg: 400
Blev medlem: 13 mars 2007, 21:58:25
Ort: Norrköping

Re: Problem med 1wire och DS2438

Inlägg av swirve »

Enligt denna http://www.keil.com/support/docs/1630.htm så sätter jag den till ingång genom att skriva 1:a till utgången. Men jag tycker ju också det är lite skumt.

edit: där hittade du ju dokumentet jag letat efter! :P
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Re: Problem med 1wire och DS2438

Inlägg av björn »

Nja, det beskriver inte jättemycket men en del iallafall... Konstigt att det inte går att hitta information lättare till TI (eller så e jag för trött för att leta på rätt ställe...)
swirve
Inlägg: 400
Blev medlem: 13 mars 2007, 21:58:25
Ort: Norrköping

Re: Problem med 1wire och DS2438

Inlägg av swirve »

Är också lite snurrig efter dagens försök. Har mest sökt på 8051 och portar/pinnar..
Men om jag förstår den där rätt så har P1_0 ingen intern pullup och jag sätter riktningen med P1DIR. Testade lite fram och tillbaka med P1DIR, men fick då låg signal mest hela tiden med små små pulser upp till Vdd. Först hade jag en extern pullup också, men lödde bort den när det började bete sig konstigt. Nu minns jag inte om det var före eller efter jag testade med P1DIR... :/
Ska löda dit extern pullup igen och testa att ändra P1DIR beroende på om jag vill läsa eller skriva.
Skriv svar