<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于非IDE專用接口芯片的自主型光盤復制機的系統(tǒng)設計

          基于非IDE專用接口芯片的自主型光盤復制機的系統(tǒng)設計

          作者: 時間:2012-02-08 來源:網絡 收藏

          4 軟件實現

            參考CD-WO規(guī)范,CD-WO的寫入方式主要有兩種:Track at once(軌道)和Disc/Session at once(分區(qū))。這和光盤的信息存放格式分類有極大的關系。在國內,多分區(qū)的光盤MULT-SESSION CD如MIXED CD、CD-I等較為少見,它們是數據區(qū)和音頻區(qū)的結合,一般第一個分區(qū)與其它分區(qū)不同。某些光盤用Track at once能夠成功地刻錄,而用Disc at once方式則失敗;反之亦然。

            通常,Disc at once較為普遍,若寫入CUESheet則整個光盤的刻錄軌跡位置就固定了。而在實踐中發(fā)現,對于MIXED-CD用Track at once更容易成功。圖3、圖4是兩種寫入方式的簡單過程。

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

          地址定義部分 ;;IDE Interface Address

          例如:IDE_STATUS EQU 81F7H

          ……

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

          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 ;返回狀態(tài)到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

          ;//類似的寫高字節(jié)到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字節(jié) //命令字節(jié)初始化設備

          ……

          do {

          status=Read_Status_Reg(drv);

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

          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專用接口芯片的自主型是對目前光盤復制市場的有益補充。其設計要求有較高的單片機、DMA傳輸以及CPLD等硬件知識和對CD、CDWO格式以及對ATAPI整個命令的了解。


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();