RTFM, ordentligt, en av de viktigaste sakerna att göra.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Lite erfarenheter om att inte RTFM, tillräckligt bra.

En PIC18 5V skall prata med en 3,3V PIC32 över SPI, inga konstigheter, eller??.

Jo det är det, för det går "inte".

Om man läser PIC18-Referensen noggrant, så kommer man underfund med att I/O-na vilka normalt är TTL, där nivåerna är helt OK även vid 3,3V för en 5V-krets, ändrar sig till Schmitt-trigger när de konfigureras till SPI, med lägsta spänning för en etta om 4V, vilket naturligtvis funkar dåligt, då en 3,3V krets "bara" ger runt 3V ut för en Etta.
Iofs inga problem egentligen, eftersom PIC32 pinnarna är 5V tolleranta och kan konfigureras som OC, men då krävs ju att kortet är förberett för pulluper :(

En annan sak att tänka på, en del av PIC18'ns I/O-na är alltid ST, och då får man tänka på hur man skall mata dem, så nivåerna blir tillräckliga, dvs inte TTL utan 4V eller högre.
Man kan till exempel inte koppla ihop ingången till en ULN2003 eller liknande med en ST-Ingång hur som helst, då ingångsimpedansen i en ULN är rätt låg.

Så som sagt RTFM, framlänges, baklänges, på tvärsen osv.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av Lennart Aspenryd »

Tack för inlägget.
Varken PIC eller livet är något annat än egna erfarenheter är guld värda.
Så tack igen säger Lasp ;-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Ja, det blev en "dyr" lärdom sas, ny kortversion.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av xxargs »

Man kanske måste brännas sig minst en gång - men det gäller alltid att se upp med nivåer och kontrollera noga om man blandar logik matad med olika matningsspänningar eller kommer från olika logikfamiljer med olika giltiga nivågränser för '0' resp '1'...

tex. darlington_buffer som ULN2803 ger tex. inte någon giltig TTL-'0' när den sänker, att det fungerar ändå till 99.9% hjälper inte när det skiter sig när det är som allra viktigaste - och det är ju så otroligt lätta fel att hitta också, särskilt när det är inkopplad till andra fabrikats odokumenterade interface där man valt den billigaste vägen - dvs rakt in på logik... *NOT*
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Visst är det så, "det funkade ju innan, varför funkar det inte nu", typ.
Naturligtvis slarv från min sida, att inte kontrollera detta noggrannare, men hmm det funkade ju under prototyping, eller, det kanske inte var glappkontakt/programbuggar i proto-uppställningen, eller???
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av Kaggen »

Några frågor om detta, eftersom jag är på gång att göra en liknande hopkoppling mellan en PIC18F14K50 (5V varianten) och en 3.3V krets via I2C.

Vilken PIC18 modell var det du använde? När jag kollar databladet för den jag skall använda (PIC18F14K50) så verkar det vara följande gränsvärden för I/O portarna (både för F och LF varianten vad jag förstår):
Input LOW voltage
TTL MAX 0.8V
Schmidt trigger Max 0.2V
i2c levels Max 0.3V

Input HIGH voltage
TTL Min 2.0V
Schmidt trigger Min 0.8V
i2c levels Min 0.7V

I ditt fall tycker jag 4V verkar väldigt högt? Om jag förstår databladet rätt (för "min" PIC18) så ska en spänning på över 0.7V trigga en logisk etta på i2c porten? Du får mig att undra om jag misstolkat databladet efter som gränsvärdena jag har är så låga och ditt 4.0V för en etta.

Dock är ju 14K50 en av dom nyare PIC18 varianterna så kanske konstruktionen är bättre än de äldre?

Jag tänkte använda pullup mot 3.3V matningen för i2c bussen eftersom speccarna för kretsen jag skall ansluta är väldigt diffusa vad gäller SDA och SCK in/utgångarna. PICen tänkte jag mata med 5V Vcc (men i2c bussen går ju mot 3.3V).

Jag testar väl på experimentplatta först innan jag gör ett eventuellt PCB.
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av netrunner »

Till viss del tycker jag att detta är författarens fel.

Troligen vet han mycket väl vilken information som är extra viktigt och det är hans uppgift att förmedla den informationen. Att inte göra det och sen skylla på att man måste vara "korrekt" är inte ok.

Jag skriver flera tekniska manualer till 100-tals "icke-tekniker" på jobbet. Följer man inte manualen kostar det lätt 5 - 15kkr per person.

Nu har jag gått över till att göra hela manualen i serietidnings-format. Varje knappryckning har en egen ruta med en stor pil. Viktiga moment har alltid en "kontrollera att det ser ut såhär nu" ruta. Massor av glada bilder och väldigt lite text.

Förr var det kanske 35% som öppnade bruksanvisningen, nu är det mer än 70%.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Kaggen, det är 18F8722-serien.

Enligt databladet så är Vmin för en etta 0,8Vdd, dvs 4V vid 5V.
Databladet har ett antal olika spänningar vid olika Vdd.
I2C är lite annorlunda, då nivåer mm är specificerat i en standard, SPI är ingen standard, så varje tillverkare gör lite som de tycker.
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av Kaggen »

Ajdå, jag ser nu att jag fattat fel. Jag var så inställd på Volt så jag tänkte inte ens på att det stod Vdd och inte V efter. Det skall alltså vara Vdd efter alla värden i mitt förra inlägg. Så jag har samma problem som du.

Fast jag kan dock inte räkna med att den 3.3V krets jag ska "snacka med" via i2c klarar 5V på i2c bussen. Om jag har Vdd=5V så blir ju 0.7Vdd=3.5V kretsen klarar 3.6V enligt spec. Det blir 0.1V marginal. Känns lite klent.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Förvisso ett problem, tillbaka till ritbordet.
ToPNoTCH
Inlägg: 5152
Blev medlem: 21 december 2009, 17:59:48

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av ToPNoTCH »

TomasL skrev:Ja, det blev en "dyr" lärdom sas, ny kortversion.
Det är den här typen av "prototyping", som ofta kan tillskrivas utvecklingskostnad.

Många som köper saker räknar på vad ingående komponenter kostar och förstår inte hur säljaren kan ta ut så högt pris.
Då har dom inte begripit att utvecklaren torskar på, just den här typen av kostnader.

Det enda jag kan lova dig är att det inte är sista gången du torskar på det.

Hur ***la mycket datablad man än läser så är det alltid någon liten grej man missar och kommer man undan med 1-2 prototyp kort innan slutgiltig design, så skall man definitivt klappa sig själv på axeln.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av Swech »

Går det inte att slå på intern pull up på någon av de båda kretsarna trots valt interface?
(kan inte PIC såpass detaljerat)

Är det massa data som skall skickas?
Om inte, går det inte att köra lite mer manuellt mellan dem?

Swech
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46986
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av TomasL »

Nja, det hjälper inte, då IOna måste vara 5V-toleranta.

En ide, funkar dock inte på I2C eftersom den är dubbelriktad är att buffra linorna med någon HCT eller liknande.

NXP har lite appnotes om just detta och I2C
http://www.nxp.com/documents/applicatio ... N10441.pdf
http://ics.nxp.com/support/documents/in ... n97055.pdf

Topnotch, jo man kommer säkert att gå den eller liknande minor i framtiden också.
niklo
Inlägg: 150
Blev medlem: 16 september 2009, 11:46:48
Ort: Norrköping

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av niklo »

P82B96DP kan användas för att ändra spänningsnivå på i2c.
ToPNoTCH
Inlägg: 5152
Blev medlem: 21 december 2009, 17:59:48

Re: RTFM, ordentligt, en av de viktigaste sakerna att göra.

Inlägg av ToPNoTCH »

Jag kör med PCA9306 på mina Multicopter styrkort.

Dom var beskedliga och gav fina flanker utan massa fippel.
Skriv svar