problem med i2c och picar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: problem med i2c och picar

Inlägg av sodjan »

OK. Ja en UCB-PIC är lite mer komplex på just oscillatorsidan.
Men det är å andra sidan ingen annan än du som kan ta reda
på vilken hastighet din I2C (och din processor) kör på, det är ju
bara du som sitter med den informationen...

> då jag kör med MPLABs configuration bits.

Du bör köra med den CONFIG som *du* vill ha, inte den som MPLAB väljer åt dig.

> Samt att jag tycker databladets förklaring över frekvensen är ganska... lös.

Jag vet inte vad "lös" betyder. Vad är det som är oklart ?

> PLL Prescaler: divide by 6.
> CPU Postscaler: OSC1/OSC2 src: /1, 96MHz PLL / 2.
> Full Speed USB Source: PLL / 2
> Occilator: HS: HS+PLL, USB-HS

Och vad är det för kristall ?
Sedan kan du använda oscillator-kapitlet för att ta reda på resten.
Roze
Inlägg: 113
Blev medlem: 30 april 2006, 17:11:11
Ort: HUDDINGE
Kontakt:

Re: problem med i2c och picar

Inlägg av Roze »

> Och vad är det för kristall ?
En liten 24MHz från Elfa :)

> Jag vet inte vad "lös" betyder. Vad är det som är oklart ?

Hittade inte min konfiguration i tabellen över hastigheter. Samt att de namnen som står i Configuration Bits inte verkar vara riktigt samma som i databladet. I alla fall inte på Occilatordelen. Men men, kan ju vara jag som e analfabet också. Händer ganska ofta ^^

Antingen är det 25KHz eller 50KHz som e I2C-hastigheten, som sagt var är jag inte 100 på hur jag ska läsa tabellen.
Om jag sätter SSPADD till 119 (vilket borde dubbla hastigheten), så hänger sig bussen direkt istället

Men nu ska jag sussa, svarar igen imorgon. Natti natti =^.^=
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: problem med i2c och picar

Inlägg av sodjan »

> En liten 24MHz från Elfa

Frekvensen räcker. Varken att den är liten eller att den kommer från ELFA
har någon betydelse... :-)

OK, så det är 24 MHz in från kristallen. Då kan du använda beskrivningen (och
schemat) i oscillator kapitlet för att "nysta upp" vilken Fosc (d.v.s frekvensen
på själva processorn) har. Sedan finns det en enkel formel där man utifrån
Fosc och SSPADD får fram I2C frekvensen... :-)

När det gäller CONFIG så finns det i ett eget kapitel i databladet. Det brukar
gå att mappa namnen som används i koden mot databladet för att reda ut
vad som är satt eller inte.

> som sagt var är jag inte 100 på hur jag ska läsa tabellen.

Ange gärna namn på och sidnummer till "tabellen". Så slipper vi
gissa vilken tabell det handlar om.
Roze
Inlägg: 113
Blev medlem: 30 april 2006, 17:11:11
Ort: HUDDINGE
Kontakt:

Re: problem med i2c och picar

Inlägg av Roze »

>Ange gärna namn på och sidnummer till "tabellen". Så slipper vi gissa vilken tabell det handlar om.
PDF sida 32 altenativt Sidnummer 30 (för den som gillar den skrivna numreringen bättre)

http://ww1.microchip.com/downloads/en/D ... 39632b.pdf

Efter vad jag får ut kör min CPU på 48MHz. Varpå I2C borde va inställd på 50KHz i nuvarande läge.
Rätt?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: problem med i2c och picar

Inlägg av blueint »

Roze, Lägre hastighet -> Möjlighet att ha längre kabel.

Clock = Fosc / (4*(SSPADD+1)) = 24 000 000 / (4*(239+1)) = 25 000 Hz

PIC18F2550:
PIC18F2455/2550/4455/4550 Data sheet
"19.4 I2C Mode" sida 204
"REGISTER 19-4: SSPCON1: MSSP CONTROL REGISTER 1" sida 206.

Åtgärder som kan hjälpa:
* Ett enkelt trix att prova är att byta SSPADD till 255.
* För bra resultat bör man nog använda en lägre klockfrekvens än 24 MHz. Prova gärna en 3 MHz.
* Byt också ut pull-up till 2-4k Ohm.
* "Repeater" på vägen. Kanske lite krångligt men ;)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47010
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: problem med i2c och picar

Inlägg av TomasL »

En förutsättning för att man skall lyckas med att skriva ett program för en uProcessor är att man har "järnkoll" på hårdvaran, dvs kan den i princip innan och utan.
Elementära grejjor som Oscillatorfrekvenser mm måste sitta i ryggmärgen.
I2C mm är nog inte det första projekt man skall ge sig på, framförallt inte om man inte har koll på protokollets elektriska krav.

DItt projekt är, tror jag, dömt att misslyckas, om du inte ens vet vilken oscillatorfrekvens, eller hur configen är satt, så skall du i princip glömma att få en I2C buss att fungera överhuvudtaget.

Börja om från början, gör det riktigt.
Börja med att lära dig hur PIC-kretsarna är uppbyggda, lär dig databladet utantill.
Därefter måste du lära dig hur ditt utvecklingssystem fungerar, för att få bl.a. configurationen på rätt sätt.
Först därefter kan du börja leka med blinkande lysdioder.
Om du sen skall gå vidare med avancerade saker måste du få Elektronikdelen rätt.

OBS detta är inte för att vara elak eller nedlåtande, utan för att hjälpa dig att få rätsida på det och undvika att bli helt galen.
Det finns inga genvägar, enbart det rätta sättet.

Dessutom är uChips datablad fantastiskt detaljerade och förklarar allt på ett mycket enkelt och lättfattligt sätt.
Glöm dessutom inte erratorna, lika viktiga som databladet i sig.
Roze
Inlägg: 113
Blev medlem: 30 april 2006, 17:11:11
Ort: HUDDINGE
Kontakt:

Re: problem med i2c och picar

Inlägg av Roze »

TomasL: Jag är helt övertygad om att jag kommer få det att fungera förr eller senare, trotts allt har jag fått ordning på flera projekt som använder USB. Och även om jag nu e relativt dålig på att lära mig datablad och få elektroniken rätt från början, så lyckas jag bygga mer avancerade saker själv, än vad andra projektgrupper på min linje lyckas med efter examen.


Efter att ha testkört systemet nu i 2 dygn utan den längre biten sladd samt dess slav, kan jag konstatera att det verkar stabilt. Ska låta den gå vidare för att se. Så jag gissar på att jag ger de där philips chipen ett försök.,
Användarvisningsbild
AndLi
Inlägg: 18305
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: problem med i2c och picar

Inlägg av AndLi »

TomasL: Nu får du väll ge dig, det finns absolut ingen anledning att kunna allt om en µC för att skriva ett program till den. Ja det kan vara bra att förstå de delar man ska använda, men varför förstå PWM, AD mm när man ska använda I2C?

Och varför ska man lära sig +200 sidor datablad utantill? Vad har man för nytta av att ha alla registerbittar i huvudet? Möjligen kan man behöva läsa igenom hela databladet, och verkligen förstå de delar man ska använda. Alla uppgifter finns ju kvar, det är bara att gå tillbaka och kolla hur det var man skulle sätta upp det hela...
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Re: problem med i2c och picar

Inlägg av vfr »

En lagom nivå, tycker jag, är att läsa igenom allting snabbt. Framförallt initieringsbitarna och "grå rutor. Sedan läser man berörda kapitel noggrannt så man kan dom utantill. Då har man läst in berörda delar och kan hitta i övriga delar tillräckligt för att slå upp och leta efter saker om man får problem.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47010
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: problem med i2c och picar

Inlägg av TomasL »

ANDLi, vad jag menar är naturligtvis att man skall veta vad man ger sig in på.
Uppfattar det som dålig teknik och dålig utb, för det är väl det det handlar om, när man inte ens har koll på det elementäraste.

Visst man kan få det mesta att fungera med trial and error, utan att ha en susning om vad man gör.
Men är det en bra metod, knappast.
Sedan menar jag naturligtvis inte att man skall kunna databladet bokstavligen utantill, det är väl snarare ett talesätt.
reine
Inlägg: 33
Blev medlem: 25 augusti 2009, 11:52:30
Ort: Stenungsund

Re: problem med i2c och picar

Inlägg av reine »

Ett sätt att komma längre sträckor med I2C skulle kanske vara att köra det över RS-485 med en adapterkrets som denna: http://panola.kyla.fi/~jap/Electronics/ ... index.html

Har inte testat den, men det ligger med i min långtidsplan för mina egna projekt (har köpt kretsarna som nu ligger och anpassar sig till miljön här hemma, det kan ta sin lilla tid... :roll: ).

//Reine
Skriv svar