Zendamateur.COM

24 uur per dag QRV
Het is nu 15 okt 2019, 00:43

Alle tijden zijn GMT + 1 uur




Plaats een nieuw onderwerp Antwoord op onderwerp  [ 13 berichten ] 
Auteur Bericht
 Berichttitel: I2C
BerichtGeplaatst: 27 mei 2019, 13:12 
Offline

Geregistreerd: 16 nov 2011, 20:45
Berichten: 279
Ik ben bezig om met het HMC5883L chipje een kompas te maken , het werkt keurig , maar ik heb een EMC probleempje.
telkens op 1 achterflank van de SDA puls ontstaat er een ruisbult , heel erg kort , maar hinderlijk.

Meetopstelling USB -> I2C omzetter , kompas-printje , scoop
Geel = clock vd I2C
Paars = data
groen = breedbandig afgeschermd "stroom" lusje 3 cm diameter, afgesloten met 50 Ohm. op 2 cm afstand vd USB kabel
Wit = FFT van de groene trace

Let op de steile achterflank van de laatste puls.
Op dit moment ook een korte voedingsspanningsdip van 0.5 volt. ( niet zichtbaar op de scoop )
Pull-up weerstanden 4,7 K , verandering had geen invloed

Het kompas ook nog op een arduino aangesloten , hetzelfde resultaat.
Plaatje 0 is zonder signaal
De rest is steeds verder uitvergroot
Mijn vraag is heeft iemand dit eerder gezien ? , wat was de oplossing cq oorzaak ?

gr
Goos


Bijlagen:
scoop3.jpg
scoop3.jpg [ 166.1 KiB | 669 keer bekeken ]
scoop2.jpg
scoop2.jpg [ 171.07 KiB | 669 keer bekeken ]
scoop1.jpg
scoop1.jpg [ 165.64 KiB | 669 keer bekeken ]
scoop0.jpg
scoop0.jpg [ 159.19 KiB | 669 keer bekeken ]

_________________
Peilen is het omgekeerde van een antennediagram opmeten.
pa0sir
Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 27 mei 2019, 14:58 
Offline
Avatar gebruiker

Geregistreerd: 06 nov 2010, 18:00
Berichten: 767
Woonplaats: Amsterdam
Is die USB afgeschermd? I2C staat nou niet direct bekend als een high-speed protocol...

Tjerk, 9ZZ


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 27 mei 2019, 15:19 
Offline
Avatar gebruiker

Geregistreerd: 30 jul 2009, 19:32
Berichten: 225
Gebeurd dat alleen aan het einde van een datatransfer ?
Ik zie nl. dat eerder de SDA ook van hoog naar laag en daar gebeurt niets.

Aan het einde van de data transfer schakelt de zendende partij om van tx naar rx. De rx doet dat andersom om een ACK te kunnen geven.
Als de 2e sneller dan de 1e is kun je wel eens rare dingen gaan zien.
Misschien is je klokpuls te slap waardoor de timing ongelukkig is geworden ?

Kun je die timing instellen bij de chip ? of is die autonoom en alleen afhankelijk van de kloksnelheid ?


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 27 mei 2019, 17:34 
Offline

Geregistreerd: 16 nov 2011, 20:45
Berichten: 279
@PE9ZZ
De meeste PC hebben niet standaard een I2C naar buiten uitgevoerd, vandaar de omzetter naar USB.
Wellicht intern wel weer, maar dit weet ik niet. Ik heb met een terminal progje gewerkt voor deze chip.
Was trouwens een MCP2221
https://www.microchip.com/wwwproducts/en/MCP2221

Op het kompas-printje zelf zit ook een GPS module die via RS232 werkt. Dit geeft geen enkel probleem.

@ PE1KWH
Het gebeurt inderdaad alleen aan het einde van de datatransfer van een byte.
De steile achterflank is een soort van dirac puls waar alle frequenties in zitten sommige iets meer andere minder , vandaar een algemene verhoging in ruis en hier en daar wat bulten.
De FFT wordt berekend over het zichtbare gedeelte van de trace (de groene ) ook over het "lege" gedeelte vandaar dat er verschil in level zit bij meer of minder uitvergroten.
Timing is voor zover ik weet niet in te stellen. De data komt verder ook prima over.
Vreemde is ook dat het zowel met de omzetter gebeurt als met een arduino.
Het lijkt er inderdaad wel op of er momenteel een sluiting ontstaat doordat een van de beide te vroeg en te hard naar laag gaat.
Maar wie is verantwoordelijk ?
Ik ga morgen eens een weerstandje in de datalijn zetten. Ik heb nog een scoop kanaal over, kijken of ik de dader kan vinden.
Ik weet niet of het lukt maar in principe kan ik de I2C data ( bytes) er ook nog bij zetten echter ik ben bang dat dan de achterflank niet meer zo goed zichtbaar wordt omdat dit protocol de tijdbasis en de samples/seconde gaat overnemen.
Ben eigenlijk wel benieuwd of er nog meer mensen zijn die met dit kompas gewerkt hebben.

