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.

Reply to
michalk
Loading thread data ...

For premade tools, try here:

formatting link

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
 Click to see the full signature
Reply to
Robert Monsen

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?

Reply to
prem

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
 Click to see the full signature
Reply to
Robert Monsen

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

--
Paul Hovnanian     mailto:Paul@Hovnanian.com
------------------------------------------------------------------
 Click to see the full signature
Reply to
Paul Hovnanian P.E.

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
 Click to see the full signature
Reply to
Robert Monsen

Hey! This whole NG is a wired cult!

Reply to
Rich The Newsgropup Wacko

Philips have published I2C routines for the 8051 family. Likely to be in ASM51 IIRC.

I wrote my own. It's not difficult. Mine doesn't need an I2C controller on chip and will use any port pins you have free too !

Graham

Reply to
Pooh Bear

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.

--
Paul Hovnanian     mailto:Paul@Hovnanian.com
------------------------------------------------------------------
 Click to see the full signature
Reply to
Paul Hovnanian P.E.

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
 Click to see the full signature
Reply to
Robert Monsen

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.

Reply to
Andy P

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.