武永華,左瑞娟
(1.福建江夏學(xué)院, 福建 福州 350108;2.福建師范大學(xué),福建 福州 350007)
液晶電視中系統(tǒng)參數(shù)的檢糾錯備份及檢驗
武永華1,左瑞娟2
(1.福建江夏學(xué)院, 福建 福州 350108;2.福建師范大學(xué),福建 福州350007)
摘要:在液晶電視的嵌入式系統(tǒng)中,系統(tǒng)參數(shù)通常存放在主板芯片E2PROM里,由于外界脈沖或其TA原因會使E2PROM中的數(shù)據(jù)發(fā)生丟失或錯誤,從而導(dǎo)致液晶電視偏色或無法正常啟動。為解決此問題,提出一種利用CRC檢錯碼和RS糾錯碼的機(jī)制來實現(xiàn)對系統(tǒng)參數(shù)的備份,即使數(shù)據(jù)發(fā)生部分錯誤也能夠即時糾正過來。同時,為了檢驗基于檢錯和糾錯數(shù)據(jù)備份機(jī)制的可靠性,設(shè)計了一套能夠針對液晶電視主板上E2PROM芯片中數(shù)據(jù)的正確性進(jìn)行測試的工具,在一線工廠應(yīng)用價值較高。
關(guān)鍵詞:E2PROM;備份;檢錯碼;糾錯碼 ;CRC;RS
液晶電視出廠后,部分液晶電視機(jī)因外界脈沖干擾或其他原因,導(dǎo)致E2PROM中的初始化參數(shù)錯誤或丟失,而偏色或無法啟動[1]。此問題軟件解決辦法是在E2PROM中開辟兩個存儲空間,其一常用,另一備份。電視機(jī)可正常啟動時,讀取前者的數(shù)據(jù),否則檢查備份區(qū)數(shù)據(jù)是否有誤,若無,則以備份區(qū)數(shù)據(jù)覆蓋常用區(qū)數(shù)據(jù)。但這會占用部分E2PROM容量,且因數(shù)據(jù)無糾錯能力,當(dāng)兩區(qū)均有誤時,機(jī)制失效。
為此,本文提出一種具檢糾錯能力的數(shù)據(jù)備份方案。其思路是:將原始數(shù)據(jù)經(jīng)糾錯編碼存入E2PROM,并計算編碼后數(shù)據(jù)的循環(huán)冗余碼(CRC)余式,一并存入[2];電視機(jī)啟動時,先計算編碼后數(shù)據(jù)的CRC余式,若與預(yù)存余式一致,表明無誤,可譯碼輸出;反之有誤,應(yīng)譯碼備份數(shù)據(jù),再編碼糾錯數(shù)據(jù),來重寫E2PROM。
為驗證本方案,本文設(shè)計了測試工具。該工具發(fā)送可選的RS-32命令,觀察電視機(jī)能否經(jīng)備份機(jī)制處理引入錯誤的E2PROM數(shù)據(jù)而正常啟動。
1備份機(jī)制介紹
1.1存儲器介紹
液晶電視通常把系統(tǒng)參數(shù)存儲在主板上的E2PROM芯片里面,芯片型號有24C16[3]等,該芯片3.3V供電,容量空間為2kbyte。串行E2PROM24C16通過I2C總線與嵌入式處理器連接,如圖1所示。

