CD-ROM格式數(shù)據(jù)的軟解碼模塊設(shè)計
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):863
來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:李建兵 牛忠霞 周東方
摘要:介紹應(yīng)用于嵌入式系統(tǒng)的cd-rom格式數(shù)據(jù)軟解碼模塊的設(shè)計方法;分析cd-rom格式的數(shù)據(jù)結(jié)構(gòu),給出edc及ecc解碼算法的軟件實現(xiàn)方法以及該模塊的軟件流程圖。
關(guān)鍵詞:cd-rom格式 軟解碼 edc檢錯 ecc糾錯
引言cd-rom是目前應(yīng)用非常廣泛的大容量、低成本的存儲設(shè)備。為了減小誤碼率,原始數(shù)據(jù)經(jīng)過格式化編碼和信道編碼后,才寫入cd-rom盤片中;在讀取時,則需經(jīng)過信道解碼和格式化解碼后才能得到所需的原始數(shù)據(jù)。cd-rom數(shù)據(jù)的讀寫過程如圖1所示。
在一般的音像設(shè)備(如vcd機(jī))和個人電腦中,cd-rom數(shù)據(jù)的解碼過程是由專用解碼芯片來完成的;而cd-rom不但可以應(yīng)用在音像設(shè)備和個人電腦中,還可以應(yīng)用到需要讀取大量數(shù)據(jù)的嵌入式系統(tǒng)中。比如在車輛導(dǎo)般系統(tǒng)中,就可使用cd-rom存放地理信息數(shù)據(jù)。嵌入式系統(tǒng)中的cd-rom數(shù)據(jù)的解碼方法比較靈活,可以使用專用解碼芯片(暫稱硬解碼),也可以通過處理器的解碼程序來完成(軟解碼)。相對于硬解碼來說,軟解碼有其獨特的優(yōu)點所在。因為它只需增加一個解碼程序模塊,就省掉了專用解碼芯片電路,簡化了系統(tǒng)的硬件電路,降低了系統(tǒng)的成本。如圖1所示,cd-rom數(shù)據(jù)經(jīng)過信道解碼后,得到的是以扇區(qū)結(jié)構(gòu)組織的cd-rom格式數(shù)據(jù),還需進(jìn)行cd-rom格式化解碼才能得到最終的用戶數(shù)據(jù)。本文介紹的就是嵌入式系統(tǒng)中cd-rom格式數(shù)據(jù)軟解碼模塊的設(shè)計。
1 cd-rom格式數(shù)據(jù)的扇區(qū)結(jié)構(gòu)cd-rom數(shù)據(jù)是以扇區(qū)為基本單元進(jìn)行編碼處理的。經(jīng)過信道解碼處理后得到的扇區(qū)對于不同的數(shù)據(jù)來源,其結(jié)構(gòu)是不同的。對于cd-da(雙聲道的cd音頻)數(shù)據(jù),由于沒有經(jīng)過格式化編碼,可以直接得到用戶數(shù)據(jù);而cd-rom數(shù)據(jù)和vcd數(shù)據(jù)都經(jīng)過cd-rom格式化編碼成扇區(qū)結(jié)構(gòu),必須經(jīng)cd-rom格式化解碼才能得到用戶數(shù)據(jù)。
cd-rom扇區(qū)有兩種模式:模式1和模式2。其扇區(qū)結(jié)構(gòu)如圖2所示。
由圖2可知,一個扇區(qū)的cd-rom格式數(shù)據(jù)總共有2352字節(jié)。其中,兩種扇區(qū)模式都有12字節(jié)的同步信息和4字節(jié)的時間信息(頭信息)。如果是模式1,還有4字節(jié)的循環(huán)冗檢錯碼,8字節(jié)空字節(jié),276字節(jié)的糾錯碼,其中包含172字節(jié)的p校驗字和104字節(jié)的q校驗字,用戶數(shù)據(jù)只有2048字節(jié)。如果是模式2,除了同步信息和頭信息外,余下的2336字節(jié)全部都是用戶數(shù)據(jù)。
實際中,由于盤的制作材料的性能、盤制造生產(chǎn)技術(shù)水平的限制、驅(qū)動器的性能以及使用不當(dāng)?shù)戎T多原因,從盤上讀出的數(shù)據(jù)不可能完全正確。據(jù)統(tǒng)計,一片未使用過的只讀光盤,原始誤碼率約為3×10 -4,沾有指紋的盤約為6×10 -4,有傷痕的盤約為5×10 -3。針對這種情況,光盤存儲系統(tǒng)采用了功能強(qiáng)大的錯誤檢測和糾正措施:circ、edc、ecc。數(shù)據(jù)經(jīng)信道解碼后,由于采用circ糾錯處理,誤碼率由10 -4~10 -5降到10 -9以下。對于音頻和圖像數(shù)據(jù)來說,這樣的誤碼率已經(jīng)足夠。但要用到計算機(jī)文件數(shù)據(jù),必須要求誤碼率為10 -12以下,因此必須采用二次糾錯處理。通過edc和ecc校驗,可以達(dá)到這個要求。
所以,模式1主要用于存儲對錯誤非常敏感的數(shù)據(jù),如計算機(jī)程序代碼等數(shù)據(jù);而模式2則主要用于存儲對錯誤不敏感的數(shù)據(jù),如圖像、音響等類型的數(shù)據(jù)。
在模式2的基礎(chǔ)上,cd-rom/xa格式又分為兩種形式(form):形式1和形式2。其扇區(qū)結(jié)構(gòu)如圖3所示。我們常用的vcd就是采用cd-rom/xa的形式2格式。
由上可知,除了扇區(qū)模式2可以直接得到2336字節(jié)的用戶數(shù)據(jù)外,cd-rom格式解碼還必須進(jìn)行edc檢錯和ecc糾錯處理。下面分別介紹edc檢錯和ecc糾錯的原理和解碼算法。
2 cd-rom扇區(qū)中的edc檢錯原理及算法
cd-rom扇區(qū)采用32位crc(循環(huán)冗余校驗碼)檢錯碼,其生成多項式為
p(x)=(x 16+x 15+x 2+1)×(x 16+x 2+x+1)
對應(yīng)的碼字是0x18001801b。計算crc碼時用的數(shù)據(jù)塊是從扇區(qū)的開頭到用戶數(shù)據(jù)區(qū)結(jié)束為止的數(shù)據(jù)字節(jié)。即將字節(jié)0~2063共2064字節(jié)的數(shù)據(jù)所對應(yīng)的長多項式整除p(x),得到32位的余式,放在2064~2067字節(jié)位置。這2068字節(jié)的數(shù)據(jù)對應(yīng)的多項式是能夠被生成多項式p(x)整除的。如果不能整除,則表明數(shù)據(jù)有錯。所以,我們的解碼過程就將2068字節(jié)的數(shù)據(jù)組成的多項式來整除生成多項式,如果余式為0,則表明數(shù)據(jù)正確,否則數(shù)據(jù)有錯。
但我們不可能直接進(jìn)行長除法操作,因為計算機(jī)不可能將一個2068×8位的極其長的二進(jìn)制數(shù)直接拿來做長除法。根據(jù)長除法的規(guī)律,以字節(jié)(8比特)為單位進(jìn)
來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:李建兵 牛忠霞 周東方
摘要:介紹應(yīng)用于嵌入式系統(tǒng)的cd-rom格式數(shù)據(jù)軟解碼模塊的設(shè)計方法;分析cd-rom格式的數(shù)據(jù)結(jié)構(gòu),給出edc及ecc解碼算法的軟件實現(xiàn)方法以及該模塊的軟件流程圖。
關(guān)鍵詞:cd-rom格式 軟解碼 edc檢錯 ecc糾錯
引言cd-rom是目前應(yīng)用非常廣泛的大容量、低成本的存儲設(shè)備。為了減小誤碼率,原始數(shù)據(jù)經(jīng)過格式化編碼和信道編碼后,才寫入cd-rom盤片中;在讀取時,則需經(jīng)過信道解碼和格式化解碼后才能得到所需的原始數(shù)據(jù)。cd-rom數(shù)據(jù)的讀寫過程如圖1所示。
在一般的音像設(shè)備(如vcd機(jī))和個人電腦中,cd-rom數(shù)據(jù)的解碼過程是由專用解碼芯片來完成的;而cd-rom不但可以應(yīng)用在音像設(shè)備和個人電腦中,還可以應(yīng)用到需要讀取大量數(shù)據(jù)的嵌入式系統(tǒng)中。比如在車輛導(dǎo)般系統(tǒng)中,就可使用cd-rom存放地理信息數(shù)據(jù)。嵌入式系統(tǒng)中的cd-rom數(shù)據(jù)的解碼方法比較靈活,可以使用專用解碼芯片(暫稱硬解碼),也可以通過處理器的解碼程序來完成(軟解碼)。相對于硬解碼來說,軟解碼有其獨特的優(yōu)點所在。因為它只需增加一個解碼程序模塊,就省掉了專用解碼芯片電路,簡化了系統(tǒng)的硬件電路,降低了系統(tǒng)的成本。如圖1所示,cd-rom數(shù)據(jù)經(jīng)過信道解碼后,得到的是以扇區(qū)結(jié)構(gòu)組織的cd-rom格式數(shù)據(jù),還需進(jìn)行cd-rom格式化解碼才能得到最終的用戶數(shù)據(jù)。本文介紹的就是嵌入式系統(tǒng)中cd-rom格式數(shù)據(jù)軟解碼模塊的設(shè)計。
1 cd-rom格式數(shù)據(jù)的扇區(qū)結(jié)構(gòu)cd-rom數(shù)據(jù)是以扇區(qū)為基本單元進(jìn)行編碼處理的。經(jīng)過信道解碼處理后得到的扇區(qū)對于不同的數(shù)據(jù)來源,其結(jié)構(gòu)是不同的。對于cd-da(雙聲道的cd音頻)數(shù)據(jù),由于沒有經(jīng)過格式化編碼,可以直接得到用戶數(shù)據(jù);而cd-rom數(shù)據(jù)和vcd數(shù)據(jù)都經(jīng)過cd-rom格式化編碼成扇區(qū)結(jié)構(gòu),必須經(jīng)cd-rom格式化解碼才能得到用戶數(shù)據(jù)。
cd-rom扇區(qū)有兩種模式:模式1和模式2。其扇區(qū)結(jié)構(gòu)如圖2所示。
由圖2可知,一個扇區(qū)的cd-rom格式數(shù)據(jù)總共有2352字節(jié)。其中,兩種扇區(qū)模式都有12字節(jié)的同步信息和4字節(jié)的時間信息(頭信息)。如果是模式1,還有4字節(jié)的循環(huán)冗檢錯碼,8字節(jié)空字節(jié),276字節(jié)的糾錯碼,其中包含172字節(jié)的p校驗字和104字節(jié)的q校驗字,用戶數(shù)據(jù)只有2048字節(jié)。如果是模式2,除了同步信息和頭信息外,余下的2336字節(jié)全部都是用戶數(shù)據(jù)。
實際中,由于盤的制作材料的性能、盤制造生產(chǎn)技術(shù)水平的限制、驅(qū)動器的性能以及使用不當(dāng)?shù)戎T多原因,從盤上讀出的數(shù)據(jù)不可能完全正確。據(jù)統(tǒng)計,一片未使用過的只讀光盤,原始誤碼率約為3×10 -4,沾有指紋的盤約為6×10 -4,有傷痕的盤約為5×10 -3。針對這種情況,光盤存儲系統(tǒng)采用了功能強(qiáng)大的錯誤檢測和糾正措施:circ、edc、ecc。數(shù)據(jù)經(jīng)信道解碼后,由于采用circ糾錯處理,誤碼率由10 -4~10 -5降到10 -9以下。對于音頻和圖像數(shù)據(jù)來說,這樣的誤碼率已經(jīng)足夠。但要用到計算機(jī)文件數(shù)據(jù),必須要求誤碼率為10 -12以下,因此必須采用二次糾錯處理。通過edc和ecc校驗,可以達(dá)到這個要求。
所以,模式1主要用于存儲對錯誤非常敏感的數(shù)據(jù),如計算機(jī)程序代碼等數(shù)據(jù);而模式2則主要用于存儲對錯誤不敏感的數(shù)據(jù),如圖像、音響等類型的數(shù)據(jù)。
在模式2的基礎(chǔ)上,cd-rom/xa格式又分為兩種形式(form):形式1和形式2。其扇區(qū)結(jié)構(gòu)如圖3所示。我們常用的vcd就是采用cd-rom/xa的形式2格式。
由上可知,除了扇區(qū)模式2可以直接得到2336字節(jié)的用戶數(shù)據(jù)外,cd-rom格式解碼還必須進(jìn)行edc檢錯和ecc糾錯處理。下面分別介紹edc檢錯和ecc糾錯的原理和解碼算法。
2 cd-rom扇區(qū)中的edc檢錯原理及算法
cd-rom扇區(qū)采用32位crc(循環(huán)冗余校驗碼)檢錯碼,其生成多項式為
p(x)=(x 16+x 15+x 2+1)×(x 16+x 2+x+1)
對應(yīng)的碼字是0x18001801b。計算crc碼時用的數(shù)據(jù)塊是從扇區(qū)的開頭到用戶數(shù)據(jù)區(qū)結(jié)束為止的數(shù)據(jù)字節(jié)。即將字節(jié)0~2063共2064字節(jié)的數(shù)據(jù)所對應(yīng)的長多項式整除p(x),得到32位的余式,放在2064~2067字節(jié)位置。這2068字節(jié)的數(shù)據(jù)對應(yīng)的多項式是能夠被生成多項式p(x)整除的。如果不能整除,則表明數(shù)據(jù)有錯。所以,我們的解碼過程就將2068字節(jié)的數(shù)據(jù)組成的多項式來整除生成多項式,如果余式為0,則表明數(shù)據(jù)正確,否則數(shù)據(jù)有錯。
但我們不可能直接進(jìn)行長除法操作,因為計算機(jī)不可能將一個2068×8位的極其長的二進(jìn)制數(shù)直接拿來做長除法。根據(jù)長除法的規(guī)律,以字節(jié)(8比特)為單位進(jìn)
熱門點擊
- 多媒體PCI接口控制芯片SAA7146A及其
- 適于語音處理的SDA80D51芯片及其數(shù)字錄
- CD-ROM格式數(shù)據(jù)的軟解碼模塊設(shè)計
- 用AC4830xC和TCM38C17實現(xiàn)四路
- 新型數(shù)字CCD相機(jī)及其圖像數(shù)據(jù)傳輸卡設(shè)計
- 新型MP3解碼芯片VS1001K及其應(yīng)用
- 基于MC9S12DP256的轎車ABS/AS
- 采用AudioDJ技術(shù)的音頻播放芯片OZ16
- 語音識別在家電遙控器中的應(yīng)用
- 基于DSP芯片的MELP聲碼器的算法實現(xiàn)
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- 第8代1800A/1200V
- 1200V CoolSiC嵌入
- PCB嵌入式功率芯片封裝應(yīng)用研究
- 反射傳感器簡化光電開關(guān)設(shè)計
- 導(dǎo)電性高分子混合鋁電解電容器
- PCIe Gen4 SSD主控芯片
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究