| MV1000 Application Notes |  |

Using the Dage-MTI(CCD-72 Series) with MV-1000 in Integration Mode
This application note / program demonstrates the procedure for using the Dage-MTI camera with the MV-1000, in controlled integration mode. A windows utility is also available from Mutech to control integration.
Dage-MTI camera Integration Mode Requirements
The Dage-MTI camera used in this application note/program has a gate input (BNC, labelled Gate Input on the back of the camera). When an active low signal(0 volt) is sent to the gate input, the CCD is inhibited from readout and therefore stores photon charge. The accumulated charge is read out on the first two fields after the gate pulse goes away. The white cable of the Mutech VC-7 cable is used for sending the control signal to the gate input of the camera and the red cable is used for the video input.
The following requirements are given in the Dage-MTI user's manual for using this camera for integration.
1. Gating interval MUST be an even number of fields (to allow equal integration time for both even and odd fields).
2. If gating starts on an odd field, then readout will start on an even field and vice versa.
3. CCD gating (pixel readout inhibit) starts the first field after the gate signal goes low. Accumulated charge is read out the first two fields after the gate pulse goes high.
4. The actual number of fields integrated will be the number of fields the gate signal is low PLUS two fields. (Pixel readout is inhibited when the gate signal goes low, therefore the two previous fields are not read out and are integrated along with the number of fields the gate signal is low).
5. The gate signal transition MUST be within the "safe zone". Stay out of "keep out zone"(1st 800 (S of vertical blanking).
Application program to perform integration using Dage camera
The following is a DOS program coded in C using the Watcom 10.0 compiler and Mutech SDK library version 2.10. The program incorporates, as part of the code, the above mentioned conditions necessary for operation of the Dage-MTI camera. The number of frames(n) controls the intensity of the integrated image. The default value is 3 if no command line parameter is used. However, users can specify the number of frames from the command line by typing "dage n", where n is the number of frames.
#include < stdio.h >
#include < string.h >
#include < malloc.h >
#include "mv1.h"
main(int argc, char **argv)
{
int numboard,i,n,cnt;
ULONG line_count;
char huge *buffer,ch;
MV1InitCFG board_init;
MV1GrabWindow grabWindowRS170;
MV1Frame RS170Frame;
n=3;
if (argc> 1)
n = atoi(argv[1]) ;
// Checking to see if the VGA card can support 800X600 mode resolution
if (MV1VGAInit(0X103, NULL))
{
printf("Your VGA card does not support the 800X600 mode resolution\n");
exit(1);
}
// Checking for presence of board
if ((numboard=MV1Open()) < 0)
{
printf("MV-1000 board has not been installed on your PC\n");
exit(1);
}
// Setting board number and initializing board
for(i=0; i < numboard; i++)
{
MV1SetCurrentBoard(i);
MV1Init(NULL, NULL); //The first NULL assumes default setting of RS170
}
// Set to initial high state */
MV1SetGeneralPurposeBit(MV1_GP_Bit0);
// Setting parameters for RS170 specifications
MV1SetCurrentCamera(0);
MV1SelectSTDCameraConfig(MV1_RS170_Cam);
// Defining a grab window to capture image frames
MV1SetGrabWindow (0,0,0,640,480,&grabWindowRS170);
// Want to see full image */
MV1CreateFrame (&RS170Frame,0,0,640,480,&grabWindowRS170);
buffer=MTMALLOC(640*480);
MV1GraphMode(1);
// The Dage-MTI requires the integration control either starting odd and ending odd or
//starting even and ending even. For this example, we use the even case only and wait if
//field is odd. After waiting during odd, we don't want to hit the unsafe zone at the end of
//even. Therefore,if it is now at even field, make sure that we will not step into unsafe
//zone
MV1GeneralAccessIn(MV1_BoardChipAccess, MV1_CUR_LINE, &line_count);
if (MV1InquireField() == 0 && line_count > 259) {
// make sure to skip over the vertical sync period
while (MV1RdVSyncInfo() != MV1_OK)
;
while (MV1RdVSyncInfo() == MV1_OK)
;
}
if(MV1InquireField() == 1)
while (MV1InquireField() == 1)
; //Wait until odd field is over
// Following do loop guaranties that the start of integration is in the safe zone
do {
MV1GeneralAccessIn(MV1_BoardChipAccess, MV1_CUR_LINE, &line_count);
} while (line_count < 20);
// starting integration signal, reset makes GP0 to be low
MV1ResetGeneralPurposeBit(MV1_GP_Bit0);
// stay for two fields period
for(i=1;i < n;i++) {
while (MV1RdVSyncInfo() != MV1_OK)
;
while (MV1RdVSyncInfo() == MV1_OK)
;
while (MV1RdVSyncInfo() != MV1_OK)
;
while (MV1RdVSyncInfo() == MV1_OK)
; }
// using line-counter to get in the safe zone again
do {
MV1GeneralAccessIn(MV1_BoardChipAccess, MV1_CUR_LINE, &line_count);
} while (line_count < 20);
// Ending integration signal
MV1SetGeneralPurposeBit(MV1_GP_Bit0);
MV1StartGrab(MV1_Single_Grab, MV1_Grab_Odd);
MV1WaitFrameEnd();
MV1FrameRead(&RS170Frame,0,0,640,480,buffer);
MV1DisplayData2VGA(&RS170Frame,0,0,buffer);
getch();
MTFREE(buffer);
MV1TextMode();
MV1Close();
}
Equipment used:
Mutech MV-1000 video digitizer
VC-7 cable(available from Mutech)
Dage-MTI camera
Mutech SDK library, ver. 2.10

MuTech Corp. July 1996
Return to MuTech Homepage