久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于非IDE專用接口芯片的自主型光盤復制機的系統設

基于非IDE專用接口芯片的自主型光盤復制機的系統設

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

本文引用地址:http://cqxgywz.com/article/188542.htm

  實際的軟件編程要比這些復雜。對于經常調用的過程,通常都用匯編語言編寫,例如:從接口寄存器中的讀寫(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()等。

部分執行程序的示例如下:

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

例如:IDE_STATUS EQU 81F7H

……

_Read_Status_Reg: ;;讀IDE驅動器設備狀態子程序

lcall _Drive_Select;選擇光驅

……

mov p1,#IDE_Lmode

mov DPTR,#IDE_STATUS

movx @DPTR,a ;DIOR valid

……

mov p1,#Sram64_Lmode

movx A,@DPTR

mov R7,A ;返回狀態到r7寄存器

ret

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

;寫6字事先已存入內空間

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

;//類似的寫高字節到16位SRAM

……

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

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字節 //命令字節初始化設備

……

do {

status=Read_Status_Reg(drv);

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

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

P1=SRAM32;

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

if(status0x01) {

rqsense(); //ATAPI Command

}

}/*End of send_cue_sh */

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