《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 單向DTV增值業(yè)務(wù)與條件接收技術(shù)應(yīng)用
單向DTV增值業(yè)務(wù)與條件接收技術(shù)應(yīng)用
黃天戍 羅璠 肖文華
工業(yè)儀表與自動(dòng)化裝置
摘要: 基于單向數(shù)字電視(DTV)網(wǎng)絡(luò)平臺(tái)架構(gòu),本文分析了典型的增值業(yè)務(wù)類型及技術(shù)實(shí)現(xiàn)策略,并且討論了增值業(yè)務(wù)的相關(guān)運(yùn)營(yíng)模式。考慮到增值業(yè)務(wù)內(nèi)容的保護(hù)和運(yùn)營(yíng)中的控制,作者還討論了廣泛應(yīng)用于數(shù)字電視系統(tǒng)的條件接收技術(shù)在增值業(yè)務(wù)運(yùn)營(yíng)中的角色和功用。并且以StreamGuard CA系統(tǒng)為例闡述了條件接收系統(tǒng)應(yīng)該滿足的功能和可擴(kuò)展需求,在某種程度上為運(yùn)營(yíng)商運(yùn)行增值業(yè)務(wù)時(shí)對(duì)CA系統(tǒng)的選擇指明了方向。
Abstract:
Key words :

        基于單向數(shù)字電視(DTV)網(wǎng)絡(luò)平臺(tái)架構(gòu),本文分析了典型的增值業(yè)務(wù)類型及技術(shù)實(shí)現(xiàn)策略,并且討論了增值業(yè)務(wù)的相關(guān)運(yùn)營(yíng)模式??紤]到增值業(yè)務(wù)內(nèi)容的保護(hù)和運(yùn)營(yíng)中的控制,作者還討論了廣泛應(yīng)用于數(shù)字電視系統(tǒng)的條件接收技術(shù)在增值業(yè)務(wù)運(yùn)營(yíng)中的角色和功用。并且以StreamGuard CA系統(tǒng)為例闡述了條件接收系統(tǒng)應(yīng)該滿足的功能和可擴(kuò)展需求,在某種程度上為運(yùn)營(yíng)商運(yùn)行增值業(yè)務(wù)時(shí)對(duì)CA系統(tǒng)的選擇指明了方向。

         引言

        相對(duì)于模擬電視,數(shù)字電視是一次重大的科技進(jìn)步,不僅給用戶提供了更多更好的電視節(jié)目,而且一改往日的單一無控制的運(yùn)營(yíng)模式,實(shí)現(xiàn)對(duì)用戶的控制,并且提供多種增值業(yè)務(wù)。可以說,數(shù)字電視的最終發(fā)展將是一個(gè)多業(yè)務(wù)平臺(tái),在滿足大眾收看電視節(jié)目的前提下,提供交互的、即時(shí)的新型服務(wù)。

  網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序

  網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序的整體設(shè)計(jì)思路為:當(dāng)以太網(wǎng)應(yīng)用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點(diǎn)時(shí),首先,數(shù)據(jù)發(fā)送到網(wǎng)關(guān),由以太網(wǎng)控制器協(xié)議轉(zhuǎn)換 模塊從UDP數(shù)據(jù)報(bào)文中解析出完整的CAN 協(xié)議數(shù)據(jù)包,存放在數(shù)據(jù)緩沖區(qū)A,再調(diào)用CAN 控制器協(xié)議模塊將它發(fā)送到CAN 總線上。反過來,當(dāng)CAN 設(shè)備有數(shù)據(jù)要發(fā)送到用戶層時(shí),首先數(shù)據(jù)發(fā)送到網(wǎng)關(guān),由CAN控制器協(xié)議模塊將完整的CAN 協(xié)議數(shù)據(jù)包存放在數(shù)據(jù)緩沖區(qū)B,再調(diào)用以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊將完整的CAN協(xié)議數(shù)據(jù)包作為應(yīng)用層數(shù)據(jù)封裝發(fā)送到以太網(wǎng)應(yīng)用層。

 

  CAN 控制器協(xié)議模塊

  CAN 控制器協(xié)議轉(zhuǎn)換模塊程序主要由SJA1000的寄存器讀、寫程序,初始化程序和發(fā)送、接收程序5 個(gè)子程序組成。之所以要編寫單獨(dú)的SJA1000寄存器讀、寫子程序,這是由SX52 芯片只有I/O端口的特點(diǎn)所決定的。

  (1) 讀SJA1000 寄存器子程序CANRead()其過程為:Re引腳設(shè)為輸出;CS片選清零;Rd引腳設(shè)為輸出;輸出地址;置位ALE;延時(shí)20 ns ;ALE位清零;Rd 引腳設(shè)為輸入;/Read 位清零;讀入數(shù)據(jù);延時(shí)20ns ;/Read 位置位;CS片選置位;返回。

  (2) 寫SJA1000寄存器子程序CANWrite()其過程為:Re引腳設(shè)為輸出;CS片選清零;

 

 

置位ALE;Rd 引腳設(shè)為輸出;輸出地址;ALE位清零;/wr位清零;輸出數(shù)據(jù);延時(shí)20ns;CS片選置位; 返回。

  (3) SJA1000初始化子程序CANInit()選用CAN2.0A協(xié)議構(gòu)建CAN總線控制網(wǎng)絡(luò),對(duì)SJA1000的初始化主要完成控制寄存器CR、驗(yàn)收代碼寄存器ACR、驗(yàn)收屏蔽寄存器AMR、總線定時(shí)寄存器BTR0,1和輸出控制寄存器OCR的設(shè)置。
 
        (4) 發(fā)送接收子程序txdsub(),rxdsub()發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送,由CAN控制器SJA1000獨(dú)立完成。主控制器SX52只需將數(shù)據(jù)緩沖區(qū)A中已按CAN2.0A協(xié)議格式組合成的一幀報(bào)文送入SJA1000 發(fā)送緩沖區(qū)中,然后將命令寄存器里的發(fā)送請(qǐng)求標(biāo)志置位,即可發(fā)送報(bào)文。

  接收子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收。SJA1000自動(dòng)接收發(fā)往該節(jié)點(diǎn)的數(shù)據(jù)并將收到的數(shù)據(jù)放到它的接收緩沖器中。SJA1000 的報(bào)文接收主要有兩種方式:中斷接收方式和查詢接收方式。該系統(tǒng)采用查詢接收方式。可以發(fā)送給主控制器SX52的接收信息由狀態(tài)寄存器的接收緩沖器狀態(tài)標(biāo)志RBS和接收中斷標(biāo)志RI 標(biāo)出。SX52將會(huì)把這一幀數(shù)據(jù)包存入數(shù)據(jù)緩沖區(qū)B中,然后釋放接收緩沖器,再通知總調(diào)度程序,由總調(diào)度程序調(diào)用以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊轉(zhuǎn)發(fā)。

  以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊

  以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊主要負(fù)責(zé)從UDP數(shù)據(jù)包中解析出完整CAN協(xié)議報(bào)文,存入數(shù)據(jù)緩沖區(qū)A。同時(shí),將數(shù)據(jù)緩沖區(qū)B中的完整CAN協(xié)議報(bào)文封裝成UDP數(shù)據(jù)報(bào)后發(fā)送到以太網(wǎng)上。采用UDP協(xié)議是考慮到CAN 協(xié)議數(shù)據(jù)報(bào)為短幀形式(每個(gè)數(shù)據(jù)幀最多為8個(gè)字節(jié)),因?yàn)門CP協(xié)議要進(jìn)行3次握手建立連接,這對(duì)網(wǎng)絡(luò)來說無疑是一種資源的浪費(fèi)。而UDP是無連接的傳輸,這樣可以提高網(wǎng)絡(luò)傳輸效率,同時(shí),也減輕網(wǎng)關(guān)的處理任務(wù)。當(dāng)然,UDP是不可靠的傳輸協(xié)議。為了提高通信的可靠性,在應(yīng)用層建立回傳校驗(yàn)機(jī)制,通過實(shí)驗(yàn)
測(cè)試表明這種方式是行之有效的。以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊主要由若干個(gè)ARP、UDP協(xié)議的API函數(shù)組成。

  TCP/IP應(yīng)用層程序設(shè)計(jì)

  基于以太網(wǎng)的高層通信協(xié)議一般采用TCP/IP協(xié)議。這里采用流行的SOCKET套接字編程,傳輸層協(xié)議選擇UDP(用戶數(shù)據(jù)報(bào)協(xié)議),通過 VisualC++編寫應(yīng)用層程序。WinSock提供了對(duì)UDP的支持,通過UDP協(xié)議可以向指定IP 地址的網(wǎng)關(guān)發(fā)送CAN 協(xié)議數(shù)據(jù),同時(shí)也可以從它接收CAN協(xié)議數(shù)據(jù),發(fā)送和接收方處于相同的地位沒有主次之分。利用CAsyncSocket類操縱無連接的數(shù)據(jù)發(fā)送較簡(jiǎn)單,首先生成一個(gè)本地套接口,然后利用int CAsyncSocket : : SendTo ( constvoid 3 1pBuf , int nBufLen , UINT nHostPort , LPCTSTR1pszHostAddress = NULL ,int nFlags = 0) 發(fā)送數(shù)據(jù),intCAsyncSocket : : ReceiveFrom ( void 3 1pBuf , int nBufLen ,CString & rSocketAddess ,UINT & rSocketPort , intnFlags = 0) 接收數(shù)據(jù)。利用UDP 協(xié)議發(fā)送和接收都可以是雙向的,即管理主機(jī)和SX52網(wǎng)關(guān)都可以發(fā)送和接收數(shù)據(jù)。在程序設(shè)計(jì)中,創(chuàng)建了一個(gè)CAsyncSocket 派生類CCanSocket ,該派生類CCanSocket 有若干成員函數(shù),通過這些類成員函數(shù),可以很方便地實(shí)現(xiàn)CAN總線到Internet 的通信。
 
        結(jié)論

   隨著Internet技術(shù)的日益成熟測(cè)控系統(tǒng)網(wǎng)絡(luò)和以太網(wǎng)將漸漸融合。CAN總線到Internet的互聯(lián)網(wǎng)關(guān)的設(shè)計(jì)研究是一項(xiàng)具有重要意義的工作,它有非常廣闊的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。