<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > AOS上行鏈路控制器的設(shè)計(jì)與實(shí)現(xiàn)

          AOS上行鏈路控制器的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-06-28 來源:網(wǎng)絡(luò) 收藏

          工作過程中最重要的是解復(fù)用功能。首先判斷首導(dǎo)頭指針,當(dāng)首導(dǎo)頭的指針在M_PDU數(shù)據(jù)域長度范圍內(nèi)時(shí),M_PDU模塊把首導(dǎo)頭指針?biāo)甘镜纳弦粋€(gè)CCSDS包的剩余部分放入CCSDS緩沖區(qū),此時(shí)CCSDS緩沖區(qū)的數(shù)據(jù)是一個(gè)完整的CCSDS格式包,然后判斷它的數(shù)據(jù)類型,如果是包裝數(shù)據(jù),則調(diào)用DE_PDU模塊,進(jìn)行解包,然后進(jìn)行轉(zhuǎn)發(fā),緩沖區(qū)清零。接著處理M_PDU包區(qū)中新開始的CCSDS包,首先判斷該CC-SDS導(dǎo)頭是否包含長度域,如果不包含長度域,則把該M_PDU包的剩余部分全部放入CCSDS緩沖區(qū),繼續(xù)接收下一個(gè)M_PDU包。如果包含有長度域,則計(jì)算此CCSDS包的長度,并與M_PDU剩余的長度進(jìn)行比較,CCSDS包的長度大于M_PDU剩余長度時(shí),則把M_PDU的剩余部分?jǐn)?shù)據(jù)全部放入CCSDS緩沖區(qū),繼續(xù)接收下一個(gè)M_PDU數(shù)據(jù)。CCSDS包的長度等于M_PDU剩余長度時(shí),則把M_PDU的剩余部分?jǐn)?shù)據(jù)全部放入CCSDS緩沖區(qū),繼續(xù)接收下一個(gè)M_PDU數(shù)據(jù)。CCSDS包的長度小于M_PDU剩余長度時(shí),則把此CCSDS包全部放入CCSDS緩沖區(qū),判斷其版本號,如果是可復(fù)用數(shù)據(jù)就直接轉(zhuǎn)發(fā)出去,如果是不可復(fù)用數(shù)據(jù),則調(diào)用解包裝模塊DE_PDU,進(jìn)行解包,再進(jìn)行轉(zhuǎn)發(fā),然后循環(huán)判斷M_PDU中下一個(gè)CCSDS包,直至CCSDS包的長度大于或等于M_PDU剩余長度后,繼續(xù)接收時(shí)的剩余部分?jǐn)?shù)據(jù)全部放入CCSDS緩沖區(qū),繼續(xù)接收下一個(gè)M_PDU數(shù)據(jù)。解復(fù)用模塊的工作流程如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/161900.htm

          b.JPG



          3 測試及驗(yàn)證
          可以支持多路數(shù)據(jù),首先模擬一些真實(shí)的數(shù)據(jù):非定界字符串,IPV6,IPV4,CP_PDU,把PC機(jī)和通過以太網(wǎng)口相聯(lián),把模擬的各種數(shù)據(jù)發(fā)送給控制器,控制器接收數(shù)據(jù)進(jìn)行識別處理。測試結(jié)果表明該控制器可以較好地進(jìn)行數(shù)據(jù)的解VCA和解復(fù)用,無丟包現(xiàn)象,工作穩(wěn)定、可靠。

          4 結(jié)語
          本文介紹了基于國產(chǎn)芯片系統(tǒng)的控制器,采用該控制器可以較好地處理模擬的航天器數(shù)據(jù),并且對數(shù)據(jù)傳輸中的一些關(guān)鍵技術(shù)進(jìn)行了驗(yàn)證,為今后進(jìn)一步的研究打下基礎(chǔ)。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();