ArduCAM shield Rev.C Hardware

Published by Lee Jackson on

This section describe the ArduCAM shield Rev.C hardware feature and user guide. For information about Rev.B, please refer here.

Introduction

ArduCAM shield hardware integrates all the necessary components to interface with camera modules. User only need a extra support camera modules and a TF/SD card to start image capture.

The shield provide the following features:

  • Dedicate DigtalVideoPort Camera Module Interface
  • Standard SPI slave bus interface
  • 3.2” TFT Color LCD Screen(a)
  • Build-in 3Mbit FIFO Memory
  • TF/SD Card Reader with LED indicator
  • Use Arduino SPI / I2C dedicate pin out
  • Well mated with UNO/MEGA2560/DUE/Leonardo boards

Note: (a) Model ArduCAM-F doesn’t not include a 3.2” LCD screen

ArduCAM Shield Pin Out

ArduCAM shield includes to sets of pin out see Figure 1,  they are identical in function. One is Arduino standard, it can be well mate with standard Arduino boards like UNO, MEGA2560, Leonardo and DUE etc. The other one is alternative port which can be connect to any platform like Raspberry Pi. The detail pin out for each see Table 1 and Table 2.

Figure 1 ArduCAM pin out

ArduCAM_Pinout

Table 1 Arduino Standard Pin Out

IndexArduino PinsDescription
1I2C_SCLI2C clock
2I2C_SDAI2C data
3SPI_SCLKSPI clock
4SPI_MISOSPI Master In Slave Out
5SPI_MOSISPI Master Out Slave In
69SD/TF Card Chipselect
710ArduCAM Shield Chipselect
8ResetArduino Reset Input
95V5V Power Input
10GNDGound

Table 2 Alternative Pin Out

IndexArduino PinsDescription
1I2C_SDAI2C data
2I2C_SCLI2C clock
3CS_nArduCAM Shield Chipselect
4SD_CSnSD/TF Card Chipselect
5SPI_MISOSPI Master In Slave Out
6SPI_MOSISPI Master Out Slave In
7SPI_SCLKSPI clock
8TriggerSnapshot Input
9RSTReset Input
10GNDGound
115V5V Power Input

Camera Interface

CMOS image sensor interface divided into two catalogs, one is DVP (Digital Video Port) interface, the other is MIPI Mobile Industry Processor Interface. The main difference between DVP and MIPI is that DVP is parallel interface and the MIPI interface is high speed differential serial interface. MIPI interface provide higher data band width than DVP interface and support higher resolution and frame rate. Because the complexity and need additional hardware of MIPI interface, we only discuss DVP interface here.

For a standard DVP image sensor you will find the following signals:

  • SCL: I2C compatible clock signal for sensor registers configuration
  • SDA: I2C compatible data signal for sensor registers configuration
  • XCLK: clock input to the sensor
  • PCLK: clock output from the sensor,
  • HREF: Line valid signal
  • VSYNC: Frame valid signal
  • Data[N-1..0]: Data output from the sensor, N is the internal ADC bit width.

ArduCAM shield provide a DVP interface which support wide range of camera modules from 0.3MP to 5MP. The camera modules should line up with the shield based on Pin1 shown in the Figure 2 and Table 3 provide camera interface pin out on the shield.

Figure 2

CAM Pin Out
CAM Pin Out

Table 3 Camera Interface Pin Out

PinSignalPinSignal
1+3.3V2GND
3SCL4SDA
5VSYNC6HREF
7PCLK8XCLK
9D710D6
11D512D4
13D314D2
15D116D0

ArduChip

The ArduCAM shield includes an ArduChip which handle complex timing between MCU and LCD, Camera, FIFO. It exports a standard SPI serial interface shown in Table 4 and can be interfaced with wide range of micro-controller. MCU control the shield through a set of ArduChip internal registers shown in Table 6.

Table 4 ArduCAM shield SPI Interface

SignalArduino UNO PinDescription
SCLI2C_SCLI2C clock
SDAI2C_SDAI2C data
SCLKSPI_SCLKSPI clock
MISOSPI_MISOSPI master in slave out
MOSISPI_MOSISPI master out slave in
CSn10ArduCAM shield chipselect, active LOW
SD_CSn9TF/SD card chipselect,      active LOW

Bus Timing and Protocol

ArduCAM shield Rev.C use standard SPI slave bus protocol (CPOL = 0, CPHA = 0). One bus transaction composed by two 8bit access. Every bus transaction start with CSn goes low. The first 8bit is command phase, and the second 8bit is data phase. The bus timing shown in Figure 3 and Figure 4.

Figure 3 Bus Write Timing

bus_write_timing

Figure 3 Bus Read Timing

bus_read_timing

Data protocol in the command phase see Table 5

Table 5 Command Byte Protocol

Command Byte Protocol

BitsBit[7]Bit[6]Bit[5:1]Bit[0]
ArduChip Internal Register1: Write0: Read0: R/W Register1: RO RegisterRegister Address  bit[5:1]Register Address bit[0]
LCD Command Write10111111
LCD Data Write10111110
FIFO Read00111101

Table 6 ArduChip Registers

AddressNameModeDescription
0x00ARDUCHIP_TEST1R/WTesting Register, only used in bus testing
0x01ARDUCHIP_TEST2R/WTesting Register, only used in bus testing
0x02ARDUCHIP_MODER/WBus Mode selection .Bit[7:3]: Reserved Bit[2]: LCD to MCU, Bit[1]: Camera to LCD , Bit[0]: MCU to LCD
0x03ARDUCHIP_TIMR/WTiming Control register. Bit[7..6]: Reserved. Bit[5]: FIFO power down, 1 = power down, 0 = normal operation. Bit[4]: reserved. Bit[3]: Camera data delay control. 1 = delay 1 clock, 0 = no delay. Bit[2]: LCD backlight control, 1 = backlight off, 0 = ON. Bit[1]: Camera VSYNC polarity control, 1 = Inverted, 0 = Normal. Bit[0]: Camera HREF polarity control, 1 = Inverted, 0 = Normal.
0x04ARDUCHIP_FIFOR/WFIFO control Bit[1]: Write 1 to start a capture, Bit[0]: Reset the FIFO read and write pointer to ZERO.
0x40ARDUCHIP_REVROBit[7:6]: Revision integer part. Bit[5:0]: Revision decimal part. Default value is 0xC0.
0x41ARDUCHIP_TRIGROTrigger input Register. Bit[7:4]: Reserved. Bit[3]: Capture complete flag, 1 = Complete, 0 = Busy. Bit[2]: Reserved. Bit[1]: Capture button status, 0 = pressed, 1 = released. Bit[0]: Frame start signal, equal to VSYNC

Categories: User Guide

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *