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

📄 glbvar.h

📁 基于TIc6205DSP上开发的MeanShift结合Kalman滤波的代码
💻 H
字号:
//********************************************************************
//	File Name: glbvar.h
//	Descriptions: This file contains the definition of the global 
//                varibles and constants. 
//********************************************************************

typedef		unsigned char 	uchar;
typedef		unsigned int  	uint;
typedef     unsigned short 	ushort;
typedef		int				TIMER;

// contants definition

#define     LED_GREEN				0x01
#define 	LED_GREEN_ON			0xFFF7
#define 	LED_GREEN_OFF			0x0008
#define		LED_RED					0x02
#define		LED_RED_ON				0xFFFb
#define		LED_RED_OFF				0x0004

#define		SDRAM_START_ADDR		(volatile unsigned char *)0x00400000
#define		SDRAM_LENGTH			0x200000    // in 32bit-word
#define		DPRAM_START_ADDR		(volatile unsigned char *)0x02000000
#define		DPRAM_LENGTH			0x10000		// in 32bit_word

#define		ERR_SDRAM				1
#define		ERR_DPRAM				2
#define		ERR_IIC_BUS				0

#define		SYS_IN_HOST				64
#define		SYS_IN_SLAVE			0

#define		IMAGE_PORT				(*(volatile unsigned int *)0x03000000)
#define     M_PI                    51471    //3.14159的Q14定点表示数
//#define     model_radius            20
#define     number_bin              64

// global varibles ( mapped in internal RAM )
int			SystemState;
char		FieldStatus;
char		FieldReady;
char		ReadyNumber;		
int			ImageDataCounter;
#define		HorizontalEnergy	0x8000FA60 //差分图水平投影向量,360个元素
#define		VerticalEnergy		0x8000F5E0 //差分图垂直投影向量,288个元素

int			TestTime;
unsigned int ObjPos1, ObjPos2, PredictedPos, DetectManner,I11,I21,I31,I41,I51,I61,I71;
unsigned int xxx, yyy, www, hhh, bytesX, wideY, heightY, startX, endX, startY, endY;
unsigned int GlbTmpVar;
         int model_radiusx,model_radiusy,candidate_radiusx,candidate_radiusy,dividor_image;
         int num_filter,Flag_pro_zero,Flag_zero;

//-------------------------------------------------------------------------
//                下面是上位机与板卡交互的参数空间
//
//   注意: 标注@host的表明该变量在显控平台中有映射,如果把此变量的地址
//          调整到别的值,则显控平台也要做相应的改动,否则不能正常工作!
//-------------------------------------------------------------------------

      //不变矩
#define     I1              (*((unsigned int*)0x80004FB4))      
#define     I2              (*((unsigned int*)0x80004FB8))      
#define     I3              (*((unsigned int*)0x80004FBC))      
#define     I4              (*((unsigned int*)0x80004FC0))      
#define     I5              (*((unsigned int*)0x80004FC4))      
#define     I6              (*((unsigned int*)0x80004FC8))      
#define     I7              (*((unsigned int*)0x80004FCC))      
      //搜索区域宽度|高度(DSP写主机读)
#define     AREA_W_H    	(*((unsigned int*)0x80004FD0))  // @host

      //指示云台工作状态的标志(DSP写主机读)
#define     FLAG_CRADLE    	(*((unsigned int*)0x80004FD4))  // @host

      //指示DSP选择CVBS还是S-VIDEO的标志(主机写DSP读)
#define     FLAG_CVBS      	(*((unsigned int*)0x80004FD8))  // @host

      //指示DSP是否为目标画方框的标志(主机写DSP读)
#define     FLAG_MARK      	(*((unsigned int*)0x80004FDC))  // @host

      //板卡外部系统状态(主机写DSP读)
#define     OUT_STATE      	(*((unsigned int*)0x80004FE0))  // @host

      //目标框(DSP写主机读)
#define     OBJ_RECT    	(*((unsigned int*)0x80004FE4))  
#define     OBJ_LEFTTOP    	(*((unsigned int*)0x80004FE4))	// @host
#define     OBJ_RIGHTBOT  	(*((unsigned int*)0x80004FE8))	// @host

      //目标当前位置:供主机读取以拟合航迹
#define     OBJ_POS	    	(*((unsigned int*)0x80004FEC))	// @host

	  //二值化后是否滤波的指示标志(主机写DSP读)
#define     FLAG_FILTER    	(*((unsigned int*)0x80004FF0))	// @host

      //二值化阈值(主机写DSP读)
#define     BIN_THRESHOLD  	(*((unsigned int*)0x80004FF4))	// @host

	  //DSP存放图像的互斥锁(DSP写主机读)
#define     DSP_LOCK    	(*((unsigned int*)0x80004FF8))	// @host

      //PCI读取图像的互斥锁(主机写DSP读)
#define 	PCI_LOCK		(*((unsigned int*)0x80004FFC))	// @host
//---------------------------------------------------------------------

// global varibles ( mapped in SDRAM )
#define 	ImageBuf				SDRAM_START_ADDR
#define		ImageLen				103680   //in byte


// macros definition
#define		Set_SDA_In()			PCR0 = PCR0 & 0xFFFFF7DF         //??????
#define		Set_SDA_Out()			PCR0 = PCR0 | 0x0820
#define		Set_SCL_High()			PCR0 = PCR0 | 0x4
#define		Set_SCL_Low()			PCR0 = PCR0 & 0xFFFFFFFB
#define		Set_SDA_High()			PCR0 = PCR0 | 0x8
#define		Set_SDA_Low()			PCR0 = PCR0 & 0xFFFFFFF7
#define		Get_SDA()				(PCR0 & 8)?1:0
										
const unsigned char SAA7113_CVBS_Config_Data[]=
{
	0x01, 0x17, 
	      0x08, 0xC0, 0x33, 0x00, 0x00, 0xE9, 0x0D, // 01-07
	0x98, 0x01, 0x80, 0x47, 0x40, 0x00, 0x01, 0x2A, // 08-0F
	0x08, 0x0C, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, // 10-17
	0x40, 0x1C,
	0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 40-47
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 48-4F
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 50-57
	0x00, 0x54, 0x07, 0x83,  						// 58-5B
	0x5E, 0x01,
	0x00,											// 5E
	0xFF	// denote the end of the configure data
};

const unsigned char SAA7113_SVIDEO_Config_Data[]=
{
	0x01, 0x17, 
	      0x08, 0xC9, 0x33, 0x00, 0x00, 0xE9, 0x0D, // 01-07
	0x98, 0x01, 0x80, 0x47, 0x40, 0x00, 0x01, 0x2A, // 08-0F
	0x08, 0x0C, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, // 10-17
	0x40, 0x1C,
	0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 40-47
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 48-4F
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 50-57
	0x00, 0x54, 0x07, 0x83,  						// 58-5B
	0x5E, 0x01,
	0x00,											// 5E
	0xFF	// denote the end of the configure data
};



⌨️ 快捷键说明

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