www.dedoshop.com
Risultati da 1 a 14 di 14
Like Tree8Likes
  • 1 Post By MARCHISIO80
  • 1 Post By freelancer
  • 1 Post By lapht
  • 1 Post By lapht
  • 1 Post By freelancer
  • 1 Post By C14uz
  • 2 Post By Electron^-

Discussione: I2c sniffer/analyzer

  1. #1
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236

    I2c sniffer/analyzer

    Per curiosita' volevo "sniffare" tramite bus i2c(naturalmente su xbox,punti sda e scl) il device/dispositivo 0xE0 e leggere all'indirizzo/registro 0xCD i PLL frequency register e all'indirizzo/registro 0xCE i PLL reset register


    Cosa si puo' utilizzare?
    Ho visto i2c sniffer autocostruiti,ma non so se si puo' utilizzare il cpld,ma credo di si,se puo' scriverci potra' anche leggere,almeno credo
    Pero' per entrambi servirebbe del codice

    Non mi interessa "sniffare" tutto quello che passa dal bus,e' gia' stato fatto come prova


    Spero di esser stato abbastanza chiaro e scusatemi per i termini poco tecnici


    I2c sniffer/analyzer-example.png

    I2c sniffer/analyzer-i2c-protocol-analyzer.jpg

    Se qualcuno puo' aiutarmi......................



    Grazie
    Ultima modifica di MARCHISIO80; 27-05-12 alle 23: 24
    The Pusher likes this.
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  2. #2
    Membro
    Data Registrazione
    Nov 2011
    Messaggi
    73
    A te non serve uno sniffer. Lo sniffer monitorizza le trasmissioni di dati tra i dispositivi connessi ad un bus. Quello che tu vuoi fare è connetterti al bus (da master) e interagire con un determinato slave. Ti serve un'interfaccia.

    Non puoi farlo con la CPLD perchè non avresti la possibilità di collegarla al PC inviare comandi I2C e ricevere le risposte. La logica nceccessaria sarebbe troppo complessa per essere contenuta in un numero limitato di macrocelle. E' un compito da FPGA più che da CPLD. Il coolrunner dei chip RGH non esegue una vera e propria interazione con un dispositivo I2C, semplicemente invia una sequenza di bit predeterminata usando quelle linee, senza nessun tipo di elaborazione.

    Di norma si usano dei chip dedicati (es. FT2232H) come interfaccia USB-I2C, ci sono in vedita schede già pronte relativamente economiche e molti esempi di utilizzo in rete. Però dovrebbe essere fattibile "homemade" con un microcontrollore (PIC ecc.).
    MARCHISIO80 likes this.

  3. #3
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236
    Innanzitutto grazie mille per la risposta,gentile e disponibile come sempre
    Come avrai sicuramente capito non ci capisco molto(quasi niente ),ma qualcuno deve pur farlo

    Sul web avevo visto un dispositivo autocostruito di questo genere,ma da quello che deduco dalle tue parole non e' quello che fa per me

    I2c sniffer/analyzer-hardware.jpg

    Non sarebbe un grosso problema acquistare un'interfaccia USB-i2c gia' pronta,come quella suggerita da te(es. FT2232H) o utilizzare FPGA


    Il mio vero problema e' che sfortunatamente non so neanche da dove iniziare per preparare il codice necessario e per comprendere cio' che ricavero'..........per questo motivo ho deciso di chiedere aiuto qui sul forum a tutti......Forza ragazzi

    Chi ha un po' di tempo e' pregato di rispondere qui o contattarmi privatamente per maggiori informazioni

    Ho bisogno del vostro aiuto



    Grazie
    Ultima modifica di MARCHISIO80; 28-05-12 alle 18: 23
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  4. #4
    Vip Member L'avatar di lapht
    Data Registrazione
    Oct 2011
    Località
    Como
    Messaggi
    1,208
    Prima di scrivere il codice dobbiamo trovare l'integrato adatto xD

    EDIT:
    trovato i2c sniffer per arduino!
    [url]http://www.johngineer.com/blog/?p=455[/url]
    Ultima modifica di lapht; 28-05-12 alle 18: 11
    MARCHISIO80 likes this.

  5. #5
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236
    Grazie mille per la pronta risposta...............molto gentile

    Il problema con arduino e' che sniffa tutto quello che passa dal bus da quanto ho capito(e' stato gia' utilizzato come test per leggere tutto quello che passa dal bus i2c)...........pero' forse si puo' scrivere un codice apposta,non so

    Citazione Originariamente Scritto da Freelancer
    Quello che tu vuoi fare è connetterti al bus (da master) e interagire con un determinato slave. Ti serve un'interfaccia.
    Ultima modifica di MARCHISIO80; 28-05-12 alle 18: 22
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  6. #6
    Vip Member L'avatar di lapht
    Data Registrazione
    Oct 2011
    Località
    Como
    Messaggi
    1,208
    Bhe si possono aggiungere dei filtri! Magari non al codice dell'arduino ma al codice del programma sul pc!
    MARCHISIO80 likes this.

  7. #7
    Membro
    Data Registrazione
    Nov 2011
    Messaggi
    73
    Citazione Originariamente Scritto da MARCHISIO80 Visualizza Messaggio
    Grazie mille per la pronta risposta...............molto gentile

    Il problema con arduino e' che sniffa tutto quello che passa dal bus da quanto ho capito(e' stato gia' utilizzato come test per leggere tutto quello che passa dal bus i2c)...........pero' forse si puo' scrivere un codice apposta,non so
    Un prodotto venduto come sniffer dovrebbe andare bene, è più di quello che ti serve, però comunque dovrai fare delle personalizzazioni perchè sicuramente non troverai qualcosa di già pronto per funzionare con il bus della 360. Ovviamente va bene anche un interfaccia o una soluzione a microcontrollore (Arduino,PIC, o altro). Dovrai comunque scrivere del codice.

    Riguardo le soluzioni commerciali ci sono sia le intefacce semplici come questa:

    [url]http://www.seeedstudio.com/depot/bus-pirate-v3-assembled-p-609.html?cPath=61_68[/url]

    Che i prodotti più complessi e smaliziati come questo, che è un logic analyzer (analizza anche il protocollo I2C fra le altre molteplici cose) basato su un FPGA Spartan:

    [url]http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75[/url]
    Ultima modifica di freelancer; 28-05-12 alle 19: 41
    MARCHISIO80 likes this.

  8. #8
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236
    Grazie,grazie mille,mi state aiutando un sacco

    Aggiungo qualche informazione presa da xboxhacker


    Citazione Originariamente Scritto da Blackaddr
    You can read/write/dump the HANA by tying directly into the I2C header pins, but be warned the CPU executes polling reads of the HANA on a regular basis. If you try to read the entire 256 addresses in a row, you'll trash some of your transactions when the SMC tries to perform the poll. It's best to put a delay between transactions in this case.

    On my Falcon I was able to confirm byte endianness when I dumped the HANA and two registers had plaintext values.

    HANA[0x6d] = 0xdead beef
    HANA[0x7a] = 0xdead beef

    Engineers often use a variety of HEX values that makeup plaintext words. (e.g. DEAD BEEF BAAD F00D CAFE BABE, etc.)

    WRITE SEQUENCE:
    1) STOP
    2) START
    3) Send 0xE0, the HANA write-mode device address, wait for HANA to ACK
    4) Send the HANA register address you are writing to, wait for HANA to ACK
    5) Send 0x04, the number of bytes you will be transmitting, wait for HANA to ACK
    6) Send least significant byte0 of the data you are writing, wait for HANA to ACK
    7) Send byte1, wait for HANA to ACK
    8) Send byte2, wait for HANA to ACK
    9) Send byte3, wait for HANA to ACK
    10) STOP

    READ SEQUENCE:
    1) STOP
    2) START
    3) Send 0xE0, the HANA write-mode device address, wait for HANA to ACK
    4) Send the HANA register address you are reading, wait for HANA to ACK
    5) repeat START
    6) Send 0xE1, the HANA read-mode device address, wait for HANA to ACK
    7) Read byte, should be 0x04, send ACK
    8) Read byte0, send ACK
    9) Read byte1, send ACK
    10) Read byte2, send ACK
    11) Read byte3, send NACK (yes, you send NOT ACKNOWLEDGED)
    12) STOP


    Citazione Originariamente Scritto da Blackaddr
    CPU Reference Clock: this is a 100 MHz clock that comes from the HANA and connects to the CPU. The CPU will use this clock and it's own internal PLL(s) to generate any other internal clocks it needs (excluding PCIe, etc.), such as the CPU core clock, or perhaps a reset circuit clock. If you change this clock frequency by reprogramming the HANA (via I2C) you will also change the CPU Core Clock as a consequence.

    CPU Core Clock: this is the clock that runs the CPU instruction core. It is generated in the CPU from the CPU Reference clock, and will run much faster then the ref clock (think Gigahertz).

    PLL

    [url=http://it.wikipedia.org/wiki/Phase-locked_loop]Phase-locked loop - Wikipedia[/url]

    Da ignorante in materia la prima stupida idea che mi era venuta era pilotare l'XTAL tramite PLL esterno all'xbox


    Chi e' interessato a maggiori info puo' mandarmi un pm


    Grazie
    Ultima modifica di MARCHISIO80; 28-05-12 alle 19: 09
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  9. #9
    Open Member L'avatar di diffusore
    Data Registrazione
    Aug 2011
    Località
    Svizzera
    Messaggi
    695
    Da questi post uno capisce la preparazione tecnica degli utenti che ci sono in questo forum. Scusate l'OT continuate pure tranquillamente.

  10. #10
    Regular Member
    Data Registrazione
    Nov 2011
    Messaggi
    238
    La mia Diligent Atlys Spartan6-Based è sempre disponibile, in caso...
    MARCHISIO80 likes this.

  11. #11
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236
    Ottimo,grazie


    Speriamo di riuscire ad ottenere piu' informazioni/aiuti possibili
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  12. #12
    Mago di Freeboot
    Data Registrazione
    Oct 2011
    Messaggi
    2,236
    Up
    [URL="calciomonamour.altervista.org"]CLICCAMI [/URL]

  13. #13
    Membro
    Data Registrazione
    Nov 2011
    Messaggi
    73
    Guarda se devi riprodurre le sequenze del post che hai quotato, va bene un qualunque microcontrollore. Con il pic18 del nandreader ad es. è semplicissimo perchè ha già al suo interno un modulo hardware che si occupa delle operazioni a basso livello e tutto si riduce ad utilizzare alcune funzioni di libreria.

    Qui trovi codice esemplificativo ed annotazioni: [url=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote= en023445]AN991 - Using the C18 Compiler and the MSSP to Interface I2C? EEPROMs with PIC18 Devices - Application Notes - Details[/url]

    Potrei anche aggiungere questa roba al FW del nandreader, anche se andrei ad occhi bendati, sarebbe meglio lo facesse qualcuno con la possibiltà di testare.

    Ora però se lo scopo è l'RGH su corona, io non credo che sia così semplice, se lo fosse qualcuno lo avrebbe già realizzato. IMO deve esserci qualche altro ostacolo.

  14. #14
    e-tool's Creator L'avatar di Electron^-
    Data Registrazione
    Jun 2011
    Località
    Casima
    Messaggi
    1,222
    Lo sniffer con arduino l'ho già realizzato io, ed ho già postato i risultati a Marchisio qualche tempo addietro...

    Appena trovo un attimo vedo se si può modificare quel software per scrivere invece che per leggere... mi pare avessi già fatto qualche modifica a quel software per adattare l'output... ovviamente si ottiene un insieme di dati da passare ad un programma di decodifica che ti mostra quello che vedresti su un oscilloscopio...

    Se non ricordo male la modifica serviva per visualizzare un numero infinito di dati perchè il programma originale memorizzava solo 1 secondo di trasmissione...

    Ovviamente con un FPGA si avrebbe un controllo migliore e più preciso, ma non mi sono mai avventurato in tale ambiente, anche se mi sconfinfera al quanto l'idea


    PS: mi piace troppo vedere le menti a lavoro su tali progetti... Questo ci differenzia dal resto dei forum
    MARCHISIO80 and ilario like this.
    "Unix is user-friendly. It's just very selective about who its friends are."

    I miei piccoli:

    PC:Processore: Athlon 643000+ 754 @2400, Ram: 1GBddr400@480, Sk.Video: ATIRadeon HD3650 AGP @780-1100
    NOTEBOOK:Modello: HP ProBook 4520s,Processore: Intel i5-460M@2.53GHz, Ram: 4GBddr3@1333MHz, Sk.Video:ATI Mobility Radeon HD5470 512MB
    Xbox360:Mobo:Jasper, Lettore:Liteon 74850, Firmware:iXtreme LT+ 3.0, Rebooter:Freeboot (14719), Dash:Freestyle Dash 2.2,
    HDD
    :WD Black Scorpio 500GB 7200RPM 16MB cache, MODEstetica: X intagliata sul lato nera sfumata verde
    Xbox360 Slim:Mobo:Corona, Lettore:Liteon 1075, Firmware: Originale, Rebooter:In Lavorazione,
    HDD
    :250GB originale Microsoft, MODEstetica: Non Prevista Xbox360 Slim:Mobo:Trinity, Lettore:Liteon 0272 con PCB Matrix Freedom, Firmware:iXtreme LT+ 3.0, RGH (Matrix Trident):Freeboot (14719), Originale, Vuota Dash:Freestyle Dash 2.2,
    HDD
    :Originale Microsoft 250GB, MODEstetica:
    In elaborazione mentaleWii:Mod: Software, Modestetica: prossimamente
    PSP:Modello: 1004, Firmware:5.50 GEN-D3, Mobo:TA-v82
    Monitor:Marca: Asus, Modello: VK246H, Tempo di risposta:2ms, Risoluzione: Full-HD


Tag per Questa Discussione

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  

realizzazione siti internet ed e-commerce mugello