A portable digital multi-track recorder -- proto-pr0n

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

jdbakker

Well-known member
Joined
Nov 24, 2005
Messages
1,431
Location
Amsterdam, The Netherlands
Update Mar 7 2007:
The PCB panels for the mic pre/ADC/VU channel strips are in:


Update Nov 18 2006:
Just finished the ADC-board, based on the Cirrus CS5381. Schematics are available for the converter and its power regulator; the board layout and BOM are here. See downthread for a design description.

Original post as of Nov 08 2006:
[here goes...]

Hi all,

For the past few months I've been working on and off on the design of a portable digital multi-track recorder. I've finally gotten to the stage that I have nailed most details down (down to which switches I should use), and I'd like to start presenting the modules one by one as they get finished.

The first module is a PGA2500-based microphone pre with a relay-switchable 100Hz HPF. The meat of the module is here, with the power supply here. For those who care, the component placement for the 2.5x5in PCB is here.

The design closely follows the PGA2500EVM, with the exception that I substituted NPO and polyethylene capacitors for the X7Rs recommended by TI. The phantom coupling electrolytics are Elna Silmic II's, all other signal path caps are Epcos polypropylene. Supply decoupling electrolytics are Panasonic FM (which I really like in my Greens, BTW), the 100n decoupling caps are 1206 NPO. The values for the HPF give a two-pole Bessel rolloff which sounds nice enough on the breadboard, although I may end up subbing the filter that PeterC uses in the Green. Note that the usual EMI-protection and phantom injection is handled on another board and is thus not shown in these schematics.

The next module I'm working on is a stereo ADC based on the Cirrus CS5381, with stuffing options for either direct DC-coupled in from the mic pre or a diff amp level shifter. The latter has a bit less noise, but I need to experiment to see whether I think the PGA2500 at zero offset + one extra op-amp stage sounds better or worse than the direct coupled scenario.

After that I have a full-digital peak/level meter scheduled, fed by the ADC output. Final steps are the hard disk interface and the VCXO with optional OCXO locking, but since I'm mostly a digital guy those should be easier to get done.

I do have different input options planned; I've already got a Greenish mic pre design done, and am working on a transformer coupled DOA version and a discrete direct-coupled pre. More on that later!

Questions ? Comments ? Derisions ?

JDB.

[thanks to Rochey for the support for the TI parts - definitely a useful resource to have here]
 
[quote author="Rochey"]What are you controlling the PGA2500 with?[/quote]
An AVR on the User Interface board. This AVR also gets to control all the LEDs (50-segment bi-color VU/Peak meter per channel, clip LED etc), and a few relays for phantom and the like.

Apropos the VU meter: one of the issues I still need to resolve is whether to drive each LED through a separate driver (=lots of chips) or use time-multiplexed matrix driving at the sample frequency (=still the possibility of EMI).

Decisions, decisions...

JDB.
[EDIT: one of these days I'll manage to kill all typos before hitting Submit...]
 
[quote author="jdbakker"][here goes...]

Hi all,

For the past few months I've been working on and off on the design of a portable digital multi-track recorder. I've finally gotten to the stage that I have nailed most details down (down to which switches I should use), and I'd like to start presenting the modules one by one as they get finished.[/quote]

Nice project ! And thanks for sharing. :thumb:

I'm a bit curious about the whole context (which may sound sceptical, but believe me that's not what I mean). Like how compact do you want to make it (how portable). And how many tracks ? How big a HDD ? So more thoughts about the whole idea behind this project.

Regards,

Peter
 
[quote author="clintrubber"]I'm a bit curious about the whole context (which may sound sceptical, but believe me that's not what I mean).[/quote]
Not at all, context = good, and I really should have given more in the first post.

The plan, as it stands, is to have an eight-track recorder in about 30x40cm. This being Amsterdam, I need something that I can take with me on my bicycle (for the non-Dutchies, both driving and parking a car can be nigh on impossible here). The design has four dual channel strips of 7x25cm, and a recording control area of 28x12cm. The system has a 2.5in hard drive (available up to 120GB, I believe) with optional simultaneous recording to CompactFlash. When not recording, the hard disk can be accessed over USB using the same chipset used in off-the-shelf external HDD casings. I would actually prefer to use 1.8in drives (like the iPod has), but those are hard to get (without buying an entire iPod).

Sampling will likely be 48/96ksps only. Although the hardware can handle it, I see very little use for 192k. I am planning to have 3x ADAT in, converted to the native sampling rate through ASRCs, yielding a maximum of 32 tracks simultaneously recorded. The hardware can handle more, but I simply cannot see myself using even 24+8 channels. I have thought long and hard about syncing to external sources, but I have decided not to sacrifice jitter performance to a feature that I will likely never use. So, while I have ADAT out, those channels too will be routed through an ASRC should they be synced to an external wordclock.

[Anyone have any experience/preference wrt ASRC chips ? I'm undecided between the Cirrus CS8427 and TI's SRC419x/439x, and all I've found so far is some threads on diyhifi with a lot of shouting and very little facts]

I have not planned for direct line inputs; should I need those, I'll use a DI. Almost all of my recording work consists of acoustical stuff anyhow. I would like to include a TASCAM (?) DB-25 connector to connect the pre-ADC analog signals to a matrix mixer for, say, tracking.

Oh, and the thing is battery powered. NiMH, since I design power systems and I've learned not to trust LiIon in a platform that will see this much abuse. The design has multiple internal battery packs (so as to not have a recording die because of a dead battery pack). Run time from a full charge with all eight channels sampling should be 40-50 hours; charger is a COTS 19V laptop adapter. The recorder can operate whilst charging. As you may have guessed, this means using switch mode converters, which brings me to another biggie: all switchers, microcontrollers, display refreshes and HDD interfaces are clock-synchronized to the master sampling clock.

I may include an Ethernet interface, since I have a Fast Ethernet streaming module left over from a project I did for a client, and it could be useful to just multicast over a LAN to a backup recorder/monitor/DAW (or hook up a wireless base station and be able to use a WiFi-enabled PDA as a remote monitor). This would violate the 'everything on a single clock'-rule, though.

All channels can be monitored on one single monitor mix channel. I'm undecided whether to include a pan pot or just have a rotary switch per channel to switch between off-left-mid(mono)-right-side (I do quite a lot of M/S recordings). I don't think I'll include more aux channels than this: I'm building a recorder with monitoring capabilities, not a FOH monitor mixer.

No frills. No compressor, no EQ, no pad. Just mike-to-digital, with a selection of mic pres as the only 'coloring' option.

There will be a 'baby' version too, with integrated stereo microphone. I find that for choir/band/musical rehearsal sessions it can be very handy to have a tape (so to speak) running, to get a recording which can be used while practicing alone. Right now I use a mic+separate pre+recorder for this, and the setup time is way too long in many cases. So I need a unit with preset and pre-wired everything, with only a big red "Record" button. The dynamic range of modern ADCs being what it is I can even forego a rec level adjustment for this one.

Did I miss anything ? Did I make any horrible mistakes ?

JDB.
 
Just a little TI input - this is info, I'm trying not to sound like a salesguy. If there is too much "info" here, then I am happy to edit.

TI has 2 SRC cores, one based around a 144dB Dyn Range, the other 128dB. TI makes 2 channel versions and 4 channel versions with these cores. For those with little digital audio background - 144dB is the theoretical limit for 24bit.
There is another manufacturer that makes a 175dB Dyn Range SRC... but I personally (TI hat off) can't see a use for that until we start dealing with 32 bit audio (with 32bit converters...)

It sounds like size is an important consideration (it's portable, it must be... right?)

In which case, consider using the SRC4194. It's a dual stereo SRC, which, at 144dB is essentially transparent with digital audio.
You don't need to tell it the output frequency, just feed it a clock from your processor. It has it's own rate estimator to work out the ratio between input and output etc.

If you want S/PDIF as well, then use the SRC4392. The SRC4392 uses the same SRC core, but also has a 216KHz capable S/PDIF Transceiver built in.
If your system partitioning is different, then use the pin for pin compatible DIX4192. Identical to the SRC4392 (even down to internal registers) - it doesn't have the SRC core.

Other manufacturers have S/PDIF Transceivers, you've mentioned the CS one. That one will support up to 96KHz. Good luck if someone wants to connect some higher S/PDIF input in the future, or if someone wants a higher sampling frequency out of your box in future.

Let me know if there's anything else I can help with.

Cheers

R
 
A method for monitoring ?
either on the unit or via the laptop

you may need a way of listening to each channel just to be sure that it is ok ... confidence monitoring

a margin indicator for each channel
again just for confidence
even if you don't have continuous monitoring of each mic, it might be nice to know the current digital margin for each track during the show. This can also be very helpful during sound check to set levels of the mic-pres

The Fast Ethernet for streaming and control with the right sort of software could handle all of the above and other ideas like time shift monitoring etc.

As for the 'everything on a single clock'-rule,
I don't think that has to be comprimised
modern DVB broadcasts and PVRs and Network Media Players seem to get around it.
... well ... perhaps ... I think ?
 
[quote author="Rochey"]Other manufacturers have S/PDIF Transceivers, you've mentioned the CS one. That one will support up to 96KHz.[/quote]
My mistake, wrong part. I meant the CS8421, their current SRC.

I know about the offerings from TI and Cirrus (and I'd likely stay away from parts in small-pitch TQFP like the SRC4194). I've read the data sheets, but I was wondering if anyone had actually heard these parts. I have read about audible artefacts; in particular older gen SRCs could get in trouble if the in and out sample rates were very close but not the same.

JDB.
 
[quote author="Kev"]A method for monitoring ?[/quote]
Yup, got that:[quote author="jdbakker"]All channels can be monitored on one single monitor mix channel[/quote]
[quote author="Kev"]a margin indicator for each channel[/quote]
Got that too, that's what the 50-segment VU/peak level meters are for. I didn't mention it yet, but these meters have a 'peak hold' that can be set to infinite. Most of the time I'll be performing on stage (and am thus unavailable to ride the gain); using the infinite peak hold during the sound check allows me to determine a safe gain level for the mic pres.
[Then again, with the PGA2500s' programmable gain I could conceivably have the microcontroller lower the gain in-flight if I get too much clipping]
[quote author="Kev"]As for the 'everything on a single clock'-rule,
I don't think that has to be comprimised
modern DVB broadcasts and PVRs and Network Media Players seem to get around it.[/quote]
Um, I think I may have muddled two separate issues here. The everything on a single clock rule applies to all the digital subsystems in the recorder (including switched mode power supplies), which are clocked on multiples of the ADC's sampling clock, so that any generated electromagnetical interference cancels out in the sampling process (gross oversimplification, I know).

The other issue is that of internal/external sampling clocks... it's true that PLL chips exist that are used in PVRs and the like, but they are optimized more for cost than jitter performance. I'd not use any PLL in this system, since a good high-Q crystal oscillator pretty much always has less close-in phase noise (and thus jitter) than any synthesized clock will have.

JDB
['no PLL' is not strictly true, since the optional OCXO uses a phase-locked loop to lock the VCXO, but its bandwidth is so low that it lies outside the audio band]
 
yep to all counts

just like to add to the margin thing
Peak Hold is ok
but nothing beats a numerical margin indicator
especially if you have switched gain controls on the mic-pres
very fast for gain set-ups ... or walk by confidence checks when you are very busy during the show

this might be better in the software monitoring stuff
even better if the Mic-pres are also remote software controlled from the same Laptop.
 
I am probably asking the obvious, but with reason - presumably it will have facility to change record level as you record? The idiots at Sony did not include this facility on RZ minidisc recorders which is a pain.
 
[quote author="Kev"]even better if the Mic-pres are also remote software controlled from the same Laptop.[/quote]
Now that's the best reason for having the Ethernet interface that I've seen so far!
[quote author="StephenGiles"]I am probably asking the obvious, but with reason - presumably it will have facility to change record level as you record?[/quote]
It will, although I don't expect to use it too often myself. I suppose it would be handy to correct major SNAFUs (e.g. connected a condenser to a channel that was still adjusted for a dynamic mic and only finding out during the gig).

Related question: does anyone have an idea (or even sound files) of the 'sound' of the self-noise of various audio ADCs ? I've heard the noise floor of early delta-sigma ADCs described as 'obnoxious'. Reason I ask is that this pretty much determines the minimum useable gain for the mic pre.

Thanks,

JDB.
 
[the thread was falling off of the bottom of page 1, so I had no choice but to release another board ;-)]

I've finished the design of the ADC-board, based on the Cirrus CS5381. Schematics are available for the converter and its power regulator; the board layout and BOM are here. As the '5381 is a stereo converter, two mic pre boards connect to one of these ADC boards.

About the circuit: I need to do some circuit tuning, so some of the passives can be changed/removed at will As shown the configuration is for a double differential amplifier per channel (which, to me, sounds better than the diff amp followed by an inverting amplifier that others use). By removing R2,R3,R8 and R9 and replacing R1 and R7 woth zero-ohm jumpers you get a DC-coupled version of the 1x non-inverting buffer suggested in the CS5381 datasheet. Note that the PGA2500 mic pre I posted earlier has an optional DC bias input; it's possible to leave the buffer amps out and have a direct connection between the PGA and the ADC. Also, R4/R10/R16/R22 can be used to bias the amps into class A. We'll see which sounds best.

I picked a SOIC-8 footprint for the op-amps to be able to experiment with different buffer amps. Initially I like the Philips NE5534AD for the signal buffers (U2/U3) and a TL072 for the bias buffer (U5), but I'd like to try others including the LM6172 and the THS4012. The latter two are pretty fast, and keeping such amps from oscillating is much easier with surface mount parts. All resistors are the 0805 thin-film Susumu's suggested bt FredForssel in this thread.

Like the mic pre, all supplies are filtered with plain vanilla emitter followers. I figured that the input voltage to these cards is regulated anyway, so there would be little point in having local regulation for the op-amps (as opposed to filtering). The analog supply for the ADC is regulated by a heavily decoupled Linear Technology LT1763 low-noise LDO (U4, specced for ~20uV noise in a 10Hz-100kHz band). Not that I need its rated 500mA output, but I prefer to hand-solder SOIC-8 parts over the smaller SOT-23-5 package which is used in the 150mA version of this regulator.

I forgot to mention this before, but to conserve power consumption for this battery-powered beast the supplies to unused channels can be turned off. The CS5381 datasheet isn't too clear on whether the chip will freak when its analog supply goes away while its digital supply remained connected, so I included T3, a FDV301N N-MOSFET to kill digital power when +VA goes down.

J7 is a 40-pin IDE-like connector to wire the 'channel strips' to the mainboard. It carries all the power and signalling for the ADC, the digital channel strip controller and the two mic pres. Each system has its own set of ground conductors, effectively implementing star power/ground for all modules. And yes, it would be easy to design a small power supply/oscillator/AES/S-PDIF converter with the same pinout (but I'm not sure that I will have the time to do this myself).

All SMDs are on the bottom side of the board, below a big ground plane, to get maximum E-field isolation from the digital control board which is mounted on top of this PCB.

Next up is the HDD recorder, since it needs to go to fab first (all channel strips are qty4 and go through a different PCB house than the qty1 disk recorder board). After that the digital control board and the 'button board', after which I should be able to build/test the channel strips.

Sounds sane so far ?

JDB.
[who has a concert on Jan 19th he'd like to use this system for -- plenty to do over Xmas]
 
[quote author="jdbakker"]
JDB.
[who has a concert on Jan 19th he'd like to use this system for -- plenty to do over Xmas][/quote]
A bit OT, but I'm curious whether you need to play on that date as well.
I have baaad experiences with recording dates & gigs on which you have to play yourself AND trying to get some DIY done to use then & there. A challenge it is and if it works then it's a big kick of course. But when the DIY progresses slower than anticipated the playing could obviously suffer.
End of OT,
regards,

Peter
 
[quote author="clintrubber"][quote author="jdbakker"]
JDB.
[who has a concert on Jan 19th he'd like to use this system for -- plenty to do over Xmas][/quote]
A bit OT, but I'm curious whether you need to play on that date as well.
I have baaad experiences with recording dates & gigs on which you have to play yourself AND trying to get some DIY done to use then & there. A challenge it is and if it works then it's a big kick of course. But when the DIY progresses slower than anticipated the playing could obviously suffer.[/quote]
Yeah, been there, done that. Last June I played a part in a musical production, and I was also responsible for producing two dozen battery-operated electrical candles which could be dimmed individually by IR remote control. In the week before opening night I had to find a balance between the amount of work I could do at night to get the candles finished and the amount of sleep I needed to keep my voice in good shape.

[quote author="clintrubber"]End of OT, [/quote]
..not that I'd mind on-topic suggestions/observations/criticisms for the recorder design...

JDB.
 
You are possibly exceeding the maximum allowed analog input voltages (and currects) for the A/D there. Use some shottky diodes, zeners etc. to protect the inputs.

You have pretty interesting but demanding project going on there. I would just use some mini-ITX motherboard (like the Jetway with 9W Epia C7 1 GHz CPU) instead for similar project (and maybe some Linux software).
 
[quote author="mhelin"]You are possibly exceeding the maximum allowed analog input voltages (and currects) for the A/D there.[/quote]
Good point, however the CS5381 can withstand peak currents of up to 100mA into its protection circuitry. VA+/VA- is +/-8V, so even if the input buffers were rail to rail the 91 Ohm resistor in series with the buffer outputs limit the current to +30/-90mA.

Use some shottky diodes, zeners etc. to protect the inputs.
I was originally planning to do just that (like the input for the mic amp), but all reverse-biased diodes have a capacitance that has a non-linear voltage relation. For example, were I to use the same Schottky diodes used to protect the mic amp input, their reverse capacitance changes from 75pF to 100pF when 0dBfs is applied to the ADC. This leads to rather nasty distortion. None of the circuits using the CS5381 have any protection diodes, either.

(Then again, the ESD protection networks internal to the ADC input are essentially diodes too. I don't know to which extent they contribute any distortion)

You have pretty interesting but demanding project going on there. I would just use some mini-ITX motherboard (like the Jetway with 9W Epia C7 1 GHz CPU) instead for similar project (and maybe some Linux software).
Not a day goes by that I am not tempted to go that route; it would certainly be simpler than to implement a HDD DMA interface from RAM chips and programmable logic like I'm doing now. Then again, I have found in my day job (as countless others have before me) that one of the best ways to reduce interference in a mixed analog/digital system is to keep all digital logic clocked synchronously at the sample clock (or a fixed multiple). With an off-the-shelf PC board I have no way of achieving that. Besides, with an iPod hard disk or a CompactFlash card the digital bits likely consume <2W, which is important for a battery-powered contraption.

Thanks for your feedback; knowing that there are extra eyeballs on the design to possibly spot bugs that I've missed really helps to keep me motivated.

JDB.
 
I'd like to discuss ways of "reclocking" a clock for less jitter.

lets say we have a specific freq and the jitter is found to be 1ns and we need less than 100ps.

What would an efficient and efficient way to do this? I was thinking of some kind of CMOS gate array with a schmidt trigger. This way we get the meat of the wave and any rounding of the edges is immediately thrown out. from there we could trigger some kind of feedback..?
 

Latest posts

Back
Top