audiophile diy DAP?
Jun 27, 2007 at 5:46 PM Post #61 of 140
Quote:

Originally Posted by louilouinovo /img/forum/go_quote.gif
Doc AN2645 (freescale) explain how "Interfacing the Philips™ ISP1362 USB OTG
Controller to the MCF5249, SCF5249, SCF5250"



What we meant is that the scf5250 doesn't have USB with its chip. This document describes how the ISP1362, a separate chip, can be used to enable USB on the SCF5250. I just happen to come across that link a couple of minutes ago, but thanks for the tip anyway.

When it comes to USB, I think the best choice would be a NXP (phillips) IC--they seem to be the best at this sort of stuff. We can use the ISP1362, which is what the H3xx uses and what freescale has data on, or we could try the ISP1760, which is a full USB Host controller and probably the fastest USB chip there is for this type of application. If we're lucky, the ISP1760 shouldn't be much different than the ISP1362.

This application note might be somewhat useful to rockbox too--I think they've been trying for a while to get USB OTG working on the rockbox, and they seem to have been unable to find out how the isp1362 was connected to the uC. gonna drop a note there. . .
 
Jun 27, 2007 at 8:23 PM Post #62 of 140
In regard to the screen for of diy dap...those cheap oleds sound fine to me. The simplest easy to read, backlit is all that is needed imo in that this is an audio player not a video player. keep up the good work guys! Just hope that when the time comes I can afford the kit
 
Jun 27, 2007 at 10:15 PM Post #64 of 140
Neither of those devices will work. The ISP1362 supports 12 Mbit transfer only, this is not enough if you are going to transfer some 40 GB of music. The ISP1760 is a host controller only, it will not work as a peripheral controller. Take a look at the ISP1582 instead, it's a peripheral controller with support for 480 Mbit transfers. It is only availible in QFN package however, which isn't very DIY friendly.

Another alternative is the Cypress CY7C68300A, which is a USB to IDE bridge. Basically you just connect it between the hard drive and an USB port and your set. It also has an IDE disable pin which disables (high Z) the IDE interface so that it can be used by other devices. You simply monitor the USB port with the processor, and when someone connects an USB cable the processor stops using the bus and hands over the control to the CY7C68300A.
 
Jun 28, 2007 at 12:12 AM Post #65 of 140
Sorry, my fault--I used to own an iriver and I always got the impression that it was full speed. I got confused with the ISP1761 and ISP1760; the ISP1761 is capable of using one peripheral port and two host ports. Someone mentioned previously that they wanted the DAP to be able to connect to an external hard drive, so it would need host capabilities. I haven't really done all the research on how difficult that would be, so this is of course all preliminary. The Cypress controllers don't seem to be the easiest to obtain for DIYers; the CY7C68300A has a minimum quantity of 468 at digikey. However, I'll look around and maybe there will be something that has a reasonable minimum quantity.

On surface mount--I've decided that for a project of this complexity, it's really just time to forget about looking for THM parts only. The only thing I'm avoiding is BGA packages, which are truly impossible to solder without either a special protoboard (I think schmartboard sells one) or toaster oven reflow. Anyway, chips are slowly becoming surface-mount only, and I really think DIYers must keep up and not limit themselves to the ever-shrinking supply of THM parts. I may have some boards presoldered onto adapters, if necessary, or distribute some parts needed for surface mount soldering, like tweezers or solder wick or something

If anyone wants to prep themselves for a lot of SMT, there's a nice tutorial here: http://www.sparkfun.com/commerce/pre...7-SMDSoldering

<edddddit>
We'd better spec the whole project before going too far ahead. Here's all the components of the DAP we'll have to think about.

a) USB - will this DAP have host capabilities, i.e. you can plug in an external hard drive? might be difficult to implement in software
b) DAC/Audio - this is the most important point, and we haven't really considered it at all. What DAC do we use? should we integrate an existing DAC design, and if so, which one? What outputs? XLR/Balanced, RCA/Unbalanced, 1/4", or a combination of those? Should there be an SPDIF Out (there's an SPDIF module built-in to the scf5250)? Would that SPDIF module be "audiophile" enough?
c) Power supply - TREAD @ 5V, maybe? 2.5" notebook drives need .6A peak, ~.1-.2A idle @5V; for the absolute worst case scenario let's assume the whole system might use 1.5A @ 5V. Messing around a bit with tangent's calculator, this seems doable without having to go to switching regulators, but things might get a bit tighter with the heatsink required. We'll also need a 3.3V regulator for much of the logic--I think one of those REG10x-3.3's used in the alien DACs should work.
Also, I need to clarify again--will there be space for batteries for somewhat-portable use?
d) RAM - nothing special, I picked out the MT48LC16M16A2 4x16x4 SDRAM from Micron, which should be sufficient for anything we throw at it. Micron's RAM is also pretty readily available to DIYers from digikey.
e) EEPROM - nothing special again, I'll just pick something from issi/atmel/microchip
f) IR - I don't know how people are going to use it, but if this is going to be a sort of desktop/audio system standalone DAP, we might want to stick an IR sensor for remote control
g) controls - plain old tactile buttons + rotary detector switch? or something a bit nicer like capacitative touch sensors (pretty readily available and pretty easy to use, though more complicated than plain ol' switches--cypress, analog devices, QProx all make ICs)
h) display - I heard two votes for OLED. IIRC, they need a bit more circuitry to drive them--I have to double check to see how much we'll have to do with the models at digikey
just checked, OLED seem to need a 18V supply. Unless you don't mind two wall-warts, I think it might be necessary to stick a switching driver somewhere in there. Don't know if any of you might mind.
here's digikey's selection of oleds:
http://dkc3.digikey.com/PDF/T072/P2140.pdf
another potential problem: OLEDs don't exactly last that long. Some of them I looked at were rated only to 10,000 hours @ 25*C

g) firmware - rockbox, completely custom firmware, or uClinux. I'm gonna be honest, I'm not very experienced with linux so if we're using uClinux I'm probably not doing the software for it
h) hard drive - I think we've gone over this already. 1.8" is too hard to obtain and doesn't hold enough, 3.5" is too big and uses too much power--2.5" seems to be the best candidate
i) casing - the standard nice metal cases from hammond? we might also need some custom front panels to handle the buttons / display cutout and such. Now that I think about it, 8x5 is pretty big, and probably wouldn't do any good as a portable (even in a bookbag, imo)--are we entirely dropping any portable use from this version of the DAP?
Tell me if I left anything out.
Looks like this might become a pretty expensive project--but heck, this is head-fi!
 
Jun 28, 2007 at 9:51 AM Post #66 of 140
Quote:

Originally Posted by threepointone
a) USB - will this DAP have host capabilities, i.e. you can plug in an external hard drive? might be difficult to implement in software


Host capability is pretty much useless and would only complicate the design.

Quote:

Originally Posted by threepointone
b) DAC/Audio - this is the most important point, and we haven't really considered it at all. What DAC do we use? should we integrate an existing DAC design, and if so, which one? What outputs? XLR/Balanced, RCA/Unbalanced, 1/4", or a combination of those? Should there be an SPDIF Out (there's an SPDIF module built-in to the scf5250)? Would that SPDIF module be "audiophile" enough?


The Wolfson WM8740 holds my vote as the best DAC, followed by the Crystal CS4398. The WM8740 should ideally be operated in mono diffrential mode however, which requires one DAC per channel. This doubles the size and power usage, both of which are undesirable in a portable player. The CS4398 is probably a better choice, it's also easier to get ahold of ($8 from DigiKey).

I've also heard some good things about the Analog Devices AD1955. However it has a current output and would require an external I/V converter which takes up space and increases power usage.

Quote:

Originally Posted by threepointone
c) Power supply - TREAD @ 5V, maybe? 2.5" notebook drives need .6A peak, ~.1-.2A idle @5V; for the absolute worst case scenario let's assume the whole system might use 1.5A @ 5V. Messing around a bit with tangent's calculator, this seems doable without having to go to switching regulators, but things might get a bit tighter with the heatsink required. We'll also need a 3.3V regulator for much of the logic--I think one of those REG10x-3.3's used in the alien DACs should work.


This is the least of your worries.

Quote:

Originally Posted by threepointone
d) RAM - nothing special, I picked out the MT48LC16M16A2 4x16x4 SDRAM from Micron, which should be sufficient for anything we throw at it. Micron's RAM is also pretty readily available to DIYers from digikey.


Bear in mind that the SCF5250 only supports 32 MB ram.

Quote:

Originally Posted by threepointone
e) EEPROM - nothing special again, I'll just pick something from issi/atmel/microchip


Better yet is to load the firmware straight from the IDE hard drive. It also has the added advantage of allowing anyone to update the firmware from the USB port.

Quote:

Originally Posted by threepointone
f) IR - I don't know how people are going to use it, but if this is going to be a sort of desktop/audio system standalone DAP, we might want to stick an IR sensor for remote control


Useless and would only complicate the design.

Quote:

Originally Posted by threepointone
g) controls - plain old tactile buttons + rotary detector switch? or something a bit nicer like capacitative touch sensors (pretty readily available and pretty easy to use, though more complicated than plain ol' switches--cypress, analog devices, QProx all make ICs)


Start with simple tactile buttons and a rotary detector. Touch controls would be very cool but also very complicated.

Quote:

Originally Posted by threepointone
h) display - I heard two votes for OLED. IIRC, they need a bit more circuitry to drive them--I have to double check to see how much we'll have to do with the models at digikey
just checked, OLED seem to need a 18V supply. Unless you don't mind two wall-warts, I think it might be necessary to stick a switching driver somewhere in there. Don't know if any of you might mind.
here's digikey's selection of oleds:
http://dkc3.digikey.com/PDF/T072/P2140.pdf
another potential problem: OLEDs don't exactly last that long. Some of them I looked at were rated only to 10,000 hours @ 25*C



LCD displays are one of the only things you do not get from Digi-Key. This is the perfect candidate.

Quote:

Originally Posted by threepointone
g) firmware - rockbox, completely custom firmware, or uClinux. I'm gonna be honest, I'm not very experienced with linux so if we're using uClinux I'm probably not doing the software for it


Start with a very simple firmware that only plays .wav files. Once the hardware is up and running you can look at porting something like Rockbox.

Quote:

Originally Posted by threepointone
h) hard drive - I think we've gone over this already. 1.8" is too hard to obtain and doesn't hold enough, 3.5" is too big and uses too much power--2.5" seems to be the best candidate


Like I've said from the beginning, 2.5" IDE harddrives are perfect for this. 40 GB costs around $50 and holds over 400 songs.

Quote:

Originally Posted by threepointone
i) casing - the standard nice metal cases from hammond? we might also need some custom front panels to handle the buttons / display cutout and such. Now that I think about it, 8x5 is pretty big, and probably wouldn't do any good as a portable (even in a bookbag, imo)--are we entirely dropping any portable use from this version of the DAP?


I don't see it as entirely impossible to fit everything on a circuit board about the same size as a 2.5" harddrive. With batteries it might be possible to get everything about the same size as three 2.5" harddrives stacked on top of eachother. This would not be much larger than the original iPod.
 
Jun 28, 2007 at 11:17 AM Post #67 of 140
I take a close look to the oryx, it is a diy dap project.
globalview1am1.jpg


Other images: http://www.oryxmp3.com/fr/oryx2/photos.php

you need nearly 200 components to make the oryx
It cost 170 euros without enclosure, 128 x 64 LCD module and some other component that I was not able to find . except the enclosure you need to have a HDD to play music.

The mainboard (include in the price) is at 36,5 euros and the front panel pcb is 25 euros.

It is based on an ATMEGA128L (Microcontroller), Sta013 (mp3 decoder), PCM1702 (DAC) and CY7C68013A (USB)
 
Jun 28, 2007 at 12:32 PM Post #68 of 140
A quick tally on the parts discussed above:

Code:

Code:
[left]Freescale SCF5250$12 Crystal CS4398$8 Cypress CY7C68300A$4 Micron MT48LC16M16A2 $7 Nokia LCD$20 2.5" hard drive$50[/left]

This comes in at just below $100, and this is everything except the circuit board, switches, resistors, capacitors and various other minor parts.
 
Jun 28, 2007 at 2:45 PM Post #69 of 140
I think this DAP isn't exactly going to be portable. We'll just focus on the audio quality for this model--remember, this is head-fi after all, and the main differentiating part of this DAP is that it's targeted to us audiophile freaks.
in my experience, the most expensive part of an audiophile system ends up being the excessively nice casing and some of the audiophile parts. I've thought, "wow, this amplifier is going to be pretty cheap" many times before I started on an audiophile project, and the casing / connectors / capacitors (*cough* black gate) easily end up becoming the most expensive part of the project.

I'm going to need more opinions on the DAC section, and I'll probably post a new thread on it. There's a funny way things in the audiophile business are completely independent from the specs. . .

The Oryx looks nice, but there's one main problem with it that I've never liked about every DIY DAP I've seen so far--they all use some sort of integrated decoder IC. The Oryx is incapable of playing anything but MP3s, and worse yet, it's not capable of being expanded to play anything but MP3s.

OLEDs seem to be exception with LCDs--the only place I can find good ones is digikey. Color LCDs, of course, are far too expensive at digikey--sparkfun is definitely an excellent source

Also, where does the 32MB number come from? Is it 32MBit or 32MByte? Looking at one other DAP based on this IC, the SCF5250 should be able to handle at least 128MBits of RAM (16MB, 2x16x4). Some SCF5249-based DAPs, which should be quite similar, have 256MBits of RAM. If you meant 32MB, what I chose is the maximum we can use (4Mx16bitx4banks = 256MBit = 32MB). I've always seen this first version as a bit of a prototype, so I'd prefer overspec'ing on the hardware so that the software does not become limited by the hardware.

The EEPROM--unless I'm missing something here, we need something to put the bootloader off of. The SCF5250 has no built-in flash memory, if I'm not mistaken

Now that I think of it, I have to agree that it's probably is best to start with a very basic firmware that plays WAVs only. We need some way to test all the hardware before advancing to something more complex.

Touch too is probably not necessary for a unit that's not portable. I guess we'll just go with rotary/tactile switches.

IR - I'll see if there's any more opinions on this. it shouldn't be too difficult to implement, as I've already done this before with interrupts on the PIC before.

USB - The host probably will be too complicated. I'll drop it, at least for the first version. I might consider having a host controller onboard anyway without the software to support it, if I ever have time in the future to implement it. I'll have to consider how much more difficult it might be to operate the ISP1761 instead of the CY7C68300A, though.

Again, I have to ask--where do we source the CY7C68300A? It has a minimum order quantity of 468 at digikey. In fact, it's actually an obsolete item now, and I'd really rather not have to change the whole design in three months just because we can't obtain anymore of that chip. [edit]just checked all the distributors, no stock / obsolete across the board. if we call them we might get lucky, but probably not at the small quantities we'll use.[/edit] I'm going to look at some other high speed USB peripheral--maybe cypress has a similar replacement

Thanks for your comments!

Also one more thing to consider
flash memory - is there any interest in a SD card slot? we do have built-in SD on the scf5250. Naturally, it'll also add to the complexity, but I mean if someone really wants it. . .
 
Jun 28, 2007 at 3:41 PM Post #70 of 140
Quote:

Originally Posted by threepointone /img/forum/go_quote.gif
I think this DAP isn't exactly going to be portable. We'll just focus on the audio quality for this model--remember, this is head-fi after all, and the main differentiating part of this DAP is that it's targeted to us audiophile freaks.


Good idea, Keep in mind you can always start large, get it working, then in subsequent revisions work on reducing the size

Quote:

I'm going to need more opinions on the DAC section, and I'll probably post a new thread on it. There's a funny way things in the audiophile business are completely independent from the specs. . .


CS 4398 is a great DAC chip, price seems right too. I'd vote for this.


Quote:

Now that I think of it, I have to agree that it's probably is best to start with a very basic firmware that plays WAVs only. We need some way to test all the hardware before advancing to something more complex.


Again, excellent idea. Start simple, then expand. Fortunately for us, with WAVs you will be getting the highest SQ possible from the start.

Quote:

IR - I'll see if there's any more opinions on this. it shouldn't be too difficult to implement, as I've already done this before with interrupts on the PIC before.


Eventually it would be cool to see this implemented. I know that stand-alone IR remote control units get expensive for DIY'ers, but with the microcontroller already a part of the design, might be something to consider(probably after the sound works eh
wink.gif
)



Oh, also, I'm not sure if I fully understood what you were saying above, but will the firmware be flash-upgradable via the USB? Keep in mind that many of us who decide to do this project do not own PIC programmers, and thus, every time a revised firmware is released, couldn't update it. Thoughts?


Unfortunately, my ECE(electrical-computer engineering) skills are virtually non-existant. I'd be interested in helping out with the prototyping though.
 
Jun 28, 2007 at 5:16 PM Post #71 of 140
Quote:

Originally Posted by threepointone /img/forum/go_quote.gif
b) DAC/Audio - this is the most important point, and we haven't really considered it at all. What DAC do we use? should we integrate an existing DAC design, and if so, which one? What outputs? XLR/Balanced, RCA/Unbalanced, 1/4", or a combination of those? Should there be an SPDIF Out (there's an SPDIF module built-in to the scf5250)? Would that SPDIF module be "audiophile" enough?


I think SPDIF out is a must; this will allow you to use a standalone DAC if you want.
 
Jun 28, 2007 at 6:36 PM Post #72 of 140
Quote:

Originally Posted by threepointone
Also, where does the 32MB number come from? Is it 32MBit or 32MByte? Looking at one other DAP based on this IC, the SCF5250 should be able to handle at least 128MBits of RAM (16MB, 2x16x4). Some SCF5249-based DAPs, which should be quite similar, have 256MBits of RAM. If you meant 32MB, what I chose is the maximum we can use (4Mx16bitx4banks = 256MBit = 32MB). I've always seen this first version as a bit of a prototype, so I'd prefer overspec'ing on the hardware so that the software does not become limited by the hardware.


The 32MB number is from the datasheet for the SCF5250:

Quote:

The SCF5250 SDRAM controller provides a glueless interface for one bank of SDRAM up to 32 MB (256Mbits).


I remember reading 256M in the datasheet for the MT48LC16M16A2 and for some reason I assumed this to be in bytes. I stand corrected however, the MT48LC16M16A2 would be an excellent match for the SCF5250.

Quote:

Originally Posted by threepointone
Again, I have to ask--where do we source the CY7C68300A? It has a minimum order quantity of 468 at digikey. In fact, it's actually an obsolete item now, and I'd really rather not have to change the whole design in three months just because we can't obtain anymore of that chip. [edit]just checked all the distributors, no stock / obsolete across the board. if we call them we might get lucky, but probably not at the small quantities we'll use.[/edit] I'm going to look at some other high speed USB peripheral--maybe cypress has a similar replacement


The latest version would be the CY7C68300C. It too appears out of stock however. An USB controller like the ISP1582 might be the only choice here.
 
Jun 28, 2007 at 9:00 PM Post #73 of 140
Quote:

Originally Posted by Cauhtemoc /img/forum/go_quote.gif
Better yet is to load the firmware straight from the IDE hard drive. It also has the added advantage of allowing anyone to update the firmware from the USB port.


This is probably rather non-trivial. I don't know how easy (or possible) it would be to have the firmware be a 'file' on a standard FAT32 hard drive. I think even if you wanted to load the firmware over IDE you'd either need to have your own on-disk data format (which means PC access would be difficult, and a lot more software work), or have a bootloader that implements FAT32 and grabs the code into memory. Not positive about this though, there might be enough room in the boot sector for the necessary bootloader - or there might not.

I do agree that the firmware itself should be stored on disk rather than in the EEPROM. The bootloader itself should stay fairly static and not require updates once debugged.

Quote:

IR:
Useless and would only complicate the design.


IR is pretty trivial from a hardware perspective. The photodetector module needs power and a GPIO - everything else is software (assuming you don't want to do this with a bare phototransistor - but why bother - IR modules are cheap - and even then it could be done with a couple extra low pincount parts). There's not really any reason not to design the hardware around the assumption that this will be a feature. Software side shouldn't be too hard either, there's a wealth of available code and information on decoding IR remotes.

Quote:

Start with a very simple firmware that only plays .wav files. Once the hardware is up and running you can look at porting something like Rockbox.


I'm going to change my mind and agree with this. Probably better to write a simple firmware yourself and learn how the hardware works and is interfaced together before porting an existing app. You'll also then have a known working codebase to start from for your porting efforts.

I just had a thought about host capability as well. If you're okay with the non-DIYness of it, it would probably be pretty easy to rip the electronics out of an IDE-USB enclosure (or find the ICs - I bet this is what that cypress chip is for - there are probably others) and either add a Hi-Z bus buffer (or if the chip has the feature, pull it off to a GPIO on the CPU) or a switch to enable it. Flick the switch or press the button and the drive moves to the USB bus for access from the computer. Switch it back and the DAP can see it again. Fairly inelegant compared to implementing the host on the chip, but totally workable and easy to integrate. Unnecessary complication for a first rev tho.
 
Jun 28, 2007 at 11:53 PM Post #74 of 140
rockbox uses a bootloader (pretty stable, too; I'm pretty sure it hasn't been updated in a while) in the EEPROM which loads off the rest of the firmware from the hard drive, so it should be doable and we'll have something to base our bootloader off of.

Just to clarify, we will still need an EEPROM for the bootloader, but not the rest of the firmware. In fact, if the firmware becomes complicated enough, I'm not even sure if it'd fit in the EEPROM--I know rockbox doesn't.

I'm quite sure we're not putting USB host in the first versions of this DAP. I'm still thinking about whether or not we should base the USB on a chip that's capable of USB host (and do the code for host functionality later) or if we should just use a plain USB peripheral controller (and require a new board for USB host functionality).

I'm not exaclty understanding the point about the USB/IDE thing--USB host is when you can plug in an external hard drive into the DAP. If you're talking about an easy way to multiplex the internal hard drive between the computer and the DAP, the recommended CY7C68300 by Cauhtemoc seems to be the most straightforward way to do this--unfortunately, digikey doesn't sell it in <1k quantities
 
Jun 29, 2007 at 4:41 AM Post #75 of 140
Quote:

Originally Posted by threepointone /img/forum/go_quote.gif
I'm not exaclty understanding the point about the USB/IDE thing--USB host is when you can plug in an external hard drive into the DAP. If you're talking about an easy way to multiplex the internal hard drive between the computer and the DAP, the recommended CY7C68300 by Cauhtemoc seems to be the most straightforward way to do this--unfortunately, digikey doesn't sell it in <1k quantities


Of course. My brilliant idea turns into a brain fart. I guess that's what I get for trying to think in the last minutes of a long day at work...

It would probably be a cheap/easy way to get access to a USB->IDE bridge though-or 1394 even, but certainly less elegant than putting the Cypress onboard.
 

Users who are viewing this thread

Back
Top