 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Sre Mar 23, 2011 11:58 am Naslov sporočila: SHT11 in ŠARM LPC2138 |
|
|
Živjo!
Naletel sem na težavo in sicer pri komunikaciji z ARM2138 procesorjem in SHT11 senzorjem vlage in temperature.
Načeloma je koda podobna kodam na internetu sem nekako preveril in bi moralo delat, razen če me kakšna podrobnost presenetila.
Vendar se mi zatakne že pri pošiljanju ukaza k sht11, saj mi ne postavi ACK bita na 0 kot bi moral.
SHT11 čip imam na kablu za ethernet cirka 30cm dolgem, vendar sem parice izbral tako, da je DATA + gnd in SCK + gnd, tako da ne bi smeli biti presluha med linijami.
Komunikacijo laufam na okrog 100kHz.
Celotna koda oziroma projekt v WinIdea je tukaj:
http://www.sendspace.com/file/192nwx
Morebitne težave:
- PINSEL0=PINSEL0&0xffffff3c;//P0.0 IN P0.3 naj bi nastavilo na GPIO???, da lahko z IO0DIR spreminjam smer DATA porta(p0.0) sck je vedno output p0.3
- #define DATA_OUT IO0DIR=IO0DIR|DATA//DATA AS OUTPUT pravilno???
- #define DATA_IN IO0DIR=IO0DIR&~(DATA)//DATA AS INPUT pravilno??
- in nenazadnje ali je razdalja prevelika za sht11 čip. Testiram pa zanalašč na takšni razdalji, saj delam sušilec sadja, pri katerem naj bi bila to razdalja med SHT11 čipom v sušilcu in ARM LPC2138 v komandni plošči.
Hvala za odgovore.
Lep pozdrav, Gregor Ergaver
Opis: |
|
 Download |
Ime datoteke: |
proba.rar |
Velikost datoteke: |
79.49 KB |
Downloadano: |
6 krat |
|
|
Nazaj na vrh |
|
 |
MarkoM Član

Pridružen-a: Tor 12 Sep 2006 15:29 Prispevkov: 2825 Aktiv.: 12.34 Kraj: Lovrenc na P.
|
Objavljeno: Sre Mar 23, 2011 12:09 pm Naslov sporočila: |
|
|
Imaš pullup 10K upor na podatkovni liniji?
Razdalja 30cm ne sme biti problem.
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Sre Mar 23, 2011 1:03 pm Naslov sporočila: |
|
|
Imam ja. Sem pozabil omeniti to.
Hvala za popravek.
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Čet Mar 24, 2011 10:21 am Naslov sporočila: |
|
|
Še nekaj.
Najbrž sem ga po vsej verjetnosti skuril. Med testiranjem sem po poslani komandi po nesreči spremenil SCK izhod v vhod namesto DATA izhod v vhod, ker je povzročilo, da je v SHT11 stekel tok 15mA(pri 220 Ohm serijskega upora na DATA busu), ker je pa 4x več kot je v datasheetu napisano pod absolutne veličine.
Morda kdo ve če ima SHT11 izhod tokovno omejen, ki preprečuje, da skuriš izhoden tristanjski vmesnik?
Trenutno sem v LJ, kjer nimam ničesar za pomeriti. Bom pomeril, ko pridem domov in poskusil še na rezervnem SHT11, ki je že montiran v sušilcu.
Sporočim še drugim, ki jih zanima za prihodnje.
Lep pozdrav,
Gregor
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Pet Mar 25, 2011 2:42 pm Naslov sporočila: |
|
|
Zadevo sem rešil. Problem je bil v pinu P0.3, ki nekako ni dajal nič od sebe, sem tako vezal sck kar ne ledico p0.4 in stvar je oživela. Naredil sem še nekaj popravkov v kodi, tako da bi moralo načeloma prav kazati.
Koda je priložena.
Lep pozdrav, Gregor
Opis: |
program za sht11 za šarm(lpc2138)
DATA p0.0 SCK P0.04 izpisuje na LCD zaslon
SHT11 potrebuje še pull-up upor na DATA vodilu Rp |
|
 Download |