圖1 存儲器
1.2系統(tǒng)參數(shù)檢糾錯備份機(jī)制概述
液晶電視系統(tǒng)參數(shù)錯誤或者丟失主要包括兩類數(shù)據(jù):1) 前端通過視頻處理芯片的硬件自動調(diào)整形成信號的幅度(Gain)和準(zhǔn)位(Offset)[4]。2)后端通過白平衡調(diào)整系統(tǒng)形成的數(shù)字信號的幅度(Gain)和準(zhǔn)位(Offset)。目前工廠液晶電視嵌入式軟件的解決方法是:將前端和后端的幅度(Gain)和準(zhǔn)位(Offset)參數(shù)存儲在E2PROM里的兩塊不同的區(qū)域,正常進(jìn)行讀寫時所使用的是常用區(qū)域的數(shù)據(jù),倘若常用區(qū)域的數(shù)據(jù)發(fā)生錯誤,則從備份區(qū)域中讀取數(shù)據(jù),然后覆蓋到常用區(qū)域。這種機(jī)制的優(yōu)點是簡單、單一,缺點是當(dāng)常用區(qū)域和備份區(qū)域兩塊存儲空間同時出現(xiàn)數(shù)據(jù)錯誤時,數(shù)據(jù)將無法恢復(fù),不能實現(xiàn)備份的目的。
針對該數(shù)據(jù)備份機(jī)制的缺點,可以選擇海明碼[5]或RS碼[6]算法作為糾錯碼來備份數(shù)據(jù),這樣即使數(shù)據(jù)發(fā)生部分錯誤,可以通過糾錯算法及時將其糾正過來,然后重新寫入E2PROM。海明碼優(yōu)點是算法簡單,對存儲空間的占用并不多,缺點是一次只能糾正一個比特的錯誤,而存儲的數(shù)據(jù)則有幾百字節(jié)。RS碼算法則是算法復(fù)雜度高,對于嵌入式系統(tǒng)的配置要求比較高,但是優(yōu)點是可以對很多字節(jié)一次性編碼,讀取數(shù)據(jù)時可以一次譯碼,并且糾錯的位數(shù)很多,本文采用基于RS糾錯編解碼的系統(tǒng)參數(shù)備份機(jī)制。
2系統(tǒng)參數(shù)檢糾錯備份機(jī)制的詳細(xì)設(shè)計
2.1檢錯碼的設(shè)計選擇
循環(huán)冗余校驗碼(CyclicRedundancyCheck,CRC)是一種能力非常強(qiáng)的檢錯碼。CRC的基本原理是:在k位信息碼后再拼接r位的校驗碼,整個編碼長度為n位,因此此種編碼又叫(n, k)碼。對于一個給頂?shù)?n, k)碼,可以證明存在一個最高次冪為n-k=r的多項式g(x), 根據(jù)g(x)可以生成k位信息的校驗碼,而g(x)叫做這個CRC碼的生成多項式。本機(jī)制中采用的生成多項式為
G(X)=X16+X12+X5+1
(1)
本備份機(jī)制在讀取E2PROM存儲器中的前端和后端的幅度(Gain)和準(zhǔn)位(Offset)參數(shù)時,先將這些數(shù)據(jù)求CRC余式,并與事先存儲E2PROM存儲器中的CRC余式相比較,如果結(jié)果一致,則說明E2PROM存儲器中讀取出來的幅度(Gain)和準(zhǔn)位(Offset)數(shù)據(jù)是正確的,如果結(jié)果不一致,說明E2PROM存儲器中存儲的幅度(Gain)和準(zhǔn)位(Offset)數(shù)據(jù)發(fā)生錯誤或者丟失。
2.2糾錯碼的設(shè)計選擇
由于循環(huán)冗余校驗碼只能檢測出錯誤,而不能糾正錯誤,所以需要一種糾錯碼能夠及時地糾正出備份區(qū)有可能發(fā)生錯誤的數(shù)據(jù)。本文采用以RS編碼作為糾錯碼的系統(tǒng)參數(shù)的存儲方式。RS糾錯碼基本原理如圖2所示。

圖2 RS原理圖
對于RS編碼的系統(tǒng)參數(shù)數(shù)據(jù)存儲,不適宜每次讀取出來都對其進(jìn)行CRC檢驗,因為RS編碼的算法有強(qiáng)大的糾錯能力,即使讀取過程或者傳輸過程有錯誤,也能夠糾錯。本文液晶電視啟動時數(shù)據(jù)備份機(jī)制如圖3所示。

圖3 RS作為糾錯碼的數(shù)據(jù)備份機(jī)制流程
雖然RS算法能夠糾正多字節(jié)的錯誤,但是,這種糾錯方式能糾正的錯誤也有限度。為了保證系統(tǒng)的完整性和可靠性,定期的檢測數(shù)據(jù)的完整性和正確性十分有必要,在液晶電視中,通過設(shè)定定時器Timer來周期性檢測,檢測E2PROM系統(tǒng)參數(shù)的流程如圖4所示。

圖4 檢測存儲區(qū)數(shù)據(jù)的完整性和正確性
3針對系統(tǒng)參數(shù)的檢糾錯備份機(jī)制的測試工具軟件
測試工具軟件通過向液晶電視發(fā)送命令進(jìn)行測試,測試數(shù)據(jù)區(qū)的數(shù)據(jù)是否有錯誤以及有錯誤之后的處理方式。測試軟件設(shè)計的功能如下:
1)能夠添加液晶電視的類型。
2)可以保存任何類型液晶電視的測試命令。
3)命令的格式可以有許多種,比如說字符串命令、十六進(jìn)制命令、十進(jìn)制命令等。
4)命令可以編輯、保存。
5)接收到反饋回來的信息可以與發(fā)送的命令相比較。
測試工具軟件的功能流程圖如圖5所示。

圖5 測試工具功能流程圖
主要功能流程:首先連接選擇RS-232串口[7],傳輸速率、奇偶校驗、數(shù)據(jù)比特、停止比特參數(shù),然后打開串口。從命令選擇下拉框中選擇要測試的命令,設(shè)置好延遲時間,以及延遲的方式,發(fā)送命令,從反饋框中顯示反饋回來的命令,比較命令,并觀看液晶電視的反應(yīng)。針對各種液晶電視的命令格式不同,本測試軟件還針對不同的命令,可以相互間轉(zhuǎn)換。十六進(jìn)制的命令、字符串命令、命令的ASCII碼之間可以相互轉(zhuǎn)換,以方便測試人員對命令的理解。
4結(jié)束語
循環(huán)冗余校驗碼CRC是現(xiàn)在比較常用的一種校驗碼,對提高液晶電視系統(tǒng)穩(wěn)定性有著較好的作用。RS碼是一種重要的糾錯循環(huán)碼,適用于很多數(shù)據(jù)糾錯的場合,也適用于存儲機(jī)制,由于其復(fù)雜性,對嵌入式系統(tǒng)的資源開銷比較大,所以它比較適合于用在配置比較高的嵌入式系統(tǒng)里。本系統(tǒng)采用CRC的校驗碼和RS的糾錯碼來保證液晶電視系統(tǒng)參數(shù)的正確性和可靠性,該算法已經(jīng)導(dǎo)入在液晶電視的嵌入式軟件中,并基本上解決了由于E2PROM里系統(tǒng)參數(shù)錯誤導(dǎo)致的液晶電視偏色或者重啟問題。取得了較好的經(jīng)濟(jì)效益,值得在一線工廠廣泛推廣使用。
參考文獻(xiàn):
[1]王樹梅.嵌入式控制系統(tǒng)中I2C串行E2PROM器件應(yīng)用[J].微型機(jī)與應(yīng)用,2012,31(16):55-57.
[2]王忠,李延社,游智勝.CRC算法設(shè)計與程序?qū)崿F(xiàn)[J].電子測量技術(shù),2007,12(30):26-28.
[3]黃建兵,段明亮.I2C總線及其在MCS-51單片機(jī)系統(tǒng)中的應(yīng)用[J].陜西科技大學(xué)學(xué)報,2008,1(26):103-109.
[4]左瑞娟,武永華.一種高效的LCDTV/Monitor白平衡調(diào)整算法[J].有線電視技術(shù),2007,14(7):88-90.
[5]張福軍,宋鐵軍,劉坤.單片機(jī)實現(xiàn)海明碼糾錯原理的研究[J].自動化儀表,2012,33(4):59-65.
[6]李暉.RS編解碼在信道糾錯中的應(yīng)用[D].西安:西安電子科技大學(xué),2012.
[7]李長林.VisualBasic串口通信技術(shù)與典型實例[M].北京:清華大學(xué)出版社,2006.
Error-detection&error-correctionbackupmechanismandtestingmethodforsystemparametersofLCDTV
WUYonghua1,ZUORuijuan2
(1.Fujian Jiangxia University, Fuzhou 350108, China;2.Fujian Normal University, Fuzhou 350007, China)
Abstract:In LCD TV embedded system, system parameters usually are stored on mainboard E2PROM IC. Because of pulse from outside or other reasons, the system parameters might be loss or error, then LCD TV display colour deviation or even can not normally boot up because of this reason.In order to solve this issues,in this article, a new system parameters backup mechanism is raised which uses CRC error detection codes and RS error correction codes. Even the partial data loss, this mechanism can correct it. Meanwhile, in order to check this data backup mechanism’s reliability, it needs to design a tooling which can verify these data which are stored in the E2PROM. It is valuable for application of the factory.
Key words:E2PROM; backup; error detection; error correction; CRC; RS
中圖分類號:TN141;TN27
文獻(xiàn)標(biāo)志碼:A
DOI:10.16280/j.videoe.2016.04.012
基金項目:福建省教育廳A類項目(JA15105)
作者簡介:
武永華,碩士生,講師,工程師,研究方向為嵌入式系統(tǒng)開發(fā);
左瑞娟,女,碩士生,講師,研究方向為模式識別、人工智能、嵌入式系統(tǒng)。
責(zé)任編輯:許盈
收稿日期:2015-11-16
文獻(xiàn)引用格式:武永華,左瑞娟. 液晶電視中系統(tǒng)參數(shù)的檢糾錯備份及檢驗[J].電視技術(shù),2016,40(4):56-59.
WUYH,ZUORJ.Error-detection&error-correctionbackupmechanismandtestingmethodforsystemparametersofLCDTV[J].Videoengineering,2016,40(4):56-59.