Page 1 of 23 1234511 ... LastLast
Results 1 to 10 of 230

Thread: Open Source/Freeware Budget USB DAC

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

    Default Open Source/Freeware Budget USB DAC

    Hi,

    This is officially my first Thread and its a big one! I hope I have selected the right forum section...

    I have been browsing the forum posts reading and learning a lot for a past 4 or so months and You guys rock.... Its about time I gave something back I am in the process of developing an Open Source/Freeware Budget USB DAC for everyone that is keen....

    Now I have been throwing a few specs around (inside my head and with carmangary) and would like some more input before I start laying out the schematic and building a proto-pcb.

    This USB DAC will be based on the PIC18F4550 the reason being is that I have worked with this device for about a year now at work and it is rock solid. The API and sample embedded applications are provided free of charge by MicroChip this is to speed up development.

    I have mainly been involved with developing DMX512 lighting for my mobile disco which is my main hobby (since 1988). I have developed a few DMX512 items that I have been using for the last 8 years:

    1) 4 channel DMX512 dimmer/switch pack
    2) 8 channel DMX512 dimmer/switch pack
    3) Wireless DMX512 link using Zigbee (300m line of sight NO DROPPED packets)
    4) RGB LED lighting effects (still currently in development)

    My MOTTO in life is: " If I cannot build it, I will have to buy it "

    Now I am crazy when it comes to entertainment lighting and even more crazy when it comes to LASER's - I have 2 pre-built JB Systems LASER's (TwinScan, dual green beam, and a single beam RGY Space Color) they get the job done but alas no proper control, they both have preset built in patterns......

    So when I found Photolexicon I went bananas and I can't wait for my annual bonus in December as I am going internet shopping in a big way... I WANT a proper LASER...

    This is were this USB DAC comes in I want to build my own, I know there are interfaces out there that could do what I want but I am looking forward to sleepless nights of bug fixing.... its FUN.

    Now for some USB DAC SPECS:

    1) On Board RAM
    64K base RAM with upgradeable modules to increase memory to 1MB - user budget dependant.

    2) uP
    18F4550 Full USB 2.0 12Mbits/sec transfer rate.

    3) DAC chipset
    12 bit MCP4822 for X,Y,R,G and B - there will be one free output as these chipsets are dual DAC's in 1 package, possible 16 bit once I source a decent chipset... any suggestions..??

    4) Output swing
    +/- 10V ???

    5) TTL outputs
    8 TTL open collector outputs, upgradeable depending on user's budget.
    I2C bus.

    6) SD Card facility
    To store shows/effects so DAC can be used in stand alone mode.

    7) Modes
    4 Dip switches to select modes and configurations.
    1 Dip switch will select either analog or TTL modulation depending on the type of Laser used in projector.

    8) DMX512
    1 X DMX512 Universe input and/or output.

    9) Built in BootLoader
    This is a facility for users to update the PIC18F4550 firmware without the need of a dedicated MicroChip programmer.

    MicroChip do not ship these uP's with the Bootloader preloaded so I will have to work around this issue, I might be able to supply pre-Bootloaded PIC18F4550 if a user does not have the facility to dump the Bootloader into a new uP themselves. I use an ICD2 to dump the Bootloader there after I use the Bootloader facility.

    10) User Manufacture
    All chipsets and components will be leaded components so as to make construction easy.
    I will be able to supply a nice neat PCB layout for this USB DAC once it is finished, the prototype will be developed on what we in South Africa call VeroBoard it's a prototyping PCB and it is very cheap.

    11) A Name
    It will need a decent name.... any suggestions...??

    Well if there are any of you guys that can add some ideas/specs feel free to add... I will start the schematic layout on the weekend.

    Cheers
    Paul

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

    Default

    Paul, I recommend differential outputs on the DAC instead of just straight +/- 10V.

    Also, ILDA colors are 8 bits so 12bits on the color outputs would just make things harder in software. 8 bit color outputs would be ideal.

  3. #3
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,890

    Default

    Quote Originally Posted by carmangary View Post
    Paul, I recommend differential outputs on the DAC instead of just straight +/- 10V.

    Also, ILDA colors are 8 bits so 12bits on the color outputs would just make things harder in software. 8 bit color outputs would be ideal.
    Some of us would not mind 12 bit dacs for color and have the hardware to use it. its easy enough to pass the 8 bits to the 8 msbs of the 12 bit dac.

    for the ilda standard differential, this chip is cheaper then doing it in opamps.

    SSM2142 by analog devices, 100+ khz of bandwidth.

  4. #4
    Join Date
    Oct 2006
    Location
    Cleveland, Ohio
    Posts
    2,342

    Default

    this is an awesome idea, I have PIC and layout experience, and would love to help, PM me if interested.

  5. #5
    Join Date
    Jun 2007
    Posts
    44

    Default

    Hi Paul_B,

    I had the same idea and I posted some ideas which might help here:
    http://www.photonlexicon.com/forums/...ead.php?t=3210

    Best regards,

    sonaluma

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

    Default Usb Dac

    Hi guys,

    Right thanks for the input...

    carmangary and mixedgas => I have done a little research and have found 16 bits DAC chips cost a small forture here in South Africa, around the R800.00 ZAR each.......thanks exchange rate!!! So I am going to stick with the 12 bit MCP4822 for now, as I am getting them for free.

    I am planning on having 5 DAC chipsets :- I am going to take carmangary's advice and make the modulation outputs 8 bit.

    I am also going to implement the SSM2142 as it is only R85.00 ZAR, using this device will reduce the component count of the entire project.

    drlava => Great, a fellow MicroChip developer. I will PM you shortly.

    sonaluma => I did browse your post on Monday evening and I think it is an awesome idea similar to my thinking.... But I cannot view your schematic???

    What 16 bit DAC chipsets are in your design?

    The idea of this project is to make it easy to build and supply a working open source uP code platform that can be added to over time.

    I will keep you all informed as to how its going.....

  7. #7
    mixedgas's Avatar
    mixedgas is offline Creaky Old Award Winning Bastard Technologist
    Infinitus Excellentia Ion Laser Dominatus
    Join Date
    May 2007
    Location
    A lab with some dripping water on the floor.
    Posts
    9,890

    Default

    The guy who liberated and united the kingdoms of china is known as "nameless" in the Chinese movie Hero.
    I think that would be a good name. The "nameless" board

    One quick check:
    Does the microchip dac update all outputs at the same time ?

    After looking at your specs I'd add one thing. It You might wish to add a standalone test mode, if you have space left in rom the laser media clone test pattern(looks like a british flag), needs no blanking and might be a good thing to output on boot if not connected to USB, that data would only take about 512 bytes and you could assign it full white. Even a quadrature square at 30 hz would work and is useful for tuning galvos.. One of the most perplexing problems in the field is quickly checking your setup for faults, especially for a beginner.

    If you need some insperation take a look at a google seach for ELM-CHAN and laser, but his choice of processor chip is poor.

    Good luck,

    Steve Roberts

  8. #8
    Join Date
    Jun 2007
    Posts
    44

    Default

    Hi Paul_B,

    I used TI DAC8581 for 16 bit X/Y, cost approx. USD6.00 (ZAR40.00). The design is for lowest cost with the required quality and features.

    I have updated my original thread with the schematic in other formats, so maybe you can see it.

    Kind regards,

    sonaluma

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

    Default

    I'm not sure how much processing power the microprocessor has but something that would be extremly cool would be the ability to have embedded or downloadable effects that could be applied to frames. For example, lets say you have a rotation effect where speed and angle is specified. Then, the user could send a frame and then a speed and angle and the DAC would continuously rotate the frame per the given settings. This is basically analogous to how video cards do some of their own 3D processing.

    It would be nice if there was some kind of standard for sending frames to DACs as well as a standard set of effects that DACs implement. The benefit of this is that hardware guys could worry about making good DACs while software guys could worry about making good software. It seems like ILDA would be smart enough to drive something like this but I suspect the members belong to companies that don't want to see this change since it might threaten their business model.

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

    Default Usbdac

    mixedgas -> I just checked the DAC's data sheet and it has a latch control pin, once the DAC input registers are loaded, this pin is pulsed and the outputs are updated. I plan to update all the DAC's at the same time, so X,Y,R,G and B all update at once.... no latency!!!

    As for your idea for a test frame hmmm I like it.... and I am sure an external e2prom could handle this, I will find an e2prom that is big enough to store at least 512 bytes or more. With this test frame being based in an e2prom the user could download his own test frame.

    sonaluma -> Thanks for the suggestion, I will downlaod the data sheet later. I will try source some samples on Monday.

    carmangary -> How much number crunching will your suggestion of built-in effects facility need? Its an awesome idea.... I could use one of the built-in hardware timers to cover this facility...

Posting Permissions

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