- 相關推薦
CD-ROM格式數據的軟解碼模塊設計
摘要:介紹應用于嵌入式系統的CD-ROM格式數據軟解碼模塊的設計方法;分析CD-ROM格式的數據結構,給出EDC及ECC解碼算法的軟件實現方法以及該模塊的軟件流程圖。引言
CD-ROM是目前應用非常廣泛的大容量、低成本的存儲設備。為了減小誤碼率,原始數據經過格式化編碼和信道編碼后,才寫入CD-ROM盤片中;在讀取時,則需經過信道解碼和格式化解碼后才能得到所需的原始數據。CD-ROM數據的讀寫過程如圖1所示。
在一般的音像設備(如VCD機)和個人電腦中,CD-ROM數據的解碼過程是由專用解碼芯片來完成的;而CD-ROM不但可以應用在音像設備和個人電腦中,還可以應用到需要讀取大量數據的嵌入式系統中。比如在車輛導般系統中,就可使用CD-ROM存放地理信息數據。嵌入式系統中的CD-ROM數據的解碼方法比較靈活,可以使用專用解碼芯片(暫稱硬解碼),也可以通過處理器的解碼程序來完成(軟解碼)。相對于硬解碼來說,軟解碼有其獨特的優點所在。因為它只需增加一個解碼程序模塊,就省掉了專用解碼芯片電路,簡化了系統的硬件電路,降低了系統的成本。如圖1所示,CD-ROM數據經過信道解碼后,得到的是以扇區結構組織的CD-ROM格式數據,還需進行CD-ROM格式化解碼才能得到最終的用戶數據。本文介紹的就是嵌入式系統中CD-ROM格式數據軟解碼模塊的設計。
1 CD-ROM格式數據的扇區結構
CD-ROM數據是以扇區為基本單元進行編碼處理的。經過信道解碼處理后得到的扇區對于不同的數據來源,其結構是不同的。對于CD-DA(雙聲道的CD音頻)數據,由于沒有經過格式化編碼,可以直接得到用戶數據;而CD-ROM數據和VCD數據都經過CD-ROM格式化編碼成扇區結構,必須經CD-ROM格式化解碼才能得到用戶數據。
CD-ROM扇區有兩種模式:模式1和模式2。其扇區結構如圖2所示。
由圖2可知,一個扇區的CD-ROM格式數據總共有2352字節。其中,兩種扇區模式都有12字節的同步信息和4字節的時間信息(頭信息)。如果是模式1,還有4字節的循環冗檢錯碼,8字節空字節,276字節的糾錯碼,其中包含172字節的P校驗字和104字節的Q校驗字,用戶數據只有2048字節。如果是模式2,除了同步信息和頭信息外,余下的2336字節全部都是用戶數據。
實際中,由于盤的制作材料的性能、盤制造生產技術水平的限制、驅動器的性能以及使用不當等諸多原因,從盤上讀出的數據不可能完全正確。據統計,一片未使用過的只讀光盤,原始誤碼率約為3×10 -4,沾有指紋的盤約為6×10 -4,有傷痕的盤約為5×10 -3。針對這種情況,光盤存儲系統采用了功能強大的錯誤檢測和糾正措施:CIRC、EDC、ECC。數據經信道解碼后,由于采用CIRC糾錯處理,誤碼率由10 -4~10 -5降到10 -9以下。對于音頻和圖像數據來說,這樣的誤碼率已經足夠。但要用到計算機文件數據,必須要求誤碼率為10 -12以下,因此必須采用二次糾錯處理。通過EDC和ECC校驗,可以達到這個要求。
所以,模式1主要用于存儲對錯誤非常敏感的數據,如計算機程序代碼等數據;而模式2則主要用于存儲對錯誤不敏感的數據,如圖像、音響等類型的數據。
在模式2的基礎上,CD-ROM/XA格式又分為兩種形式(FORM):形式1和形式2。其扇區結構如圖3所示。我們常用的VCD就是采用CD-ROM/XA的形式2格式。
由上可知,除了扇區模式2可以直接得到2336字節的用戶數據外,CD-ROM格式解碼還必須進行EDC檢錯和ECC糾錯處理。下面分別介紹EDC檢錯和ECC糾錯的原理和解碼算法。
2 CD-ROM扇區中的EDC檢錯原理及算法
CD-ROM扇區采用32位CRC(循環冗余校驗碼)檢錯碼,其生成多項式為
P(X)=(X 16 X 15 X 2 1)×(X 16 X 2 X 1)
對應的碼字是0x18001801B。計算CRC碼時用的數據塊是從扇區的開頭到用戶數據區結束為止的數據字節。即將字節0~2063共2064字節的數據所對應的長多項式整除P(X),得到32位的余式,放在2064~2067字節位置。這2068字節的數據對應的多項式是能夠被生成多項式P(X)整除的。如果不能整除,則表明數據有錯。所以,我們的解碼過程就將2068字節的數據組成的多項式來整除生成多項式,如果余式為0,則表明數據正確,否則數據有錯。
但我們不可能直接進行長除法操作,因為計算機不可能將一個2068×8位的極其長的二進制數直接拿來做長除法。根據長除法的規律,以字節(8比特)為單位進行操作,每次除法將上一字節的所得的余數與本字節組合成新的數進行除法運算。除式是33位的,因此,每個字節的除法須把這個字節的數左移24位,跟上次的余式組合成一個32位的二進制數,來整除除式。主要實現現代碼如下:
for(i=0;i
【CD-ROM格式數據的軟解碼模塊設計】相關文章:
基于PXI總線的數據采集模塊的設計03-07
基于Tvp5150的低功耗視頻解碼模塊11-22
DMB-TH幀體數據處理模塊的研究設計11-22
ISP技術在高速數據采集模塊中的應12-07
數據建模論文格式06-29
VB5.0中數據庫查詢模塊的實現03-03
高速PCI總線接口模塊設計03-08
軟巖回采巷道支護設計03-19