gr
Goos

_________________
Peilen is het omgekeerde van een antennediagram opmeten.
pa0sir


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 27 mei 2019, 17:55 
Offline
Avatar gebruiker

Geregistreerd: 06 nov 2010, 18:00
Berichten: 767
Woonplaats: Amsterdam
Want die Arduino heeft wel een I2C interface? Net als Raspberry Pi? (ben niet zo thuis in Arduino, vandaar)

Zegt de datasheet van die chip hier wat over? Misschien is-ie ergens druk mee bezig na het voorlaatste I2C bit (de laatste is het stopbit meen ik me te herinneren zonder in de doc te duiken).

Tjerk, 9ZZ


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 27 mei 2019, 20:19 
Offline

Geregistreerd: 16 nov 2011, 20:45
Berichten: 279
@PE9ZZ

Zo goed ben ik er ook niet in thuis, Maar ik denk dat het niet dat het de chip is die druk bezig is, dan zie je andere dingen . Hier is het duidelijk de steile flank die de oorzaak is. Zie ook het tijdstip en de response op het lusje.
Normaal zou ik me er niet zo druk over maken als niet ergens in het HF gedeelte van een ontvanger binnen zou kunnen komen, maar de schakeling komt ongeveer 20 cm van een breedband antenne te staan , dus....
Normaal gesproken zouden het kompas en GPS ook verderop kunnen , maar dit is de enigste plek waar weinig "ijzer" in de buurt is.
Nog een pdfje van het interface-boardje en het tooltje wat ik gebruikt heb om te testen.
http://ww1.microchip.com/downloads/en/devicedoc/50002282a.pdf

Goos

_________________
Peilen is het omgekeerde van een antennediagram opmeten.
pa0sir


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 28 mei 2019, 08:09 
Offline

Geregistreerd: 10 dec 2014, 21:59
Berichten: 308
Woonplaats: Groningen
PE9ZZ schreef:
Want die Arduino heeft wel een I2C interface?


Ja, hardwarematig ingebakken in de Atmel chip.

_________________
_______________________________________________
Na jaren afwezig toch maar weer eens rondkijken.
UV-B5, RTL stick, SDRPlay2, miniwhip, magloop, X300
http://www.pa3cqn.nl
_______________________________________________


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 28 mei 2019, 09:12 
Offline
Avatar gebruiker

Geregistreerd: 06 nov 2010, 18:00
Berichten: 767
Woonplaats: Amsterdam
@PA3CQN: Ik dacht al zoiets. Maar wat ik dan niet snap is dat het met die USB breakout board interface optreedt en met de Arduino dus ook. Dat zou suggereren dat het uit de kompaschip komt. Die HMC5883L dus. Begrijp niet waarom het dan zo aanwezig is op de USB kabel. Dit is een symmetrisch protocol (+D, -D) dus dat zou moeten cancelen.

Tjerk, 9ZZ


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 28 mei 2019, 10:27 
Offline

Geregistreerd: 10 dec 2014, 21:59
Berichten: 308
Woonplaats: Groningen
PE9ZZ schreef:
@PA3CQN: Ik dacht al zoiets. Maar wat ik dan niet snap is dat het met die USB breakout board interface optreedt en met de Arduino dus ook. Dat zou suggereren dat het uit de kompaschip komt. Die HMC5883L dus. Begrijp niet waarom het dan zo aanwezig is op de USB kabel. Dit is een symmetrisch protocol (+D, -D) dus dat zou moeten cancelen.

Tjerk, 9ZZ


Ik denk dat het met de USB lijn niet te maken heeft, maar met de voeding.
Maar dan zou je moeten weten hoe het echt aangesloten is. De kompasprint moet 3,3 V
hebben. Dat komt eventueel uit de I2C omzetter: als je daar de USB aansluiting als voeding
gebruikt kun je met de jumper kiezen of VDD 5/3,3 volt wordt. Met de jumper op 3,3 V
zou die VDD uitgang dan naar de kompasprint moeten.
Op de scoop plaatjes zijn de I2C signalen 4 volt, dat is dus raar bij 3,3 V voeding.

Ik begrijp ook de 4k7 pullup niet, want er zitten ook al 2k2 pullups op de MCP2221.

Als ik daarbij neem dat met de Arduino ( standaard 5 V I2C ) hetzelfde gebeurt denk ik
dat de kompas chip met 5 volt ipv 3,3 V wordt gevoed. Ook omdat het probleem zich voordoet
precies wanneer SDA wisselt van IN/OUT.

