AOS上行鏈路控制器的設計與實(shí)現
上行鏈路控制器工作過(guò)程中最重要的是解復用功能。首先判斷首導頭指針,當首導頭的指針在M_PDU數據域長(cháng)度范圍內時(shí),M_PDU模塊把首導頭指針所指示的上一個(gè)CCSDS包的剩余部分放入CCSDS緩沖區,此時(shí)CCSDS緩沖區的數據是一個(gè)完整的CCSDS格式包,然后判斷它的數據類(lèi)型,如果是包裝數據,則調用DE_PDU模塊,進(jìn)行解包,然后進(jìn)行轉發(fā),緩沖區清零。接著(zhù)處理M_PDU包區中新開(kāi)始的CCSDS包,首先判斷該CC-SDS導頭是否包含長(cháng)度域,如果不包含長(cháng)度域,則把該M_PDU包的剩余部分全部放入CCSDS緩沖區,繼續接收下一個(gè)M_PDU包。如果包含有長(cháng)度域,則計算此CCSDS包的長(cháng)度,并與M_PDU剩余的長(cháng)度進(jìn)行比較,CCSDS包的長(cháng)度大于M_PDU剩余長(cháng)度時(shí),則把M_PDU的剩余部分數據全部放入CCSDS緩沖區,繼續接收下一個(gè)M_PDU數據。CCSDS包的長(cháng)度等于M_PDU剩余長(cháng)度時(shí),則把M_PDU的剩余部分數據全部放入CCSDS緩沖區,繼續接收下一個(gè)M_PDU數據。CCSDS包的長(cháng)度小于M_PDU剩余長(cháng)度時(shí),則把此CCSDS包全部放入CCSDS緩沖區,判斷其版本號,如果是可復用數據就直接轉發(fā)出去,如果是不可復用數據,則調用解包裝模塊DE_PDU,進(jìn)行解包,再進(jìn)行轉發(fā),然后循環(huán)判斷M_PDU中下一個(gè)CCSDS包,直至CCSDS包的長(cháng)度大于或等于M_PDU剩余長(cháng)度后,繼續接收時(shí)的剩余部分數據全部放入CCSDS緩沖區,繼續接收下一個(gè)M_PDU數據。解復用模塊的工作流程如圖2所示。本文引用地址:http://dyxdggzs.com/article/161900.htm
3 測試及驗證
鏈路控制器可以支持多路數據,首先模擬一些真實(shí)的數據:非定界字符串,IPV6,IPV4,CP_PDU,把PC機和控制器通過(guò)以太網(wǎng)口相聯(lián),把模擬的各種數據發(fā)送給控制器,控制器接收數據進(jìn)行識別處理。測試結果表明該控制器可以較好地進(jìn)行數據的解VCA和解復用,無(wú)丟包現象,工作穩定、可靠。
4 結語(yǔ)
本文介紹了基于國產(chǎn)芯片設計的AOS系統的上行鏈路控制器,采用該控制器可以較好地處理模擬的航天器數據,并且對數據傳輸中的一些關(guān)鍵技術(shù)進(jìn)行了驗證,為今后進(jìn)一步的研究打下基礎。
評論