Ime datoteke: |
proba.rar |
Velikost datoteke: |
78.52 KB |
Downloadano: |
19 krat |
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Sob Apr 16, 2011 3:23 pm Naslov sporočila: |
|
|
Živjo!
Ponovno imam problem s komunikacijo med SHT11 in LPC2138. Tokrat na custom plati s procesorjem LPC2138.
Program sem že prej napisal za šarm in senzor deluje brez problemov na njemu. Senzor je preko ethernet kabla povezan na šarm. Sedaj imam enako kunfiguracijo na custom boardu le druge pine, kar sem popravil v header datoteki. Vendar za odtenek daljši ethernet kabel vse skupaj 50-60cm. Odčitek od senzorja so same enice.
Ima kdo kakšno idejo kaj bi bilo narobe?
Poleg pull-up upora na DATA liniji sem dal še pull-down upor na SCK linijo pred konektor na ploščici sem dal še 4.7uF in 100nF je že tako ali drugače pri senzorju.
Lp, Gregor
|
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.62 Kraj: Kranj - struževo
|
Objavljeno: Ned Apr 17, 2011 12:49 am Naslov sporočila: |
|
|
Poskusi še na kakšnih drugih pinih.
Mogoče si kaj narobe skonfiguriral ali pa ti je kakšen drug hardver znotraj procesorja že zasedel te pine?
Poglej z osciloskopom, če se željena stvar sploh pošilja ven. In kaj senzor vrača.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Ned Apr 17, 2011 7:04 am Naslov sporočila: |
|
|
Živjo!
Hvala za odgovor.
Hm, pini delujejo,preveril sem jih tako, da jih vklopim in izklopim vsako sekundo. Osciloskopa žal nimam, vendar pa sumim crosstalk, ker se senzor odziva tako, kot da ne bi ničesar dobil oziroma razumel, ker je podatkovna linija veš čas na '1'. Se pravi pull-up upor deluje.
Pinov drugih nimam, samo še eno rezervo, vendar dvomim, da bi bil odziv drugačen. Bom pa poskusil kasneje. Sedaj nameravam iti skozi programsko kodo in kočljive dele kode popraviti, da bo zajem in oddaja podatkov bolj pravilna. Mislim da, se ob napredujoči fronti sck signala DATA signal ne postavi še, ali pa ga SCK signal tako degradira. SCK in DATA signal tečeta eden ob drugem na TIV cirka 5cm (kapacitivni sklop?) in nato gresta na RJ45, kjer je 4.7uF kondi(keramika) in vsi ostali vodniki na maso, tako da je narejen oklop. DATA in SCK imata vsak svojo maso, tako da na kablu presluhov ne bi smelo biti.
Aja še to. SCK signal je definiran kot 100kHz signal, delaye sem tudi že povečal, tako da je bil SCK signal 10kHz, vendar brez uspeha.
Hvala še enkrat za pomoč.
Lp, Gregor
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Ned Apr 17, 2011 7:57 am Naslov sporočila: |
|
|
Za pine pa uporabljam P0.21 in P0.22, kjer so vezani A/D vhodi. A je mogoče, da A/D vplivata na pravilno komunikacijo?
|
|
Nazaj na vrh |
|
 |
g.ergaver Član

Pridružen-a: Ned 27 Feb 2011 8:12 Prispevkov: 35 Aktiv.: 0.20 Kraj: Ajdovščina
|
Objavljeno: Ned Apr 17, 2011 10:36 am Naslov sporočila: |
|
|
Uf. Mi je uspelo. Problem je bil v delayih Tv, Tho, Tsu. Splača se naštudirati 2.3 in 2.4 poglavji v DATASHEETu, ki govorita o timingih sprejema in oddaje čipa.
Že sample od sensiriona teh zakasnitev ni upošteval, ali pa je predpostavljal, da bo ura procesorja dovolj majhna, da bo delay med operacijami dovolj velik.
Pa še šlampasti so bili pri branju MSB in LSB podatkov, so zgrešili vrstni red.
Če koga zanima popravek, lahko objavim.
Lp, Gregor
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 6 dni
Powered by phpBB © 2001, 2005 phpBB Group
|