|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
中九卫星电视节目升级的原理分析,绝对不要金币,回复即可
U/ U) ?* |: X6 O* Y; j1 p3 q1 P
! s: z9 ^+ u* R/ B0 B2 E; x0 z6 N空中升级时,发送软件升级BAT(Bouquet Association Table,业务群关联表)中,应包含链接描述符(Linkage descriptor),专用卫星电视接收机的应用软件一直监测BAT,当其版本号发生变化时,会自动解析链接描述符中映射的制造商标识、硬件标识、软件标识、机器序列号等各项参数,判断是否有适合本机的升级软件.如果有适合本机的升级软件,则根据链接描述符的相关信息人NIT(Network Information Table,网络信息表)中获取升级软件所在的转发器参数,并将转发器参数和对应的service_id及新版本软件存储在RAM中,存储完成后,根据链接描述符中的相关信息,弹出升级提示界面,按“确定”按钮,可立即重启机器并进行升级软件下载;按“返回”按钮,则待下次开机时进行下载.
' O5 d1 H4 o- V* [' E1 }) E6 N. ]" u& |. J( P8 P
启动下载后,下载器(Downloader)首先解析PAT(Program Allocation Table,节目关联表),根据与RAM中听service_id相同的Program number(节目编号)来定位软件升级PMT(Program Map Table,节目映射表)的PID,然后根据其中的数据广播标识描述符中映射的相关参数找到与本机相对应的软件升级业务的PID;定位升级业务的PID 后,下载器解析与该PID对应的TS包中的下载数据表,从这些下载数据表中获取相应的升级数据后,专用机的终端软件通过刷写PLASH芯片实现对软件数据的升级.' }8 w( `3 q! h/ r+ o; f: i
# V- Q9 Q% l- CFLASH芯片存储数据结构 ,, z* Z1 \' ]- W! X# A) V
中星9号直播卫星专用机程序存储器FLASH芯片中各个部分存储数据的结构:
, f. ^) E3 T) Y+ K( U 其中; h0 Y9 C- ~9 ]
[Starter]为Loader启动模块,负责系统启动、代码校验以及下载判断,位于FLASH芯片的OTP(One Time Programable,一次性可编程)区域;( W& U7 p# _( R4 B* I, Z& G E" r
[DownLoader]为Loader下载模块,负责应用软件的下载升级操作;. `0 |. n. x2 h0 h' {
[Terminal Device Information]为专用机设备信息;& c# v3 b- P" P k
[flash Header]为Flash头,存储专用机上次下载成功的参数列表和应用软件信息;[Application Software]为应用软件代码;7 |4 d" N' P, `" T/ F& a$ O
[User Date]除了可写Flash头和应用软件代码之外的所有用户数据.; S% z) h* B5 ]4 v L, a) w* f
在[Terminal Device Information]专用机设备信息数据结构中,
4 g, c+ ^# T) r8 ?" @+ ]“operator_number为运营商代码;
" c b0 d+ A' U0 f' ]* n3 i“manufacture_id”为专用机制造商标识,由运营商分配;
8 w8 Q. t3 u3 u0 r* P4 s n“hardware_id”为专用机的硬件平台标识;
6 U3 u$ Y" m# u! T8 I- p; P& V* L8 Q“model_id”专用机型号标识,用于区分同一专用机硬件平台的不同批次;“STB_id”为专用机的唯一序列号标识,由运营商给各个制造商统一分配序列号段;6 x& H: h9 C, s0 T' Q
“loader_version”为Loader的版本号;# ? |5 T k2 q2 T# B4 j
“reserved_future_use”为预留位置,供将来使用;
( Y5 x# m- C" P6 K“WP_Flash_CRC32”为写保护区中除最后4个字节目之外所有数据的 CRC32值.% p. i! k: f) S
4 {, Q, o! E6 P2 b收藏分享; ~7 L. h3 O% d C0 I& H
550 k- e2 Z8 u1 z
1/ E8 ^: c5 b1 }% u. P8 W
支持
# {9 b: Y) v: I( C+ O$ Z反对 |
 手机扫码浏览
|