https://forums.xilinx.com/t5/Xilinx-Boards-and-Kits/ZC706-Doesn-t-work-with-VADJ-at-1-8v/td-p/430086




ZC706 Doesn't work with VADJ at 1.8v

 Accepted Solution SOLVED
Observer
teqdruid
Posts: 20
Registered: ‎03-11-2014
Accepted Solution 

ZC706 Doesn't work with VADJ at 1.8v

Hello Everyone-

 

Has anyone successfully used their ZC706 with VADJ set to 1.8v?

 

I've used TI's Fusion Digital Power Designer to set the UCD90120A @ Address 101d Rail #4 to 1.8v. Rail #4 appears to be VADJ based on the ZC706 schematic and the fact that it was the only one initially set to 2.5v. I'm about to run out for a voltmeter to verify, but I'm 80% sure this is correct.

 

After adjusting VADJ to 1.8v, lots of stuff stopped working. The fan, the I2C RTC (and possibly all the I2C chips -- the kernel just complains about this one), and -- most importantly -- the ENTIRE PL REGION! Whenever any software (either the FSBL or u-boot) try to communicate with the PL to get info about it or upload a bitstream, they get invalid responses and hang. So it seems like VADJ is being used as a core voltage for the FPGA and perhaps a few SoC peripherials.

 

So am I doing something incredibly stupid? Any suggestions?

 

Thanks in advance,

John


Accepted Solutions
Observer
teqdruid
Posts: 20
Registered: ‎03-11-2014
 

Re: ZC706 Doesn't work with VADJ at 1.8v

OK... I finally figured this out. It's my mistake, but in my defense the documentation is clear as mud.

 

For anyone who sees this in the future (including myself):

Unlike on the ZC702, simply programming the Vout of the UCD90120A Rail #4 is not enough. I think this is merely the voltage which it is monitoring, it does not instruct the actual regulator -- a TPS84621 -- what voltage to put out. To actually set the output voltage to 1.8, 2.5 or 3.3v, you must change the output of UCD90120A pins 33 and 36, as per page 53 of the zc706 schematic. Without those settings, the UCD90120A will observe an over-voltage condition and shut down Vadj

altogether. I had assumed that the UCD90120A knew this and would set those outputs automatically. It doesn't!

 

To the Xilinx folks:

Please add _explicit_ instructions for modifying Vadj to UG954 in the "ZC706 Board Powqer System" section, even if those instructions assume the user has a TI USB Interface Adapter and the TI Fusion software. That's a paragraph which would have saved me a couple of days.

 

~John 

 

View solution in original post


All Replies
Moderator
umamahe
Posts: 1,766
Registered: ‎08-01-2012

Re: ZC706 Doesn't work with VADJ at 1.8v

The ZC706 supports 1.8V on VADJ.  Care needs to be taken when adjusting VADJ to make sure voltage thresholds are not violated and hardware is not damaged.

Customers can work with TI Support to create the script needed to change the VADJ value.

 

Supported ranges of VADJ which is 1.8V, 2.5V, and 3.3V.  The general rule is if you go below 1.8V, then you might lose some other functionality in the board.  VADJ will be fine, but other things on the board may not work (i.e. HDMI, AMS-101, level shifters, etc.)

 

In your case VADJ might adjected just below 1.8V

________________________________________________

Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

Observer
teqdruid
Posts: 20
Registered: ‎03-11-2014
 

Re: ZC706 Doesn't work with VADJ at 1.8v

OK... I finally figured this out. It's my mistake, but in my defense the documentation is clear as mud.

 

For anyone who sees this in the future (including myself):

Unlike on the ZC702, simply programming the Vout of the UCD90120A Rail #4 is not enough. I think this is merely the voltage which it is monitoring, it does not instruct the actual regulator -- a TPS84621 -- what voltage to put out. To actually set the output voltage to 1.8, 2.5 or 3.3v, you must change the output of UCD90120A pins 33 and 36, as per page 53 of the zc706 schematic. Without those settings, the UCD90120A will observe an over-voltage condition and shut down Vadj

altogether. I had assumed that the UCD90120A knew this and would set those outputs automatically. It doesn't!

 

To the Xilinx folks:

Please add _explicit_ instructions for modifying Vadj to UG954 in the "ZC706 Board Powqer System" section, even if those instructions assume the user has a TI USB Interface Adapter and the TI Fusion software. That's a paragraph which would have saved me a couple of days.

 

~John 

 

Participant
eng_karim
Posts: 62
Registered: ‎07-15-2013

