数字有线机顶盒锁频流程

本文所介绍的高频头以DVB-c tuner(数字有线电视)为例
一、硬件解析(对硬件原理不熟悉,只能说个大概)
高频头(tuner),也称之为调频器,主要有三个功能:
1)选择频道即选台,在硬件上应该就是个过滤器吧,选择出指定频率的信号
2)放大功能,就是个信号放大器了
3)变频功能,将选定频率的信号转换为中频信号,以供后续demod使用 这里面有个AGC器件(原理上就是稳定信号的所用,在人体上相似的功能也存在,如看到强光、听到的声音太大时)
附NXP nxp Semiconductors公司的TDA18250的block图:
数字有线机顶盒锁频流程_第1张图片

说到tuner,就不得不介绍demod,两个器件协同工作,构成信号处理的frontend
1)demod随处可见,根据不同的调制方式FM、AM、QAM等,也存在对应类型的demod
2)日常所见的,像收音机、电视机、机顶盒、上网的解调器等都含有相关的demod
附LGS-8G52的demod图(没找到合适的图,用DVB-T的demod示意一下,原理是相同的):

数字有线机顶盒锁频流程_第2张图片


从数据流的角度看这两个器件的输入输出:cable RF(有线电视线)--RF--> tuner --IF(中频)--> demod --TS(mpeg ts流)
另外需注意的一点:tuner设置好中频后,demod的中频参数应与之保持一致

二、软件解析(从如何program的角度解析)
1)tuner和demod都是I2C器件,器件厂家会提供相关驱动,但都要求实现I2C读写接口来完成对这两个器件的控制和状态读取(主要的目的就是可以读写这两个器件的寄存器)
2)从软件上层应用控制的角度来观察,这个两个器件的输入和输出
                 输入                                                                                    输出
tuner        freq(频率)                                                                       lockstate(锁频状态)


demod   symbol rate(符号率)                                                       误码率
                modulation mode(调制模式)                                        信号强度
                                                                                                        信噪比等


3)在软件实现上,两个器件一般会一起实现相应的frontend接口供上层应用,介绍下主要的两个接口 初始化和锁频(本质上就是上文提到的i2c读写寄存器):
init()
{
registe_i2c();//注册相关i2c读写接口

//初始化,设置ts流输出模式(串行或者并行)等
if()//tuner的i2c主控在demod上
{
demod_init();//初始化demod,并将tuner I2C地址写入demod,进行tuner的相关初始化
}
else
{
tuner_init();
demod_init();
}
}
lock_frequency(freq,symbolrate,mode)
{
  //设置freq
if()//tuner的i2c主控在demod上
{
demod_setfreq(freq);//通过demod,设置tuner的freq
}
else
{
tuner_setfreq();
}

//设置demod的相关参数
demod_setpara(symbolrate,mode....);
demod_restart();//涉及到部分模式选择、重启等
}

你可能感兴趣的:(机顶盒,数字电视,tuner,解调,demod)