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

📄 samsungdtvs205.c

📁 mstar 776 开发的车载dvd
💻 C
📖 第 1 页 / 共 2 页
字号:
}

/**************************************************************************
* S5H1409 QAM SNR value(Signal Strength) Check Driver
*	Conditions:
*	Description:
*	This function lets the user's application software read a value
*	that is related to the SNR through the SNR Look Up Table in QAM mode.
*	Addr : 0xf0
*	Value: [13:0]
/**************************************************************************/

double Qam64SnrLookUpTable ( int SnrRead )
{
	double SnrLookUP;
	if ( SnrRead < 12 )
	{
		SnrLookUP = 30	;
	}
	else if ( SnrRead < 15 )
	{
		SnrLookUP = 29	;
	}
	else if ( SnrRead < 18 )
	{
		SnrLookUP = 28	;
	}
	else if ( SnrRead < 22 )
	{
		SnrLookUP = 27	;
	}
	else if ( SnrRead < 23 )
	{
		SnrLookUP = 26.8	;
	}
	else if ( SnrRead < 24 )
	{
		SnrLookUP = 26.6	;
	}
	else if ( SnrRead < 25 )
	{
		SnrLookUP = 26.4	;
	}
	else if ( SnrRead < 27 )
	{
		SnrLookUP = 26.2	;
	}
	else if ( SnrRead < 28 )
	{
		SnrLookUP = 26		;
	}
	else if ( SnrRead < 29 )
	{
		SnrLookUP = 25.8	;
	}
	else if ( SnrRead < 30 )
	{
		SnrLookUP = 25.6	;
	}
	else if ( SnrRead < 32 )
	{
		SnrLookUP = 25.4	;
	}
	else if ( SnrRead < 33 )
	{
		SnrLookUP = 25.2	;
	}
	else if ( SnrRead < 34 )
	{
		SnrLookUP = 25		;
	}
	else if ( SnrRead < 35 )
	{
		SnrLookUP = 24.9	;
	}
	else if ( SnrRead < 36 )
	{
		SnrLookUP = 24.8	;
	}
	else if ( SnrRead < 37 )
	{
		SnrLookUP = 24.7	;
	}
	else if ( SnrRead < 38 )
	{
		SnrLookUP = 24.6	;
	}
	else if ( SnrRead < 39 )
	{
		SnrLookUP = 24.5	;
	}
	else if ( SnrRead < 40 )
	{
		SnrLookUP = 24.4	;
	}
	else if ( SnrRead < 41 )
	{
		SnrLookUP = 24.3	;
	}
	else if ( SnrRead < 41 )
	{
		SnrLookUP = 24.2	;
	}
	else if ( SnrRead < 42 )
	{
		SnrLookUP = 24.1	;
	}
	else if ( SnrRead < 43 )
	{
		SnrLookUP = 24		;
	}
	else if ( SnrRead < 44 )
	{
		SnrLookUP = 23.9	;
	}
	else if ( SnrRead < 45 )
	{
		SnrLookUP = 23.8	;
	}
	else if ( SnrRead < 46 )
	{
		SnrLookUP = 23.7	;
	}
	else if ( SnrRead < 47 )
	{
		SnrLookUP = 23.6	;
	}
	else if ( SnrRead < 48 )
	{
		SnrLookUP = 23.5	;
	}
	else if ( SnrRead < 49 )
	{
		SnrLookUP = 23.4	;
	}
	else if ( SnrRead < 50 )
	{
		SnrLookUP = 23.3	;
	}
	else if ( SnrRead < 51 )
	{
		SnrLookUP = 23.2	;
	}
	else if ( SnrRead < 52 )
	{
		SnrLookUP = 23.1	;
	}
	else if ( SnrRead < 53 )
	{
		SnrLookUP = 23		;
	}
	else if ( SnrRead < 55 )
	{
		SnrLookUP = 22.9	;
	}
	else if ( SnrRead < 56 )
	{
		SnrLookUP = 22.8	;
	}
	else if ( SnrRead < 57 )
	{
		SnrLookUP = 22.7	;
	}
	else if ( SnrRead < 58 )
	{
		SnrLookUP = 22.6	;
	}
	else if ( SnrRead < 59 )
	{
		SnrLookUP = 22.5	;
	}
	else if ( SnrRead < 60 )
	{
		SnrLookUP = 22.4	;
	}
	else if ( SnrRead < 62 )
	{
		SnrLookUP = 22.3	;
	}
	else if ( SnrRead < 63 )
	{
		SnrLookUP = 22.2	;
	}
	else if ( SnrRead < 65 )
	{
		SnrLookUP = 22.1	;
	}
	else if ( SnrRead < 66 )
	{
		SnrLookUP = 22		;
	}
	else if ( SnrRead < 68 )
	{
		SnrLookUP = 21.9	;
	}
	else if ( SnrRead < 69 )
	{
		SnrLookUP = 21.8	;
	}
	else if ( SnrRead < 70 )
	{
		SnrLookUP = 21.7	;
	}
	else if ( SnrRead < 72 )
	{
		SnrLookUP = 21.6	;
	}
	else if ( SnrRead < 73 )
	{
		SnrLookUP = 21.5	;
	}
	else if ( SnrRead < 75 )
	{
		SnrLookUP = 21.4	;
	}
	else if ( SnrRead < 76 )
	{
		SnrLookUP = 21.3	;
	}
	else if ( SnrRead < 78 )
	{
		SnrLookUP = 21.2	;
	}
	else if ( SnrRead < 80 )
	{
		SnrLookUP = 21.1	;
	}
	else if ( SnrRead < 81 )
	{
		SnrLookUP = 21		;
	}
	else if ( SnrRead < 83 )
	{
		SnrLookUP = 20.9	;
	}
	else if ( SnrRead < 84 )
	{
		SnrLookUP = 20.8	;
	}
	else if ( SnrRead < 85 )
	{
		SnrLookUP = 20.7	;
	}
	else if ( SnrRead < 87 )
	{
		SnrLookUP = 20.6	;
	}
	else if ( SnrRead < 89 )
	{
		SnrLookUP = 20.5	;
	}
	else if ( SnrRead < 91 )
	{
		SnrLookUP = 20.4	;
	}
	else if ( SnrRead < 93 )
	{
		SnrLookUP = 20.3	;
	}
	else if ( SnrRead < 95 )
	{
		SnrLookUP = 20.2	;
	}
	else if ( SnrRead < 96 )
	{
		SnrLookUP = 20.1	;
	}
	else if ( SnrRead < 104 )
	{
		SnrLookUP = 20		;
	}
	else
	{
		SnrLookUP = 0;
	}
	return SnrLookUP;
}

double Qam256SnrLookUpTable ( int SnrRead )
{
	double SnrLookUP;
	if ( SnrRead < 12 )
	{
		SnrLookUP = 40	;
	}
	else if ( SnrRead < 13 )
	{
		SnrLookUP = 39		;
	}
	else if ( SnrRead < 15 )
	{
		SnrLookUP = 38		;
	}
	else if ( SnrRead < 17 )
	{
		SnrLookUP = 37		;
	}
	else if ( SnrRead < 19 )
	{
		SnrLookUP = 36		;
	}
	else if ( SnrRead < 22 )
	{
		SnrLookUP = 35		;
	}
	else if ( SnrRead < 22 )
	{
		SnrLookUP = 34.8	;
	}
	else if ( SnrRead < 23 )
	{
		SnrLookUP = 34.6	;
	}
	else if ( SnrRead < 24 )
	{
		SnrLookUP = 34.4	;
	}
	else if ( SnrRead < 25 )
	{
		SnrLookUP = 34.2	;
	}
	else if ( SnrRead < 26 )
	{
		SnrLookUP = 34		;
	}
	else if ( SnrRead < 27 )
	{
		SnrLookUP = 33.8	;
	}
	else if ( SnrRead < 27 )
	{
		SnrLookUP = 33.6	;
	}
	else if ( SnrRead < 28 )
	{
		SnrLookUP = 33.4	;
	}
	else if ( SnrRead < 29 )
	{
		SnrLookUP = 33.2	;
	}
	else if ( SnrRead < 30 )
	{
		SnrLookUP = 33		;
	}
	else if ( SnrRead < 31 )
	{
		SnrLookUP = 32.8	;
	}
	else if ( SnrRead < 32 )
	{
		SnrLookUP = 32.6	;
	}
	else if ( SnrRead < 33 )
	{
		SnrLookUP = 32.4	;
	}
	else if ( SnrRead < 34 )
	{
		SnrLookUP = 32.2	;
	}
	else if ( SnrRead < 35 )
	{
		SnrLookUP = 32		;
	}
	else if ( SnrRead < 37 )
	{
		SnrLookUP = 31.8	;
	}
	else if ( SnrRead < 39 )
	{
		SnrLookUP = 31.6	;
	}
	else if ( SnrRead < 40 )
	{
		SnrLookUP = 31.4	;
	}
	else if ( SnrRead < 41 )
	{
		SnrLookUP = 31.2	;
	}
	else if ( SnrRead < 42 )
	{
		SnrLookUP = 31		;
	}
	else if ( SnrRead < 43 )
	{
		SnrLookUP = 30.8	;
	}
	else if ( SnrRead < 46 )
	{
		SnrLookUP = 30.6	;
	}
	else if ( SnrRead < 47 )
	{
		SnrLookUP = 30.4	;
	}
	else if ( SnrRead < 49 )
	{
		SnrLookUP = 30.2	;
	}
	else if ( SnrRead < 51 )
	{
		SnrLookUP = 30		;
	}
	else if ( SnrRead < 53 )
	{
		SnrLookUP = 29.8	;
	}
	else if ( SnrRead < 54 )
	{
		SnrLookUP = 29.7	;
	}
	else if ( SnrRead < 55 )
	{
		SnrLookUP = 29.6	;
	}
	else if ( SnrRead < 56 )
	{
		SnrLookUP = 29.5	;
	}
	else if ( SnrRead < 57 )
	{
		SnrLookUP = 29.4	;
	}
	else if ( SnrRead < 59 )
	{
		SnrLookUP = 29.3	;
	}
	else if ( SnrRead < 60 )
	{
		SnrLookUP = 29.2	;
	}
	else if ( SnrRead < 61 )
	{
		SnrLookUP = 29.1	;
	}
	else if ( SnrRead < 63 )
	{
		SnrLookUP = 29		;
	}
	else if ( SnrRead < 64 )
	{
		SnrLookUP = 28.9	;
	}
	else if ( SnrRead < 65 )
	{
		SnrLookUP = 28.8	;
	}
	else if ( SnrRead < 66 )
	{
		SnrLookUP = 28.7	;
	}
	else if ( SnrRead < 68 )
	{
		SnrLookUP = 28.6	;
	}
	else if ( SnrRead < 69 )
	{
		SnrLookUP = 28.5	;
	}
	else if ( SnrRead < 71 )
	{
		SnrLookUP = 28.4	;
	}
	else if ( SnrRead < 72 )
	{
		SnrLookUP = 28.3	;
	}
	else if ( SnrRead < 74 )
	{
		SnrLookUP = 28.2	;
	}
	else if ( SnrRead < 75 )
	{
		SnrLookUP = 28.1	;
	}
	else if ( SnrRead < 76 )
	{
		SnrLookUP = 28		;
	}
	else if ( SnrRead < 77 )
	{
		SnrLookUP = 27.9	;
	}
	else if ( SnrRead < 78 )
	{
		SnrLookUP = 27.8	;
	}
	else if ( SnrRead < 81 )
	{
		SnrLookUP = 27.7	;
	}
	else if ( SnrRead < 83 )
	{
		SnrLookUP = 27.6	;
	}
	else if ( SnrRead < 84 )
	{
		SnrLookUP = 27.5	;
	}
	else if ( SnrRead < 86 )
	{
		SnrLookUP = 27.4	;
	}
	else if ( SnrRead < 87 )
	{
		SnrLookUP = 27.3	;
	}
	else if ( SnrRead < 89 )
	{
		SnrLookUP = 27.2	;
	}
	else if ( SnrRead < 90 )
	{
		SnrLookUP = 27.1	;
	}
	else if ( SnrRead < 92 )
	{
		SnrLookUP = 27		;
	}
	else if ( SnrRead < 93 )
	{
		SnrLookUP = 26.9	;
	}
	else if ( SnrRead < 95 )
	{
		SnrLookUP = 26.8	;
	}
	else if ( SnrRead < 96 )
	{
		SnrLookUP = 26.7	;
	}
	else if ( SnrRead < 98 )
	{
		SnrLookUP = 26.6	;
	}
	else if ( SnrRead < 100 )
	{
		SnrLookUP = 26.5	;
	}
	else if ( SnrRead < 102 )
	{
		SnrLookUP = 26.4	;
	}
	else if ( SnrRead < 104 )
	{
		SnrLookUP = 26.3	;
	}
	else if ( SnrRead < 105 )
	{
		SnrLookUP = 26.2	;
	}
	else if ( SnrRead < 106 )
	{
		SnrLookUP = 26.1	;
	}
	else if ( SnrRead < 110 )
	{
		SnrLookUP = 26		;
	}
	else
	{
		SnrLookUP = 0;
	}
	return SnrLookUP;
}

double SamsungS5H1409xQamSnrResultCheck ( void )
{
	U16 lvalue;
	U16 value;
	U16 value1;
	U16 value2;
	U16 result;
	double SnrValue = 0;

	value1 = MDrv_IIC_Read2Bytes( SAMSUNG_S5H1409_I2C_ADDR, 0x85 );
	value2 = MDrv_IIC_Read2Bytes( SAMSUNG_S5H1409_I2C_ADDR, 0xf0 );
	result = ( ( unsigned int ) value2 >> 8 & 0x01 );

	value = MDrv_IIC_Read2Bytes( SAMSUNG_S5H1409_I2C_ADDR, 0xf0 );
	lvalue = ( value & 0xff );

	if ( value1 == 0x110 && result == 1 )
	{
		SnrValue = Qam256SnrLookUpTable( lvalue );
	}
	else if ( value1 == 0x110 && result == 0 )
	{
		SnrValue = Qam64SnrLookUpTable( lvalue );
	}
	else if ( value1 == 0x100 )
	{
		SnrValue = Qam64SnrLookUpTable( lvalue );
	}
	else if ( value1 == 0x101 )
	{
		SnrValue = Qam256SnrLookUpTable( lvalue );
	}

	return ( SnrValue );
}

BOOLEAN SamsungS5H1409xQAMCheckLock()
{
    U8 Counter=0;
    while(1)
    {
        if(SamsungS5H1409xVsb_QAM_Master_Lock())
        {
            SamsungS5H1409AMHUM_SetDriver();
            #if TS_PARALLEL_OUTPUT
            SamsungS5H1409_Interleave_Parallel_ModeSet();
            #else
            SamsungS5H1409_Interleave_Serial_ModeSet();
            #endif
             return TRUE;
        }
        else if(Counter==QAM_CHECK_LOCK_COUNTER)
            return FALSE;
        else
            msAPI_Timer_Delayms(QAM_CHECK_LOCK_TIME_SLICE);

        Counter++;
    }
}

BOOLEAN SamsungS5H1409xAGCCheckLock()
{
    U8 Counter=0;
    while(1)
    {
        if(SamsungS5H1409xQAM_IsAGC_Lock())
            return TRUE;
        else if(Counter==QAM_CHECK_AGC_LOCK_COUNTER)
            return FALSE;
        else
            msAPI_Timer_Delayms(QAM_CHECK_AGC_LOCK_TIME_SLICE);

        Counter++;
    }
}

#undef _SAMSUNGDTVS205_C_

⌨️ 快捷键说明

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