DVP Pin Mapping & Functional Equivalents
In DVP (Digital Video Port) camera sensors, many pins have synonymous names depending on whether the manufacturer uses industry-standard or proprietary labels.
| Standard Protocol | Camera Sensor Label | Function Description |
|---|---|---|
| SDA | SIO_D | Serial Data: The data line for the I2C-compatible SCCB interface used to configure camera registers. |
| SCL | SIO_C | Serial Clock: The clock signal for the I2C-compatible configuration interface. |
| HSYNC | HREF | Horizontal Reference: High when a valid row of pixels is being transmitted. |
| XMCLK / MCLK | XCLK | External Clock: The master heartbeat (usually 24MHz) provided by the MCU to drive the sensor. |
Critical Technical Nuances
1. SCCB vs. I2C (SIO_D / SIO_C)
While SIO_D/C is physically identical to I2C, it often uses the SCCB (Serial Camera Control Bus) protocol.
- Compatibility: Most modern MCU I2C peripherals work fine, but some older sensors do not generate an "Acknowledge" (ACK) bit.
- Fix: If your MCU throws an I2C error, try disabling "ACK checking" in your driver code.
2. Timing Reference (HSYNC vs. HREF)
- HSYNC is technically the pulse between lines.
- HREF is a "gate" signal that stays HIGH while data is valid on the Y2-Y9 (D0-D7) pins.
- Wiring: Connect your MCU's HSYNC input directly to the Sensor's HREF pin.
3. The Master Clock (XCLK)
- The sensor will not respond to I2C (SIO_D) commands until it receives a stable XCLK signal.
- Pro-tip for Rover V2: Keep XCLK and PCLK traces as short as possible. High-speed clock lines can create EMI that might interfere with your sensitive BMI323 IMU or DRV8701 gate drivers if they are routed too closely.
4. Power Sequencing
- Apply Power (DVDD, AVDD, DOVDD).
- Start XCLK.
- Pulse RESET low.
- Begin SIO_D/C configuration.
Can Y0/Y1 be NC?
Yes. This effectively truncates a 10-bit or 12-bit sensor output to 8-bit.
-
Key Technical Rules:
-
Bit Alignment: You must map the Sensor MSBs to the Processor D-pins.
- Sensor Y9 -> Processor D7
- Sensor Y8 -> Processor D6
- ...
- Sensor Y2 -> Processor D0
- Truncation: Y0 and Y1 are the LSBs (fine detail). Leaving them NC simply discards the lowest 4 levels of pixel data, which is standard for most 8-bit MCU/SoC interfaces.
-
Bit Alignment: You must map the Sensor MSBs to the Processor D-pins.
-
Important Considerations:
- Register Configuration: You MUST configure the camera sensor (via I2C/SCCB) to output in 8-bit mode (e.g., YUV422 or RGB565).
- EMI Mitigation: While NC works, terminating with a high-value pull-down resistor can improve signal integrity if you notice noise.
- Clocking: The PCLK frequency remains identical; ensure your timing constraints in your firmware account for the 8-bit throughput.
Comparison Table (10-bit vs 8-bit):
| Feature | 10-bit (Full) | 8-bit (Truncated) |
|---|---|---|
| Dynamic Range | 1024 levels | 256 levels |
| Compatibility | High (Requires 10+ pins) | Universal (8-pin bus) |
| Use Case | High-end imaging | Navigation/Tracking |