LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: ssanthosh at pricol.co.in<ssanthosh@p...>
    Date: Mon Jul 16 17:26:58 CEST 2007
    Subject: [oc] I2C clock timing / Masterbyte Controller / VHDL
    Top

    Hi,
    Iam trying to use the simple i2c core (VHDL) in my project. Since my
    project involves a single master and a single slave , i thought simple i2c
    would be enough for my requirement rather than i2c_master_controller
    which is bit complex. iam using Cyclone II FPGA and Quartus II .
    i) whether the ip works only for Wishbone interface or can use the
    simple i2c core for any other interface?
    ii) ive replaced the DS1621 in the tst_1621 with AT24C02 and modified
    the code accordingly iemodified the code to write into AT24C02 and
    read back from the same location
    iii) Am having the AlteraDE2 board with Cyclone II and connected with
    AT24C02. Configured the FPGA with simpe12c and tst_1621(modified for
    24C02). Nothing happens. i ve checked the hardware , clock and
    everything is ok
    iv)am not sure whether it is the problem if cmd_ack not getting set?

    kindly advice me on this



    ----- Original Message -----
    From: Richard Herveille<richard@h...>
    To:
    Date: Wed Jul 4 15:46:38 CEST 2007
    Subject: [oc] I2C clock timing / Masterbyte Controller / VHDL

    > A few comments;
    >
    > 1.
    > SCL and SDA should be pulled to 'H', not set to '1'.
    > I2C uses open-drain outputs.
    > 2.
    > I don't see SCL and SDA toggle in your timing diagram.
    > Richard
    > -----Original Message-----
    > From: cores-bounces at opencores.org [mailto:cores-bounces at
    > opencores.org] On
    > Behalf Of g-sus at gmx.li
    > Sent: Wednesday, July 04, 2007 6:09 PM
    > To: cores at opencores.org
    > Subject: Re: [oc] I2C clock timing / Masterbyte Controller / VHDL
    > hello again,
    > while debugging all the core signals it was noticed that the al
    > (arbitration lost bit) gets set in the bit controller.
    > This seems to happen because of a delay while sending back the
    > SCL und SDA line to the core at the highest level of our controller
    > like this,
    > [code]
    > SCL <= scl_o when (scl_oen = '0') else '1';
    > SDA <= sda_o when (sda_oen = '0') else '1';
    > scl_i <= SCL;
    > sda_i <= SDA;
    > [/code]
    > the timing results always look like the following image:
    > http://www.imagehoster.info/images/Bild8-846b83.png
    > (we are using the Quartus2 classic timing analyzer)
    > i am very new to the VHDL Development and in urgent need off help
    > with
    > this problem ...
    > thanks a lot
    > PS : Is there some tutorial using I2C together with quartus ?
    > ----- Original Message -----
    > From: Richard Herveille<richard at h...>
    > To:
    > Date: Sun Jul 1 07:00:46 CEST 2007
    > Subject: [oc] I2C clock timing / Masterbyte Controller / VHDL
    > > i2c_cmd_ack does get set to '1'; otherwise the code wouldn't
    > work
    > > :p
    > > The i2c_master_controller uses a somewhat different approach
    > then
    > > the
    > > simple_i2 controller.
    > > Run the i2c_master_controller's testbench to see the
    > relationship
    > > between
    > > the signals.
    > > Richard
    > > -----Original Message-----
    > > From: cores-bounces at opencores.org [mailto:cores-bounces at
    > > opencores.org] On
    > > Behalf Of g-sus at gmx.li
    > > Sent: Thursday, June 28, 2007 5:57 PM
    > > To: cores at opencores.org
    > > Subject: Re: [oc] I2C clock timing / Masterbyte Controller /
    > VHDL
    > > > Make sure you keep the control signals asserted until you
    > get
    > > a
    > > > cmd_ack from ...
    > > so we can't use a code like this to check for the next state ?
    > > ( similar to the DS1621 Sample Code)
    > > [code]
    > > when i2 => -- send "access config"
    > > command
    > > if (cmd_ack = '1') then
    > > nxt_state := i3;
    > > -- check aknowledge bit
    > > if (lack = '1') then
    > > ierr := '1'; -- no > > acknowledge received from last command, expected ACK > > > > end if; > > istart := '0'; > > iread := '0'; > > iwrite := '1'; > > iack := '0'; > > istop := '0'; > > iD := x"AC"; > > end if; > > [/code] > > > > We noticed that the cmd_ack bit ( mapped to the cmd_ack bit of > the > > byte controller) never gets 1 (but it schould get set through > the > > bit > > controller). Is this a timingproblem, or is this approach > completly > > wrong ? > > _______________________________________________ > > http://www.opencores.org/mailman/listinfo/cores > > > > > _______________________________________________ > http://www.opencores.org/mailman/listinfo/cores > >

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.