鄭敏 吳剛 鄭小松江西理工大學(xué)
視頻處理芯片ADV212單粒子翻轉(zhuǎn)影響分析及故障預(yù)案
鄭敏 吳剛 鄭小松
江西理工大學(xué)
ANALOG DEVICES公司生產(chǎn)的ADV212可以實(shí)現(xiàn)JPEG2000 靜止圖像壓縮編碼的集成運(yùn)算,由于其為工業(yè)級(jí)COMS器件,若用在空間領(lǐng)域,屬于單粒子效應(yīng)的影響對(duì)象。文章針對(duì)此器件的內(nèi)部結(jié)構(gòu)和特性,具體分析了其在發(fā)生單粒子翻轉(zhuǎn)時(shí)所受到的影響,并針對(duì)不同的錯(cuò)誤類(lèi)型提出對(duì)應(yīng)的解決措施,形成完整的故障預(yù)案。
ADV212單粒子 翻轉(zhuǎn)影響
AD(ANALOG DEVICES)公司生產(chǎn)的ADV212,可以實(shí)現(xiàn)JPEG2000 靜止圖像壓縮編碼的集成運(yùn)算。單粒子翻轉(zhuǎn)(SEU,Single Event Upset)是發(fā)生在具有單穩(wěn)態(tài)或雙穩(wěn)態(tài)的邏輯器件和邏輯電路的一種帶電粒子輻射效應(yīng)。SEU 是單個(gè)高能粒子電離的結(jié)果或高能質(zhì)子核反應(yīng)的產(chǎn)物,會(huì)引起器件電性能狀態(tài)的改變,造成邏輯器件或電路的邏輯錯(cuò)誤。該效應(yīng)是非破壞性的,可通過(guò)重寫(xiě)受影響單元(將其觸發(fā)回所希望的狀態(tài))修正。ADV212是工業(yè)級(jí)COMS器件,如果用在空間領(lǐng)域,屬于單粒子效應(yīng)的影響對(duì)象。文章針對(duì)此器件的內(nèi)部結(jié)構(gòu)和特性,具體分析了其在發(fā)生單粒子翻轉(zhuǎn)時(shí)所受到的影響,并針對(duì)不同的錯(cuò)誤類(lèi)型提出對(duì)應(yīng)的解決措施,形成完整的故障預(yù)案。
如圖1所示,ADV212內(nèi)部包括一個(gè)專(zhuān)門(mén)的小波運(yùn)算處理器(WAVELET ENGINE),三個(gè)熵編碼器(EC1,EC2,EC3),一個(gè)片內(nèi)的存儲(chǔ)器系統(tǒng)(R AM,R OM),一個(gè)嵌入式R ISC處理器(EMBEDDED R ISCP R OCESSO R SYSYEM),內(nèi)部總線DMA控制(INTE R NALBUSAND DMAENGINE),內(nèi)部FIFO(包括相機(jī)數(shù)據(jù)FIFO(PIXEL FIFO),碼流FIFO(CODEFIFO),特征數(shù)據(jù)FIFO(ATT R FIFO)),外部DMA控制器(EXTE R NAL DMACT R L),相機(jī)數(shù)據(jù)接口(PIXEL I /F)。小波運(yùn)算處理器可以實(shí)現(xiàn)9 /7 不可逆小波,5/3 可逆和不可逆小波。熵編碼器能支持JPEG2000 中除R OI 之外的部分。
在典型編碼應(yīng)用中,視頻或相機(jī)數(shù)據(jù)從ADV212的像機(jī)數(shù)據(jù)接口輸入。有效數(shù)據(jù)進(jìn)入小波運(yùn)算器進(jìn)行5 /3 或9 /7 小波變換,得到的小波系數(shù)寫(xiě)入內(nèi)部存儲(chǔ)器。熵編碼器對(duì)小波系數(shù)進(jìn)行編碼以適應(yīng)JPEG2000 標(biāo)準(zhǔn)。
在編碼模式下:
(1)小波運(yùn)算器對(duì)輸入的數(shù)據(jù),進(jìn)行小波變換,將小波系數(shù)寫(xiě)入內(nèi)部存儲(chǔ)器。每個(gè)子帶被進(jìn)一步分解為碼塊。使用者自己定義碼塊的尺寸,而小波處理器負(fù)責(zé)將子帶分解為碼塊并寫(xiě)入內(nèi)部存儲(chǔ)器。隨后熵編碼器對(duì)這些碼塊進(jìn)行編碼。
(2)每個(gè)熵編碼塊根據(jù)小波系數(shù)碼塊的上下文聯(lián)系,進(jìn)行算術(shù)編碼。
(3)嵌入式32-bit RISC處理器負(fù)責(zé)專(zhuān)門(mén)硬件功能的配置,控制和操作。
(4)存儲(chǔ)器系統(tǒng)分為R AM和R OM。R OM用于存儲(chǔ)不可更改的嵌入式處理器的程序固件。R AM內(nèi)分為兩個(gè)區(qū),配置區(qū)和數(shù)據(jù)區(qū)。配置區(qū)開(kāi)辟有16個(gè)直接寄存器(地址為0X00-0X0F)和32- bit 間接寄存器(地址為0X00000000-0XFFFFFFFF),用于存儲(chǔ)ADV212的硬件算法的配置數(shù)據(jù)(包括基礎(chǔ)硬件配置參數(shù),程序固件,編解碼參數(shù)),這些配置數(shù)據(jù)由使用者定義并寫(xiě)入。數(shù)據(jù)區(qū)的主要功能是存儲(chǔ)小波系數(shù)數(shù)據(jù),臨時(shí)碼塊和特征數(shù)據(jù),提供建立分解存儲(chǔ)碼流的臨時(shí)工作區(qū)。
(5)內(nèi)部DMA控制器可以進(jìn)行高速的存儲(chǔ)器對(duì)存儲(chǔ)器的數(shù)據(jù)交換,以及存儲(chǔ)器與功能模塊之間的交換。
(6)FIFO用于寫(xiě)入相機(jī)數(shù)據(jù)(PIXEL FIFO),碼流數(shù)據(jù)(CODE FIFO)和特征數(shù)據(jù)(ATT R FIFO)。使用普通讀寫(xiě)操作,可以從HOST 接口直接訪問(wèn)這些FIFO,或者使用D R EQ/DACK 協(xié)議,通過(guò)外部hostDMA訪問(wèn),或者通過(guò)專(zhuān)門(mén)的硬件握手協(xié)議進(jìn)行訪問(wèn)。
PIXEL FIFO中發(fā)生翻轉(zhuǎn),則某些相機(jī)數(shù)據(jù)錯(cuò)誤,錯(cuò)誤位不固定。圖像會(huì)發(fā)生點(diǎn)狀錯(cuò)誤,由于FIFO在不停地寫(xiě)入正確數(shù)據(jù),所以可以恢復(fù),可采用的措施有;
(1)在芯片內(nèi)部結(jié)構(gòu)中,操作系統(tǒng)的內(nèi)核及預(yù)期不再更改的程序放在R OM區(qū);
(2)可編程的初始化程序及系統(tǒng)中斷向量駐留在R AM區(qū);
(3)初始化配置ADV212所需的程序固件存儲(chǔ)在外部器件中。
(4)在FPGA對(duì)ADV212的控制程序中,設(shè)計(jì)一個(gè)對(duì)于ADV212輸出的監(jiān)測(cè)信號(hào),一旦ADV212發(fā)生單粒子翻轉(zhuǎn),停止工作,F(xiàn)PGA就可檢測(cè)到這一情況,并重新對(duì)ADV212發(fā)送復(fù)位,使其重新配置。
3.1 內(nèi)部R AM發(fā)生翻轉(zhuǎn)
3.1.1 數(shù)據(jù)存儲(chǔ)區(qū)發(fā)生翻轉(zhuǎn)
數(shù)據(jù)存儲(chǔ)區(qū)存放的是可能在編碼變換過(guò)程任意階段的數(shù)據(jù),如果發(fā)生翻轉(zhuǎn),圖像發(fā)生錯(cuò)誤,錯(cuò)誤類(lèi)型沒(méi)有規(guī)律,壓縮輸出的時(shí)鐘和門(mén)控正常。由于數(shù)據(jù)存儲(chǔ)區(qū)數(shù)據(jù)不停更新,所以可以恢復(fù),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的A條款。
如果是標(biāo)志字等數(shù)據(jù)發(fā)生錯(cuò)誤,則相關(guān)碼流無(wú)法解壓,會(huì)暫時(shí)出現(xiàn)無(wú)恢復(fù)圖像的現(xiàn)象。如果輸出門(mén)控正常,對(duì)應(yīng)于表1中的C條款。輸出門(mén)控也可能異常,當(dāng)AOS檢測(cè)到門(mén)控異常時(shí)會(huì)復(fù)位,則會(huì)丟幀。由于數(shù)據(jù)存儲(chǔ)區(qū)的數(shù)據(jù)不停更新,所以可以恢復(fù),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的b 條款。
3.1.2 程序配置區(qū)發(fā)生翻轉(zhuǎn)
程序配置區(qū)發(fā)生翻轉(zhuǎn),則某些配置數(shù)據(jù)發(fā)生錯(cuò)誤,錯(cuò)誤位不固定??赡芤鹋渲檬?,或配置成錯(cuò)誤的工作狀態(tài),進(jìn)而引起恢復(fù)圖像錯(cuò)誤。
(1)ADV212仍然可以工作,輸出碼流錯(cuò)誤,輸出門(mén)控異常,當(dāng)AOS檢測(cè)到門(mén)控異常時(shí)會(huì)復(fù)位,則會(huì)丟幀,錯(cuò)誤狀態(tài)無(wú)法自行恢復(fù)。地面幀同步器中不能找到該壓縮板相應(yīng)通道的對(duì)應(yīng)標(biāo)識(shí)。此時(shí),需要通過(guò)下位機(jī)向壓縮發(fā)出復(fù)位指令,使ADV212重新復(fù)位配置,則可恢復(fù)正常。對(duì)應(yīng)于表1中的e條款所示。
(2)ADV212仍然可以工作,輸出碼流錯(cuò)誤,輸出門(mén)控正常,但輸出碼流無(wú)法解壓,錯(cuò)誤無(wú)法自行恢復(fù),此時(shí),地面幀同步器中該壓縮板相應(yīng)通道的對(duì)應(yīng)標(biāo)識(shí)正常,但無(wú)恢復(fù)圖像。此時(shí),需要通過(guò)下位機(jī)向壓縮發(fā)出復(fù)位指令,使ADV212重新復(fù)位配置。則可恢復(fù)正常。對(duì)應(yīng)于表1中的f 條款。
(3)ADV212仍然可以工作,輸出碼流錯(cuò)誤,輸出門(mén)控正常,解壓恢復(fù)出錯(cuò)誤圖像,且不能恢復(fù)。此時(shí),需要通過(guò)下位機(jī)向壓縮發(fā)出復(fù)位指令,使ADV212重新復(fù)位配置。則可恢復(fù)正常。對(duì)應(yīng)于表1中的d 條款。
(4)ADV212無(wú)法工作,無(wú)恢復(fù)圖像,壓縮有時(shí)鐘輸出,無(wú)門(mén)控和數(shù)據(jù)輸出。當(dāng)AOS檢測(cè)到無(wú)門(mén)控時(shí)會(huì)復(fù)位,則會(huì)丟幀,地面幀同步器中不能找到該壓縮板相應(yīng)通道的對(duì)應(yīng)標(biāo)識(shí)。FPGA檢測(cè)到ADV212無(wú)輸出后,會(huì)重新給ADV212發(fā)復(fù)位指令,復(fù)位指令使ADV212重新配置,可以恢復(fù)正常狀態(tài),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的b 條款。
3.2 FIFO發(fā)生翻轉(zhuǎn)
3.2.1 PIXEL FIFO發(fā)生翻轉(zhuǎn)
PIXEL FIFO中發(fā)生翻轉(zhuǎn),則某些相機(jī)數(shù)據(jù)錯(cuò)誤,錯(cuò)誤位不固定。圖像會(huì)發(fā)生點(diǎn)狀或塊狀錯(cuò)誤,錯(cuò)誤的形狀和出現(xiàn)頻率沒(méi)有固定規(guī)律。壓縮輸出的時(shí)鐘和門(mén)控正常。由于FIFO在不停地寫(xiě)入正確數(shù)據(jù),所以可以恢復(fù),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的A條款。
3.2.2 CODE FIFO發(fā)生翻轉(zhuǎn)
CODE FIFO發(fā)生翻轉(zhuǎn),則壓縮碼流中的數(shù)據(jù)錯(cuò)誤,錯(cuò)誤位不固定。恢復(fù)圖像會(huì)發(fā)生點(diǎn)狀或塊狀錯(cuò)誤,錯(cuò)誤的形狀和出現(xiàn)頻率沒(méi)有固定規(guī)律: 如果是標(biāo)志字等數(shù)據(jù)發(fā)生錯(cuò)誤,則相關(guān)碼流無(wú)法解壓,會(huì)暫時(shí)出現(xiàn)無(wú)恢復(fù)圖像的現(xiàn)象。壓縮輸出的時(shí)鐘和門(mén)控正常。由于FIFO在不停地寫(xiě)入正確數(shù)據(jù),所以可以恢復(fù),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的A條款。如果是標(biāo)志字等數(shù)據(jù)發(fā)生錯(cuò)誤,則相關(guān)碼流無(wú)法解壓,會(huì)暫時(shí)出現(xiàn)無(wú)恢復(fù)圖像的現(xiàn)象。如果輸出門(mén)控正常,對(duì)應(yīng)于表1中的C條款。輸出門(mén)控也可能異常,當(dāng)AOS檢測(cè)到門(mén)控異常時(shí)會(huì)復(fù)位,則會(huì)丟幀。由于FIFO在不停地寫(xiě)入正確數(shù)據(jù),所以可以恢復(fù),因此不需外部干預(yù)。對(duì)應(yīng)于表1中的b條款。
3.2.3 ATT R FIFO發(fā)生翻轉(zhuǎn)
ATT R FIFO發(fā)生翻轉(zhuǎn),則某些配置數(shù)據(jù)發(fā)生錯(cuò)誤,錯(cuò)誤位不固定??赡芤鹋渲檬。蚺渲缅e(cuò)誤進(jìn)而引起解碼圖像錯(cuò)誤。具體錯(cuò)誤分析與3.1.2類(lèi)似。
3.3 內(nèi)部固定邏輯發(fā)生 翻轉(zhuǎn)
ADV212內(nèi)部的固定邏輯的區(qū)域包括小波處理單元,熵編碼器EC1、EC2、EC3,外部DMA控制器,嵌入式R ISC處理器系統(tǒng),內(nèi)部R OM。這些區(qū)域發(fā)生翻轉(zhuǎn)時(shí),可能引起ADV212內(nèi)部程序跑飛,無(wú)法正常工作或無(wú)法工作,錯(cuò)誤情況具體分析與3.1.2類(lèi)似,但是由于這些區(qū)域在翻轉(zhuǎn)已發(fā)生后,無(wú)法通過(guò)外部重新寫(xiě)入觸發(fā)恢復(fù)正確狀態(tài),因此不能自行恢復(fù),也不能通過(guò)下位機(jī)發(fā)送復(fù)位指令恢復(fù)。
ADV212在斷電之后,芯片內(nèi)部的電場(chǎng)消失,輻射產(chǎn)生的載流子經(jīng)過(guò)一段時(shí)間逐漸消散,此時(shí)重新加電,則芯片內(nèi)部正常載流子恢復(fù)正常分布,ADV212可恢復(fù)正常工作狀態(tài)。因此,內(nèi)部固定邏輯發(fā)生翻轉(zhuǎn)后,需要將壓縮斷電后一段時(shí)間后重新加電。對(duì)應(yīng)于表1中的g,h,i 條款。
4 發(fā)生單粒子翻轉(zhuǎn)后可采取的應(yīng)對(duì)措施
表1給出ADV212發(fā)生單粒子翻轉(zhuǎn)時(shí)的應(yīng)對(duì)措施。5 總結(jié)5
JPEG2000 視頻處理芯片ADV212越來(lái)越多應(yīng)用于空間領(lǐng)域,成為空間領(lǐng)域圖像壓縮的主流發(fā)展方向。文章針對(duì)ADV212的內(nèi)部結(jié)構(gòu)和特性,具體分析了該芯片在發(fā)生單粒子翻轉(zhuǎn)時(shí)所受到的影響,提出了可行的防護(hù)方法,并針對(duì)不同的錯(cuò)誤類(lèi)型提出對(duì)應(yīng)的解決措施,形成完整的故障預(yù)案。對(duì)于該芯片在空間領(lǐng)域的應(yīng)用具有重要意義。