Sida 2 av 3
Postat: 3 juli 2007, 10:09:36
av Nisse
Efter lite pill med den minsta lödspetsen så är kretsen uppkopplad. Har plitat ihop ett litet program som bit-bangar kommunikationen också. Har dock lite problem. Skumt nog uppstår det bara när jag instruerar kretsen att mäta fukthalt. Under temp-mätning så uppstår inte samma problem. Skickar kommando till kretsen ca en gång per sekund, väntar en halv sekund och läser sedan av resultatet. Ibland får jag då bara ettor från kretsen. Ska ta och gå igenom programmet ordentligt och skriva om vissa delar från början.
Bilder på uppkopplignen kommer så snart jag får fart på min server. Det verkar ju vara obligatoriskt med bilder här
Men nu till en fråga:
http://www.sensirion.com/en/pdf/product ... HT7x_E.pdf
På sidan 3 i databladet ovan ser man ett timing-diagram. Tittar man på de delarna som visar när man läser data från kretsen så tolkar jag det som att man skall sätta SCK hög och sedan läsa av DATA innan man drar SCK låg igen. Stämmer det?
Mvh
Nisse
Postat: 3 juli 2007, 12:08:57
av björn
Alltså, det funkar att köra den mot I2C(TWI) porten på din processor vilket borde vara enklae än att bitbanga.
Postat: 3 juli 2007, 13:31:47
av Nisse
Jo jag vet att det går att köra den mot TWI.
Tanken är dock att jag vill ha flera sensorer på en I2C-buss. Då är processorns uppgift vara ett interface mellan sensorn och I2C.
Eller menar du att jag kan hänga på både SHT11 och I2C på processorns TWI?
Mvh
Nisse
Postat: 3 juli 2007, 22:55:32
av PHermansson
björn skrev:Alltså, det funkar att köra den mot I2C(TWI) porten på din processor vilket borde vara enklae än att bitbanga.
I databladet står det klart och tydligt att den inte är I2C-kompatibel?
Postat: 3 juli 2007, 23:04:03
av Nisse
PHermansson -> Jo, men så är ju inte TWI helt och hållet bara I2C heller.
TWI är Atmels universal tvåtrådsinterface som bara råkar vara I2C kompatibelt. Som jag lyckats förstå så skall TWI kunna prata SHT11 om jag skulle vilja. Men i detta fall vill jag inte det.
Mvh
Nisse
Postat: 3 juli 2007, 23:15:32
av björn
Nisse skrev:Jo jag vet att det går att köra den mot TWI.
Tanken är dock att jag vill ha flera sensorer på en I2C-buss. Då är processorns uppgift vara ett interface mellan sensorn och I2C.
Eller menar du att jag kan hänga på både SHT11 och I2C på processorns TWI?
Mvh
Nisse
ok, då förstår jag. Jag har inte jämfört TWI/SHT11 så noga att jag vågar påstå att det kan blandas mellan i2c och SHT´ns avart. Men om jag skulle använda det som du tänkt hade jag iallafall kollat databladen för att veta vad som skiljer (nu har du kanske redan det och det är jag som sitter här o yray för mig själv bara....) och om det går att blanda.
Postat: 4 juli 2007, 07:56:17
av Nisse
Björn -> Jag är inte så skicklig att jag klarar av att skriva ett program som bit-bangar kommunikationen med SHT11 utan att läsa databladen.
Men så hade jag ju en fråga också: (även den tyder på att jag läst databladen)
http://www.sensirion.com/en/pdf/product ... HT7x_E.pdf
På sidan 3 i databladet ovan ser man ett timing-diagram. Tittar man på de delarna som visar när man läser data från kretsen så tolkar jag det som att man skall sätta SCK hög och sedan läsa av DATA innan man drar SCK låg igen. Stämmer det?
Mvh
Nisse
Postat: 4 juli 2007, 08:25:38
av björn
Datan ändras vid negativ flank och är "valid" under nästa positiva puls.
EDIT: Så ja, du tänker rätt.
Björn -> Jag är inte så skicklig att jag klarar av att skriva ett program som bit-bangar kommunikationen med SHT11 utan att läsa databladen
Jo, det e klart

Frågan är hur mycket som skiljer från "vanlig" I2C.
Postat: 4 juli 2007, 11:58:19
av v-g
björn:Troligen är det inte "I2C" bara för att slippa betala royalty.
Postat: 4 juli 2007, 12:50:42
av Nisse
björn skrev:Jo, det e klart

Frågan är hur mycket som skiljer från "vanlig" I2C.
När det gäller SHT11 så skiljer det en hel del från I2C. Största skillnaden är väl att det inte finns någon adressering, vilket gör att det inte går att sätta flera på samma buss.
Mvh
Nisse
Postat: 4 juli 2007, 13:26:28
av Micke_s
Det går att lösa det också
http://www.maxim-ic.com/appnotes.cfm/appnote_number/955
Med detta så kan du ha 3 st SHT11
Postat: 4 juli 2007, 13:42:56
av Nisse
Och hur skall jag då styra Maxim-kretsen?
Den lösningen kräver även den att SHT11 kan kopplas på samma buss som I2C enheter, vilket den inte kan.
Men det var en klart intressant appnote...
Mvh
Tobbe
Postat: 4 juli 2007, 13:45:41
av Micke_s
Ta två pinnar till styra switchen och två pinnar för prata med SHT11.
SHT11 ser mer ut att ha bidirectional spi.
Edit: nu vet jag inte om antal pinnar på processorn var begränsade eller ej.
Postat: 4 juli 2007, 13:51:12
av Nisse
Men då får jag ju fortfarande bitbanga? (antingen I2C till switchen eller SHT11 protokoll).
I så fall skulle det vara enklare med en analog switch som inte hade I2C interface utan bara 2 adresspinnar. 2 utgångar från AVR för att välja mellan SHT11or och TWI för att prata med dom. Då slipper jag bitbanga I2C.
Ännu bättre skulle vara en AVR med dubbla TWI
Mvh
Nisse
Postat: 4 juli 2007, 13:54:16
av Micke_s
Det går att använda TWI och en uart som halv duplex spi.
Switcharna finns i spi variant också.
Edit: beror på din atmega självklart.