Go Back   Home > Forums > Source & Line > Digital Source
Home Forums Rules Articles Store Gallery Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 15th September 2006, 05:02 PM   #1
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Default DSA interface hassle

Hi,

I've just got my hands on a Philips L1210/65 CD drive. I've coded up the basics of a DSA interface in C for the Atmel ATmega48 MCU. I'm planning to release the code when it all works.

Right now I have some initial problems that I can't really figure out. I'm able to send quite a few DSA commands to the drive, but there are some obvious ones that fail.

For example I can send 0x0101 to play track number 1 and 0x0103 to play track number 3. In both cases the information I get back from the drive makes sense (Index, Abs.minutes, Abs.seconds). I can skip to track 3 while playing track 1, and to track 1 while playing track 3. But the weird thing is that I'm not able to tell the drive to start playing track 2. It continues there on its own when playing track 1, but I'm not able to instruct it to go to track 2. Neither am I able to tell the drive to stop.

When I send it an instruction it doesn't like (like 0x0102 to play track 2), the drive fails to give a communications ack at the end of the 16 bits. And after that it gives me the error code 0x042B which I can't find in the documentation.

When I try reading the TOC for session 0 (0x0300) I get the same error, 0x042B. I also got the error 0x0429 for a while, but it stopped saying that after I added some pauses in the DSA.

Any help on this would be great! Cabling, voltage supplies etc. seem to be in order.


Regards,
Borge
  Reply With Quote
Old 15th September 2006, 05:22 PM   #2
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Getting a bit closer here now...

I can write a DSA command that ends with a '1' but not one that ends with a '0'. Looks like it's back to the drawing board for now.

Have a great weekend!

Borge
  Reply With Quote
Old 15th September 2006, 05:38 PM   #3
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Sorry to have bothered you! Got it solved now. It was just me forgetting to set D back to 1 as I set S to 1 during the DSA signalling routine.

Borge
  Reply With Quote
Old 15th September 2006, 07:48 PM   #4
ZERS is offline ZERS  France
diyAudio Member
 
Join Date: Jan 2004
Location: LYON
Do you plan to post your C code soon ?
  Reply With Quote
Old 17th September 2006, 02:04 PM   #5
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Hi Zers,

Yes, I plan to post it fairly soon. Before releasing it I'll probably implement all the common CD player buttons. When it's out I will not have time to do much support on it. I'll also reread the DSA specifications to make sure that I write farily correct commands, not just what happened to work in the lab last night :-)

Are you in need of DSA code right now? I code for an Atmega48 on a veroboard that I program from an STK500 board using the WinAVR package.

Regards,
Børge
  Reply With Quote
Old 18th September 2006, 07:08 AM   #6
ZERS is offline ZERS  France
diyAudio Member
 
Join Date: Jan 2004
Location: LYON
Quote:
Originally posted by borges
Hi Zers,

Yes, I plan to post it fairly soon. Before releasing it I'll probably implement all the common CD player buttons. When it's out I will not have time to do much support on it. I'll also reread the DSA specifications to make sure that I write farily correct commands, not just what happened to work in the lab last night :-)

Are you in need of DSA code right now? I code for an Atmega48 on a veroboard that I program from an STK500 board using the WinAVR package.

Regards,
Børge
Hi,

I don't need it right now and on top of that I will use a PIC as controller. But the idea is top understand (by reading C code) how to deal with this interface. Because of my english, I've still got problems to understand several points. And I'm pretty much comfortable with reading C
  Reply With Quote

Reply


Hide this!Advertise here!

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Interface : USB or NOT renaudagnes Digital Source 40 9th December 2009 06:13 PM
HDD to I2s interface elnec Digital Line Level 6 15th September 2008 08:43 PM
CFP output amplifier - Is it worth the hassle? ash_dac Solid State 1 9th October 2006 12:13 AM


New To Site? Need Help?

All times are GMT. The time now is 01:35 AM.

Page generated in 0.08540 seconds (77.18% PHP - 22.82% MySQL) with 10 queries

Copyright ©1999-2012 diyAudio