world leader in high performance signal processing
Trace: » frame_capture_device

PPI Frame Capture Device

The PPI frame capture device (PPIFCD) is a CMOS camera that connects to a Blackfin via the parallel peripheral interface. It is intended to only capture single frames. Currently two camera sensors are supported.

See here: v4l_blackfin_camera for an v4l video driver supporting several sensors.

Micron MT9T001

The PPIFCD can be built using a Micron MT9T001 (datasheet), as described here. It uses the standard Inter-IC Bus (intro) and the programmable flags to control the camera (e.g., to take out of standby mode, etc.).

Programs that Use the PPIFCD

ppifcd_test

As mentioned here, the PPIFCD Frame Capture Driver test application aims to see if the digital image sensor can take pictures effectively which is connected through the PPI port to the target board. It records the row_time, total_frame_time, total_frame_capture_time, and the taken picture. If the printed data is as expected, the case passes, otherwise it fails.

fcd

This program serves CGI-based web pages that allow the user to specify settings, capture frames, and verify the overall operation of the camera.

Configuring the Linux kernel

The Blackfin PPI supports a number of daughter cards, the PPIFCD being one.

Below are some configuration settings for the BF533 and BF537 STAMP boards. To get either of the programs mentioned above built, specify the following:

under Customize Vendor/User Settings
== Select Blackfin test programs == 
   Enable  PPIFCD test program

== Select Blackfin app programs == 
   Enable  CGI based Test Application for the PPI Frame Capture Driver

BF533-STAMP Board

As described here, the BF533-STAMP board is known to work with the PPIFCD with the following settings:

under Customize Kernel Settings
== Select Device Drivers ==
 == Select Character devices ==
    Enable  [*] Simple GPIO char interface                                   
    Enable  [*] Blackfin BF5xx PPI Driver        
 == Select I2C support == 
    Enable  I2C support                                      
    Enable  I2C device interface
    Select  I2C Hardware Bus support
       Enable   GPIO-based bitbanging I2C
       

In the linux-2.6.x/arch/blackfin/mach-bf533/boards/stamp.c, make sure

.sda_pin =2
.scl_pin =4

And make sure you are using packing mode with argument -p 1. eg

ppifcd-test -p 1 -b 533

BF537-STAMP Board

The BF537 has a built-in two wire interface peripheral and unlike the BF333 does not require the generic I2C support that is described here.

under Customize Kernel Settings
== Select Device Drivers ==
 == Select Character devices ==
    Enable [*]  Simple GPIO char interface                                   
    Enable [*]  Blackfin BF5xx PPI Driver
 == Select I2C support == 
    Enable  I2C support                                      
    Enable  I2C device interface
    Select  I2C Hardware Bus support
       Enable   Blackfin TWI I2C support

Complete Table of Contents/Topics