Probing the mini2440 I2C bus
I’m fairly new to electronics and i’ve certainly never used I2C before so I built a simple circuit based on a DS1621 I2C thermometer as a test. I got this for a couple of pounds from the seller ‘crodnet’ on ebay.
I found an old 2.5″ laptop drive connector which wasn’t large enough to fit on CON5 so i chopped it up and put it on the camera interface. I wired up the SDA and SCL lines along with 3.3V and GND to the veroboard. I also soldered a couple of LEDs, one for the power light and the other wired up through a transistor with the base connected to the thermostat output on the DS1621. This pin can be programmed to go high at a particular temperature.
I then plugged it in and powered up the mini2440. Running i2cdetect showed a new device at 0×48. The other devices are the onboard EEPROM. Looking at the datasheet for the DS1621 the temperature can be read from the location 0xAA. I was able to observe the temperature in hex through i2cget. Converting the output 0×0016 to decimal gives 22.0 degrees. The sensor is pretty neat, it responds almost immediately to the presence of your finger.
Below are the I2C commands i used. I installed i2c tools using opkg.
i2c-0 i2c s3c2410-i2c I2C adapter
root@mini2440:~# i2cdetect s3c2410-i2c
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@mini2440:~# watch --interval=1 i2cget -y s3c2410-i2c 0x48 0xAA w
Every 1.0s: i2cget -y s3c2410-i2c 0x48 0xAA w Tue Sep 15 23:31:25 2009
0x0016
Below is a picture of the device..it looks like a right mess but it works great!

The next stage is compile the driver from the lmsensors package…


Recent Comments