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

📄 tvp7001.h

📁 IT projecotr reference design.
💻 H
📖 第 1 页 / 共 2 页
字号:
#define ADC_HDCP_SERIAL_PORT_TRISTATED		0
#define ADC_HDCP_SERIAL_PORT_NOT_TRISTATED	1

/* Input Channel Mux selection */
#define ADC_INPUT_MUX_CH1                0
#define ADC_INPUT_MUX_CH2                1
#define ADC_INPUT_MUX_CH3                2
#define ADC_INPUT_MUX_CH4                3

/* Input Vsync Mux selection */
#define ADC_VSYNC_MUX_A                  0
#define ADC_VSYNC_MUX_B                  1

/* Input Hsync Mux selection */
#define ADC_HSYNC_MUX_A                  0
#define ADC_HSYNC_MUX_B                  1

/*****************************************************************************/
/* Macros defining status ****************************************************/
/*****************************************************************************/

/* HSYNC Activity Status */
#define ADC_HSYNC_NOT_DETECTED	0
#define ADC_HSYNC_DETECTED		1

/* SOG Activity Status */
#define ADC_SOG_NOT_DETECTED	0
#define ADC_SOG_DETECTED		1

/* VSYNC Activity Status */
#define ADC_VSYNC_NOT_DETECTED	0
#define ADC_VSYNC_DETECTED		1

/* DVI Activity Status */
#define ADC_DVI_CLOCK_NOT_DETECTED	0
#define ADC_DVI_CLOCK_DETECTED		1

/* Active Interface Status */
#define ADC_ANALOG_IF_ACTIVE	0
#define ADC_DIGITAL_IF_ACTIVE	1

/* Active HSYNC Status */
#define ADC_HSYNC_ON_HSYNC	0
#define ADC_HSYNC_ON_SOG	1

/* HSYNC Polarity Status */
#define ADC_HSYNC_IS_NEGATIVE	0
#define ADC_HSYNC_IS_POSITIVE	1

/* Active VSYNC Status */
#define ADC_VSYNC_ON_VSYNC	0
#define ADC_VSYNC_ON_SOG	1

/* VSYNC Polarity Status */
#define ADC_VSYNC_IS_NEGATIVE	0
#define ADC_VSYNC_IS_POSITIVE	1

/* VSYNC Polarity Status */
#define ADC_COAST_IS_NEGATIVE	0
#define ADC_COAST_IS_POSITIVE	1


/*****************************************************************************/
/* Public structure typedefs *************************************************/
/*****************************************************************************/

typedef struct
{
    uint16 LowerLimit;
    uint16 UpperLimit;
}ADC_LimitStruct;

typedef struct
{
	uint32 TaskID;
	int08  Error;	
}ADC_DriverErrorStruct;

/*****************************************************************************/
/* Public function prototypes ************************************************/
/*****************************************************************************/

/* Miscellaneous */
uint08 ADC_IsThere48BitPort(void);
uint08 ADC_GetMaxSampleFreqInMHz(void);
int08  ADC_GetI2CDriverErrno(void);
int08  ADC_GetRTAErrno(void);
int08  ADC_GetI2CErrorStruct(ADC_DriverErrorStruct *i2c_error_struct);
int08  ADC_GetRTAErrorStruct(ADC_DriverErrorStruct *rta_error_struct);
BOOL   ADC_IsI2CDead(void);

/* Initialization */
void  ADC_CfgADC(I2CPORT i2c_port, I2CINIT *i2c_cfg, uint16 i2c_address, uint08 max_sample_freq_in_mhz, uint16 cap_in_nanofarads);
int08 ADC_InitADC(void);

/* Software revision */
int08 ADC_GetSoftwareRevision(uint08* sw_rev);

/* Firmware revision */
int08 ADC_GetFirmwareRevision(uint08* fw_rev);

/* PLL divider control */ 
int08 ADC_SetPLLDivider(uint16 pll_divide_ratio);
int08 ADC_GetPLLDivider(uint16* pll_divide_ratio);
int08 ADC_GetPLLLimits(ADC_LimitStruct *limits);

/* Gain and offset control */  
int08 ADC_SetGain(uint16 red, uint16 green, uint16 blue);
int08 ADC_GetGain(uint16 *red, uint16 *green, uint16 *blue);
int08 ADC_SetOffset(uint16 red, uint16 green, uint16 blue);
int08 ADC_GetOffset(uint16 *red, uint16 *green, uint16 *blue);
int08 ADC_SetCoarseOffset(uint16 red, uint16 green, uint16 blue);
int08 ADC_GetCoarseOffset(uint16 *red, uint16 *green, uint16 *blue);
int08 ADC_SetGainAndOffset(uint16 red_gain, 
                           uint16 green_gain,
                           uint16 blue_gain,
                           uint16 red_offset,
                           uint16 green_offset,
                           uint16 blue_offset);                                  
int08 ADC_GetGainLimits(ADC_LimitStruct* limits);
int08 ADC_GetOffsetLimits(ADC_LimitStruct* limits);
                                 
/* Clamp timing control */
int08 ADC_SetClampPlacement(uint16 clamp_placement);
int08 ADC_GetClampPlacement(uint16 *clamp_placement);
int08 ADC_SetClampDuration(uint16 clamp_duration);
int08 ADC_GetClampDuration(uint16 *clamp_duration);
int08 ADC_GetClampPlacementLimits(ADC_LimitStruct *limits);
int08 ADC_GetClampDurationLimits(ADC_LimitStruct *limits);

/* HSYNC pulse width */
int08 ADC_SetHsyncPulseWidth(uint16 hsync_pulse_width);
int08 ADC_GetHsyncPulseWidth(uint16 *hsync_pulse_width);
int08 ADC_GetHsyncPulseWidthLimits(ADC_LimitStruct *limits);

/* General control */
int08 ADC_SetOutputPortWidth(uint08 output_width_is_48);
int08 ADC_GetOutputPortWidth(uint08 *output_width_is_48);
int08 ADC_SetDVIOutputPortWidth(uint08 output_width_is_48);
int08 ADC_GetDVIOutputPortWidth(uint08 *output_width_is_48);
int08 ADC_SetInputHSYNCPolarity(uint08 active_high);
int08 ADC_GetInputHSYNCPolarity(uint08 *active_high);
int08 ADC_SetOutputVSYNCInvert(uint08 not_inverted);
int08 ADC_GetOutputVSYNCInvert(uint08 *not_inverted);
int08 ADC_SetOutputHSYNCPolarity(uint08 active_high);
int08 ADC_GetOutputHSYNCPolarity(uint08 *active_high);
int08 ADC_SetExternalCOASTPolarity(uint08 active_high);
int08 ADC_GetExternalCOASTPolarity(uint08 *active_high);
int08 ADC_SetClampSignalSource(uint08 external_clamp);
int08 ADC_GetClampSignalSource(uint08 *external_clamp);
int08 ADC_SetExternalClampSignalPolarity(uint08 active_high);
int08 ADC_GetExternalClampSignalPolarity(uint08 *active_high);
int08 ADC_SetRedClampLevel(uint08 mid_level);
int08 ADC_GetRedClampLevel(uint08 *mid_level);
int08 ADC_SetGreenClampLevel(uint08 mid_level);
int08 ADC_GetGreenClampLevel(uint08 *mid_level);
int08 ADC_SetBlueClampLevel(uint08 mid_level);
int08 ADC_GetBlueClampLevel(uint08 *mid_level);
int08 ADC_SetExternalClockSelect(uint08 external_clock);
int08 ADC_GetExternalClockSelect(uint08 *external_clock);
int08 ADC_SetOutputPortPhase(uint08 port_b_first);
int08 ADC_GetOutputPortPhase (uint08 *port_b_first);
int08 ADC_SetOutputDriveLevel(uint08 drive_level);
int08 ADC_GetOutputDriveLevel(uint08 *drive_level);
int08 ADC_SetOutputPower(uint08 tri_state_outputs);
int08 ADC_GetOutputPower(uint08 *tri_state_outputs);
int08 ADC_SetActiveInterfaceMode(uint08 active_if_mode);
int08 ADC_GetActiveInterfaceMode(uint08 *active_if_mode);
int08 ADC_SetActiveInterface(uint08 active_if);
int08 ADC_GetActiveInterface(uint08 *active_if);
int08 ADC_SetActiveHSYNCMode(uint08 active_hsync_mode);
int08 ADC_GetActiveHSYNCMode(uint08 *active_hsync_mode);
int08 ADC_SetActiveHSYNC(uint08 active_hsync);
int08 ADC_GetActiveHSYNC(uint08 *active_hsync);
int08 ADC_SetActiveVSYNCMode(uint08 active_vsync_mode);
int08 ADC_GetActiveVSYNCMode(uint08 *active_vsync_mode);
int08 ADC_SetActiveVSYNC(uint08 active_vsync);
int08 ADC_GetActiveVSYNC(uint08 *active_vsync);
int08 ADC_SetCoastSource(uint08 coast_source);
int08 ADC_GetCoastSource(uint08 *coast_source);
int08 ADC_SetDevicePower(uint08 device_power);
int08 ADC_GetDevicePower(uint08 *device_power);
int08 ADC_SetVsyncSeparatorThreshold(uint16 vsync_sep_th);
int08 ADC_GetVsyncSeparatorThreshold(uint16 *vsync_sep_th);
int08 ADC_SetScanFunction(uint08 scan_function);
int08 ADC_GetScanFunction(uint08 *scan_function);
int08 ADC_SetInputCoastPolarityMode(uint08 coast_polarity);
int08 ADC_GetInputCoastPolarityMode(uint08 *coast_polarity);
int08 ADC_SetInputHSYNCPolarityMode(uint08 hsync_polarity);
int08 ADC_GetInputHSYNCPolarityMode(uint08 *hsync_polarity);
int08 ADC_SetInputMUX(uint08 mux_channel);
int08 ADC_GetInputMUX(uint08 *mux_channel);
int08 ADC_SetSOGSlicerThreshold(uint08 slicer_threshold);
int08 ADC_GetSOGSlicerThreshold(uint08 *slicer_threshold);
int08 ADC_SetHDCPMasterSerialPortTriStated(uint08 not_tri_stated);
int08 ADC_GetHDCPMasterSerialPortTriStated(uint08 *not_tri_stated);
int08 ADC_SetOutputDivider(uint08 divider);
int08 ADC_GetOutputDivider(uint08 *divider);
int08 ADC_SetHsyncOutputStart(uint08 hsync_output_start);
int08 ADC_GetHsyncOutputStart(uint08 *hsync_output_start);
int08 ADC_SetALCPlacement(uint08 alc_placement);
int08 ADC_GetALCPlacement(uint08 *alc_placement);
int08 ADC_SetMacrovisionEnable(uint08 mac_enable);
int08 ADC_GetMacrovisionEnable(uint08 *mac_enable);

/*Auto Offset Control*/
int08 ADC_SetRedTargetCode(uint08 red_target_code);
int08 ADC_GetRedTargetCode(uint08 *red_target_code);
int08 ADC_SetGreenTargetCode(uint08 green_target_code);
int08 ADC_GetGreenTargetCode(uint08 *green_target_code);
int08 ADC_SetBlueTargetCode(uint08 blue_target_code);
int08 ADC_GetBlueTargetCode(uint08 *blue_target_code);
int08 ADC_SetAutoOffsetMode(int08 auto_offset_mode);
int08 ADC_GetAutoOffsetMode(uint08 *auto_offset_mode);
int08 ADC_SetHoldAutoOffset(int08 hold_auto_offset);
int08 ADC_GetHoldAutoOffset(uint08 *hold_auto_offset);
int08 ADC_SetUpdateMode(int08 update_mode);
int08 ADC_GetUpdateMode(uint08 *update_mode);

/* Clock generator control */
int08 ADC_SetPhase(uint08 phase);
int08 ADC_GetPhase(uint08 *phase);
int08 ADC_GetPhaseLimits(ADC_LimitStruct* limits); 
int08 ADC_SetVCORange(uint08 vco_range_select);
int08 ADC_GetVCORange(uint08 *vco_range_select);
int08 ADC_SetChargePumpCurrent (uint08 charge_pump_current);
int08 ADC_GetChargePumpCurrent (uint08 *charge_pump_current);
int08 ADC_SetVCORangeAndChargePumpCurrent(uint08 vco_range_select, 
                                          uint08 charge_pump_current);
int08 ADC_SetSampleClock(uint16 clocks_per_line, 
                         uint32 pixel_rate, 
                         uint32 horz_freq);
int08 ADC_SetPreCoast(uint08 pre_coast);
int08 ADC_GetPreCoast(uint08 *pre_coast);
int08 ADC_SetPostCoast(uint08 post_coast);
int08 ADC_GetPostCoast(uint08 *post_coast);                         
                                                   
#ifdef __cplusplus		/* matches __cplusplus construct above */
}
#endif

#endif /* __TVP7001_H */

⌨️ 快捷键说明

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