|
|
|
| Technical
notes |
 |
|
|
 |
L1210/65
Audio-dedicated
tray-loading CD module |
|
 |

|
DSA
user software for L1210/65 |
|
The standard DSA protocol is actually fully
described in the DAISy
technical pages. There, you will find the
DSA specifications for each of our modules, as
well as many advices to develop your own user
software.
Unlike other modules, the L1210/65's DSA
protocol however does not provide a
"search forward" or "search
reverse" DSA command. Indeed, a
manufacturer may want to customize these
functions : choice of the appropriate speed
for its application, possibility to reach full
speed through two or three intermediate search
phases, ...
The "search forward/reverse"
commands can be easily developed thanks to
existing DSA commands like "GoTo
Time" and "Get Complete Time".
| DSA
Command |
Opcode |
Parameter |
| Goto
time min. |
10H |
<absolute
minutes> [0-63H] |
| Goto
time sec. |
11H |
<absolute
seconds> [0-3BH] |
| Goto
time frm. |
12H |
<absolute
frames> [0-4AH] |
| |
|
|
| Response |
Opcode |
Parameter |
| Found |
01H |
XX |
| DSA
command |
Opcode |
Parameter |
| Get
complete time |
0DH |
XX |
| |
|
|
| Response |
Opcode |
Parameter |
| Absolute
time minutes |
14H |
<new
minutes> |
| Absolute
time seconds |
15H |
<new
seconds> |
| Absolute
time frames |
16H |
<new
frames> |
Note : these
commands are fully described in the L1210/65's
DSA specifications.
|
 |
Customizing
the search forward/reverse functions
|
|
For instance, full speed can occur after
pressing the search button for at least 5
seconds.
Thus, in the first phase (search half speed),
a "GoTo Time" DSA command can be
sent to jump 1 second ahead. These jumps will
occur every 250ms.
In the second phase (search full speed), a
"GoTo Time" command can be sent to
jump 6 seconds ahead. These jumps will
occur every 330ms for instance.
These values are the results of our own tests
in order to get a fluid search speed, without
jerks.
The 250ms and 330ms values can be programmed
with internal timers or watchdog timers. When
the programmed time has elapsed, a "Get
Complete Time" DSA command is sent to the
module, which will return the absolute time
being played on the disc. Thus, you can add 1
second (phase 1) or 6 seconds (phase 2) in
order to calculate the new time you want to
reach in search mode (with the GoTo Time DSA
command). The timers are then reset with the
default values (250ms and 330ms).
Another timer is used to know if the
"search" button has been pressed for
more than 5s. In this case, the search
function proceeds at full speed (jump 6
seconds ahead every 330ms). Keep in mind that
absolute minutes, seconds and frames must be
sent as parameters with the the "GoTo
Time" DSA command.
Once the jump has occurred, you should display
the time (relative or absolute) and the track
number which are currently being played, the
same way it is done in normal playback mode.
Attention should be paid to specific
situations, being the beginning of the disc
(lead-in area) and the end of the disc
(lead-out area). Thus, when you calculate the
new time you would like to jump to, and the
resulting value appears to be before 0s in
reverse mode (i.e. negative value), you should
stop the search mode at the beginning of the
disc.
The same way, you should stop the search mode
when reaching the end of the disc.
Finally, you can improve the search functions
by attenuating the volume in search mode : it
could be half volume in the first search
phase, and muted in full search speed.
The "Set Volume" DSA command gives
the possibility to attenuate the volume on a
scale going from 0 (muted) to 255 (full
volume).
| DSA
command |
Opcode |
Parameter |
| Set volume |
51H |
<volume
value> [0-FFH] |
| |
|
|
| Response |
Opcode |
Parameter |
| Volume
value |
51H |
<volume
value> [0-FFH] |
Note that you
must always wait for the answer of the module
(volume confirmed), before you send a new DSA
commands. For instance, when you reach the end
of the disc in search mode, and you want to
stop the application, you should first send a
"restore volume" DSA command, then
wait for the confirmation from the module, and
finally send the "stop" DSA command
to the L1210/65 module.
|
|
|

|
|
|
|
    |
|
|
|