12C is I2C i'd say. I2C is low pin count serial bus that uses 7bit address'.
-12C? Is this I2C access switch for program?
[ 03h 70h 15h ] is BUS_ADDR_OFFSET, I2C_BUS_ADDR, VR_REGISTER_ADDR
so basically 15h is located on I2C bus 70h offset 03h, which is what Volterra use in most cases so to not conflict with other electronics which also use I2C to read/write registers which control assert/deassert of pins.
70h = I2C UNIQUE BUS ADDRESS for Volterra VT1165/1140 VR serial access
00-03h = BUS OFFSET on I2C bus 70h, 0h 1h 2h 3h. 4 Offsets which can holder register addresses.
15-18h hold VID values, the one which holds the largest hexadecimal value will be the 3D Performance VID.
You need to convert the value you read to decimal with a hex/bin/dec calculator.
ie. 0Fh = 16 decimal
1Fh = 32 decimal
2Fh = 48 decimal
3Fh = 64 decimal and so on.
00h = 0, 01h = 1, 02h = 2...09h = 9 0Ah = 10, 0Bh = 11, 0Ch = 12, 0Dh = 13, 0Eh = 14, 0Fh = 15
10h = 16....1Fh = 31....20h = 32...2Fh = 47, 30h = 48.....3Fh = 63..
VID is just a hexadecimal value which is converted to a floating point voltage, and converted back to write new VID register value.
15h = VID Register 0
16h = VID Register 1
17h = VID Register 2
18h = VID Register 3
If you can't understand what I've just written, try reading over the thread again, mostly the posts by Unwinder and others relating to how I2C read/writes are done. If you still can't grasp the concept of it, I'd say it might be a bit over your head and it'd be better to wait for someone to release a dumb slider application to do it for you.
if you are really stuck, here is a great little hex/bin/programmable calculator.
http://ccalc.shanebweb.com/CCalc_setup.exe
You can create functions like this to automate conversion, and as long as you set the base, ie hex, bin, dec it'll give right answers.
VIDtoV(x)=(x*0.0125)+0.45
VtoVID(x)=(x-0.45)/0.0125
ie.
> VIDtoV(0x3e)
ans = 1.225
> VtoVID(1.20)
ans = 0x003C




Reply With Quote

Bookmarks