20 Feb 2006
(updated 21 Feb 2006 at 00:13 UTC) »
Here's a PCB of my power supply, this time I got really
bored by straight lines and it
Lessons I learned with power supply
1) It seems that a relay rated at 1A must withstand power on
currents. But huge bulk capacitors at the input of circuit
are effectively a shortcircuit at start. This surges the
relay and fries its contacts together. At least a small reed
relay can't survive that. Mine has become welded forever. A
good solution would be to either use a hexfet power mosfet
instead, or just put a NTC thermistor in line with relay to
limit the starting current.
2) When programming a microcontroller that requires HV for
programming and using its main voltage from one source and
+12V from another, never ever let both grounds become
disconnected when one of the supplies is on.
After I tested the power supply and soldered down
the DAC to
the board, I found out that the receiver doesn't work in SPI
mode anymore. I haven't figured the root of the problem yet,
but here's something I learned by reading its datasheet n'th
time. This may not be interesting for everyone, but there
are not too many CS8416 projects around and my log here
shows among the first hits on google so maybe this will help
someone. One very important scoop from the datasheet follows:
CS8416 Datasheet Excerpts regarding hardware/software
SDOUT, Pin 26: Serial Audio Output Data (Output)
data serial output pin. This pin must be pulled low to
DGND through a 47 kOhm resistor to place the part in Hardware
each mode, every start-up option select pin (except for TX,
which has an internal pull-down) MUST have an
external pull-up or pull-down resistor as there are no
internal pull-up or pull-down resistors for these startup
conditions (set after reset).
I hope this is my problem. I missed this part at
first. When SDOUT was floating, it could as well be assumed
as hi-state and the device worked as I expected it to. When
I connected its SDOUT to a finite impedance
input, it has likely become effectively pulled down: pull
down indicates hardware mode.
This is something I could never expect for a data
line of I2S bus interface, that has no other functions!
Yes, it were the pullups that were the problem. I enabled
them (had them planted in before, just forgot about the
solder jumper on the reverse. I now have a working SPDIF
receiver! So happy! I guess I feel like people who assembled
their radios in early 1940's. Joy!