999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DSP錯(cuò)誤檢測(cè)與糾正功能在基站中的應(yīng)用

2014-03-12 18:10:11鄭曉東楊潤(rùn)豐卞建勇盧蕓
現(xiàn)代電子技術(shù) 2014年5期

鄭曉東 楊潤(rùn)豐 卞建勇 盧蕓

摘 要: 通信系統(tǒng)要求高穩(wěn)定性,但外部惡劣的電磁環(huán)境會(huì)導(dǎo)致基帶板所使用DSP中的存儲(chǔ)器發(fā)生單粒子翻轉(zhuǎn)(SEU),從而導(dǎo)致系統(tǒng)異常復(fù)位。針對(duì)該問題,著重介紹了如何應(yīng)用DSP的錯(cuò)誤檢測(cè)與糾正(EDAC)功能,以及如何解決EDAC應(yīng)用與cache操作之間的沖突。通過實(shí)際應(yīng)用,基站出現(xiàn)SEU異常的機(jī)率明顯降低,系統(tǒng)穩(wěn)定性得到提高。

關(guān)鍵詞: 錯(cuò)誤檢測(cè)與糾正; 單粒子翻轉(zhuǎn); 基帶板; 高速緩存

中圖分類號(hào): TN710?34; TP368.1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)05?0047?03

0 引 言

目前無線通信應(yīng)用極為廣泛,為了提高通信質(zhì)量和覆蓋區(qū)域,需要在不同的地區(qū)建立基站。在一些電磁環(huán)境比較惡劣的地點(diǎn)[1],或者受外部輻射影響[2],基站中的一些大規(guī)模集成電路常常會(huì)受到干擾,導(dǎo)致不能正常工作。德州儀器(TI)C64x+DSP在通信系統(tǒng)的基帶單板上具有廣泛應(yīng)用,在實(shí)際使用中,基帶板偶爾會(huì)出現(xiàn)異常復(fù)位,通過排查發(fā)現(xiàn)其中有些復(fù)位的原因是由于程序空間或數(shù)據(jù)空間的某個(gè)位發(fā)生了翻轉(zhuǎn),導(dǎo)致指令改寫或是所使用的數(shù)據(jù)錯(cuò)誤,最終導(dǎo)致程序跑飛或資源沖突異常而復(fù)位。為了能夠?qū)ξ诲e(cuò)誤的異常進(jìn)行檢測(cè)和處理,引入了EDAC功能來提高系統(tǒng)的可靠性。

本文TI公司生產(chǎn)的C64x+系列DSP中的EDAC基本原理與其他芯片EDAC的實(shí)現(xiàn)原理相類似,均是以漢明碼為基礎(chǔ)實(shí)現(xiàn)糾檢錯(cuò)功能[2?6],但也具有其自身的特點(diǎn),首先對(duì)該DSP芯片的EDAC功能做一個(gè)簡(jiǎn)要介紹。

1 C64x+EDAC功能說明

EDAC是TI C64x+DSP提供的用來對(duì)L1P和L2空間進(jìn)行錯(cuò)誤檢測(cè)和糾正的一項(xiàng)功能,該功能主要用來保護(hù)程序空間和不經(jīng)常更新的數(shù)據(jù)空間。當(dāng)對(duì)L1P、L2空間進(jìn)行讀操作時(shí),可以通過該功能來檢查此次讀取的數(shù)據(jù)是否發(fā)生某位錯(cuò)誤的異常。如果發(fā)生了,則該功能可以對(duì)L1P空間的1位翻轉(zhuǎn)進(jìn)行檢測(cè);對(duì)L2 空間的1位的翻轉(zhuǎn)進(jìn)行檢測(cè)與糾正,但多位的翻轉(zhuǎn)無法進(jìn)行糾正,但是可以通過中斷事件通知CPU,CPU采取相應(yīng)的策略來降低基帶單板復(fù)位的風(fēng)險(xiǎn)。

在DSP上電時(shí)EDAC功能是未使能的。當(dāng)錯(cuò)誤檢測(cè)邏輯未使能時(shí),對(duì)L1P、L2的寫操作將導(dǎo)致相關(guān)的有效位(valid bit)被清0。可以通過對(duì)寄存器設(shè)置來使能L1P、L2的錯(cuò)誤檢測(cè)功能,同時(shí)也可以設(shè)置檢測(cè)L2空間的范圍。使能后,在寫操作的地址為256 b對(duì)齊,且數(shù)據(jù)長(zhǎng)度為256 b時(shí),將更新位于L2 RAM中存儲(chǔ)的校驗(yàn)位和有效位,如果寫操作的數(shù)據(jù)小于256 b,則更新校驗(yàn)位RAM空間相應(yīng)的有效位表明為“無效校驗(yàn)位” [7?8]。

DSP通過漢明碼來檢查256 b內(nèi)的多位錯(cuò)誤和糾正單位錯(cuò)誤。在使能了EDAC功能后,CPU每次在對(duì)L1P、L2空間進(jìn)行讀操作時(shí),都會(huì)進(jìn)行錯(cuò)誤檢測(cè),并且所有的讀操作都是256 b對(duì)齊。但在通過DMA/IDMA對(duì)L1P進(jìn)行讀操作時(shí),只有當(dāng)讀取的數(shù)據(jù)大小為256 b或256 b的整數(shù)倍時(shí),才會(huì)進(jìn)行EDAC的檢測(cè)。圖1是錯(cuò)誤檢測(cè)的邏輯,從該邏輯圖中可以看到,錯(cuò)誤檢測(cè)時(shí)先將讀到的256 b數(shù)據(jù)進(jìn)行逐位異或計(jì)算的校驗(yàn)位與寫操作時(shí)保存在L2 RAM中的校驗(yàn)位進(jìn)行異或比較,然后與有效位進(jìn)行與操作,即最終的結(jié)果是由有效位和校驗(yàn)位來共同決定的。

當(dāng)在進(jìn)行讀取或DMA/IDMA讀訪問時(shí)檢測(cè)到位翻轉(zhuǎn)異常,則會(huì)輸出相應(yīng)的異常。L1P產(chǎn)生一種異常,L2空間能夠產(chǎn)生兩種異常,通過中斷處理器交給CPU進(jìn)行異常處理。

2 EDAC功能實(shí)現(xiàn)

在調(diào)試EDAC功能的過程中,發(fā)現(xiàn)會(huì)發(fā)生SEU錯(cuò)誤誤報(bào)的問題,通過定位和分析,確定與L2 cache 一致性(coherence)操作有關(guān),通過與TI溝通,確認(rèn)芯片的EDAC存在一個(gè)缺陷,最終TI發(fā)布了勘誤表并給出了具體的原因和規(guī)避方法。

產(chǎn)生該問題的原因是:當(dāng)L2在進(jìn)行cache 一致性操作時(shí),如果在操作完成之前,CPU的操作產(chǎn)生L1d cache victim,那么L1d victim操作會(huì)錯(cuò)誤地將L1d EDAC的有效位置為1,導(dǎo)致CPU在從L1d進(jìn)行讀操作時(shí)EDAC會(huì)對(duì)L1d空間進(jìn)行檢測(cè),而之前L1d空間并沒有生成校驗(yàn)數(shù)據(jù),從而使得EDAC錯(cuò)誤的上報(bào)EDAC檢測(cè)到異常(雖然EDAC文檔中說其不監(jiān)測(cè)L1D空間,但是EDAC相關(guān)的有效位,校驗(yàn)位仍存在,只是沒有去使用)。如果在cache操作的過程中存在CPU的操作,或者在cache操作的時(shí)候有中斷發(fā)生而進(jìn)入中斷響應(yīng)函數(shù),這些都會(huì)導(dǎo)致產(chǎn)生L1d cache victim[9]。

2.1 EDAC缺陷的規(guī)避方法

根據(jù)TI提供的解決方法和DSP使用cache的實(shí)際情況,通過以下方法來進(jìn)行規(guī)避。首先在所有的cache操作之前進(jìn)行中斷屏蔽,其次使用cache操作的匯編函數(shù)來避免cache操作本身產(chǎn)生L1d victim。在使用中斷屏蔽時(shí),要注意cache操作的數(shù)據(jù)長(zhǎng)度,如果數(shù)據(jù)長(zhǎng)度過長(zhǎng)的話,為了避免中斷屏蔽時(shí)間過長(zhǎng),需要對(duì)cache維護(hù)的空間進(jìn)行分段cache操作,然后對(duì)各個(gè)小段進(jìn)行中斷屏蔽,這樣其他的中斷仍可以在各個(gè)小段之間被響應(yīng)。