Goos kan daarop het antwoord geven?

_________________
_______________________________________________
Na jaren afwezig toch maar weer eens rondkijken.
UV-B5, RTL stick, SDRPlay2, miniwhip, magloop, X300
http://www.pa3cqn.nl
_______________________________________________


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 28 mei 2019, 18:57 
Offline
Avatar gebruiker

Geregistreerd: 30 jul 2009, 19:32
Berichten: 225
Ik heb zo'n chip aan een RM186 LoRa module geknoopt, zal morgen eens kijken hoe dat er uit ziet als ik ff tijd heb ( op QRL ).
Het ding werkt goed voor zover ik weet.


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 29 mei 2019, 18:41 
Offline

Geregistreerd: 16 nov 2011, 20:45
Berichten: 279
Ik heb nog even gekeken naar wat andere apparatuur waar I2C in zit.
u-Controler met RDS chip via I2C . Hier zag je dat de timing veel nauwkeuriger is dan bij de Arduino.
Spurious enz kon ik niet meten op dezelfde manier, maar het zag er allemaal veel netter uit.
Trouwens nog wel weer even naar de Arduino gekeken, met het voorbeeld progje , begon me ook op te vallen dat de achterflank vd data heel erg kort op de flank vd clock zit.

@PE1KWH Had je nog tijd gehad om te kijken ?

gr
Goos

_________________
Peilen is het omgekeerde van een antennediagram opmeten.
pa0sir


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 30 mei 2019, 15:34 
Offline
Avatar gebruiker

Geregistreerd: 30 jul 2009, 19:32
Berichten: 225
Ik heb inderdaad gekeken en wat scoopplaatjes genomen.

Bijlage:
IMG_6474.JPG
IMG_6474.JPG [ 112.83 KiB | 364 keer bekeken ]

Dit is de request vanuit de controller naar de magnetometer.

Bijlage:
IMG_6473.JPG
IMG_6473.JPG [ 100.97 KiB | 364 keer bekeken ]

Dit is het laatste databyte vanuit de magnetometer naar de controller, met Nack i.v.m. single read.

Je ziet bij mij geen ringing op de data lijn ( onderste ). Wel zie je veel steilere flanken bij dezelfde kloksnelheid van 400 kHz.
Controller is een Laird RM186 LoRa module.
Pull=up is 4k7 met parallel daaraan waarschijnlijk 2k2 op het break-out boardje.
Chip is een DA 5883 ( volgens opdruk op chip ) = HMC5883L als het goed is.
Bijlage:
IMG_6476.JPG
IMG_6476.JPG [ 109.57 KiB | 364 keer bekeken ]


Omhoog
 Profiel  
Antwoord met een citaat  
 Berichttitel: Re: I2C
BerichtGeplaatst: 30 mei 2019, 17:09 
Offline

Geregistreerd: 16 nov 2011, 20:45
Berichten: 279
Bedankt Hans voor het meten.

Bij mij was op de datalijn ook geen ringing te zien , alleen op de groene trace.
Dit was de response op het hoogfrequent oppicklusje. De FFT was ook van deze trace.
Je ziet dat bij mij ,op scoopplaatje3, de impuls op het lusje exact samenvalt met die achterflank
Hetzelfde spectrum was ook te zien met een antennetje op een spectrumanalyser en een tijdje maxhold. ( zodoende kwam ik er achter)
Alleen dan kun je niet de "dader" isoleren.
De scoop van het werk ( kan hem zelf niet betalen ) is een geweldige tool om dit soort dingen te pin-pointen. Ik zal hem missen als ik met pensioen ga.

Jou metingen bevestigen in ieder geval de steile flank. Ik ga nog eens kijken of ik nog meer spullen heb waar I2C in zit. Tot nu toe ben ik die steile fank nog niet tegengekomen.
Een neef van mij heeft bij NXP chips ontworpen , die kwam het ook onbekend voor.

In ieder geval iedereen bedankt voor het meedenken.

Goos

_________________
Peilen is het omgekeerde van een antennediagram opmeten.
pa0sir


Omhoog
 Profiel  
Antwoord met een citaat  
Geef de vorige berichten weer:  Sorteer op  
Plaats een nieuw onderwerp Antwoord op onderwerp  [ 13 berichten ] 

Alle tijden zijn GMT + 1 uur


Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast


Je mag geen nieuwe onderwerpen in dit forum plaatsen
Je mag niet antwoorden op een onderwerp in dit forum
Je mag je berichten in dit forum niet wijzigen
Je mag je berichten niet uit dit forum verwijderen
Je mag geen bijlagen toevoegen in dit forum

Zoek naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
phpBB.nl Vertaling