⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l2_fponccd.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#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 + -