像我儿子一样永远保持好奇和梦想

[o]linuxDVB 在CA系统上的原理和实践

上一篇 / 下一篇  2013-05-17 09:41:36 / 个人分类:DVB

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台X%E+z0^l$E

本文是linux dvb技术的原理分析和实践分析总结,建立在个人的dvb ca的项目实践上。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台&`vZ"x.@9k4@

4g&S0e [%E%RW0首先,linuxdvb 的作用,其实就是dvb在linux上的标准化,这点在加密解密的dvb应用里面尤其常见,尤其是在同一个机顶盒需要支持很多第三方的加密方案时候。

3ZH+ye o$GA0

.ww@)G {7qee |m0linuxdvb作为一个标准的接口,为开发人员分开进行模块设计最终系统集成提供了方便。

^!ZC'Z0}0m0

&Z1W\z4Se0本文将介绍ca系统中,linuxdvb的接口和第三方ca模块的配合的工作。

&v"e+Z1x f+P&B(V*Qz U0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*bW%A7{m3zZ

 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台5JT1`W ih

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台;M1GecD J6gq


ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Tn;Apc(q*ol.T

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 {CF.x"PA ~"WO/r

1 概述:

iD$[lv SN*H0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-`/b*bF!l4BR0S? s

 相信DVB这个英文缩写对于数字电视,机顶盒业内人士来说应该是个最熟悉不过的术语了。但是,Linux DVB项目对大多数人来说,应该还是很陌生的。 Linux DVB项目是开源项目LinuxTV的一部分。如同其他开源Linux项目一样,Linux DVB也是由一群DVB的热爱者和开发员,以社区的形式共同参与开发的项目。项目的目标是建立标准化的Linux平台的DVB API。这个标准化的API可以更好的促进Linux平台上的DVB板卡的开发,缩短开发的时间,丰富Linux平台的DVB硬件支持。为了实现这个目标,Linux DVB API必须做到平台,硬件无关性。Linux DVB开始于1998年,到2003年,Linux DVB API V3版本已经被包括进Linux 2.6.x内核中。但是由于V3版本的某些缺陷和不足,V4版本的开发被提上日程。从2004年开始,V4版本的开始一直在进行中。Linux DVB一开始的目标是应用于一些PCI,USB接口的DVB PC扩展卡。后来API的设计也考虑到了一些采用了嵌入式Linux系统的STB, IDTV的应用。 到目前为止,有一系列的硬件被移植到了Linux DVB上面。同时,基于Linux DVB API,开源社区开发了很多应用程序,来提供使用这些硬件,提供各种方便的功能。这些应用程序包括: DVBSnoop, DVBStreamer, MPlayer等。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台GG]0?#fn!eXwE S

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Ge%O%d.L@Se


D/h0},Y J {N)[0

m8g&p9X*jzM"Q02 linux dvb 分析

$kgVV @y r X0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台8CYl cc7V3L

2.1 linux dvb devicesET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台^g*S,S'S
linux dvb api使得应用程序可以控制相关硬件模块通过六个unix风格的字符设备,包括video, audio, frontend, demux, ca, ip-over-dvb networking。video和audio设备控制mpeg2解码的硬件,frontend设备控制tuner和dvb解调器。demux设备用于过滤pes和section,如果不是硬件实现的也可以通过软件来完成。最后,CA设备控制条件接收相关的硬件模块。所有的设备在目录/dev/dvb下面:
Y)t*NLT0  /dev/dvb/adapterN/audioM
)~A*mc/}Z0  /dev/dvb/adapterN/videoM
jwQ uu%r0  /dev/dvb/adapterN/frontendMET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Y-m%b _1TP+w)N
  /dev/dvb/adapterN/netM
&[$N.b k*[)`*z1S \TW0  /dev/dvb/adapterN/demuxM
6HAI6dZ9S5X0  /dev/dvb/adapterN/caM
#Hw1mH_)t}*v0其中N值标识第N个适配卡,M用于标识某适配卡下第几个该类型的设备。

jF.E{:n6]~A8?;]%t0

)qMQ"Q[ DKE [0


ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台\e6R+\+u$g-l9R

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台C}1i8O$Twb

3 CA 加密原理和使用ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 q|LQ-N$l-MYg9v

o fai D pt0CA 实现中主要是涉及linuxdvb的demux,ca两个模块的标准化接口开发

+}ZXh?p` x/K0

*t \aq5OM~ O03.1 linuxdvb - demux

Fb_]2@&Qn0

H4f1c#g um0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台}t R+Z-~A F\d

Km$}yTs0I0 

c w2wWVD9pk$S0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台)XbDWs9x&H

 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台V@`5Xv!@&t%B

i%p)A| r ?;]_jE0


ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台FC0v4dE+C

l)aL:@$io04 项目实施和实践ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台[+K`Xyo+bAcV

Z}+O*H Q)Mr0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~ TD r7E!d:b1@

A#T.p)e^"u {~WG0


a/g @+t It/F0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台bU0Rx%{*s'h

ref:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台/|7k D ][ ey

:i:s/O&Ra&M e"hp01 概述:http://blog.csdn.net/rumbleli/article/details/2357913ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台'djSr&Ap

4nyly WW}02 一些分析:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台i W!r!q*W8R*e-j}9V

6V(kOs+hce {0demux

,[:LM7HC3H&D0

j$R&g2^g0http://blog.csdn.net/soulxu/article/details/6176505

[4se!x)_4q(w0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台7i8R1E&_f{uL8N0bB

3 linux dvb v3ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 cUtM2x_

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-{u By/yZAU'u*|

4 http://www.linuxtv.org/docs/dvbapi/dvbapi.html

%IrL?? pP U,K;i `0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Jq Q#[Q9my

5 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台h Z)Ns"i

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台X)Wj#m8c _w o&{

 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!e a7IY2F

fz3m w El-K0本帖原创:by huang.makin@gmail.com

RX-PgU ]0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台(g/h%{T%_N.h


2}#H;mpy5r0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar