能够提供DVD刻录的思路(100分)

  • 主题发起人 主题发起人 pjwork
  • 开始时间 开始时间
P

pjwork

Unregistered / Unconfirmed
GUEST, unregistred user!
据说要用h731协议,据说nero提供vc包,<br>手上有光驱控制的源码,但不知道怎么刻录,搜索不到相关信息,无从下手.<br>谢了各位
 
学习中,帮你顶一下!
 
路过,帮你顶一下!
 
pjwork:你去一些英文网站上搜索一下,一些资料国内可能还没有!我这里有一份关于光驱软体基本原理编程的资料介绍,可以给你参考一下,不知道是否对你有用。<br>Firmware Instruction<br>&#61550; Purpose<br>This document is used to instruction the firmware architecture of lite-on’s optical storage drives. By reading this document, the reader should be able to realize the basic concept and functions in firmware.<br>&#61550; Scope<br>In the document, firmware architecture would be described into three parts, INTERFACE, SERVO and OPC(Optimal Power control). The concept of each part will be introduced in this document. In addition, basic functions of each part will be described, too. Some examples are also presented to help reader to understand the concept. Detail steps of each function might not be described in the document due to the document only proving an overall picture.<br>&#61550; Architecture<br>There are three parts in lite-On’s optical storage drives’ firmware, including INTERFACE, SERVO and OPC. Each part has their major functionalities. INTERFACE is used to receive ATAPI Command from host and make decision. After that, Interface will translate the command into several sub-command and send them to the part who responses for the action. SERVO is the hardware controller that receive commands from interface and controller all actuators such as spindle motor, sled motor, tray motor, etc. OPC is the major part to set writing strategy because of different characters of different discs. The architecture blocks are shown as follows.<br><br>3.1. &nbsp; Interface<br>Interface is defined as host command handler in the system. All commands from host are all handled by interface. By controlling Servo and OPC part, interface can achieve certain functions such as reading data, writing data, audio play, tray in, etc. to response request from host. In order to handle command and read data from host, interface has to access DRAM and encoder/decoder register of DSP chip.<br>3.1.1 Interface framework<br>The architecture of interface is shown in Figure 2. There are two major parts in Interface, “Startup” and “Command Handle”, “Startup” would be presented at first, “Command Handle” is also described and is separated into 4 sub-topics, “command receiver”, “command check”, “command execution” and “return status”.<br>3.1.2 &nbsp;Startup<br>Startup is a very important function in interface. It has to initialize all system parameters, including asking SERVO and OPC to initialize theirs’. Besides, interface also gets to know what kind of disc and what kind of format it is in drive. Base on that, interface would be able to decide the strategy to work with disc. Basically, it would be separated into three steps.<br>1. SRVSTARTUP: Servo will initialize servo parameter.<br>2. READTOC: Read disc information in Lead-in area.<br>3. READPMA: Read track information in PMA area.<br>The brief flowchart is shown in Figure 3.<br><br>3.1.3 &nbsp;Command receiver<br>Command comes from two sources, Host command from PC, and Eject Key from external hardware, Interface would receive the command and act.<br>3.1.3.1 &nbsp;Host Command<br>When Host sends an ATAPI command to drive, and interrupt vector would be triggered. And a global flag, which means to request program to do something, would be raised. When the main-loop in interface detects the flag, it would execute certain dispatch command to response the request. The interrupt flow is shown in Figure 4.<br>3.1.3.2<br>When Eject Key is pressed, a 20ms timer in SERVO would detect the action and set the flag “_fgKEjtPressed”. As long as main-loop in interface detects the flag being raised, ProcKeyEject() function will be executed to judge the action.<br><br><br>3.1.4 &nbsp; Command check<br>3.1.4.1 &nbsp; &nbsp; Host request<br>All command from Host gets to obey ATA/ATAPI Specification. Detail specification won’t be described here. Only a Read 10 ATAPI command example is shown as follows to help reader understanding the meaning.<br><br>If the command violates ATAPI command specification, interface would return “Error Status” immediately without any action.<br>3.1.4.2 &nbsp;External Request<br> &nbsp; &nbsp;“Eject key pressed” is a typical external request. Interface also has to do some judgments before action. For example, when “Eject key” has been pressed, interface got to make sure if the drive is locked. If the drive were locked by system, such as in writing mode, the request would not be executed.<br>3.1.5 &nbsp;Command execution<br> &nbsp; &nbsp; 3.1.5.1 &nbsp; Read Data<br>Read data from disc is the most important function for a CD drive. Usually, Host would send a “Read 10” ATAPI command to Interface. And Interface would acts as the following steps.<br>1. Set Register: Set certain DSP register to prepare receiving data<br>2. Set Read Speed: Interface would try to read data from disc at the fastest speed. If drive’s speed were not at its max speed, interface would try to speed up step by step. The algorithm is shown in figure 6.<br>3. Seek Position: Ask Servo to move PUH(pickup head) to certain position on disc.<br>4. Read Data to Host: When PUH reaches correct position, Interface would set register on DSP, and data from disc would be stored in DRAM, After that, the data would be sent back to host.<br>5. Decode Error: At normal circumstance, drive would
 
