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

📄 cameram.c

📁 s3c6400 ADS下官方测试程序
💻 C
📖 第 1 页 / 共 5 页
字号:
	CAMERA_SetReg(0x3b, 0x2a);

	CAMERA_SetReg(0x31, 0x00);  // skin tone[6], CW delete[5]  

//	CAMERA_SetReg(0xfc, 0x03);
//	CAMERA_SetReg(0x2d, 0x01);

	CAMERA_SetSizeInS5K3BAF(eSub);

//	CAMERA_SetReg(0xfc, 0x00);
//	CAMERA_SetReg(0x02, 0x09);

//	CAMERA_SetReg(0xfc, 0x04);
//	CAMERA_SetReg(0x2d, 0x01);
   
	//sfc07                                     
	//s521f //R center(CW)                    
	//s539f //B center (5 bit,signed)         
	//s540f //0c   //radius 
	//                         
	//s551b //08    // R center(skin tone)            
	//s569f //86    // B center                       
	//s574f //ff   // width and depth                
	//////////////////////////////////////                                          
	//new 
	CAMERA_IICClose();

}

//////////
// Function Name : CAMERA_SetSizeInS5K3BAF
// Function Description : camera module(S5K3BA) Size calucate
// Input : 	IMG_SIZE eSrcSize(Source size)
// Output :    	None
void CAMERA_SetSizeInS5K3BAF(SUB_SAMPLING eSub)
{
	u8 ucSub;

	oCamera.m_ucSlaveAddr = 0x5a;
	/// Size subsampling setting
	ucSub = (eSub == SUB_SAMPLING0) ? 0 :
				(eSub == SUB_SAMPLING2) ? 9 :
				(eSub == SUB_SAMPLING4) ? 11 :
				0xff;
	Assert(ucSub < 0xff);
	CAMERA_SetReg(0xfc, 0x00);
	CAMERA_SetReg(0x02, ucSub);
}


void CAMERA_InitA3AFX_QVGA_20FR(void)
{
	//u32 uHCLKx2;

	SYSC_GetClkInform(); // Get HCLKx2 Frequency
	//uHCLKx2 = g_HCLKx2/1000000;
	
	oCamera.m_ucSlaveAddr = 0xc4;

// 	 CAMERA_IICOpen(100000); 
 	 CAMERA_IICOpen(16000000); 


	//3.13 Pearl setting栏肺 矫累.

	//------------------------------------------------------------------
	// Set File 
	// - S5KA3AFX_xshade_061018.xls generates
	// - date : 2007-03-12坷饶 3:20:55
	//------------------------------------------------------------------

	CAMERA_SetReg(0xef,0x01);
	CAMERA_SetReg(0x70,0x00); //AE,AWB OFF

	//QVGA
	CAMERA_SetReg(0xef,0x00);
	CAMERA_SetReg(0x7c,0xe0);
	CAMERA_SetReg(0x81,0x01);
	CAMERA_SetReg(0x82,0x50);
	CAMERA_SetReg(0x7f,0x00);
	CAMERA_SetReg(0x80,0xf0);
	CAMERA_SetReg(0xc2,0x09);
	CAMERA_SetReg(0xc6,0x01);
	CAMERA_SetReg(0xc7,0x40);
	CAMERA_SetReg(0xc4,0x00);
	CAMERA_SetReg(0xc5,0xF0);

	//// Page : 00
	//CAMERA_SetReg(0xef,0x00);
	//CAMERA_SetReg(0x0d,0x03);
	//CAMERA_SetReg(0x0e,0x00);
	//CAMERA_SetReg(0x0f,0x1F);
	//CAMERA_SetReg(0x10,0x00);
	//CAMERA_SetReg(0x11,0x37);
	//CAMERA_SetReg(0x12,0x08);
	//CAMERA_SetReg(0x13,0x42);
	//CAMERA_SetReg(0x14,0x00);
	//CAMERA_SetReg(0x15,0x12);
	//CAMERA_SetReg(0x16,0x9E);
	//CAMERA_SetReg(0x19,0x00);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE0);
	//CAMERA_SetReg(0x19,0x01);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE3);
	//CAMERA_SetReg(0x19,0x02);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xED);
	//CAMERA_SetReg(0x19,0x03);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xCA);
	//CAMERA_SetReg(0x19,0x04);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xD2);
	//CAMERA_SetReg(0x19,0x05);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xEC);
	//CAMERA_SetReg(0x19,0x06);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE5);
	//CAMERA_SetReg(0x19,0x07);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x12);
	//CAMERA_SetReg(0x19,0x08);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE6);
	//CAMERA_SetReg(0x19,0x09);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x08);
	//CAMERA_SetReg(0x19,0x0A);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xEA);
	//CAMERA_SetReg(0x19,0x0B);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xDA);
	//CAMERA_SetReg(0x19,0x0C);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE3);
	//CAMERA_SetReg(0x19,0x0D);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xF9);
	//CAMERA_SetReg(0x19,0x0E);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x1C);
	//CAMERA_SetReg(0x19,0x0F);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x12);
	//CAMERA_SetReg(0x19,0x10);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x18);
	//CAMERA_SetReg(0x19,0x11);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x08);
	//CAMERA_SetReg(0x19,0x12);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xEB);
	//CAMERA_SetReg(0x19,0x13);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xF9);
	//CAMERA_SetReg(0x19,0x14);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xF4);
	//CAMERA_SetReg(0x19,0x15);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x1F);
	//CAMERA_SetReg(0x19,0x16);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x15);
	//CAMERA_SetReg(0x19,0x17);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x11);
	//CAMERA_SetReg(0x19,0x18);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x0E);
	//CAMERA_SetReg(0x19,0x19);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x08);
	//CAMERA_SetReg(0x19,0x1A);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xFE);
	//CAMERA_SetReg(0x19,0x1B);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xF4);
	//CAMERA_SetReg(0x19,0x1C);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x24);
	//CAMERA_SetReg(0x19,0x1D);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x03);
	//CAMERA_SetReg(0x19,0x1E);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x02);
	//CAMERA_SetReg(0x19,0x1F);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xFF);
	//CAMERA_SetReg(0x19,0x20);
	//CAMERA_SetReg(0x17,0x00);
	//CAMERA_SetReg(0x18,0x12);
	//CAMERA_SetReg(0x19,0x21);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xE5);
	//CAMERA_SetReg(0x19,0x22);
	//CAMERA_SetReg(0x17,0x07);
	//CAMERA_SetReg(0x18,0xD1);
	//CAMERA_SetReg(0x19,0x40);
	//

	//CAMERA_SetReg(0xef,0x02);
	//CAMERA_SetReg(0x59,0x50); //P, S
	//CAMERA_SetReg(0x5a,0x32); //M
	//CAMERA_SetReg(0x58,0x21); //PLL

	//////////////////////////////////////////////////////////

	CAMERA_SetReg(0xef,0x02);   // CIS page
	//CAMERA_SetReg(0x4b,0x5E);   // PCLK driving current max
	//CAMERA_SetReg(0x23,0xd8);   // Tx width
	CAMERA_SetReg(0x3a,0x20);   // double shutter off
	CAMERA_SetReg(0x65,0x08);   // CIS mode
	CAMERA_SetReg(0x0a,0x90);   // Display WCW
	CAMERA_SetReg(0x01,0x26);   // E-shutter enable
	                 
	CAMERA_SetReg(0x03,0x78);   // S1R END						**** Revised at EVT1
	CAMERA_SetReg(0x05,0x00);   // S1S end value control
	CAMERA_SetReg(0x07,0xE5);   // s2  END
	CAMERA_SetReg(0x09,0x0E);   // S4  END
	CAMERA_SetReg(0x0b,0x84);	//85	//81   // Analog offset
	CAMERA_SetReg(0x13,0xa0);   //20   // R_REF
	//CAMERA_SetReg(0x15,0x80);   // EC COMP 100'b
	CAMERA_SetReg(0x1c,0x58);   //20070304AM //57   // global gain						**** Revised at EVT1
	CAMERA_SetReg(0x24,0x3d);   // i_cds						**** Revised at EVT1
	CAMERA_SetReg(0x26,0x25);   // clamp level control					**** Revised at EVT1
	CAMERA_SetReg(0x29,0x8f);   // CFPN start frame (16);
	CAMERA_SetReg(0x4b,0x5b);   // IO driving current
	CAMERA_SetReg(0x56,0x05);   // Line ADLC
	//CAMERA_SetReg(0x58,0x61);   // amp bias current source select (71h : self bias);
	CAMERA_SetReg(0x5f,0x06);   // aps bias current      
	CAMERA_SetReg(0x67,0x3c);   // EC_COMP & SAVG_END
	CAMERA_SetReg(0x68,0x10);   // i_rmp control
	CAMERA_SetReg(0x69,0x13);   // i_mid

	//CAMERA_SetReg(0x58,0x21);	// PLL on
	//CAMERA_SetReg(0x59,0x1A);	// pll_s=0, pll_p=26,
	//CAMERA_SetReg(0x5A,0x1A);	// pll_m=26

	CAMERA_SetReg(0x28,0x9B);   // CFPN on						**** Revised at EVT1




	//061011
	CAMERA_SetReg(0xef,0x01);
	CAMERA_SetReg(0xd1,0xaa);   //89:16.7MHz, d2:24MHz 64:13MHz dc:25MHz 13MHz //d2	//d2(24MHz); Mclk Value (Mclk - 30d);/100,000 
	//CAMERA_SetReg(0xd1,0x64);	//64(13MHz); Mclk Value (Mclk - 30d);/100,000 
	//CAMERA_SetReg(0xd9,0x15);   //AE saturation CHIP_DEBUG

	//////////
	//page 0
	//////////
	CAMERA_SetReg(0xef,0x00);
	//CAMERA_SetReg(0x09,0x3e);   //gr gain

	CAMERA_SetReg(0xef,0x00);
	CAMERA_SetReg(0x27,0x40);  //08  //GR/GB Correction Limitation Value
	CAMERA_SetReg(0x29,0x60);  //GrGb Edge Threshold Value

	// AE Window
	CAMERA_SetReg(0xef,0x00);
	CAMERA_SetReg(0x55,0x00);	//Window diplay off
	CAMERA_SetReg(0x58,0x00);
	CAMERA_SetReg(0x59,0x00);
	CAMERA_SetReg(0x5a,0x02);
	CAMERA_SetReg(0x5b,0x80);
	CAMERA_SetReg(0x5c,0x00);
	CAMERA_SetReg(0x5d,0x00);
	CAMERA_SetReg(0x5e,0x01);
	CAMERA_SetReg(0x5f,0xe0);
	CAMERA_SetReg(0x60,0x00);
	CAMERA_SetReg(0x61,0x00);
	CAMERA_SetReg(0x62,0x02);
	CAMERA_SetReg(0x63,0x80);
	CAMERA_SetReg(0x64,0x00);
	CAMERA_SetReg(0x65,0x00);
	CAMERA_SetReg(0x66,0x01);
	CAMERA_SetReg(0x67,0xe0);

	CAMERA_SetReg(0xef,0x01);	// AE weight
	CAMERA_SetReg(0x77,0x01);
	CAMERA_SetReg(0x78,0x01);
	//CAMERA_SetReg(0x79,0x03);
	//CAMERA_SetReg(0x7a,0x03);
	//CAMERA_SetReg(0x7b,0x04);
	//CAMERA_SetReg(0x7c,0x04);

	CAMERA_SetReg(0xef,0x00);
	//CAMERA_SetReg(0x57,0x18);  // AE Lux min threshold

	CAMERA_SetReg(0xd9,0xc0);  // color edge threshold

	////AWB Luminance check
	////20070212 Added for low light starting env.
	CAMERA_SetReg(0xef,0x00);
	CAMERA_SetReg(0xad,0x03);	//Luminance upper_level[9:8]
	CAMERA_SetReg(0xae,0x20);	//Luminance upper_level[7:0]
	CAMERA_SetReg(0xaf,0x00);	//Luminance lower_level[9:8]
	CAMERA_SetReg(0xb0,0x90);	//Luminance lower_level[7:0]

	/////////////////////////////////////////////////////
	//page 1/////////////////////////////////////////////
	/////////////////////////////////////////////////////
	CAMERA_SetReg(0xef,0x01);
	////20070212 Modified for low light starting env.
	CAMERA_SetReg(0x83,0x72);	//7d	//AWB R/B Max Gain : <0.44>'s max
	CAMERA_SetReg(0x84,0x38);	//30	//AWB R/B Min Gain : <0.42>'s max

	CAMERA_SetReg(0xa8,0x41);   //20070222  //shutter Control
	CAMERA_SetReg(0xa9,0xd4);   //20070222  //Shutter Threshold

	CAMERA_SetReg(0xaf,0x04);	//20070213PM	//00   //L.L Brightness
	CAMERA_SetReg(0xb4,0x88);	//20070213	//b0   //a0   // N.L contrast
	CAMERA_SetReg(0xb5,0x88);	//20070213	//b0   //a0   // L.L contrast 
	CAMERA_SetReg(0xbc,0x66);   //20070305PM //26	//20070213	//AWB skip point (default:16);

	CAMERA_SetReg(0xb7,0x46);   //58   //68   // N.L color saturation
	CAMERA_SetReg(0xb8,0x46);   //20070305PM //30   //52   // L.L color saturation

	//CAMERA_SetReg(0x70,0x97);   //17 // fix PAL(50Hz);
	CAMERA_SetReg(0x71,0x7a); //6a);	//20070213PM	//55   //5a   //68   //70   //6f   //4d	//60	//78   //AE target
	CAMERA_SetReg(0x72,0x09);   //20070214PM  //07   //0c   //12   //0a   //05	//12   // AE threshold
	//CAMERA_SetReg(0x73,0x34);	//20070214PM  //AE Step Guard Value 
	CAMERA_SetReg(0x74,0x6b);   //60   //70	//74	//70   // low agc max
	CAMERA_SetReg(0x75,0x40);   // normal agc max
	  
	CAMERA_SetReg(0xa6,0x40);  //80  //N.L sharpness H/V Gain
	CAMERA_SetReg(0xab,0x40);  //38  //18  //60 //N.L NR Edge 
	CAMERA_SetReg(0xad,0x80);  //40  //20  //L.L NR Edge
	//CAMERA_SetReg(0xa3,0x30); //AWB speed //EVT0篮 绊沥登绢 乐澜.(0x03); //EVT1篮 函版 啊瓷.

	CAMERA_SetReg(0xcc,0x09);   //08   //Flicker threshold 12
	CAMERA_SetReg(0xd5,0x22);   //23	//32  //Chip_Debug2

	CAMERA_SetReg(0xe0,0x06);   // NT Max
	CAMERA_SetReg(0xe2,0x06);   //07   //18   // Low NT max
	CAMERA_SetReg(0xe1,0x05);   // PAL Max
	CAMERA_SetReg(0xe3,0x05);   //07   //18   // Low PAL max

	CAMERA_SetReg(0xe4,0x00);   // 24MHz VblankH (H.L); //FPS (24MHz, 15fps);
	CAMERA_SetReg(0xe5,0x77);   //ea   // 24MHz NT VblankL (H.L);
	//CAMERA_SetReg(0xe4,0x00);	// 13MHz VblankH (H.L); //FPS (24MHz, 15fps);
	//CAMERA_SetReg(0xe5,0x2a);	// 13MHz VblankL (H.L);

	CAMERA_SetReg(0xe6,0x00);   //20070215AM // 24MHz VblankH (H.L); //FPS (24MHz, 15fps);
	CAMERA_SetReg(0xe7,0x2a);   //20070215AM //ea   // 24MHz NT VblankL (H.L);

	CAMERA_SetReg(0xe8,0x68);   //44  //84 //97  // ae speed
	CAMERA_SetReg(0xe9,0x84); //Double shutter ON
	//CAMERA_SetReg(0xe9,0x87);
	CAMERA_SetReg(0xef,0x00);
	//CAMERA_SetReg(0x8c,0x0e); //skin color detection
	CAMERA_SetReg(0xc8,0x09);   //0a  //YC delay


	////////////////////////////////////////
	// Color Correction -> Shading -> Gamma -> AWB -> Hue
	////////////////////////////////////////

	// Color Correction
	                   
	//CAMERA_SetReg(0xef,0x00);         //	//D65-1	//D65	//CW	//U30-6	//U30	//Old
	//CAMERA_SetReg(0x4c,0x40);         //95	//95	//81	//8a	//50	//62	//56
	//CAMERA_SetReg(0x4d,0x92);         //c2	//c2	//ba	//d2	//af	//a9	//8d
	//CAMERA_SetReg(0x4e,0x0f);         //92	//92	//87	//07	//1f	//07	//89
	//CAMERA_SetReg(0x4f,0x9a);         //9b	//9b	//98	//9e	//9e	//a2	//94
	//CAMERA_SetReg(0x50,0x3b);         //73	//73	//64	//4c	//2e	//47	//5c
	//CAMERA_SetReg(0x51,0x1e);         //98	//98	//8c	//12	//30	//1b	//8b
	//CAMERA_SetReg(0x52,0x82);         //80	//80	//80	//80	//86	//85	//80
	//CAMERA_SetReg(0x53,0xbf);         //b3	//b3	//ad	//cd	//eb	//f2	//91
	//CAMERA_SetReg(0x54,0x7f);         //73	//73	//6d	//8e	//b2	//b8	//51

	////CW
	CAMERA_SetReg(0xef,0x00);
	CAMERA_SetReg(0x4c,0x92);
	CAMERA_SetReg(0x4d,0xcf);
	CAMERA_SetReg(0x4e,0x82);
	CAMERA_SetReg(0x4f,0xad);
	CAMERA_SetReg(0x50,0x6e);
	CAMERA_SetReg(0x51,0x80);
	CAMERA_SetReg(0x52,0x87);
	CAMERA_SetReg(0x53,0xeb);
	CAMERA_SetReg(0x54,0xb2);
	//
	////D65
	//CAMERA_SetReg(0xef,0x00);
	//CAMERA_SetReg(0x4c,0x8a);
	//CAMERA_SetReg(0x4d,0xc2);
	//CAMERA_SetReg(0x4e,0x88);
	//CAMERA_SetReg(0x4f,0x9f);
	//CAMERA_SetReg(0x50,0x72);
	//CAMERA_SetReg(0x51,0x93);
	//CAMERA_SetReg(0x52,0x81);
	//CAMERA_SetReg(0x53,0xca);
	//CAMERA_SetReg(0x54,0x8c);

	//Default
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -