📄 l2_fponccd.c
字号:
#include "general.h"
void L3_PowerOnCCD (void) USING_0
{
#ifdef RJ23N3 // Sharp 2.0M Interlace CCD Sensor
//PRINT_FRONT (" Setting RJ23N3 \n");
L3_CCDIniPad80();
L3_CCDIniClk80();
L3_CCDIniSerial();
L3_CCDIniParameter80();
L3_CCDIniPhase80();
L2_SetFrameRate (10, 0);
L2_SetExposureTime (100, 0);
L2_AdjustGain(0x200, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting RJ23N3 \n");
#endif
#ifdef SONY262 // SONY 262 3M Interlace CCD Sensor
//PRINT_FRONT (" Setting SONY626 \n");
L3_CCDIniPad81();
L3_CCDIniClk81();
L3_CCDIniParameter81();
L3_CCDIniPhase81();
L3_CCDIniSerial();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(700, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting SONY262 \n");
#endif
#ifdef SONY232 // SONY 232 1.3M Interlace CCD Sensor
//PRINT_FRONT (" Setting SONY232 \n");
L3_CCDIniPad82();
L3_CCDIniClk82();
L3_CCDIniSerial();
L3_CCDIniParameter82();
L3_CCDIniPhase82();
L2_SetExposureTime (300, 0);
L2_AdjustGain(400, 0);
//PRINT_FRONT (" Exit Setting SONY232 \n");
#endif
#ifdef SONY442 // SONY 442 1.3M Progressive CCD Sensor
//PRINT_FRONT (" Setting SONY442 \n");
L3_CCDIniPad83();
L3_CCDIniClk83();
//L3_CCDIniSerial();
L3_CCDIniParameter83();
L3_CCDIniPhase83();
L3_CCDIniSerial();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(0x80, 0); //Ygliu change for tekcom
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting SONY442 \n");
#endif
#ifdef SONY224 // SONY 224 2.0M Interlace CCD Sensor
//PRINT_FRONT (" Setting SONY224 \n");
L3_CCDIniPad84();
L3_CCDIniClk84();
L3_CCDIniSerial();
L3_CCDIniParameter84();
L3_CCDIniPhase84();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(0x60, 0); //ygliu change it for tekcom
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting SONY442 \n");
#endif
#ifdef RJ23P3AA // Sharp 3.0M 3 field Interlace CCD Sensor
//PRINT_FRONT (" Setting RJ23P3AA \n");
L3_CCDIniPad85();
L3_CCDIniClk85();
L3_CCDIniSerial();
L3_CCDIniParameter85();
L3_CCDIniPhase85();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(0x80, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting RJ23P3AA \n");
#endif
#ifdef SONY432 // SONY 3.0M 3 field Interlace CCD Sensor
//PRINT_FRONT (" Setting SONY432 \n");
L3_CCDIniPad86();
L3_CCDIniClk86();
L3_CCDIniSerial();
L3_CCDIniParameter86();
L3_CCDIniPhase86();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(0x100, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting SONY432 \n");
#endif
#ifdef SONY406 // SONY 406 4M Interlace CCD Sensor
//PRINT_FRONT (" Setting SONY406 \n");
L3_CCDIniPad87();
L3_CCDIniClk87();
L3_CCDIniParameter87();
L3_CCDIniPhase87();
L3_CCDIniSerial();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (200, 0);
L2_AdjustGain(200, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting SONY406 \n");
#endif
// patch4.2@andrew@0523 change frame rate
#ifdef MN39472 // PANASONIC 39472 2.0M Interlace CCD Sensor
//PRINT_FRONT (" Setting MN39472 \n");
L3_CCDIniPad90();
L3_CCDIniClk90();
L3_CCDIniSerial();
L3_CCDIniParameter90();
L3_CCDIniPhase90();
L2_SetFrameRate (20, 0);
L2_SetExposureTime (100, 0);
L2_AdjustGain(300, 0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting MN39472 \n");
#endif
#ifdef MN39470 // PANASONIC 39472 2.0M Interlace CCD Sensor
// PRINT_FRONT (" Setting MN39470 \n");
L3_CCDIniPad92();
L3_CCDIniClk92();
L3_CCDIniSerial();
L3_CCDIniParameter92();
L3_CCDIniPhase92();
L2_SetFrameRate (10, 0);
L2_SetExposureTime (100, 0);
L2_AdjustGain(300, 0);
// L3_SetProbe(0);
// PRINT_FRONT (" Exit Setting MN39470 \n");
#endif
// patch4.5@andrew@MN39592
#ifdef MN39592 // PANASONIC 39592 3.0M Interlace CCD Sensor
//PRINT_FRONT (" Setting MN39592 \n");
L3_CCDIniPad91();
L3_CCDIniClk91();
L3_CCDIniSerial();
L3_CCDIniParameter91();
L3_CCDIniPhase91();
// use scope detect 30 hz
L2_SetFrameRate (29, 0);
L2_SetExposureTime (300, 0);
L2_AdjustGain(0x30,0);
// L3_SetProbe(0);
//PRINT_FRONT (" Exit Setting MN39592 \n");
#endif
//patch4.4@andrew@SHARP_LZ24
#ifdef SHARP_LZ24BP
L3_CCDIniPad70();
L3_CCDIniClk70();
L3_CCDIniSerial();
L3_CCDIniParameter70();
L3_CCDIniPhase70();
L2_SetFrameRate (30, 0);
L2_SetExposureTime (300, 0);
#ifdef IR3Y48A
L2_IR3Y48A_CDS_GAIN(1); //set 6.02 db
L2_AdjustGain(32, 0); // 0.047*32 + 6.02 db minmum gain
#endif
#endif
}
#ifdef RJ23N3
void L3_CCDIniPad80() USING_0
{
XBYTE[0x2007] = 0xFF; //Set Output enable
XBYTE[0x2008] = 0xFF;
XBYTE[0x2009] = 0xFF;
XBYTE[0x200a] = 0x00; //Set SWTGole
XBYTE[0x200b] = 0x00;
}
void L3_CCDIniClk80() USING_0
{
XBYTE[0x2080] = 0x01; //Enablt TG PLL
XBYTE[0x2A80] = 0x00; //Disable HP = let Clk2x Change immediate
XBYTE[0x2A81] = 0x03; //Set Clk1xDiv
XBYTE[0x2A82] = 0x01; //Set Clk2xDiv
XBYTE[0x2019] = XBYTE[0x2019] | 0xC0; //Select input clk1x, clk2x from Internal
XBYTE[0x2A80] = 0x02; //Disable HP = let Clk2x Change sync witd Vd
}
void L3_CCDIniPhase80() USING_0 //Adjust this part to get better Image quality
{
XBYTE[0x2A83] = 0x04; //Clk1x Out delay
XBYTE[0x2023] = 0x00; //Clk1x Input delay
XBYTE[0x2022] = 0x00; //Clk2x Input delay
XBYTE[0x2B19] = 0x01; //FH1 delay
XBYTE[0x2B1A] = 0x00; //FH2 delay
XBYTE[0x2B13] = 0x09; //Reset Gate delay
XBYTE[0x2B15] = 0x09; //XSHP delay
XBYTE[0x2B17] = 0x00; //XSHD delay
}
void L3_CCDIniParameter80() USING_0
{
XBYTE[0x2AB0] = 0x01; //Reset Sensor interface
XBYTE[0x2AB0] = 0x00;
XBYTE[0x2A11] = 0x30;
XBYTE[0x2A13] = 0x60;
XBYTE[0x2A10] = 0x01; //Hrespenable
XBYTE[0x2A20] = 0x79; //Set Hoffset
XBYTE[0x2A21] = 0x02;
XBYTE[0x2A22] = 0x37; //Set Voffset
XBYTE[0x2A23] = 0x00;
XBYTE[0x2A24] = 0x40; //Set Hsize
XBYTE[0x2A25] = 0x06;
XBYTE[0x2A26] = 0x58; //Set Vsize
XBYTE[0x2A27] = 0x02;
XBYTE[0x2A30] = 0x75; //Set Hoffsetm
XBYTE[0x2A31] = 0x02;
XBYTE[0x2A32] = 0x72; //Set Hsizem
XBYTE[0x2A33] = 0x06;
XBYTE[0x2A34] = 0x02; //Set Voffsetm
XBYTE[0x2A35] = 0x00;
XBYTE[0x2A36] = 0xFD; //Set Vsizem
XBYTE[0x2A37] = 0x00;
XBYTE[0x2A38] = 0x60; //Set Voffsetafc
XBYTE[0x2A39] = 0x00;
XBYTE[0x2A3A] = 0x9E; //Set Vsizeafc
XBYTE[0x2A3B] = 0x02;
XBYTE[0x2A3C] = 0x10; //Set Voffsetafm
XBYTE[0x2A3D] = 0x00;
XBYTE[0x2A3E] = 0x50; //Set Vsizeafm
XBYTE[0x2A3F] = 0x00;
XBYTE[0x2A41] = 0xE8; //Set LineTotal
XBYTE[0x2A42] = 0x08;
XBYTE[0x2A43] = 0xA4; //Set LineBlank
XBYTE[0x2A44] = 0x00;
XBYTE[0x2A45] = 0xB0; //Set FrameTotal
XBYTE[0x2A46] = 0x02;
XBYTE[0x2A47] = 0x02; //Set FrameBlank
XBYTE[0x2A48] = 0x00;
XBYTE[0x2A50] = 0x08; //Set FrameTotalm
XBYTE[0x2A51] = 0x01;
XBYTE[0x2A52] = 0x00; //Set FrameTotalafc
XBYTE[0x2A53] = 0x02;
XBYTE[0x2A54] = 0x70; //Set FrameTotalafm
XBYTE[0x2A55] = 0x00;
XBYTE[0x2B20] = 0x34; //Set CCD Fhmaskrise
XBYTE[0x2B21] = 0x58; //Set CCD Fhmaskfall
XBYTE[0x2B22] = 0x02;
XBYTE[0x2B23] = 0x10; //Set CCD Subrise
XBYTE[0x2B24] = 0x01;
XBYTE[0x2B25] = 0xC0; //Set CCD Subfall
XBYTE[0x2B26] = 0x00;
XBYTE[0x2B27] = 0x32; //Set CCD Clpobrise
XBYTE[0x2B28] = 0x19; //Set CCD Clpobfall
XBYTE[0x2B29] = 0x74; //Set CCD Clpdmrise
XBYTE[0x2B2A] = 0x02;
XBYTE[0x2B2B] = 0x5C; //Set CCD Clpdmfall
XBYTE[0x2B2C] = 0x02;
XBYTE[0x2B30] = 0x70; //Set CCD Ccdhoffset
XBYTE[0x2B31] = 0x02;
XBYTE[0x2B32] = 0x31; //Set CCD Ccdvoffsetc
XBYTE[0x2B33] = 0x7A; //Set CCD Ccdvsizec
XBYTE[0x2B34] = 0x02;
XBYTE[0x2B35] = 0x01; //Set CCD Ccdvoffsetm
XBYTE[0x2B36] = 0x03; //Set CCD Ccdvsizem
XBYTE[0x2B37] = 0x01;
XBYTE[0x2B38] = 0x64; //Set CCD Ccdvsizeafc
XBYTE[0x2B39] = 0x00;
XBYTE[0x2B3A] = 0x64; //Set CCD Ccdvsizeafm
XBYTE[0x2B3B] = 0x00;
XBYTE[0x2B40] = 0xA0; //Set CCD Xvrepintm
XBYTE[0x2B41] = 0x32; //Set CCD Xvrepnum1,2
XBYTE[0x2B42] = 0x02; //Set CCD Xv1risem
XBYTE[0x2B43] = 0x50; //Set CCD Xv1fallm
XBYTE[0x2B44] = 0x28; //Set CCD Xv2risem
XBYTE[0x2B45] = 0x78; //Set CCD Xv2fallm
XBYTE[0x2B46] = 0x50; //Set CCD Xv3risem
XBYTE[0x2B47] = 0x02; //Set CCD Xv3fallm
XBYTE[0x2B48] = 0x78; //Set CCD Xv5risem
XBYTE[0x2B49] = 0x28; //Set CCD Xv4fallm
XBYTE[0x2B50] = 0x28; //Set CCD Xv1risemr1
XBYTE[0x2B51] = 0x00;
XBYTE[0x2B52] = 0xA2; //Set CCD Xv1fallmr1
XBYTE[0x2B53] = 0x00;
XBYTE[0x2B54] = 0x78; //Set CCD Xv2risemr1
XBYTE[0x2B55] = 0x00;
XBYTE[0x2B56] = 0xF0; //Set CCD Xv2fallmr1
XBYTE[0x2B57] = 0x00;
XBYTE[0x2B58] = 0xC8; //Set CCD Xv3risemr1
XBYTE[0x2B59] = 0x00;
XBYTE[0x2B5A] = 0x02; //Set CCD Xv3fallmr1
XBYTE[0x2B5B] = 0x00;
XBYTE[0x2B5C] = 0x18; //Set CCD Xv4risemr1
XBYTE[0x2B5D] = 0x01;
XBYTE[0x2B5E] = 0x50; //Set CCD Xv4fallmr1
XBYTE[0x2B5F] = 0x00;
XBYTE[0x2B60] = 0x70; //Set CCD Xv1risemr2
XBYTE[0x2B61] = 0x03;
XBYTE[0x2B62] = 0x88; //Set CCD Xv1fallmr2
XBYTE[0x2B63] = 0x09;
XBYTE[0x2B64] = 0xC0; //Set CCD Xv2risemr2
XBYTE[0x2B65] = 0x03;
XBYTE[0x2B66] = 0xD8; //Set CCD Xv2fallmr2
XBYTE[0x2B67] = 0x09;
XBYTE[0x2B68] = 0xB0; //Set CCD Xv3risemr2
XBYTE[0x2B69] = 0x09;
XBYTE[0x2B6A] = 0x48; //Set CCD Xv3fallmr2
XBYTE[0x2B6B] = 0x03;
XBYTE[0x2B6C] = 0x00; //Set CCD Xv4risemr2
XBYTE[0x2B6D] = 0x0A;
XBYTE[0x2B6E] = 0x98; //Set CCD Xv4fallmr2
XBYTE[0x2B6F] = 0x03;
XBYTE[0x2B70] = 0x78; //Set CCD Xsgwidth
XBYTE[0x2B71] = 0xA8; //Set CCD Xsg1afallm
XBYTE[0x2B72] = 0x02;
XBYTE[0x2B73] = 0x00; //Set CCD Xsg1bfallm
XBYTE[0x2B74] = 0x00;
XBYTE[0x2B75] = 0xE8; //Set CCD Xsg3afallm
XBYTE[0x2B76] = 0x03;
XBYTE[0x2B77] = 0x00; //Set CCD Xsg3bfallm
XBYTE[0x2B78] = 0x00;
XBYTE[0x2B79] = 0x60; //Set CCD Xvhnumhs
XBYTE[0x2B7A] = 0x05;
XBYTE[0x2B7B] = 0x50; //Set CCD Xvrepinths
XBYTE[0x2B7C] = 0x28; //Set CCD Xvwidthhs
XBYTE[0x2B7D] = 0x02; //Set CCD Xv1risehs
XBYTE[0x2B7E] = 0x16; //Set CCD Xv2risehs
XBYTE[0x2B7F] = 0x02; //Set CCD Xv3risehs
XBYTE[0x2B80] = 0x16; //Set CCD Xv4risehs
XBYTE[0x2B81] = 0x00; //Set CCD Xvrepintc
XBYTE[0x2B82] = 0x00;
XBYTE[0x2B83] = 0x01; //Set CCD Xvrepnumc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -