基于非IDE專用接口芯片的自主型光盤復(fù)制機(jī)的系統(tǒng)設(shè)
1 自主型光盤復(fù)制機(jī)系統(tǒng)的主要功能指標(biāo)和應(yīng)用
主要功能指標(biāo)為:
?。?)一對一復(fù)制,按一鍵完成4倍速的仿真或刻錄功能;
?。?)空間、時(shí)間和硬件資源最節(jié)省;
?。?)系統(tǒng)增加IDE與PARALLEL口的轉(zhuǎn)換后,可作為PC機(jī)的外置式光盤驅(qū)動(dòng)器;
(4)具有狀態(tài)顯示和自動(dòng)完成、退出提示等;
?。?)支持大多數(shù)工業(yè)標(biāo)準(zhǔn)的CD格式,如紅皮書、黃皮書、白皮書和綠皮書標(biāo)準(zhǔn)(AUDIO CD、VIDEO CD、DADA CD、MIXED MODE CD、PHOTO CD、GAME CD)等。
本系統(tǒng)可應(yīng)用于學(xué)校、企事業(yè)機(jī)關(guān)和個(gè)人的光盤制作、多媒體演示、小量的分發(fā)、信息存儲(chǔ)和備份等。
2 系統(tǒng)組成
系統(tǒng)組成如圖1所示。整個(gè)系統(tǒng)由1塊控制板、一條IDE電纜、一臺(tái)CD-R驅(qū)動(dòng)器、一臺(tái)CD-ROM驅(qū)動(dòng)器、開關(guān)電源以及系統(tǒng)界面構(gòu)成。其中,控制板是整個(gè)光盤復(fù)制系統(tǒng)的核心,它控制著從CD-ROM內(nèi)讀取原始數(shù)據(jù),然后寫入到CD-R中的空白光盤上。界面上只有狀態(tài)燈和一個(gè)選擇按鈕,按鈕經(jīng)控制板讀取后,決定了寫入的模式。
3 核心硬件設(shè)計(jì)
?。?)整個(gè)設(shè)計(jì)圍繞著對光驅(qū)的讀與寫操作、數(shù)據(jù)傳輸(分為PIO模式和DMA模式)、PID傳輸以及IDE設(shè)備與主機(jī)的握手通訊(如數(shù)據(jù)包、命令、任務(wù)、狀態(tài)等的發(fā)送和接收)進(jìn)行。DMA是IDE的數(shù)據(jù)總線和主機(jī)的存儲(chǔ)器數(shù)據(jù)線SRAM間的直接傳輸。在IDE設(shè)備與主機(jī)通訊的基礎(chǔ),ATAPI光盤讀寫命令及其它相關(guān)命令得以實(shí)現(xiàn),在這里設(shè)計(jì)的光盤復(fù)制機(jī)(兩個(gè)ATAPI)正是基于IDE設(shè)備的接口。
主機(jī)與IDE接口的通訊通過IDE總線的CS0-、CS1-、DA2、DA1、DA0、DIOR-、DIOW-等信號(hào)來進(jìn)行,相關(guān)功能見表1。
表1 IDE接口功能和選擇地址
地 址 | 功 能 | |||||
Cs0- | N | DA2 | DA1 | DA0 | READ(DIOR) | WRITE(DIOW) |
A | N | 0 | 0 | 0 | DATA | DATA |
A | N | 0 | 0 | 1 | ERROR | FEATURE |
A | N | 0 | 1 | 0 | RESON | |
A | N | 0 | 1 | 1 | RESERVE | |
A | N | 1 | 0 | 0 | BYTE-CNT-LOW | BYTE-CNT-LOW |
A | N | 1 | 0 | 1 | BYTE-CNT-HIGH | BYTE-CNT-HIGH |
A | N | 1 | 1 | 0 | DEVICE-SEL | DEVICE-SEL |
A | N | 1 | 1 | 1 | STATUS | COMMAND |
ATAPI的命令如TEST UNIT READY、MODE SENSE、READ TRACK INFORMATION、READ、WRITE等都是通過以上接口進(jìn)行發(fā)送的,接收可以是PIO模式或DMA模式。
?。?)光盤的讀寫速率是按75block(frame)/s來計(jì)算的。一個(gè)block等于2352個(gè)字節(jié),但用戶數(shù)據(jù)隨著CD格式的不同而不同,1倍速按每秒75個(gè)block讀寫,2倍速按每秒150個(gè)block讀寫。然而,4倍速復(fù)制并不是要求主機(jī)一次讀取300(4×75)個(gè)block大小的數(shù)據(jù)量,而是通過目標(biāo)光盤刻錄速度的設(shè)置來完成的。通常有20~30個(gè)block(大約70~80K的數(shù)據(jù)量)讀寫速度就夠了,太小容易死機(jī),太多則加大了對機(jī)存儲(chǔ)空間SRAM的要求。在這里我們選擇了64K×16bit的SRAM。
?。?)支持Enhance IDE的設(shè)備都具有快速DMA功能。在光盤復(fù)制時(shí),實(shí)現(xiàn)大量數(shù)據(jù)的快速讀寫DMA是必需的。在DMA外部工作頻率為12.5MHz時(shí),一般能反動(dòng)派到1.5M/s的傳輸能力,例如INTEL 82C37A。
?。?)主機(jī)UP(CPU)選擇性價(jià)比較好的8032系列單片機(jī),可支持40MHz的外部工作頻率。為了加強(qiáng)對知識(shí)的保護(hù),也為了實(shí)現(xiàn)8位微機(jī)與16位SRAM以及大量外圍芯片的譯碼,選用了CPLD來增加其集成度,其設(shè)計(jì)采用原理圖+VHDL方式。
硬件設(shè)計(jì)簡圖如圖2所示。
4 軟件實(shí)現(xiàn)
參考CD-WO規(guī)范,CD-WO的寫入方式主要有兩種:Track at once(軌道)和Disc/Session at once(分區(qū))。這和光盤的信息存放格式分類有極大的關(guān)系。在國內(nèi),多分區(qū)的光盤MULT-SESSION CD如MIXED CD、CD-I等較為少見,它們是數(shù)據(jù)區(qū)和音頻區(qū)的結(jié)合,一般第一個(gè)分區(qū)與其它分區(qū)不同。某些光盤用Track at once能夠成功地刻錄,而用Disc at once方式則失敗;反之亦然。
評論