Re: ZC706 Doesn't work with VADJ at 1.8v

Hi All,

 

When I connected the Ti Fusion the fan stops working so I thought this is a sign of some other consequences

I am sorry but I didn't get the idea of the solution written or how to do it so please if someone can mention the steps more clearly 

also I found these slides but I don't know if they are related to the problem or not (see the attachment)

 

I am bit afraid to do some unaware changes that may damage the board

 

Thanks

Karim

 

 

Participant
eng_karim
Posts: 62
Registered: ‎07-15-2013

Re: ZC706 Doesn't work with VADJ at 1.8v

The attachment is about ZC706 Power controllers Reprogramming steps


http://www.xilinx.com/Attachment/ZC706_Power_Controllers_Reprogramming_Steps.pdf

Participant
eng_karim
Posts: 62
Registered: ‎07-15-2013

Re: ZC706 Doesn't work with VADJ at 1.8v

I found the solution so I will write it for the others and to thank the people who are searching for a solution

My problem was simply that when I plug the TI Fusion usb to the PMBus into my Zynq 706 board the fan is not working and actually to be more precise there is no Vadj input to the circuit and this could be clearly noticed from the Vadj leds on the board where they were switched off

 

the solution that I found and it works with me is in the following link

http://www.xilinx.com/support/answers/55805.html

 

and briefly you need to updated the firmware of the TI Fusion Software

1) I installed the TI software version 1.9.78

2) Start button, go to All Programs -> Texas Instruments Fusion Digital Power Designer > Tools USB Adapter Firmware Download Tool.

then I discovered that my firmware is 1.0.11 and I need to updated to 1.0.14

3) choose "select USB Adapter firmware" and choose version 1.0.14 then it will be downloaded and installed then unplug plug the USB cable and it works fine

 

it is better to mention that I didn't need to go through the steps I mentioned in the pdf in the previous post or even to change the voltage levels of the board and I don't know if it benefits in other cases

Thanks

Karim

Visitor
nvijendran
Posts: 3
Registered: ‎07-30-2015

Re: ZC706 Doesn't work with VADJ at 1.8v

UCD90120A - registers

VOUT_OV_FAULT_LIMIT (command byte – 0x40) – over voltage fault limit

VOUT_UV_FAULT_LIMIT (command byte 0x44) – under voltage fault limit

 

By default, VOUT_OV_FAULT_LIMIT was set to 2.875V which is 2.5V + 15%

              and  VOUT_UV_FAULT_LIMIT was set to 2.125 which is 2.5V – 15%

 

The moment, the GPIO19 set to ‘1’, it brings VDAJ with 1.8V which out of range of 2.125 to 2.875.

Hence the VADJ will be shut-off. So it is important to bring down the VOUT_UV_FAULT_LIMIT first, then configure the VADJ to 1.8V and then change the VOUT_OV_FAULT_LIMIT.

 

Here is the procedure to set 1.8V.

  • Select UCD90120 chip in I2C MUX

           i2c send 0x74 0x80

  • Select page3 (rail4)

         i2c write 0x65 0x00 0x03

 

  • Set VOUT_UV_FAULT_LIMIT to 1.53 (1.8 – (15%  of 1.8))

              0x30F6 * 2^(-13)  = 1.53

            i2c write 0x65 0x44 0xF6 0x30          (LSB first)

 

  • Set VADJ to 1.8V

            i2c write 0x65 0xFA 0x0F         (select tck_gpio_19)

           i2c write 0x65 0xFB 0x07         (write value ‘1’)

 

  • Now bring down the VOUT_OV_FAULT_LIMIT to 2.07V (1.8 + (15% fof 1.8))

             0x423E * 2^(-13) = 2.07V

            i2c write 0x65 0x44 0x3E 0x42

  • Issue the command to store above changes permanently

          i2c  send 0x65 0x11     

 

Now even after power cycling the board, the VADJ will be energized with 1.8V.

 

It is important to note that above values are derived from the VOUT_MODE (5-bit 2’s complement integer) = 0x13 = -13 decimal.

One should read their board’s VOUT_MODE first and derive other values.

 

 

Note1: The above I2C design is AXI_IIC core implemented in Zynq-PL.

 

Note2: The VADJ can be measured at pin no 5 / 6 / 7 / 8 of SW12 switch.

Newbie
heitinki
Posts: 1
Registered: ‎08-18-2015

Re: ZC706 Doesn't work with VADJ at 1.8v