CD-R 原理:<br> &nbsp; &nbsp; &nbsp; &nbsp;CD-R 利用 775 nm ~ 795 nm 的雷射光在 CD-R 有機染料紀錄面直接加熱而燒出坑洞( Pit ) 或是使有機染料層發生化學性退化 ( Degrade ),就是用來改變有機染料紀錄面對光的反射率,當CD-ROM Driver 或是 CD Player 以較低功率的雷射光讀到坑洞和原來的表面不同的反射率,被燒出坑洞的地方它會吸收部分的雷射光,而原來的表面不吸收而反射雷射光.. CD-ROM Driver或是CD Player 藉以將不同的反射結果轉換成判讀的資料。而在燒錄時 CD-R 是採用線性速度(CLV Constent Linear Velocity )。這代表在 CD-R Recoder 中的 Disc 轉速是變動的。例: CD-R Recorder 為 2 x 每秒傳輸 300 K 資料,為了達成這個目標CD-R會再當讀寫頭靠近片子內圈時轉的比較快而當讀寫頭靠近片子外圈時會把轉速降下來。<br>CD-RW的工作原理:<br> &nbsp;CD-RW 是 CD - ReWritable 的簡稱,可以重複燒錄1000次左右,這種光碟片的結構有六層,資料記錄在相變合金屬 ( Phase-change metal alloy layer ),是具備高度反射性的晶體結構,適用於符合橘皮書 &nbsp;(Orange Book Part III ) 規格的燒錄機。<br> &nbsp; &nbsp; &nbsp; &nbsp;在燒錄資料時 CD-RW 使用最高功率的雷射於寫入資料 1 的位置加熱,將小區域的合金物資融化,然後能凝結成非結晶的組織,使它無法像原先那樣擁有良好的反射姓,至於晶體結構的恢復,只要用中等功率的雷射,就可以產生足夠溫度,將非結晶的組織還原成晶體結構<br>简单一句话:刻录和擦除就是通过控制光头发出不同的光来实现的。
 
如果想用Nero的话,这个会有帮助:<br>http://sourceforge.net/projects/delphineroapi/<br>如果只要你的软件在WINXP,WIN2K3用试试这个:<br>http://www.bayden.com/delphi/xpburn.htm (好像只对CD有用)<br>以上的方法我还没试过。你看看对你有没有帮助。
 
前段时间因为没有头绪,这个项目暂时搁置了,可能稍后有空再来研究了。<br>谢谢2位,我来不及看,把分数分配了吧,希望以后大家能继续讨论,呵呵,需要分的可以跟我要。有正确答案可以加200分,当然不希罕分数的也别因此就不讨论了,呵呵。
 
后退
顶部