Maker Pro
Maker Pro

I2C, lack of Windows information

I am trying to interface an on-motherboard Nvidia NForce2 I2C driver to
a Cygnal processor via the SMBus.

Now, normally I would do this all Linux, and it would be trivial, but
my development environment is Windows for the Cygnal (now SiLabs).
Don't go off trying to tell me to change my IDE. There are other
issues.

My problem is that I can't find any documentation at all on accessing
the SMBUS that's built into the motherboard. There's lots of
information on using adapters, and there's some MSDN stuff from
Microsoft on the SMBus, but it's not clear at all how I access it.

The SMBus is working. I've installed some temperature monitoring
software, and my oscilloscope shows activity. I've got all the wires,
just questions on where the #@$%&#(*%$ API is to talk to it.

After reading this, I want to make it clear that I'm not having
problems on the 8051 processor side. This is a Windows question.
 
R

Robert Monsen

Jan 1, 1970
0
I am trying to interface an on-motherboard Nvidia NForce2 I2C driver to
a Cygnal processor via the SMBus.

Now, normally I would do this all Linux, and it would be trivial, but
my development environment is Windows for the Cygnal (now SiLabs).
Don't go off trying to tell me to change my IDE. There are other
issues.

My problem is that I can't find any documentation at all on accessing
the SMBUS that's built into the motherboard. There's lots of
information on using adapters, and there's some MSDN stuff from
Microsoft on the SMBus, but it's not clear at all how I access it.

The SMBus is working. I've installed some temperature monitoring
software, and my oscilloscope shows activity. I've got all the wires,
just questions on where the #@$%&#(*%$ API is to talk to it.

After reading this, I want to make it clear that I'm not having
problems on the 8051 processor side. This is a Windows question.

For premade tools, try here:

http://www.i2ctools.com/index.html

Chances are, the temperature sensors on the mainboard are I2C. Thus, if
you can figure out how they get read, you can figure out how to read
your device.

Try calling or emailing the mainboard mfgr.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
P

prem

Jan 1, 1970
0
hi do u aware of i2c? i am working with PCF8583. with microcontroller
AT89S51. can u help me? if so can u send any routine useful to me?
 
R

Robert Monsen

Jan 1, 1970
0
prem said:
hi do u aware of i2c? i am working with PCF8583. with microcontroller
AT89S51. can u help me? if so can u send any routine useful to me?

You can find lots of information on the web. Microchip has various
apnotes with sample code. There are sites dedicated to it, like some
wierd cult.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
P

Paul Hovnanian P.E.

Jan 1, 1970
0
Robert said:
For premade tools, try here:

http://www.i2ctools.com/index.html

Chances are, the temperature sensors on the mainboard are I2C. Thus, if
you can figure out how they get read, you can figure out how to read
your device.

Try calling or emailing the mainboard mfgr.

Unless the MS Windows SMBus drivers have control of the bus and don't
provide users with the tools to add new device drivers.
 
R

Robert Monsen

Jan 1, 1970
0
Paul said:
Unless the MS Windows SMBus drivers have control of the bus and don't
provide users with the tools to add new device drivers.

One good way to figure this stuff out would be to examine the I2C
package from the linux sources. Then, a device driver written for
windows might be able to play games and take over the hardware. This is
a guess.

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
R

Rich The Newsgropup Wacko

Jan 1, 1970
0
You can find lots of information on the web. Microchip has various
apnotes with sample code. There are sites dedicated to it, like some
wierd cult.

Hey! This whole NG is a wired cult!
 
P

Paul Hovnanian P.E.

Jan 1, 1970
0
Robert said:
One good way to figure this stuff out would be to examine the I2C
package from the linux sources. Then, a device driver written for
windows might be able to play games and take over the hardware. This is
a guess.

Maybe. But I'm wondering if Windows has an acessible API that one can
use to register a driver for a new device added to their bus. Since
modifying motherboards isn't sometthing th typical user does with their
PC, they might not have given users access (API documentation, header
files, etc.) to their bus drivers.
 
R

Robert Monsen

Jan 1, 1970
0
Paul said:
Maybe. But I'm wondering if Windows has an acessible API that one can
use to register a driver for a new device added to their bus. Since
modifying motherboards isn't sometthing th typical user does with their
PC, they might not have given users access (API documentation, header
files, etc.) to their bus drivers.

That would be nice.

There are third party programs (Sandra from SISoft) that read the
motherboard temps. There are also utilities from the mobo mfgr that do
this. Thus, it is *possible*. Who knows how easy it is?..

'Sandra' installs their own services, and who knows what else, to do
this kind of thing.

There are microsoft API calls for reading various environmental
parameters, but they generally don't work. (I spent a few hours
researching this at one point a few months ago.)

--
Regards,
Robert Monsen

"Your Highness, I have no need of this hypothesis."
- Pierre Laplace (1749-1827), to Napoleon,
on why his works on celestial mechanics make no mention of God.
 
A

Andy P

Jan 1, 1970
0
Robert said:
There are microsoft API calls for reading various environmental
parameters, but they generally don't work. (I spent a few hours
researching this at one point a few months ago.)

If youve got the visual studio suite, install the extra tools. In it
there are service and API spy programs. If you run them, then run
whatever it is that accesses the temp stuff, you may be able to
itnercept the calls that are made, and hook them in your own program. I
dont know if it will work with non-microsoft things, as I've never
tried, but it's worth a shot.
 
Top