2.2 EDAC功能初始化

在初始化過程中,基本過程為:

(1) 使用IDMA來擦除(scrub) L2 RAM空間,目的是將該空間對(duì)應(yīng)的EDAC有效位設(shè)為0(因?yàn)榇藭r(shí)EDAC功能還沒有開啟);

(2) 清除L1p、L2的EDAC錯(cuò)誤狀態(tài);

(3) 使能EDAC,并且設(shè)置EDAC監(jiān)測(cè)的L2 RAM范圍;

(4) 再次通過IDMA來擦除L2 RAM空間,目的是生成有效位和校驗(yàn)位,第一次進(jìn)行的操作由于還沒有使能EDAC功能,因此有效位為0,這樣就能保證EDAC使能后,第二次scrub操作時(shí),由于有效位為0而不會(huì)進(jìn)行EDAC的檢測(cè)。如果僅僅是在EDAC使能后進(jìn)行scrub操作,那么可能會(huì)由于某些地址的有效位為1(第一次為隨機(jī)值)而產(chǎn)生校驗(yàn)錯(cuò)誤。

(5) 再次清除EDAC錯(cuò)誤狀態(tài);

注意:scrub的時(shí)候不要對(duì)L2 cache空間進(jìn)行操作,同時(shí)配置檢測(cè)空間時(shí)也不要配置L2 cache空間,cache空間EDAC會(huì)自動(dòng)進(jìn)行維護(hù),不需要軟件介入。

在初始化過程中可以利用TI CSL庫(kù)中提供的EDAC相關(guān)的函數(shù),例如CSL_edcDisable()、CSL_edcEnable()、CSL_edcPageEnable()等函數(shù)來提高軟件開發(fā)速度。

2.3 EDAC中斷處理

對(duì)于EDAC中斷響應(yīng)函數(shù)。EDAC會(huì)產(chǎn)生三種類型的事件,如表1所示,分別是L1p 1位翻轉(zhuǎn),L2 1位翻轉(zhuǎn)以及L2 多位翻轉(zhuǎn),這三個(gè)事件可以通過ECM路由到同一個(gè)中斷,或者每個(gè)事件直接路由到某個(gè)可屏蔽中斷。這個(gè)可以根據(jù)實(shí)時(shí)性需要,以及當(dāng)前剩余可用可屏蔽中斷個(gè)數(shù)來決定。

下面說明各種類型EDAC異常的處理方式。

(1) 對(duì)于L2 多位翻轉(zhuǎn)(機(jī)率很低),EDAC也無能為力,遇到這種情況,可以直接上報(bào)嚴(yán)重告警,并復(fù)位DSP來解決。

(2) 對(duì)于L1p 的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位;然后進(jìn)行糾正,由于通常L1p全部設(shè)置為cache空間,所以對(duì)于L1p的糾正,只需要進(jìn)行cache的invalidate操作即可,即從L2的代碼段空間重新讀取正確的代碼數(shù)據(jù),invalidate操作的起始地址為EDAC檢測(cè)到的錯(cuò)誤地址,長(zhǎng)度為L(zhǎng)1p cache line。

(3)對(duì)于L2的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位,如果對(duì)DSP代碼段進(jìn)行了內(nèi)存保護(hù),而糾正過程會(huì)有回寫糾正的操作,則需要在糾正代碼段之前先將當(dāng)前檢測(cè)到的錯(cuò)誤地址所在頁(yè)(page)的內(nèi)存保護(hù)取消,然后進(jìn)行糾正,糾正的操作很簡(jiǎn)單只要對(duì)錯(cuò)誤地址進(jìn)行“讀—回寫”操作,EDAC硬件模塊就會(huì)自動(dòng)完成,例如:EdacAddr是檢測(cè)到的錯(cuò)誤地址,32字節(jié)對(duì)齊的,則可以使用IDMA進(jìn)行讀寫操作來進(jìn)行糾正。

中斷響應(yīng)函數(shù)處理的速度越快越好,如果ISR消耗的時(shí)間過長(zhǎng),可能會(huì)對(duì)后續(xù)代碼的運(yùn)行造成影響。對(duì)于1位的錯(cuò)誤其實(shí)完全可以不進(jìn)中斷來糾正原始的代碼,因?yàn)樵谧x取的時(shí)候發(fā)現(xiàn)的1位翻轉(zhuǎn)在交給CPU的時(shí)候已經(jīng)是糾正后正確的值了,如果需要糾正L2中的數(shù)據(jù),那么可以在中斷中post一個(gè)信號(hào)量,然后在CPU空閑的時(shí)候來糾正L2原始數(shù)據(jù)。

3 結(jié) 語

隨著芯片集成度的增加,以及各類電子系統(tǒng)工作的電磁環(huán)境的日益惡化,各類芯片發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤的可能性也在增加。因此越來越多的高性能DSP提供了EDAC功能,但之前并未見應(yīng)用DSP EDAC功能應(yīng)用的介紹。該文針對(duì)TI DSP的EDAC功能給出了具體使用方法,并且對(duì)TI DSP EDAC功能的缺陷給出了規(guī)避方法。目前該功能已正式在基站的基帶板中應(yīng)用,在1 000多個(gè)基站出現(xiàn)SEU異常的次數(shù)由原來的每月1~2例,減少到6個(gè)月未發(fā)現(xiàn)1例,系統(tǒng)穩(wěn)定性得到提高。

參考資料

[1] 李飛,張志敏,王巖飛.錯(cuò)誤檢測(cè)與糾正電路的設(shè)計(jì)與實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(2):34?39.

[2] 張路,賀興華,盧煥章.空間DSP加載系統(tǒng)可靠性設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(5):15?17.

[3] 龔銳,陳微,劉芳,等.FT51:一種容軟錯(cuò)誤高可靠微控制器[J].計(jì)算機(jī)學(xué)報(bào),2007,30(10):1662?1673.

[4] 薛挺,張開峰,張哲.基于漢明碼的32位數(shù)據(jù)糾錯(cuò)電路設(shè)計(jì)[J].空間電子技術(shù),2010(2):67?70.

[5] 林博.存儲(chǔ)芯片糾檢錯(cuò)電路設(shè)計(jì)與FPGA實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007.

[6] 陳微.高可靠性微處理器設(shè)計(jì)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2006.

[7] Texas Instruments. Error detection and correction (EDC) mechanism of C64x+ memories [M]. USA: Texas Instruments, 2010.

[8] Texas Instruments. TMS320C66x DSP CorePac user′s guide [EB/OL]. [[2011?07?07].] http://www.ti.com/lit/ug/sprugw0b/sprugw0b.

[9] Texas Instruments. TMS320TCI6487/8 digital signal processor silicon revisions 2.1, 2.0, 1.3, 1.2, 1.1, 1.0 [EB/OL]. [2011?03?12].http://www.ti.com/lit/er/sprz248h/sprz248h.pdf.

(5) 再次清除EDAC錯(cuò)誤狀態(tài);

注意:scrub的時(shí)候不要對(duì)L2 cache空間進(jìn)行操作,同時(shí)配置檢測(cè)空間時(shí)也不要配置L2 cache空間,cache空間EDAC會(huì)自動(dòng)進(jìn)行維護(hù),不需要軟件介入。

在初始化過程中可以利用TI CSL庫(kù)中提供的EDAC相關(guān)的函數(shù),例如CSL_edcDisable()、CSL_edcEnable()、CSL_edcPageEnable()等函數(shù)來提高軟件開發(fā)速度。

2.3 EDAC中斷處理

對(duì)于EDAC中斷響應(yīng)函數(shù)。EDAC會(huì)產(chǎn)生三種類型的事件,如表1所示,分別是L1p 1位翻轉(zhuǎn),L2 1位翻轉(zhuǎn)以及L2 多位翻轉(zhuǎn),這三個(gè)事件可以通過ECM路由到同一個(gè)中斷,或者每個(gè)事件直接路由到某個(gè)可屏蔽中斷。這個(gè)可以根據(jù)實(shí)時(shí)性需要,以及當(dāng)前剩余可用可屏蔽中斷個(gè)數(shù)來決定。

下面說明各種類型EDAC異常的處理方式。

(1) 對(duì)于L2 多位翻轉(zhuǎn)(機(jī)率很低),EDAC也無能為力,遇到這種情況,可以直接上報(bào)嚴(yán)重告警,并復(fù)位DSP來解決。

(2) 對(duì)于L1p 的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位;然后進(jìn)行糾正,由于通常L1p全部設(shè)置為cache空間,所以對(duì)于L1p的糾正,只需要進(jìn)行cache的invalidate操作即可,即從L2的代碼段空間重新讀取正確的代碼數(shù)據(jù),invalidate操作的起始地址為EDAC檢測(cè)到的錯(cuò)誤地址,長(zhǎng)度為L(zhǎng)1p cache line。

(3)對(duì)于L2的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位,如果對(duì)DSP代碼段進(jìn)行了內(nèi)存保護(hù),而糾正過程會(huì)有回寫糾正的操作,則需要在糾正代碼段之前先將當(dāng)前檢測(cè)到的錯(cuò)誤地址所在頁(yè)(page)的內(nèi)存保護(hù)取消,然后進(jìn)行糾正,糾正的操作很簡(jiǎn)單只要對(duì)錯(cuò)誤地址進(jìn)行“讀—回寫”操作,EDAC硬件模塊就會(huì)自動(dòng)完成,例如:EdacAddr是檢測(cè)到的錯(cuò)誤地址,32字節(jié)對(duì)齊的,則可以使用IDMA進(jìn)行讀寫操作來進(jìn)行糾正。

中斷響應(yīng)函數(shù)處理的速度越快越好,如果ISR消耗的時(shí)間過長(zhǎng),可能會(huì)對(duì)后續(xù)代碼的運(yùn)行造成影響。對(duì)于1位的錯(cuò)誤其實(shí)完全可以不進(jìn)中斷來糾正原始的代碼,因?yàn)樵谧x取的時(shí)候發(fā)現(xiàn)的1位翻轉(zhuǎn)在交給CPU的時(shí)候已經(jīng)是糾正后正確的值了,如果需要糾正L2中的數(shù)據(jù),那么可以在中斷中post一個(gè)信號(hào)量,然后在CPU空閑的時(shí)候來糾正L2原始數(shù)據(jù)。

3 結(jié) 語

隨著芯片集成度的增加,以及各類電子系統(tǒng)工作的電磁環(huán)境的日益惡化,各類芯片發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤的可能性也在增加。因此越來越多的高性能DSP提供了EDAC功能,但之前并未見應(yīng)用DSP EDAC功能應(yīng)用的介紹。該文針對(duì)TI DSP的EDAC功能給出了具體使用方法,并且對(duì)TI DSP EDAC功能的缺陷給出了規(guī)避方法。目前該功能已正式在基站的基帶板中應(yīng)用,在1 000多個(gè)基站出現(xiàn)SEU異常的次數(shù)由原來的每月1~2例,減少到6個(gè)月未發(fā)現(xiàn)1例,系統(tǒng)穩(wěn)定性得到提高。

參考資料

[1] 李飛,張志敏,王巖飛.錯(cuò)誤檢測(cè)與糾正電路的設(shè)計(jì)與實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(2):34?39.

[2] 張路,賀興華,盧煥章.空間DSP加載系統(tǒng)可靠性設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(5):15?17.

[3] 龔銳,陳微,劉芳,等.FT51:一種容軟錯(cuò)誤高可靠微控制器[J].計(jì)算機(jī)學(xué)報(bào),2007,30(10):1662?1673.

[4] 薛挺,張開峰,張哲.基于漢明碼的32位數(shù)據(jù)糾錯(cuò)電路設(shè)計(jì)[J].空間電子技術(shù),2010(2):67?70.

[5] 林博.存儲(chǔ)芯片糾檢錯(cuò)電路設(shè)計(jì)與FPGA實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007.

[6] 陳微.高可靠性微處理器設(shè)計(jì)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2006.

[7] Texas Instruments. Error detection and correction (EDC) mechanism of C64x+ memories [M]. USA: Texas Instruments, 2010.

[8] Texas Instruments. TMS320C66x DSP CorePac user′s guide [EB/OL]. [[2011?07?07].] http://www.ti.com/lit/ug/sprugw0b/sprugw0b.

[9] Texas Instruments. TMS320TCI6487/8 digital signal processor silicon revisions 2.1, 2.0, 1.3, 1.2, 1.1, 1.0 [EB/OL]. [2011?03?12].http://www.ti.com/lit/er/sprz248h/sprz248h.pdf.

(5) 再次清除EDAC錯(cuò)誤狀態(tài);

注意:scrub的時(shí)候不要對(duì)L2 cache空間進(jìn)行操作,同時(shí)配置檢測(cè)空間時(shí)也不要配置L2 cache空間,cache空間EDAC會(huì)自動(dòng)進(jìn)行維護(hù),不需要軟件介入。

在初始化過程中可以利用TI CSL庫(kù)中提供的EDAC相關(guān)的函數(shù),例如CSL_edcDisable()、CSL_edcEnable()、CSL_edcPageEnable()等函數(shù)來提高軟件開發(fā)速度。

2.3 EDAC中斷處理

對(duì)于EDAC中斷響應(yīng)函數(shù)。EDAC會(huì)產(chǎn)生三種類型的事件,如表1所示,分別是L1p 1位翻轉(zhuǎn),L2 1位翻轉(zhuǎn)以及L2 多位翻轉(zhuǎn),這三個(gè)事件可以通過ECM路由到同一個(gè)中斷,或者每個(gè)事件直接路由到某個(gè)可屏蔽中斷。這個(gè)可以根據(jù)實(shí)時(shí)性需要,以及當(dāng)前剩余可用可屏蔽中斷個(gè)數(shù)來決定。

下面說明各種類型EDAC異常的處理方式。

(1) 對(duì)于L2 多位翻轉(zhuǎn)(機(jī)率很低),EDAC也無能為力,遇到這種情況,可以直接上報(bào)嚴(yán)重告警,并復(fù)位DSP來解決。

(2) 對(duì)于L1p 的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位;然后進(jìn)行糾正,由于通常L1p全部設(shè)置為cache空間,所以對(duì)于L1p的糾正,只需要進(jìn)行cache的invalidate操作即可,即從L2的代碼段空間重新讀取正確的代碼數(shù)據(jù),invalidate操作的起始地址為EDAC檢測(cè)到的錯(cuò)誤地址,長(zhǎng)度為L(zhǎng)1p cache line。

(3)對(duì)于L2的1 b翻轉(zhuǎn),糾正過程是:首先清除掉EDAC的所有錯(cuò)誤狀態(tài)的標(biāo)志位,如果對(duì)DSP代碼段進(jìn)行了內(nèi)存保護(hù),而糾正過程會(huì)有回寫糾正的操作,則需要在糾正代碼段之前先將當(dāng)前檢測(cè)到的錯(cuò)誤地址所在頁(yè)(page)的內(nèi)存保護(hù)取消,然后進(jìn)行糾正,糾正的操作很簡(jiǎn)單只要對(duì)錯(cuò)誤地址進(jìn)行“讀—回寫”操作,EDAC硬件模塊就會(huì)自動(dòng)完成,例如:EdacAddr是檢測(cè)到的錯(cuò)誤地址,32字節(jié)對(duì)齊的,則可以使用IDMA進(jìn)行讀寫操作來進(jìn)行糾正。

中斷響應(yīng)函數(shù)處理的速度越快越好,如果ISR消耗的時(shí)間過長(zhǎng),可能會(huì)對(duì)后續(xù)代碼的運(yùn)行造成影響。對(duì)于1位的錯(cuò)誤其實(shí)完全可以不進(jìn)中斷來糾正原始的代碼,因?yàn)樵谧x取的時(shí)候發(fā)現(xiàn)的1位翻轉(zhuǎn)在交給CPU的時(shí)候已經(jīng)是糾正后正確的值了,如果需要糾正L2中的數(shù)據(jù),那么可以在中斷中post一個(gè)信號(hào)量,然后在CPU空閑的時(shí)候來糾正L2原始數(shù)據(jù)。

3 結(jié) 語

隨著芯片集成度的增加,以及各類電子系統(tǒng)工作的電磁環(huán)境的日益惡化,各類芯片發(fā)生單粒子翻轉(zhuǎn)錯(cuò)誤的可能性也在增加。因此越來越多的高性能DSP提供了EDAC功能,但之前并未見應(yīng)用DSP EDAC功能應(yīng)用的介紹。該文針對(duì)TI DSP的EDAC功能給出了具體使用方法,并且對(duì)TI DSP EDAC功能的缺陷給出了規(guī)避方法。目前該功能已正式在基站的基帶板中應(yīng)用,在1 000多個(gè)基站出現(xiàn)SEU異常的次數(shù)由原來的每月1~2例,減少到6個(gè)月未發(fā)現(xiàn)1例,系統(tǒng)穩(wěn)定性得到提高。

參考資料

[1] 李飛,張志敏,王巖飛.錯(cuò)誤檢測(cè)與糾正電路的設(shè)計(jì)與實(shí)現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(2):34?39.

[2] 張路,賀興華,盧煥章.空間DSP加載系統(tǒng)可靠性設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(5):15?17.

[3] 龔銳,陳微,劉芳,等.FT51:一種容軟錯(cuò)誤高可靠微控制器[J].計(jì)算機(jī)學(xué)報(bào),2007,30(10):1662?1673.

[4] 薛挺,張開峰,張哲.基于漢明碼的32位數(shù)據(jù)糾錯(cuò)電路設(shè)計(jì)[J].空間電子技術(shù),2010(2):67?70.

[5] 林博.存儲(chǔ)芯片糾檢錯(cuò)電路設(shè)計(jì)與FPGA實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007.

[6] 陳微.高可靠性微處理器設(shè)計(jì)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2006.

[7] Texas Instruments. Error detection and correction (EDC) mechanism of C64x+ memories [M]. USA: Texas Instruments, 2010.

[8] Texas Instruments. TMS320C66x DSP CorePac user′s guide [EB/OL]. [[2011?07?07].] http://www.ti.com/lit/ug/sprugw0b/sprugw0b.

[9] Texas Instruments. TMS320TCI6487/8 digital signal processor silicon revisions 2.1, 2.0, 1.3, 1.2, 1.1, 1.0 [EB/OL]. [2011?03?12].http://www.ti.com/lit/er/sprz248h/sprz248h.pdf.

主站蜘蛛池模板: 日本一区高清| 亚洲欧洲日韩综合色天使| 2018日日摸夜夜添狠狠躁| 久久一日本道色综合久久| 97国产精品视频自在拍| 久久国产精品波多野结衣| 91丝袜乱伦| 久久精品aⅴ无码中文字幕| 国产美女无遮挡免费视频网站 | 亚洲天堂视频在线观看| 国产永久无码观看在线| 国内视频精品| 国产成人夜色91| 久久国产av麻豆| 亚洲va欧美va国产综合下载| 四虎成人免费毛片| 在线视频亚洲色图| 国产午夜无码专区喷水| 精品久久人人爽人人玩人人妻| 国产高潮视频在线观看| 午夜电影在线观看国产1区| 国产精品一区二区无码免费看片| 97人妻精品专区久久久久| 成人精品亚洲| 男人天堂亚洲天堂| 精品国产免费第一区二区三区日韩| 91久久精品国产| 亚洲天堂精品在线| 精品乱码久久久久久久| 日韩无码真实干出血视频| 狠狠色综合网| 国产真实二区一区在线亚洲| 国产成人调教在线视频| 国产成人精品男人的天堂下载| 蜜桃视频一区二区| 日韩av资源在线| 精品色综合| 噜噜噜久久| 日韩中文无码av超清| 精品夜恋影院亚洲欧洲| 国产丝袜无码一区二区视频| 日韩成人在线网站| 成人免费网站在线观看| 精品三级网站| 久久久久人妻一区精品| 麻豆精品在线| www.亚洲一区二区三区| 一本大道东京热无码av| 亚洲天堂免费在线视频| 日韩AV无码免费一二三区| 嫩草国产在线| 97精品国产高清久久久久蜜芽| 色婷婷视频在线| 亚洲日韩精品综合在线一区二区| 成年网址网站在线观看| 亚洲av无码人妻| 亚洲欧美一级一级a| 天堂成人在线| 日韩国产综合精选| 欧美精品成人| 亚洲精品手机在线| 国产91线观看| 国产精品三级专区| 92精品国产自产在线观看| 国产无码精品在线播放| 2021国产在线视频| 免费黄色国产视频| 中美日韩在线网免费毛片视频| 2020最新国产精品视频| 日本成人在线不卡视频| 高清欧美性猛交XXXX黑人猛交| 日韩av手机在线| 日韩123欧美字幕| 日韩精品无码不卡无码| 亚洲AV成人一区国产精品| 午夜精品影院| 亚洲精品成人福利在线电影| 欧美国产日韩另类| 2020国产精品视频| 日韩高清欧美| 深夜福利视频一区二区| 亚洲日本韩在线观看|