Linux OV511 Driver:
Technical Notes Vol. 3
Subject:  OV518+ I2C I/O
2001/01/15, driver version 1.31 (experimental)

The OV518+ has introduced a new I2C input/output process that is greatly simplified from that of the OV511/OV511+. It is also less robust. The command sequences are as follows:

Initial Setup (only needs to be performed once):

  1. Write I2C write slave ID to register 0x41
  2. Write I2C read slave ID to register 0x44
Note: The I2C slave device should be sent a reset command immediately after initial setup

Write Cycle:

  1. Write I2C subadress (sensor register number) to register 0x42
  2. Write data to register 0x45
  3. Write 0x01 to register 0x47
Read Cycle:
  1. Write I2C subadress to register 0x43
  2. Write 0x03 to register 0x47
  3. Write 0x05 to register 0x47
  4. Read value from register 0x45

These sequences are fairly close to those of the OV511/OV511+, except that the control register is now 0x47 instead of 0x40. There is also a conspicuous lack of status checking, which indicates to me that the control register no longer acts as a status register at all. It looks like the only way to determine if the slave device is responding is to read from a subadress that has a known value (such as the manufacturer IDs in registers 0x1C and 0x1D).

Here is a summary of the I2C registers:
Reg OV511/OV511+ function OV518+ function
40h Control bits and status bits [unknown]
41h I2C write slave ID [unchanged]
42h Subaddress for write cycles [unchanged]
43h Subaddress for read cycles [unchanged]
44h I2C read slave ID [unchanged]
45h Data port [unchanged]
46h I2C clock prescaler Apparently not used anymore.
47h Time out counter Control bits are the same as in OV511 reg 40h;
Probably not a status register any more
48h Subaddress for snapshot write cycles Probably no longer used
49h Data port for snapshot write cycles Probably no longer used

NOTE: It appears that all of the snapshot-specific registers  (19h-1fh, 48h, 49h) are no longer used. The snapshot button seems to only be used for launching a vendor's application.

Copyright © 2001 Mark McClelland

Version History:
Date Version Change
2001/01/15 1.0 Initial Release