I have been trying to get the VADJ to 1.8V using i2c and your example is very close what I was doing. My board always went to cut-off. What I did differently was:

 

1. I did not adjust the VOUT_OV_FAULT_LIMIT

2. I had to set the VOUT_MODE (0x20) manually because using Vivado version 14.4, the repeated start option is removed from the I2C peripheral (look in xiicps.h). This means it is impossible to read any of the UCD90120A register values because I believe the PMBUS/I2C requires repeated start since you first give the write command followed by the repeated start and then the read command. At least I could not get it working. Note! For writing I was using the XIicPs_MasterSendPolled command, which the UCD90120a ACKs. (You can probe it from the J4 PMBUS connector pin10 on the ZC706 board, which is the SDA line. The pin is the top-left one if the board is facing you so that the texts are upright. After each sent byte this line is getting pulled low by the ucd90120a) So basically I knew that what I was writing were actually going in there and getting received.

3. Setting the voltages were different because the VOUT_MODE was different (I probably did it wrong since I was simply trying to put the exponent to 2^-1 so that my under voltage would be at 1.5 ( 3 * 2^-1)

 

So my setting for under voltage was:

i2c write: 0x65 0x44 0x03 0x00

and VOUT_MODE:

i2c write: 0x65 0x20 0x1F (0x1F should correspond to -1 since VOUT_MODE is 8 bits, top 3 bits are reserved and the bottom 5 determine the exponent as two's complement value)

 

These did not work!

 

I adjusted the code that I would write the vout_mode so that it would be -13 as in your example.

(0x65 0x20 0x13) (coincidentally -13 decimal corresponds 0x13 in two's complement with 5 bits 0x00010011)

 

 

 

 

So I included setting  first the UV, then the tck_gpio_19 and last OV voltage in a way that my exponent from VOUT_MODE would be -13 and followed exactly your example but still the board goes into cut-off. When I probe the VADJ value from SW12 it reads about 0.4 volts. Bummer.

 

But I believe that your example is probably the most closest to the truth getting the VADJ programmed to 1.8V. I've read probably all of the threads considering this topic and the ucd90xxx and pmbus reference manuals through multiple times and this really should work.

 

I don't know if you are actually required to use some additional xml scripts that were mentioned here:

http://www.xilinx.com/support/answers/53599.html

 

But yeah, I thank you very much for your effort and posting the instructions, I will probably try to see if I have some small mistake that causes this program not to work properly ( I did not probe the J4 connector for ACKs after using your code) But the c-code runs thru nicely and then cuts the power off.

 

Newbie
john.gwynne
Posts: 2
Registered: ‎07-20-2016

Re: ZC706 Doesn't work with VADJ at 1.8v

Just a quick note that may help others... this is a variation of the above.

 

With the i2c0 bus enabled in the zynq7-ps and on pins MIO50 & 51, the Linux kernel should recognize the i2c controller and the mux.  You should see the bus with the UCD90120A controller as  /dev/i2c-8.  With the i2c-tools installed, the following commands at the shell prompt will change Vadj to 1.8V. (values from above; corrected typing error of OV address from 0x44 to 0x40).

 

[root@zynq ~]# i2cset -y 8 0x65 0x00 0x03
[root@zynq ~]# i2cset -y 8 0x65 0x44 0x30f6 w
[root@zynq ~]# i2cset -y 8 0x65 0xfa 0x0f
[root@zynq ~]# i2cset -y 8 0x65 0xfb 0x07
[root@zynq ~]# i2cset -y 8 0x65 0x40 0x423e w
[root@zynq ~]# i2cset -y 8 0x65 0x11 c

 

Newbie
john.gwynne
Posts: 2
Registered: ‎07-20-2016

Re: ZC706 Doesn't work with VADJ at 1.8v

 

FMC pg_c2m is controlled by the UCD90120A GPIO10.  Registers POWER_GOOD_ON/OFF should also be changed.  You may also want to change the warning thresholds too.

 

[root@zynq ~]# i2cset -y 8 0x65 0x5e 0x33d7 w
[root@zynq ~]# i2cset -y 8 0x65 0x5f 0x30f6 w


'개발 > Xilinx Zynq' 카테고리의 다른 글

DTSI수정하여 UART0 살리기  (0) 2016.11.16
U-Boot 설정에서 SDHCI 제거  (0) 2016.11.16
petalinux 정리  (1) 2016.11.08
SDK에서 JTAG으로 리눅스 부팅  (0) 2016.11.08
petalinux build zc706 & 플래쉬 writing  (0) 2016.11.08

+ Recent posts