Disseny del màster I2C en VHDL: 5 passos
Disseny del màster I2C en VHDL: 5 passos
Anonim
Disseny del màster I2C en VHDL
Disseny del màster I2C en VHDL

En aquest instructiu, es parla del disseny d’un mestre I2C senzill en VHDL.

NOTA: feu clic a cada imatge per veure la imatge completa

Pas 1: Visió general del bus I2C

• Suports per a circuit integrat inter.

• Síncron, mig dúplex.

• Interfície de dos cables: SDA i SCL.

• SDA: línia de dades de sèrie controlada per Master i Slave

• SCL: rellotge de sèrie generat per Master

• Protocol multi-master, multi-slave.

• Dos modes: 100 kbits / s i 400 kbits / s: lent i ràpid.

Pas 2: disseny RTL en VHDL

Especificacions de disseny del nostre mestre I2C

  • Marc de dades de 8 bits.
  • Només control unidireccional SCL.
  • Adreça esclava de 7 bits.
  • Admet modes lents i ràpids.
  • Single Master, Multi-esclau.
  • Compleix les especificacions originals d'I2C de Philips.

S'utilitza codi pur RTL. Així, la IP és fàcilment portàtil a tots els FPGA. El disseny compacte basat en FSM mitjançant rellotge generat intern garanteix una àrea i un rendiment òptims.

Pas 3: simulació i proves

Entorn de prova

  • Simulació i proves funcionals mitjançant IP esclau I2C de tercers.
  • Sintetitzat mitjançant el conjunt d'eines Xilinx Vivado.
  • Implementat i provat a la placa FPGA Artix-7.
  • Disseny verificat de temps per a 100 MHz.
  • Formes d'ona provades a DSO / CRO.
  • S'ha provat amb èxit la comunicació amb Arduino UNO com a esclau I2C.

Pas 4: Notes importants

  • Mentre proveu el mestre amb l’IP esclau I2C, configureu el codi esclau segons els vostres requisits. És possible que vulgueu canviar la freqüència de rellotge i l'adreça esclava per defecte. La freqüència de rellotge també s’ha de configurar al codi mestre.
  • Mentre feu proves a bord, no us oblideu de les resistències pull-up, ja que la línia SDA és una sortida de drenatge habitual. Consulteu a Google si hi ha resistències extretes recomanades per a diferents velocitats i2c. He utilitzat 2,2K per a 100 kHz.
  • Si no utilitzeu un banc de proves i simuleu el Màster de forma independent, simuleu acuradament el senyal SDA, ja que és un senyal bidireccional (entrada). Té dos conductors, el costat mestre i el costat esclau. Hauríeu de saber quan "forçar" i quan "forçar".
  • SCL és una línia unidireccional. No cal tirar cap amunt.
  • Aneu a través de la documentació IP a fons.

Pas 5: fitxers adjunts

  • Tots els codis RTL d'I2C Master.
  • Banc de proves, codis esclaus I2C també, per provar.
  • Documentació IP.

Per a qualsevol consulta, no dubteu a posar-vos en contacte amb mi:

Mitu Raj

segueix-me:

Per a qualsevol consulta, poseu-vos en contacte amb: [email protected]

Recomanat: