Page 5 of 23 FirstFirst 12345678915 ... LastLast
Results 41 to 50 of 230

Thread: Open Source/Freeware Budget USB DAC

  1. #41
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    That would be 4v p-p wouldn't it? +2 to -2v.

  2. #42
    Join Date
    Aug 2007
    Location
    Indianapolis, IN
    Posts
    196

    Default

    OK cool,

    so this is only 50% of full deflection - correct? I thought the ILDA standard was from

    + +5v

    - -5v

    to

    + -5v

    - +5v

    for full deflection.

    Giving 10v signal ptp and a whopping 20V total perceived 'swing' (-10v to +10v)

    So to get a full deflection we would need to translate the DAC output by -2.5v and then amplify with a gain of 2?
    *then* pass it to the balanced line driver for full diff output.


    why is this sooooo complicated?


    Can I propose a new standard - 0 to 5v on just two wires...

  3. #43
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    Yes, this part is correct:
    + +5v

    - -5v

    to

    + -5v

    - +5v

    for full deflection.

    Giving 10v signal ptp and a whopping 20V total perceived 'swing' (-10v to +10v)


    But I have no idea what you mean by this part:
    So to get a full deflection we would need to translate the DAC output by -2.5v and then amplify with a gain of 2?
    *then* pass it to the balanced line driver for full diff output
    .

  4. #44
    Join Date
    Aug 2007
    Location
    Indianapolis, IN
    Posts
    196

    Default

    Presently DAC(000) = 0v and DAC(FFF) = +5v

    So what I mean is take the signal from 0-5v to the -5v / +5v range

    [ie. shift it down by -2.5v and then multiply by 2.]

    So DAC(000) = -5v, DAC(7FF) = 0v and DAC(FFF) = +5v

    Then if we apply this -5v / +5v signal to the input of the differential line driver IC do we get the full deflection on the output?

    Steve

  5. #45
    Join Date
    Jul 2007
    Location
    Durban, South Africa
    Posts
    19

    Default Embedded Source uploaded

    Hi all....

    I have uploaded Version 1.0 of the embedded source code as well as all the PC source for the Bottloader GUI, USBDAC Tester GUI and the USB Driver...

    Here is the link again:
    http://hacylon.case.edu/usbdac/

    I have rearranged the ftp site and now the schematics, embedded firmware and PC source are all in seperate folders. I have done a revision on a couple of the schematics as I picked up some hardware issues during testing.... if anyone is interested in the veroboard layout drop me a PM and i will upload it to the ftp site.

    I will be doing some more bench testing this weekend. I still need to test this DAC hooked up to decent scanner amps. I am hoping to have some spare cash in a couple of weeks.

    I am going to put together a basis programmers guide for this USBDAC by next weekend so those of you who are a wizz at PC GUI development can hopefully put something together for testing purposes.

    The basic command to send to the USBDAC is pretty simple....

    Here is the PC side in Delphi: (This procedure is called from the DAC Polling timer which is set to 1mS)

    Procedure TfrmUsbTest.UpdateDacs;
    var selection: WORD;
    send_buf:TUsbData;
    SentDataLength: WORD;
    Begin
    Selection:=0;
    myOutPipe := MPUSBOpen(selection, vid_pid, out_pipe, MP_WRITE, 0);
    if (myOutPipe = INVALID_HANDLE_VALUE) then
    Begin
    if (myOutPipe = INVALID_HANDLE_VALUE) then memo1.lines.add('Failed to open out data pipe - Update DACS');
    Exit; //USB Operation Failed
    End;
    send_buf.Cmd := Update_DACS;
    send_buf.Data[0]:= X_upper;
    send_buf.Data[1]:= X_lower;
    send_buf.Data[2]:= Y_upper;
    send_buf.Data[3]:= Y_lower;
    send_buf.Data[4]:= R_upper;
    send_buf.Data[5]:= R_lower;
    send_buf.Data[6]:= G_upper;
    send_buf.Data[7]:= G_lower;
    send_buf.Data[8]:= B_upper;
    send_buf.Data[9]:= B_lower;
    send_buf.Data[10]:= A_upper;
    send_buf.Data[11]:= A_lower;
    send_buf.DataLen:= 14;
    if MPUSBWrite(myOutPipe,@Send_buf,Send_buf.DataLen,@S entDataLength,1000) <> 0 then
    Begin
    if (SentDataLength <> Send_buf.DataLen) Then
    memo1.lines.Add('Failure on sending command Update DACS');
    End
    else
    CheckInvalidHandle();
    MPUSBClose(myOutPipe);
    myOutPipe := INVALID_HANDLE_VALUE;
    end;

    .....send_buf.Cmd := Update_DACS; (Update_DACS = $0F)

    send_buf.Data[0....11] are the 12 bits for each MCP4822 broken up into 2 bytes the upper byte = 4 upper bits and the lower byte = 8 lower bits....

    these two bytes are then manipulated in the PIC as follows....(The following section appears in user.c under the Process_IO routine)

    case Update_DACS: // Update MCP4822 x 3 and Latch their outputs in sync
    X_DAC_Output((dataPacket._byte[2] * 255) + dataPacket._byte[3]);
    Y_DAC_Output((dataPacket._byte[4] * 255) + dataPacket._byte[5]);
    Red_DAC_Output((dataPacket._byte[6] * 255) + dataPacket._byte[7]);
    Green_DAC_Output((dataPacket._byte[8] * 255) + dataPacket._byte[9]);
    Blue_DAC_Output((dataPacket._byte[10] * 255) + dataPacket._byte[11]);
    AUX1_DAC_Output((dataPacket._byte[12] * 255) + dataPacket._byte[13]);
    Latch_DACs();
    counter = 0x00;
    break;

    ...as you can see all 3 MCP4822 DAC's are latched at the same time...Latch_DACs();

    If I can be of any more help either post a reply or PM me...

    Cheers
    Paul

  6. #46
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    Do you have any news about this project to share?

  7. #47
    Join Date
    Jan 2008
    Location
    Belgium
    Posts
    1,009

    Default

    Sorry to bump this thread, but has anything new happened here?
    I'm very interested

  8. #48
    Join Date
    Jan 2008
    Posts
    21

    Default

    This sounds very interesting. I was just referred here by a link from LPF, and I do like a good open source project, even though I may not have much to contribute to it.
    May I ask is this getting anywhere? Are there schematics / complete parts lists / code for it?

  9. #49
    Join Date
    Dec 2006
    Location
    Pflugerville, TX, USA
    Posts
    1,977

    Default

    There hasn't been any update on it here in months so it may have died. I hope it lives on, though. I would really like to support and open source DAC with my free laser software.

    Norm (the guy with the laser kits) is also working on a USB DAC. I am not sure how far along with it he is, though. I don't know if I will add support to his to my laser software or not, though. I sent him an email asking if he would like me to do that and he never replied.

  10. #50
    Join Date
    Jan 2008
    Location
    Belgium
    Posts
    1,009

    Default

    I am currently developing something similar to this. I would really like for you to support my dac when it's finished gary.

    greets
    FourDee

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •