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

📄 image_s.h

📁 DSP图像板调试小程序
💻 H
字号:
/******************************************************************
	head file for image_s_m.c * 
		UART (CPLD) UART_OUT,UATR_IN 2007.09.04
        transfer data width is 8 bit *
        for cis: 4 seg *		
    Parameters setup:
        BRIGHT:	 0--0x7f  ( Integral Time = Bright*5|ìS ,0:dark ) 
        line_m:	 Sampling line Number for One MCLK (valid 2-8)
        pixel_m: sample One pixel for every pixel_m cis_clk(valid 1,6) 

		Sync_c :  internel Frame sync.
		
		CIS Mode setup:
		D5=0: Number of LED=1 (Led_M=1)
		D5=1: Number of LED=Led_M 
		D4=0: Image Vertical High Resolution (Line_m=1)
		D4=1: Image Vertical low Resolution	
		D3=0: Image Horizontal High Resolution (Pixel_M=1,6)
		D3=1: Image Horizontal Low Resolution

		Led_M2       //2 Led is used	
		Led_M3       //3 Led is used	
		Led_M4       //4 Led is used	

******************************************************************/
#define FrameWindow 150  //120
#define LineWindow 288
#define FrameWindow_Offset 15  //30//5//15

#define BRIGHT			20	/*0--16  (0---dark, max 16) */
//#define Sync_c   //internel  sync.

/* Mode setup: choise one for cis_mode flom following 6 line Macro definition */
 
	#define cis_mode0		0x00   /* MODE0: 1 LED,V-High,H-High,line_m   */
//	#define cis_mode1		0x08   /* MODE1: 1 LED,V-High,H-LOW ,line_m   */
//	#define cis_mode2		0x10   /* MODE2: 1 LED,V-LOW ,H-High          */
//	#define cis_mode3		0x18   /* MODE3: 1 LED,V-Low ,H-Low           */
//	#define cis_mode6		0x30   /* MODE6: M LED,V-Low ,H-High ,Led_M   */
//	#define cis_mode7		0x38   /* MODE7: M LED,V-Low ,H-Low  ,Led_M   */


#ifdef cis_mode0
  #define pixel_m			6
  #define line_m			4
  #define WorkMode 	cis_mode0 | line_m-1
  #define CisMode
#endif

#ifdef cis_mode1
  #define pixel_m			1
  #define line_m			4
  #define WorkMode 	cis_mode1 | line_m-1
  #define CisMode
#endif

#ifdef cis_mode2
  #define pixel_m			6
  #define line_m			1
  #define WorkMode 	cis_mode2
#endif

#ifdef cis_mode3
  #define pixel_m			1
  #define line_m			1
  #define WorkMode 	cis_mode3
#endif

#ifdef cis_mode6
  #define pixel_m			6
  #define line_m			1

/*   choise one for Led_M flom following 3 line Macro definition  */
//	#define Led_M2       //2 Led is used	
//	#define Led_M3       //3 Led is used	
	#define Led_M4       //4 Led is used	

 #ifdef Led_M2
    #define Led_M				2	
    #define WorkMode 	cis_mode6 | Led_M-1
  #endif

  #ifdef Led_M3
    #define Led_M				3	
    #define WorkMode 	cis_mode6 | Led_M-1
  #endif

  #ifdef Led_M4
    #define Led_M				4	
    #define WorkMode 	cis_mode6 | Led_M-1
  #endif

#endif

#ifdef cis_mode7
  #define pixel_m			1
  #define line_m			1

/*   choise one for Led_M from following 3 line Macro definition  */
//  #define Led_M2       //2 Led is used	
//  #define Led_M3       //3 Led is used	
  #define Led_M4       //4 Led is used	

  #ifdef Led_M2
    #define Led_M				2	
    #define WorkMode 	cis_mode7 | Led_M-1
  #endif

  #ifdef Led_M3
    #define Led_M				3	
    #define WorkMode 	cis_mode7 | Led_M-1
  #endif

  #ifdef Led_M4
    #define Led_M				4	
    #define WorkMode 	cis_mode7 | Led_M-1
  #endif

#endif

/*----------------------------------------------------------*/

#define IMAGE_WIDTH		LineWindow*pixel_m

#ifndef Led_M
  #define IMAGE_HIGHT		FrameWindow*line_m
#endif
#ifdef Led_M
  #define IMAGE_HIGHT		FrameWindow*Led_M
#endif

//--------------------------------------------
//           Image Parameters

#define IMAGE_W_ST0		6		//for image0
#define IMAGE_L_ST0		0		//for image0
#define IMAGE_WIDTH0    270		//for image0
#define IMAGE_HIGHT0	FrameWindow		//for image0

#define IMAGE_W_ST1		75		//for image1 
#define IMAGE_L_ST1		58		//for image1 
#define IMAGE_WIDTH1    384		//for image1
#define IMAGE_HIGHT1	96		//for image1
#define pixel_m01		1
#define line_m01		1

#define IMAGE_W_ST2		75		//for image2
#define IMAGE_L_ST2		58		//for image2
#define IMAGE_WIDTH2    384		//for image2
#define IMAGE_HIGHT2	96		//for image2
#define pixel_m02		2
#define line_m02		2

//--------------------------------------------------------
//    port definenition 
    
#define	AD_COM_ADDR0 (unsigned char *)0xb0000400;	//wr, clear all
#define	AD_COM_ADDR1 (unsigned char *)0xb0000440;
       //wr b7=1:sample
       //   b7=0: stop
       //	b6:  AD0_LOAD
       //	b5:  AD1_LOAD

#define	AD_COM_ADDR2 (unsigned char *)0xb0000480;
                    	//wr b4--b0=0-10000; cis_led britness
#define	AD_COM_ADDR3 (unsigned char *)0xb00004c0;	//w ad_init
#define	AD_COM_ADDR4 (unsigned char *)0xb0000500;	//w ad_init
#define	test_ (unsigned char *)0xb0000540;	//test led4

#define com_add0	0xb0000000 // uart data port
#define com_add1	0xb0000040  //uart state port
#define SamplingMode_se 0xb0000080   //sampling control port

//Frame Sample Control port

#define FrameCon1 0xb00000c0              //Frame Led Control port
#define FrameCon2 ( FrameCon1+0x40 )      //Frame Sample Control port
#define FrameCon3 ( FrameCon1+0x80 )      //Frame Window Control port
#define FrameCon4 ( FrameCon1+0xc0 )      //Frame Window Posision Control port

//----------------------------------------

#define TCCINTNUM   10         				   //edma Transfer complete code
#define  EDMA_SOURCE_ADDR	0xa0000000         //edma source addr is pds. RAM 

//----------------------------------------

#pragma DATA_ALIGN(line_buffer,128);
#pragma DATA_ALIGN(ImageBuffer0,128);
#pragma DATA_ALIGN(ImageBuffer1,128);
#pragma DATA_ALIGN(ImageBuffer2,128);

unsigned char line_buffer[IMAGE_WIDTH];

far unsigned char ImageBuffer0[IMAGE_WIDTH0*IMAGE_HIGHT0];
far unsigned char ImageBuffer1[IMAGE_WIDTH1*IMAGE_HIGHT1];
far unsigned char ImageBuffer2[IMAGE_WIDTH2*IMAGE_HIGHT2];

volatile int frame_counter;
volatile int line_counter;
volatile int sampling_stop;
volatile int frame_sam_end=0;
volatile int get_sampling;

int i,j;
unsigned char *pixel_p0, *pixel_p1, *pixel_p2;

/*------------------------------------------------------

		AD9814_1  parameters

------------------------------------------------------*/

unsigned short ad0_init_com_w[8]={			//ad9814_1  control words
					0x0060,				//   
					0x1080,				//		MUX
					0x203c,				//		Red PGA
					0x303c,				//		Green PGA	
					0x4000,				//		Blue PGA
					0x5100,				//		Red Offset
					0x6120,				//		Green Offset
					0x7000,};			//		Blue Offset

/*------------------------------------------------------

		AD9814_2  parameters

------------------------------------------------------*/

unsigned short ad1_init_com_w[8]={			//ad9814_2  control words
					0x0060,				//   
					0x1080,				//		MUX
					0x203c,				//		Red PGA
					0x303c,				//		Green PGA	
					0x4000,				//		Blue PGA
					0x5120,				//		Red Offset
					0x6120,				//		Green Offset
					0x7000,};			//		Blue Offset

extern far void vectors();

unsigned char *ad_com_addr_p;
unsigned char *ad_com_addr_p1;

union
	{	unsigned short Tw;
		unsigned char Tb[2];
	} value;

#pragma DATA_ALIGN(temp,4);
#pragma DATA_ALIGN(tmp00,4);
volatile short temp;

unsigned char tmp00;

/*------------------------------------------------*/

  unsigned char *inbuff0;
  int x;

#define tr_lenth 32    //lenth of buffer for uart receive  and out

unsigned char s_state,state1;
unsigned char *p00,uart232_out=0x55,uart232_in,*s_p00;
unsigned char trans_buf[tr_lenth],receive_buf[tr_lenth],*trans_p,*receive_p;
int trans_counter,trans_flag,receive_flag;

//--------------------------------------------

FILE *file;

#define PLL_BASE_ADDR   0x01b7c000
#define PLL_PID         ( PLL_BASE_ADDR + 0x000 )
#define PLL_CSR         ( PLL_BASE_ADDR + 0x100 )
#define PLL_MULT        ( PLL_BASE_ADDR + 0x110 )
#define PLL_DIV0        ( PLL_BASE_ADDR + 0x114 )
#define PLL_DIV1        ( PLL_BASE_ADDR + 0x118 )
#define PLL_DIV2        ( PLL_BASE_ADDR + 0x11C )
#define PLL_DIV3        ( PLL_BASE_ADDR + 0x120 )
#define PLL_OSCDIV1     ( PLL_BASE_ADDR + 0x124 )
#define CSR_PLLEN          0x00000001
#define CSR_PLLPWRDN       0x00000002
#define CSR_PLLRST         0x00000008 
#define CSR_PLLSTABLE      0x00000040
#define DIV_ENABLE         0x00008000

#define EMIF_GCTL       0x01800000
#define EMIF_CE1        0x01800004
#define EMIF_CE0        0x01800008
#define EMIF_CE2        0x01800010
#define EMIF_CE3        0x01800014
#define EMIF_SDRAMCTL   0x01800018
#define EMIF_SDRAMTIM   0x0180001C
#define EMIF_SDRAMEXT   0x01800020

#define SDRAM_BASE_ADDRESS    0x80000000
#define SDRAM_SIZE      0x400000

#define CCFG       0x01840000;   //cash configation register



#define FLASH_SIZE		0x40000 
#define FLASH_START		0x90000000
#define FLASH_END		(FLASH_START + FLASH_SIZE)

#define FLASH_ADR1		0x90000555
#define FLASH_ADR2		0x900002AA
#define FLASH_KEY1		0xAA
#define FLASH_KEY2		0x55
#define FLASH_KEY3		0xA0
#define FLASH_KEY4		0x80
#define FLASH_KEY5		0x10

//-----------------------------------------

⌨️ 快捷键说明

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