UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor stevesantee
Visitor
17,184 Views
Registered: ‎05-19-2009

Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I'm a new user of a ML505 card and I2C busses.  I have a I2C master core in the ML505's Virtex 5 FPGA with the SCL and SDA signals connected to the U27 & T29 pins per the ML505 User's Guide document (UG347 page 51).

 

When I go to the lab, I can communicate via the I2C bus to the VGA Input device (Analog Devices AD9980 - I2C device ID 0x4C) with no problem.  However, when I try to talk to the DVI Output device (Chrontel CH7301C - I2C device ID 0x76), I don't get an acknowledge.

 

I decided to write code to test all 128 7-bit I2C addresses to see which ones gave me an ACK.  In addition to 0x4C (the VGA Input device), I received acknowledges from addresses 0x37 and 0x50 through 0x57.  I then tried to read register 0x4B (the address of the Chrontel CH7301C's Device ID register) using each of those 9 other I2C device IDs.  None of them returned the 0x17 value that I'd expect per the Chrontel documentation.

 

Can anyone explain:

1) Why I'd get responses from apparently 10 devices, when the documentation only lists 3 devices on that I2C bus?  What are those other devices?

2) One of the 3 devices is the DVI Output connector, which Table 1-35 lists as Address = N/A.  Why does a device have a N/A address?  How is it accessed?

3) what I might be doing wrong that keeps me from being able to communicate with the CH7301C part?

 

Thanks,

  Steve

0 Kudos
1 Solution

Accepted Solutions
Visitor stevesantee
Visitor
20,680 Views
Registered: ‎05-19-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

Ignore the previous notes.  The Chrontel device was being held in reset, therefore it didn't respond to I2C commands.  Once I tied the active-low reset to the proper polarity, the device communicates as expected.

 

Steve

View solution in original post

0 Kudos
13 Replies
Visitor stevesantee
Visitor
17,168 Views
Registered: ‎05-19-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I've looked some more into the DVI connector and saw that the I2C bus has 2 pins on the connector.  If I disconnect the DVI cable, the 9 other device IDs (other than 0x4c) which previously acknowledged no longer do.  So I can answer questions 1&2 (the extra devices are in the monitor that I connected via the DVI cable).

 

However, I am still puzzled as to why I get no response from the Chrontel device.  I can run the demos that came with the ML505, so I know that the device is working (and somehow the demo designs must be able to talk to the device via an I2C).  Is there something different that I need to do (other than changing the device ID obviously) to talk to the Chrontel device than the other devices (AD9980 and monitor devices) that I can get to respond with an acknowledge?

 

Any help would be greatly appreciated.

Thanks,

  Steve

0 Kudos
Visitor stevesantee
Visitor
20,681 Views
Registered: ‎05-19-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

Ignore the previous notes.  The Chrontel device was being held in reset, therefore it didn't respond to I2C commands.  Once I tied the active-low reset to the proper polarity, the device communicates as expected.

 

Steve

View solution in original post

0 Kudos
Visitor dpavli
Visitor
17,139 Views
Registered: ‎04-02-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

Hello,

 

could you please be so kind and tell us which I2C IP core have you been using?

 

I have a ML507 board but am facing serious problems achieving proper functioning of the bus (I don't get any ACKs at all). Probably the core I am using is a bit messed up.

 

Thank you and Best regards,

D.

Message Edited by dpavli on 07-17-2009 04:54 AM
0 Kudos
Visitor stevesantee
Visitor
17,136 Views
Registered: ‎05-19-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

dpavli,

  I am using the I2C core from opencores.org. 

Steve

 

P.S. I now can communicate with the Chrontel device, but I haven't yet figured out what register settings to use to display a test screen.  If you figure that out, let me know.

0 Kudos
Visitor dpavli
Visitor
17,134 Views
Registered: ‎04-02-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I'll rather try with XAPP333. Have you tryed this core instead?

 

Regards,
D.

0 Kudos
Visitor stevesantee
Visitor
17,070 Views
Registered: ‎05-19-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution
No, I haven't tried that core.
0 Kudos
Observer mmcshmi11
Observer
15,422 Views
Registered: ‎12-13-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

Here's some info that may help you with the CH7301. The following should give you some nice color bars :)


             /* ( RAB, DATA, DEV_ADDR   ) */
   write_iic_dvi(0x9C, 0x00, CH7301_addr);     //0x00 1x pixel frequency and non-inverted XCLK
                                               //0x01 2x pixel frequency
                                               //0x04 Inverts XCLK
                                               //0x05 2x inverted XCLK
                                           
   write_iic_dvi(0x9D, 0x48, CH7301_addr);     //0x48 is default
     
   write_iic_dvi(0x9F, 0x9C, CH7301_addr);     //0x9C IDF=4 with active high VSYNC and HSYNC
                                               //0x84 IDF=4 with active low VSYNC and HSYNC
                                         
   write_iic_dvi(0xA1, 0x0D, CH7301_addr);     //0x0C Enables VSYNC and HSYNC output data for IDF=4
                                               //0x0D Enables VSYNC, HSYNC, and RGB output for IDF=4
                                               //0x04 Disables VSYNC, HSYNC, and RGB output for IDF=4


   write_iic_dvi(0xB3, 0x08, CH7301_addr);     //0x08 for frequencies <= 65MHz  //0x06 for f > 65MHz
   write_iic_dvi(0xB4, 0x16, CH7301_addr);     //0x16 for frequencies <= 65MHz  //0x26 for f > 65MHz
   write_iic_dvi(0xB6, 0x60, CH7301_addr);     //0x60 for frequencies <= 65MHz  //0xA0 for f > 65MHz                                           
   write_iic_dvi(0xC8, 0x19, CH7301_addr);     //0x18 No test pattern - input data is used
                                               //0x19 Color Bars test pattern output
                                               //0x1A Horizontal Luminance Ramp test pattern output
                                           
   write_iic_dvi(0xC9, 0xC0, CH7301_addr);     //0x01 All circuitry is powered down
                                               //0xC0 DVI is in normal power function
                                           
   write_iic_dvi(0xD6, 0x01, CH7301_addr);     //0x00 Disable YCrCb to RGB conversion
                                               //0x01 Enable YCrCb to RGB conversion

Message Edited by mmcshmi11 on 03-10-2010 04:07 PM
Message Edited by mmcshmi11 on 03-10-2010 04:08 PM
0 Kudos
Visitor zhihuibang
Visitor
15,226 Views
Registered: ‎04-14-2010

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution
Hello,stevesantee .I  am a student . I am using ML507 Board . I can not communicate with AD9980 and CH7301C. Can you give your code to me . Thank you very much .My Email :njsssyangjin@163.com
Tags (1)
0 Kudos
Participant fvdalcin
Participant
13,626 Views
Registered: ‎06-07-2010

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I’m also using a ML505 board and its I2C busses. I have a I2C master core which I’ve got from OpenCores and I also modified it a little.

I can communicate via I2C to the VGA Input device (Analog Devices AD9980 - I2C device ID 0x4C) and to the DVI Output device (Chrontel CH7301C - I2C device ID 0x76) with no problems.

However, I’d like to perform a Test Pattern in my monitor, to be sure I’m writing to the devices in the right way. In order to do that, I’ve sent the following byte to the DVI Output device address 0x48 (TSTP – as specified in the device’s DataSheet in page 21): “00011001”. However, I expected to see in my monitor the Color Bars Test Pattern, but the monitor still doesn’t get any signal, even after I’ve written to the register 0x48.

I’m almost sure I am writing to it rightly, since I perform a write followed by a read of this register, and its value is shown in the board’s LEDs.

I don’t have any idea of how to proceed. Anyone could help me with this issue?

0 Kudos
Instructor
Instructor
6,307 Views
Registered: ‎07-21-2009

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I  am a student . I am using ML507 Board . I can not communicate with AD9980 and CH7301C. Can you give your code to me.

If you made such a request to me, I would tell you flat out NO.  Beyond that, I would consider your request to be completely rude and improper.

 

1.  stevesantee (either on his own or on behalf of his employer) invested considerable time and money in their work, and you are asking them to hand it to you for free.  If stevesantee is working on behalf of a firm, the code is not his property to share -- it belongs to his employer.  Giving away company property is easily grounds for dismissal at every company for which I've been employed.

 

2.  If you are a student, as you say, are you studying the art and science of design or are you studying how to copy the work of others?  I would hope you are in school to learn how to design things on your own.

 

3.  Once stevesantee has shared his work, he no longer has any control over who gains access to it and who uses it -- including competitors or potential competitors to him or his firm.

 

Regards,

 

Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Visitor xavier.gonon
Visitor
6,257 Views
Registered: ‎12-01-2010

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution
Hello mmcshmi11,

I'm also facing the issue of displaying the color bar on the chrontel ch7301c embedded on the ML507 board.
Since you seem you have overcome this issue I'd be glad if you could help me about the following :

- why do you write on the register TSTP 0xc8 instead of 0x48 (as mentionned on the datasheet) ?
- which Device_Id do you use? I don't know whether it is 7'b1110110 or 7'b1110101 (obviously it depends on the signal AS, but it seems this signal is tied down the ground on the ML507 board)?

Thanks a lot for your help!

Cheers

Xavier
0 Kudos
Newbie rreas
Newbie
5,842 Views
Registered: ‎06-16-2011

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

Honestly I have tried yet communicating with CH7301C using ML505 but i have created a simulation environment for ML505 and CH7301C. However simulation is somewhat different from actual implementation and the thread in this forum conforms with it, may I know if what would be the appropriate hardware settings in order to communicate with CH7301C using ML505.

 

Thank you and have a good day

 

best regards

Ryan

 

0 Kudos
Newbie ragirg
Newbie
4,906 Views
Registered: ‎03-11-2013

Re: Can't talk to Chrontel CH7301C on ML505 Video I2C Bus

Jump to solution

I am trying the dvi display with ml605 board. Can I use chrontel in default mode without configuring with i2c

 

0 Kudos