I2C master VHDL

M

mr_j

Guest
kan iemand helpen met met een hard-coded, niet-microcontroller afhankelijk I2C kern?Ik wil in principe te kunnen draaien draai op mijn CPLD, query en hebben een slaaf apparaat, dan licht een LED op basis van de informatie die zij ontvangt.De opencores Ik ben het vinden van zijn 1000 LOC en lijken manier om complexe.Ik ben op zoek naar iets fundamenteel met i_clk en SDA en SCL uit ...

Bedankt.

 
GCK -
Bedankt voor de pdf.Ik heb eigenlijk gegaan door de xapp333, evenals de VHDL-code die zij verstrekken in het.Het heeft nog steeds een enorme ucontroller interface.Hun oplossing is 15 VHDL bestanden en 1000 van LOC.Het is heel moeilijk voor mij het gevoel van te maken om uit de strip ucontroller delen.Is er niet een veel kortere (misschien minder dan 300 LOC) oplossing die er voor een interface zonder alle "extra's"?

 
I2C is een vrij eenvoudig protocol.Als uw apparaat en I2C "query"-procedure zijn eenvoudig ook, dan ben je een klein sequencer kon bouwen (met behulp van een teller en enkele logica) dat de I2C wiebelt signalen om toegang tot de gegevens van het apparaat, en dan slaat de ontvangen gegevens in een register aan het licht de LED.Dit zijn slechts gissingen, omdat ik niet uw hardware setup weten.

 
hi mr_j,
Ik ben het eens dat een oplossing is groot, maar u kunt nemen het idee en maken volgens uw behoefte.

Als u zich richt perticulat IC die I2C-interface heeft dan zijn zeer gemakkelijk om de Programms wijzigen.

 
Bedankt voor het advies, all.Ik ben het eens dat I2C eenvoudig lijkt.Ik dacht dat ik de voorkeur aan af te bouwen van iets dat ik weet werkt voor het debuggen mijn ontwerp en omwille van de snelheid.Op dit moment heb ik besloten om de simple_i2c opencore, samen met tst_ds1621 gebruik.Hopelijk zal dit werk.Bedankt voor uw reacties!

 
Ik heb een ander probleem - hopelijk iemand kan helpen.Ik ben voeden van een 400kHz klok in mijn CPLD, dat is de simple_i2c tst_ds1621 code van opencores uitgevoerd.Toen ik weer op het circuit, mijn SCL lijn begint te lopen, maar slechts op ongeveer 4kHz.Ik weet dat dit is gerelateerd aan de CLK_CNT variabele, maar ik begrijp niet hoe / wat het doet.Ik kan postcode als je nodig hebt, maar het lijkt net als iedereen heeft gezien opencores I2C.Toegevoegd na 15 minuten:Ik denk dat ik het gevonden .... het lijkt alsof het is de prescale register, vergelijkbaar met die in de master file

 

Welcome to EDABoard.com

Sponsor

Back
Top