周文輝,鄧春健,官祥飛
Flash存儲器下的顯示數(shù)據(jù)差錯控制
周文輝1,2,鄧春健1,3*,官祥飛3
(1.電子科技大學中山學院,廣東中山528402; 2.電子科技大學自動化工程學院,四川成都610054; 3.電子科技大學計算機科學與工程學院,四川成都611731)
Flash存儲器常作為嵌入式大屏幕顯示系統(tǒng)的顯示信息存儲設備,然而Flash存儲器在使用時會存在諸如位反轉等讀寫操作出錯的問題,給系統(tǒng)的正常顯示控制帶來隱患。對Flash存儲器存儲誤碼率進行了分析,并結合顯示數(shù)據(jù)存取的特點,設計了差錯控制編碼來實現(xiàn)Flash存儲器下的顯示數(shù)據(jù)差錯控制。結合嵌入式控制系統(tǒng)的特點,設計了一種基于(31,26)循環(huán)漢明碼編譯碼電路,在實際應用中可以將誤碼率降低至少1個數(shù)量級以上,提升了數(shù)據(jù)存儲器抗突發(fā)干擾和隨機干擾的能力,同時具有較低的設計復雜度。
嵌入式系統(tǒng);誤碼率;Flash存儲器
Key words:embedded system;bit error rate;flash memory
LED圖文顯示屏是LED大屏幕顯示器中最常見的一類應用,這類顯示器的特點是:顯示分辨率低,顯示內容以顯示宣傳信息和即時通知為主,系統(tǒng)控制方案常常采用嵌入式脫機控制的方式。顯示屏的顯示數(shù)據(jù)一般會采用專門的只讀存儲器來存放,而Flash存儲器因為其大容量、低成本、低功耗、高速讀寫等諸多優(yōu)勢成為了顯示信息存儲的最佳方案[1]。
NOR Flash和NAND Flash是當前兩種主要的非易失性閃存。在顯示數(shù)據(jù)較少的應用,可以采用普通的NOR Flash,而對于超大顯示信息存儲的高數(shù)據(jù)存儲密度的應用,NAND Flash則是理想的解決方案。由于當前工藝并不能保證在Flash存儲器生命周期中都保持可靠的性能,例如在對Flash存儲器進行讀寫操作時,存儲器中個別比特位可能會發(fā)生錯誤,例如從1變成0或從0變成1的位反轉等現(xiàn)象,而相對NOR Flash,NAND Flash的位反轉現(xiàn)象會更加容易發(fā)生[2],而隨著Flash使用次數(shù)的增加,錯誤出現(xiàn)的機率呈上升趨勢。
存儲器中的數(shù)據(jù)一般存在圖像文字信息和控制信息兩種數(shù)據(jù)類型。由于存儲器中顯示圖像數(shù)據(jù)一個位對應著一個像素點,顯示數(shù)據(jù)一個位的變化會直接導致顯示器上很明顯的“花點”現(xiàn)象,會給接受信息的人造成非常不好的視覺反應。在單個像素點較大的顯示屏的應用,這一問題會更突出。如果存儲器中存儲的是顯示控制數(shù)據(jù),則一個位的變化將會對控制指令造成較大的影響,其控制結果變得不可預測。現(xiàn)有方案在顯示數(shù)據(jù)存儲后將不做校驗,如果Flash存儲器發(fā)生了錯誤,遠端的控制中心既不能及時察覺,也難于糾正這一問題。而傳統(tǒng)方法常常是更換硬件來解決,這給設備后續(xù)維護帶來了許多不便[3-4]。
解決或改善LED大屏幕顯示器顯示數(shù)據(jù)在Flash存儲器下的錯誤問題對提高顯示系統(tǒng)整機使用壽命、節(jié)省維護費用具有較大的意義,目前該方面的應用研究并不多。本文針對LED大屏幕顯示器控制系統(tǒng)特點,將顯示數(shù)據(jù)差錯控制引入到Flash存儲器下顯示數(shù)據(jù)的存儲中來。實驗結果表明,本文提出的方法能夠有效解決因為Flash存儲器位反轉等問題帶來的顯示出錯問題。
2.1顯示數(shù)據(jù)存取誤碼率分析
針對Flash存儲器位反轉等數(shù)據(jù)存儲出錯的問題,我們曾經(jīng)通過第三方獲得較為粗略的實驗數(shù)據(jù),模擬實際應用環(huán)境并保證操作時序和電路穩(wěn)定的前提下,針對兩種不同類型、不同品牌的Flash存儲器誤碼率做了一個粗略的統(tǒng)計,方法是針對一個固定的塊進行反復的讀寫操作,如表1所示,誤碼率在相應的數(shù)量級上下波動。
表1說明Flash擦寫次數(shù)越多,數(shù)據(jù)誤碼率越高。實驗結果也表明,F(xiàn)lash出錯的時候一般不會造成整個塊或是頁不能讀取,或是全部出錯,而是其中的一個或幾個比特位出錯[5]。
表1 誤碼率統(tǒng)計Tab.1Statistics of error rate
2.2差錯控制編碼的選擇
差錯控制編碼可以在一定程度上解決或改善Flash存儲器的顯示數(shù)據(jù)出錯問題。選擇和構造差錯控制編碼需要根據(jù)實際工程中數(shù)據(jù)結構特點和控制系統(tǒng)硬件結構特點來進行。
首先,從大屏幕顯示控制系統(tǒng)結構來看,LED大屏幕顯示器控制系統(tǒng)一般采用FPGA+MCU模式,MCU用來對系統(tǒng)管理和效果變換等處理,F(xiàn)PGA作為協(xié)處理器實現(xiàn)掃描時序及外部設備地址分配等工作[1,6]。差錯控制譯碼過程只能放置在顯示數(shù)據(jù)讀取后和掃描時序形成過程中,而顯示數(shù)據(jù)從存儲器讀取后一般通過串行移位方式輸出,較低處理能力的MCU往往無法滿足譯碼的同時與高速的掃描時序相匹配。
差錯控制編碼的選擇既要滿足糾錯要求,又要與系統(tǒng)較好地結合。對比其他類型編碼,由于循環(huán)碼自身串行循環(huán)移位的特點,糾錯與掃描信息的生成可以完全同步,可以方便地融入到掃描電路中,而不影響系統(tǒng)原有電路結構。
另外,從概率學來看,顯示信息的差錯可能出現(xiàn)在長為n的碼字任意1位或任意多位,錯誤樣式有2n-1種,設Pe為發(fā)生1位錯誤的概率,在這些可能的錯誤中,發(fā)生i位錯誤的概率為:
通過式(1)可見出現(xiàn)一位錯誤的概率最高,出現(xiàn)2位或2位以上錯誤的概率遠小于1位的出錯概率,糾正了1位錯誤即可將誤碼率降到較低水平。因而僅需選擇能糾正1位錯誤的差錯控制編碼,并選擇合適的碼長即可滿足應用要求。
對于任意整數(shù)m≥3,當循環(huán)碼(n,k)使式(2)漢明限式等號成立時即為循環(huán)漢明碼,可以糾正1位錯誤,由于監(jiān)督位相對少,往往比BCH碼、RS碼具有更高的編碼效率[6]:
式中n表示碼長,k表示信息位長,當m=5時即(31,26)碼。由式(1)可知,通過(31,26)碼糾錯后誤碼率低于10-3,降低至少1個數(shù)量級以上。另外,(31,26)編碼后監(jiān)督位僅5位,編碼效率能達到83.8%。一般的,在大屏幕顯示器的使用周期內已經(jīng)能夠滿足數(shù)據(jù)存儲抗突發(fā)干擾和隨機干擾的需求[6-8]。
3.1編碼電路的設計
首先設計編碼電路。在編碼時,首先獲得(31,26)系統(tǒng)循環(huán)碼的本原多項式g(x),用來作為生成編碼的生成多項式。
然后待編碼信息m(x)與生成多項式相乘后即可獲得編碼信息c(x)。
在編碼前所有待編碼信息位都準備完畢,26個信息位m=(m25m24,……,m0),用式(5)的多項式形式來表示。
設經(jīng)過編碼運算后獲得31位碼字c=(c30,c29,……,c1,c0),多項式形式為:
圖1 編碼電路Fig.1Coding circuit
具體編碼實現(xiàn)電路如圖1所示,電路由16位并串轉換電路B16_shifter和除法電路cyc_31_26_ coder構成,除法電路內部實現(xiàn)見圖2。假設Flash存儲器是按16位存儲方式存儲,則26位信息位需要裝載2次。圖1中,編碼電路工作前,首先通過CLR將并串轉換電路B16_shifter和除法電路cyc_31_26_coder清0。然后令裝載信號load有效(高電平),將16位數(shù)datai[15..0]裝載進入B16_ shifter。隨著load變成低電平,數(shù)據(jù)在移位時鐘clk的作用下左移,高位首先通過shiftout移入除法電路cyc_31_26_coder。在完成第一次數(shù)據(jù)裝載后,經(jīng)過16個時鐘,產(chǎn)生下一個裝載信號。接著,再經(jīng)過10個clk時鐘周期后編碼完成,即在第27個clk時鐘,編碼結果出現(xiàn)在c[4..0]上。3.2譯碼電路的設計
圖2 除法電路Fig.2Division circuit
編碼后存儲在Flash中的數(shù)據(jù)信息用多項式c(x)來表示,從Flash中實際讀取的信息用多項式r(x)來表示。如果數(shù)據(jù)在存儲過程中發(fā)生錯誤,則錯誤圖樣多項式用e(x)來表示。如式(7),r(x)相當于在信息c(x)疊加了錯誤e(x)。
若(31,26)系統(tǒng)循環(huán)碼的錯誤圖樣多項式e(x)為:
譯碼器的任務就是從讀取信息r(x)中找到出錯誤圖樣多項式e'(x)來估計信息碼多項式c'(x)
進而得到信息組m'(x)。循環(huán)碼的錯誤圖樣一般是通過伴隨多項式s(x)來獲得,循環(huán)碼的伴隨式及錯誤圖樣與接收碼關系為
具體譯碼實現(xiàn)電路如圖3所示,譯碼電路主要包括數(shù)據(jù)裝載及伴隨式計算電路、伴隨式計算完成指示電路、糾錯電路3部分。編碼數(shù)據(jù)共31位,在16位存儲器中需要占用2個存儲單元。當load信號有效時,存儲在Flash中的編碼數(shù)據(jù)裝載進入16位并串轉換電路B16_shifter,在移位時鐘的作用下,并串轉換結果raw_data移入伴隨式計算電路,在第16個時鐘時產(chǎn)生下一個裝載信號,完成伴隨式計算共需要31個時鐘。
圖3 數(shù)據(jù)裝載及伴隨式計算電路Fig.3Dataloadingandsyndromepolynomial computing circuit
與此同時raw_data移入糾錯電路,對從Flash讀取數(shù)據(jù)進行糾錯處理。
由于伴隨式需要在伴隨式計算電路中移位31次才能獲得,因而raw_data移入31位移位寄存器B31_shifter進行暫存,以此與伴隨式計算電路運算同步。
在實現(xiàn)對錯誤位的糾正時,譯碼電路被設計成糾正最高階位x30上的錯誤,錯誤圖樣x30的伴隨式為:
錯誤圖樣檢測電路由與門構成,如圖4所示。當伴隨式計算完畢后,且當伴隨式計算電路輸出狀態(tài)為10010時,與門輸出err_IND為1,此時經(jīng)過移位寄存器輸出raw_data_o錯誤位通過異或門糾正后送入下一級移位寄存器B31_shifter。圖中SDout為糾錯后的串行輸出,P_Dout[30..0]為糾錯后的并行輸出結果。
此時數(shù)據(jù)獲得了糾正,低5位監(jiān)督位可以丟棄,圖中PDout[25..0]即為獲得糾錯后的信息數(shù)據(jù)位。
圖4 糾錯電路Fig.4Experiment of scale establishment
電路采用伴隨式計算及糾錯完成指示電路來指示譯碼電路的執(zhí)行情況。該電路主要模塊是通過模32計數(shù)器來,如圖5所示[7-9]。
圖5 伴隨式計算及糾錯完成指示電路Fig.5Experiment of scale establishment
假設對1500H進行編碼,則編碼時按1次16比特位,分2次進行裝載進入編碼電路,分別為0005 H、4000 H,在第27個時鐘周期完成編碼運算。如圖6所示,在第27個clk時鐘周期Code_ok信號有效時(高電平),對應輸出結果為10 H。加上校驗位數(shù)據(jù),1500H經(jīng)過編碼后共31位,編碼數(shù)據(jù)分別為0005H、4020H,分別存儲在2個存儲單元中。
如果讀取數(shù)據(jù)中有一位錯誤,該錯誤可能是這31位中的任意一位。在仿真驗證時,可以假設錯誤出現(xiàn)在任意位置,然后分析經(jīng)過譯碼器譯碼后的仿真時序情況。假設數(shù)據(jù)0005H、4020H在存儲過程發(fā)生1比特位錯誤,讀出結果為4005H、 4020H,將4005H、4020H載入譯碼器后的仿真時序如圖7(a)所示,在C_OK高電平有效時,伴隨式計算完畢。圖7(b)為數(shù)據(jù)糾錯部分時序,當伴隨式為10010即err_IND信號為高電平時指示錯誤發(fā)生的位置,同時將糾錯后的結果輸出到移位寄存器中,在C_OK為高電平時即為糾錯后的輸出結果,讀出Pout[25..0]為0001500H,說明發(fā)生錯誤的位被糾正。
圖7 譯碼器仿真時序Fig.7The decoder simulation timing
本文根據(jù)LED大屏幕顯示器顯示信息特點,設計了一套基于(31,26)循環(huán)糾錯系統(tǒng)的軟硬件實現(xiàn)方案。實驗證明,論文設計方案可以有效降低Flash存儲器存儲誤碼率,對提高系統(tǒng)穩(wěn)定性具有積極意義,論文設計電路具有較好的擴展性和代表性,并具有很好的實用價值。
參考文獻:
[1]尹柱霞,鄭喜鳳,于洪濤.ARM+FPGA控制的LED脫機屏系統(tǒng)設計[J].液晶與顯示,2010,25(2):262-267.
Yin Z X,Zheng X F,Yu H T.Design of LED off-line screen system based on ARM+FPGA control[J].Chinese Journal of Liquid Crystals and Displays,2010,25(2):262-267.(in Chinese)
[2]劉衛(wèi).NAND Flash控制器的設計與驗證[D].長沙:國防科學技術大學,2008.
Liu W.Design and verification of NAND Flash controller[D].Changsha:National University of Defense Technology,2008.(in Chinese).
[3]郭寶增,鄧淳苗.基于FPGA的LED顯示屏控制系統(tǒng)設計[J].液晶與顯示,2010,25(3):424-429.
Guo B Z,Deng CM.Design of LED display control system based on FPGA[J].Chinese Journal of Liquid Crystals and Displays,2010,25(3):424-429.(in Chinese)
[4]朱云芳,靳桅,鄔芝權.LED條形顯示屏直通連接的數(shù)據(jù)組織方式[J].液晶與顯示,2011,26(6):796-799.
Zhu Y F,Jin W,Wu Z Q.Data Organization of LED bar display panel with shoot-through connection[J].Chinese Journal of Liquid Crystals and Displays,2011,26(6):796-799.(in Chinese)
[5]Mielke N.Marquart T.Ning W.Bit error rate in NAND Flash memories[J].Reliability Physics Symposium,2008.IRPS 2008.IEEE International,2008:9-19.
[6]鄧春健,安源,呂燚.顯示信息高速串行傳輸?shù)牟铄e控制[J].光學精密工程,2012,20(3):632-642.
Deng C J,An Y,Lv Y.Error control of high speed serial display data transmission[J].Optics and Precision Engineering,2012,20(3):632-642.(in Chinese)
[7]孫科林,周維超,吳欽章.高速實時光纖圖像傳輸系統(tǒng)的實現(xiàn)[J].光學精密工程,2011,19(9):2228-2231.
Sun K L,Zhou W C,Wu Q Z.Realization of high-speed real-time optical filber image transmission system[J].Optics and Precision Engineering,2011,19(9):2228-2231.(in Chinese).
[8]孫卓,權笑,王文博.采用分組糾錯編碼的多接入傳輸分集方法[J].北京郵電大學學報,2009,32(5):6-9.
Sun Z,Quan X,Wang W B.A Method of multi radio transmission diversity with packet level forward error correction[J].Journal of Beijing University of Posts and Telecommunications,2009,32(5):6-9.(in Chinese).
[9]柴先明,彭耿,師棟鋒.基于匹配搜索的偽隨機序列生成多項式估計[J].光學精密工程,2011,19(9):2223-2228.
Chai X M,Peng G,Shi D F.Generator polynomial estimation of pseudo-random sequence based on match-searching[J].Optics and Precision Engineering,2011,19(9):2223-2228.(in Chinese).
Error control of display data based on flash memory
ZHOU Wen-hui1,2,DENG Chun-jian1,3*,GUAN Xiang-fei3
(1.Zhongshan Institute,University of Electronic Science and Technology of China,Zhongshan 528402,China; 2.School of Automation Engineering,University of Electronic Science and Technology of China,Chengdu 610054,China; 3.School of Computer Science&Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China)
Flash memory is often used as display information storage devices of embedded large screen display system,however flash memory exists errors such as bit upset in reading or writing operation,that will bring the hidden dangers to normal display of system.Flash memory error rate and display data access characteristics are analyzed to design the display data error control under flash memory.Considering the characteristics of embedded control system,a(31,26)cyclic Hamming encoding and decoding circuit is designed,which can reduce the error rate of an order of magnitude,and enhance the ability of anti burst interference and anti random interference,at the same time have the design of low complexity.
TP79
A
10.3788/YJYXS20153004.0660
周文輝(1972-),男,廣東中山人,博士研究生,副教授,研究方向為控制理論與控制工程、控制技術應用。E-mail:386722335@qq.com
1007-2780(2015)04-0660-06
2015-01-04;
2015-03-07.
國家自然科學基金項目(No.61302115);廣東省自然科學基金(No.S2013010015764);廣東省高等學校優(yōu)秀青年教師培養(yǎng)計劃項目(No.Yq2013204);中山市產(chǎn)學研結合項目(No.2013C2FC0014);電子薄膜與集成器件國家重點實驗室中山分實驗室開放基金(No.412S0605)
*通信聯(lián)系人,E-mail:dengcj80@126.com