Vraag:
I2C Bus Analyzer
Thomas Weller
2016-01-27 14:43:29 UTC
view on stackexchange narkive permalink

Ik ben op zoek naar hardware die

  • de kwaliteit van I²C-signalen analyseert
    • spanning
    • kwaliteit van het gegevenssignaal (kwaliteit van de rechthoek)
    • kwaliteit van het kloksignaal (kwaliteit van de rechthoek)
    • mogelijk andere dingen zoals gedefinieerd door I²C (ik ben nog niet zo bekend)
  • toont de gegevens die op de I²C-bus worden verzonden
    • busmonitor (alleen de hexadecimale waarden)
    • gegevensextractor (interpreteer de hexadecimale waarden, bijv. scheid adres van gegevens)

Dit kunnen twee aparte tools zijn of een alles-in-één tool. Voor beide zou het geweldig zijn als er een verbinding met de pc is (bijvoorbeeld via USB) zodat ik gemakkelijk testrapportdocumenten kan genereren, de gegevens kan opslaan of doorsturen naar iemand anders.

Ik heb geen budgetbeperking momenteel, aangezien ik het budget moet opvragen.

Hoofdgebruikers / moderators: zijn er betere tags? Ik kon , , , niet vinden, maar ik denk nog steeds dat deze vraag is over onderwerp omdat het een elektronisch item is, verbinding maakt met een pc en zinvolle taken kan uitvoeren.

Een antwoord:
#1
+3
fsteff
2016-01-29 00:31:09 UTC
view on stackexchange narkive permalink

Om de signaalintegriteit te meten, heb je alleen een oscilloscoop nodig. Uw vereisten staan ​​niet in de (oude) I2C-specificaties, maar moeten worden gevonden in de gegevensbladen voor uw specifieke apparaten die op de bus zijn aangesloten.

Voor het snuffelen en analyseren van de bus zou ik een Saleae aanbevelen Logica. ( http://www.saleae.com). Latere versies kunnen ook analoge metingen uitvoeren. Alle metingen kunnen worden geautomatiseerd (en in een netwerk worden opgenomen) en ze hebben een mooie API beschikbaar om uw specifieke meting aan te passen.

Bewerken om details uit te werken:

U moet overwegen wat u nodig heeft en wanneer u het nodig heeft. De lijst met dingen die je normaal gesproken niet in één test wilt passen.

Ik ga meestal op in de volgende fasen:

Circuitontwerp

Hier leest u het gegevensblad voor de I2C-slaveapparaten. Ze specificeren elk de min / max stijging / daling-timing voor zowel de klok als het datasignaal (meestal identiek). U bent meestal in staat om een ​​juiste timing te garanderen door pull-upweerstanden met standaardwaarde te gebruiken. Zorg ervoor dat u testkussens levert op zowel SDA- als SCL-lijnen.

Circuitverificatie

Wanneer u uw eerste PCB terug heeft van de fabricage, is het tijd om te controleren of de ontwerpparameters correct zijn. Meet met een stroomkring de kortsluiting naar aarde van beide signaallijnen en zorg ervoor dat deze past bij uw berekende ontwerpwaarden. Gebruik vervolgens hardware-ophaalsoftware om de I2C-host gegevensverkeer te laten genereren en met een oscilloscoop (of andere middelen) te verifiëren dat aan uw ontwerpparameters wordt voldaan. Mogelijk hebt u wat capaciteit van het PCB-ontwerp dat uw ontwerpparameters verknoeit. In slechte gevallen moet u misschien zelfs de lay-out van het bord opnieuw uitvoeren om het probleem te herstellen.

Systeemweergave

Dit is waar u begint met het implementeren van stuurprogramma's voor elk van de slaafapparaten. Daarom kan een I2C-analyser erg handig zijn. Dit is meestal het moment waarop u problemen met overspraak ontdekt, waarvoor u ofwel een tijdelijke oplossing bedenkt of, correcter, teruggaat naar het ontwerp om het op te lossen.

Productietesten

Op dit punt weet je dat je een werkend ontwerp en een werkend systeem hebt. De componenten zijn getest door de fabrikant, dus we kunnen aannemen dat ze werken. Gebruikelijke problemen in verband met de fabricage zijn verkeerde plaatsing van componenten, slecht solderen en kortsluiting. U kunt dit alles verifiëren met twee eenvoudige metingen op de testpunten: spanning op testpunt en de kortsluiting naar aarde vanaf het testpunt.

Hiermee hoop ik dat u een beter begrip krijgt van wat uw eisen in werkelijkheid zijn.

Bedankt, vooral voor het tweede deel. Het "oscilloscoop" -gedeelte van het antwoord is een beetje breed. Bijv. Ik heb een oud Philips analoog tweekanaals 20 MHz-stuk beschikbaar, maar het was nog niet zo nuttig. Ik denk dat het een digitale opslagoscilloscoop zou moeten zijn, maar hoe zou ik zelfs met zoiets de afwijking (bijvoorbeeld in%) van het verwachte signaal meten? Hoe bereken ik het verschil met een referentiesignaal? En hoe weet ik dan of dit verschil ok is of schade kan veroorzaken?


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...