kaiyun官方注册
您所在的位置: 首页> 其他> 设计应用> 单向DTV增值业务与条件接收技术应用
单向DTV增值业务与条件接收技术应用
黄天戍 罗璠 肖文华
工业仪表与自动化装置
摘要:基于单向数字电视(DTV)网络平台架构,本文分析了典型的增值业务类型及技术实现策略,并且讨论了增值业务的相关运营模式。考虑到增值业务内容的保护和运营中的控制,作者还讨论了广泛应用于数字电视系统的条件接收技术在增值业务运营中的角色和功用。并且以StreamGuard CA系统为例阐述了条件接收系统应该满足的功能和可扩展需求,在某种程度上为运营商运行增值业务时对CA系统的选择指明了方向。
Abstract:
Key words :

基于单向数字电视(DTV)网络平台架构,本文分析了典型的增值业务类型及技术实现策略,并且讨论了增值业务的相关运营模式。考虑到增值业务内容的保护和运营中的控制,作者还讨论了广泛应用于数字电视系统的条件接收技术在增值业务运营中的角色和功用。并且以StreamGuard CA系统为例阐述了条件接收系统应该满足的功能和可扩展需求,在某种程度上为运营商运行增值业务时对CA系统的选择指明了方向。

引言

相对于模拟电视,数字电视是一次重大的科技进步,不仅给用户提供了更多更好的电视节目,而且一改往日的单一无控制的运营模式,实现对用户的控制,并且提供多种增值业务。可以说,数字电视的最终发展将是一个多业务平台,在满足大众收看电视节目的前提下,提供交互的、即时的新型服务。

  网关协议转换程序

  网关协议转换程序的整体设计思路为:当以太网应用层有数据要发送到CAN节点时,首先,数据发送到网关,由以太网控制器协议转换 模块从UDP数据报文中解析出完整的CAN 协议数据包,存放在数据缓冲区A,再调用CAN 控制器协议模块将它发送到CAN 总线上。反过来,当CAN 设备有数据要发送到用户层时,首先数据发送到网关,由CAN控制器协议模块将完整的CAN 协议数据包存放在数据缓冲区B,再调用以太网控制器协议转换模块将完整的CAN协议数据包作为应用层数据封装发送到以太网应用层。

  CAN 控制器协议模块

  CAN 控制器协议转换模块程序主要由SJA1000的寄存器读、写程序,初始化程序和发送、接收程序5 个子程序组成。之所以要编写单独的SJA1000寄存器读、写子程序,这是由SX52 芯片只有I/O端口的特点所决定的。

  (1) 读SJA1000 寄存器子程序CANRead()其过程为:Re引脚设为输出;CS片选清零;Rd引脚设为输出;输出地址;置位ALE;延时20 ns ;ALE位清零;Rd 引脚设为输入;/Read 位清零;读入数据;延时20ns ;/Read 位置位;CS片选置位;返回。

  (2) 写SJA1000寄存器子程序CANWrite()其过程为:Re引脚设为输出;CS片选清零;

置位ALE;Rd 引脚设为输出;输出地址;ALE位清零;/wr位清零;输出数据;延时20ns;CS片选置位; 返回。

  (3) SJA1000初始化子程序CANInit()选用CAN2.0A协议构建CAN总线控制网络,对SJA1000的初始化主要完成控制寄存器CR、验收代码寄存器ACR、验收屏蔽寄存器AMR、总线定时寄存器BTR0,1和输出控制寄存器OCR的设置。

(4) 发送接收子程序txdsub(),rxdsub()发送子程序负责节点报文的发送,由CAN控制器SJA1000独立完成。主控制器SX52只需将数据缓冲区A中已按CAN2.0A协议格式组合成的一帧报文送入SJA1000 发送缓冲区中,然后将命令寄存器里的发送请求标志置位,即可发送报文。

  接收子程序负责节点报文的接收。SJA1000自动接收发往该节点的数据并将收到的数据放到它的接收缓冲器中。SJA1000 的报文接收主要有两种方式:中断接收方式和查询接收方式。该系统采用查询接收方式。可以发送给主控制器SX52的接收信息由状态寄存器的接收缓冲器状态标志RBS和接收中断标志RI 标出。SX52将会把这一帧数据包存入数据缓冲区B中,然后释放接收缓冲器,再通知总调度程序,由总调度程序调用以太网控制器协议转换模块转发。

  以太网控制器协议转换模块

  以太网控制器协议转换模块主要负责从UDP数据包中解析出完整CAN协议报文,存入数据缓冲区A。同时,将数据缓冲区B中的完整CAN协议报文封装成UDP数据报后发送到以太网上。采用UDP协议是考虑到CAN 协议数据报为短帧形式(每个数据帧最多为8个字节),因为TCP协议要进行3次握手建立连接,这对网络来说无疑是一种资源的浪费。而UDP是无连接的传输,这样可以提高网络传输效率,同时,也减轻网关的处理任务。当然,UDP是不可靠的传输协议。为了提高通信的可靠性,在应用层建立回传校验机制,通过实验
测试表明这种方式是行之有效的。以太网控制器协议转换模块主要由若干个ARP、UDP协议的API函数组成。

  TCP/IP应用层程序设计

  基于以太网的高层通信协议一般采用TCP/IP协议。这里采用流行的SOCKET套接字编程,传输层协议选择UDP(用户数据报协议),通过 VisualC++编写应用层程序。WinSock提供了对UDP的支持,通过UDP协议可以向指定IP 地址的网关发送CAN 协议数据,同时也可以从它接收CAN协议数据,发送和接收方处于相同的地位没有主次之分。利用CAsyncSocket类操纵无连接的数据发送较简单,首先生成一个本地套接口,然后利用int CAsyncSocket : : SendTo ( constvoid 3 1pBuf , int nBufLen , UINT nHostPort , LPCTSTR1pszHostAddress = NULL ,int nFlags = 0) 发送数据,intCAsyncSocket : : ReceiveFrom ( void 3 1pBuf , int nBufLen ,CString & rSocketAddess ,UINT & rSocketPort , intnFlags = 0) 接收数据。利用UDP 协议发送和接收都可以是双向的,即管理主机和SX52网关都可以发送和接收数据。在程序设计中,创建了一个CAsyncSocket 派生类CCanSocket ,该派生类CCanSocket 有若干成员函数,通过这些类成员函数,可以很方便地实现CAN总线到Internet 的通信。

结论

  随着Internet技术的日益成熟测控系统网络和以太网将渐渐融合。CAN总线到Internet的互联网关的设计研究是一项具有重要意义的工作,它有非常广阔的应用前景。

此内容为AET网站原创,未经授权禁止转载。
Baidu
map