新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于非IDE專用接口芯片的自主型光盤復(fù)制機(jī)的系統(tǒng)設(shè)

        基于非IDE專用接口芯片的自主型光盤復(fù)制機(jī)的系統(tǒng)設(shè)

        作者: 時(shí)間:2009-10-29 來源:網(wǎng)絡(luò) 收藏
        通常,Disc at once較為普遍,若寫入CUESheet則整個的刻錄軌跡位置就固定了。而在實(shí)踐中發(fā)現(xiàn),對于MIXED-CD用Track at once更容易成功。圖3、圖4是兩種寫入方式的簡單過程。

        本文引用地址:http://www.104case.com/article/188542.htm

          實(shí)際的軟件編程要比這些復(fù)雜。對于經(jīng)常調(diào)用的過程,通常都用匯編語言編寫,例如:從接口寄存器中的讀寫(Read-Data-Reg,Write-Data-Reg,Read-Status-Reg,Write-CMD-pkt,Write-Task-Ide)等。而針對ATAPI的大多命令,都用C51編寫,例如:mode-select(),read-10(ad),write-10(ad),tray-out(),send-cue-sheet()等。

        部分執(zhí)行程序的示例如下:

        接口地址定義部分 ;; Interface Address

        例如:IDE_STATUS EQU 81F7H

        ……

        _Read_Status_Reg: ;;讀IDE驅(qū)動器設(shè)備狀態(tài)子程序

        lcall _Drive_Select;選擇光驅(qū)

        ……

        mov p1,#IDE_Lmode

        mov DPTR,#IDE_STATUS

        movx @DPTR,a ;DIOR valid

        ……

        mov p1,#Sram64_Lmode

        movx A,@DPTR

        mov R7,A ;返回狀態(tài)到r7寄存器

        ret

        Write_Cmd_Pkt: nop ;寫6字命令包子程序

        ;寫6字事先已存入內(nèi)空間

        cmd_buffer

        mov R0,#cmd_buffer

        mov R1,#06H ;//6 words to write

        send_pkt:

        mov A,@R0

        mov pl,#Sram64_Lmode

        mov DPTR,#IDE_DATA_REG

        movx @DPTR,A ;//write low byte

        inc R0

        ;//類似的寫高字節(jié)到16位SRAM

        ……

        ;再將16bit從16位SRAM中一次寫入IDE設(shè)備

        mov pl,#IDE_WMode ;select IDE device

        mov DPTR,#IDE_DATA_REG

        ;//16bit packet command write

        movx a,@DPTR ;DIOW valid

        ……

        inc R0

        djnz R1,send_pkt

        ret

        void send_cue_sh(USI par_len)

        {//ATAPI CD-WO Command,10字節(jié) //命令字節(jié)初始化設(shè)備

        ……

        do {

        status=Read_Status_Reg(drv);

        }while(status0x80); //不忙時(shí)才可寫入

        nonDMA_xfer_data 1(); //non DMA(PIO模式)

        P1=SRAM32;

        status=Read_Status_Reg(drv); //讀取返回的狀態(tài)

        if(status0x01) {

        rqsense(); //ATAPI Command

        }

        }/*End of send_cue_sh */

          基于非IDE專用的自主型復(fù)制機(jī)是對目前復(fù)制市場的有益補(bǔ)充。其設(shè)計(jì)要求有較高的單片機(jī)、DMA傳輸以及CPLD等硬件知識和對CD、CDWO格式以及對ATAPI整個命令的了解。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 三都| 辉南县| 丁青县| 儋州市| 隆昌县| 七台河市| 永靖县| 福鼎市| 南靖县| 贵德县| 韩城市| 汝州市| 嫩江县| 抚顺县| 青河县| 白玉县| 灵丘县| 大英县| 法库县| 怀化市| 特克斯县| 英山县| 汽车| 武陟县| 增城市| 手游| 海城市| 广丰县| 古蔺县| 当雄县| 唐山市| 五寨县| 鸡泽县| 乐安县| 通榆县| 新巴尔虎右旗| 将乐县| 哈尔滨市| 建德市| 卓尼县| 台江县|