vetal-esher / 18bit-DIT

Adding digital output for old synths
MIT License
12 stars 0 forks source link

Sound Canvas 88-VL #3

Open lje opened 1 year ago

lje commented 1 year ago

I'm trying to adapt the design to SC88VL (a small version of the SC88 with the size of a SC55). The service manual is available.

Getting DATA, WCLK and SYSCLK(?) is convenient, as there are unused solderpoints on the mainboard as outlined by the japanese project you already link to (C32-C34).

Getting QCLK(?) and RESET will be more effort, those are not needed for TC9231N but are needed for AK4103 (the lower part is IC36) SC88VL

I'm not completely sure if I may be mixing up QCLK and SYSCLK. On your main page you write "CLK=MQCLK". But on your annotations for SC88 pro, CK = QCLK. In SC88VL, there is a CK pin as well on IC36, meaning the BCLK, which Roland also names CLK, is probaby SYSCLK. Can you help me verifying signals?

Access to CK may be possible at R80/C98 right next to IC36. IC36

For RESET multiple options are available - maybe IC1 directly at the heat sink.

vetal-esher commented 1 year ago

These names like CLK, SYSCLK, SCLK etc. are very confusing, i agree. Let's try to think in I2S signals names. For I2S, we need DATA (SI - serial input) - pin15@IC14 WCLK(word clock, or LRCK - left right clock) - pin13@IC14. Must be 32000 Hz. BCLK (bit clock) - pin16@IC14.

MCLK (master clock) needs to be found at pins which have 'CK' part, e.g. clock. Pin 58@VL's IC36 is definitely 24.576MHz, for 32kHz you need 768fs mode, but AK4103 max fs is 512, so you need to find on board divided clock, at least 16.384MHz or 8.192MHz.

By luck, on SC88 Pro IC35 (74HC164) there was CK pin 8 with 8.192MHz.

edit: i need to edit and name these pins in article more clearly, thanks.

vetal-esher commented 1 year ago

If the DIT will work, please share where you've found all these lines, i'll create additional chapter with updates for different synth models.

lje commented 1 year ago

Hopefully that question is not totally stupid: could I just use BCLK from the SC88VL and connect it to both BCLK and MCLK, or do BCLK and MCLK deviate from each other? Both are 8.192MHz in your SC88Pro example.

I checked the board for a suitable crystal, but only found 20MHz so far. And the AK4103 manual states that MCLK and LRCK should be derived from the same clock signal anyway, so any other (unrelated) crystal having a suitable frequency probably won't work.

So if BCLK cannot be used as MCLK, the solution may be a frequency devider (1/2, as 384fs is supported) or a DIT that doesn't need MCLK like the TC9271N/F. They support 18bit LSB w/o MCLK but seem to be unobtainium.

vetal-esher commented 1 year ago

Hmm, i just checked both BCLK and MCLK on SC88Pro and the seem to be identical. I don't know why but as far as i remember the board was not working when i feed only BCK line to both BCK and MCLK inputs on AK4103. You should try, from my side i will test it tonight and return with results.

vetal-esher commented 1 year ago

I confirm that feeding BCK@SC88Pro to both BCK@DIT and MCLK@DIT is working. I don't know why it have not worked in the past, afair i tested it couple of times.

vetal-esher commented 1 year ago

The reason that it is working in Right Justified mode, i think. AK4103 takes only first 18 bit and the left within L/RCLK frame is just skipped.

lje commented 1 year ago

Great, thanks - that means I can use your board with SC88VL. Now I just need to wait for everything to arrive. Meanwhile I'll look for suitable spots to get GND, 5V and RESET. And I still need to order a cinch-connector for J3. RESET goes to the circular pad of J2, correct?

vetal-esher commented 1 year ago

Yes, circular of J2 is RESET line. You don't need connector, just solder the wire. GND and 5V are easily taken at any capacitor in 5v/gnd streams, or at corresponding IC pins. Note that at J1 the square (first) pin is 5V, as in schematic.

vetal-esher commented 1 year ago

IMG_20230217_002618 IMG_20230217_002850

I used floating method, hiding dit in heatshrink, and covering wires with el.tape

lje commented 1 year ago

Board from JLCPCB came, caps and resistors presoldered nicely. I'm still waiting for the DIT-ICs. I just wanted to verify jumper settings with you (for SC88):

+5V Jumpers
JP1  fs0   -> 1 - +5V
JP2  fs1   -> 1 - +5V
JP3  fs2   -> 0 - NC
JP4  fs3   -> 0 - NC
JP5  bls   -> ??? (NC in your photograph)
JP7  cks1  -> 0 - NC

JP6  dif2  -> 0 - NC
JP8  dif1  -> 0 - NC
JP9  dif0  -> 1 - +5V

GND Jumpers
JP10 ans   -> 1 - NC
JP11 cks0  -> 1 - NC

GND/+5V
JP12 trans -> 0 - GND

In your photograps it looks as if there are solder blobs on JP8, but I guess they're not connected. "bls" is missing in your settings table for SC88/MU128/AN200 and not mentioned anywhere in the text. In your photograph it is not connected.

I've attached a picture with all jumpers I need to connect for SC88 - correct? Jumpers_set

vetal-esher commented 1 year ago

Let's recheck the datasheet defaults and tables. We need 32kHz, audio routing mode - normal, synchronous mode, 18bit right justified.

Default values JP1 fs0 (Pull-down Pin) JP2 fs1 (Pull-down Pin) JP3 fs2 (Pull-down Pin) JP4 fs3 (Pull-down Pin) JP5 bls (Pull-down Pin) JP7 cks1 (Pull-down Pin)

JP6 dif2 (Pull-down Pin) JP8 dif1 (Pull-down Pin) JP9 dif0 (Pull-down Pin)

JP10 ans (Pull-up Pin) JP11 cks0 (Pull-up Pin)

JP12 trans - no default, 0: Normal mode, 1: Audio routing mode (transparent mode)

So we need to short JPs which must be not in default mode. According to tables in datasheet, modes that we need:

18bit, Right justified = DIF2 DIF1 DIF0 = 0 0 1 Synchronous mode + Audio routing Normal mode = ANS TRANS = H(1) L(0) 32kHz = FS3 FS2 FS1 FS0 = 0 0 1 1 MCLK FS 256 = CKS1 CKS0 = 0 1

So, we need: Short the DIF0 (JP9) Short the TRANS to GND (2-3) Short the FS0 (JP1) and FS1 (JP2)

JP8 is open, i shorted it when tested the board with 20bit resolution as mentioned in article. PS. As for BLS, it is I/O pin, i have misunderstood the purpose of this pin while projecting, and drawn it as the jumper. Skip this JP forever

vetal-esher commented 1 year ago

So, how it's going with 88VL?

lje commented 1 year ago

I got demotivated by my poor SMD soldering skills and paused the project for some time. Since I had 5 PCBs, I ordered 3 chips to have multiple tries soldering them. Board 1 looks best to me, with board 2 the right side of the IC is a bit misaligned but it still seems to be ok, with board 3 I damaged some traces and there is still one short on the right side. Boards 2 and 3 lost R1 each, apparently I was too close with the soldering iron. Due to the small size of the resistors, I won't be able to fix that. I still have 2 spare boards, so if board 1 doesn't work, I'll probably desolder the IC from board 2 or 3 and try to solder it to one of the spare boards. I'm glad I ordered the boards with resistors and capacitors pre-soldered, I would have given up otherwise. That stuff is too tiny for my skills. I'll probably continue with the first board. Next step will be soldering a pin header to C32, C33, C34 and a suitable 5V spot.

Board 1 Dit1

Board 2 Dit2

Board 3 Dit3

vetal-esher commented 1 year ago

You should use tweezers and the hot air gun for soldering smd components. There are number of videos on youtube with smd soldering. Number 1 board is not that bad, take some copper braid for desoldering (not for desoldering ic itself, but for cleaning the shorts), use flux. If it can help, i can record video how i solder this board, i have 3 of them ready for assembly.

lje commented 1 year ago

Yeah I found one, example https://www.youtube.com/watch?v=rgcupYOnvBo I soldered the ICs with a soldering iron (TS 100) which is probably not the best way to do it. I'll have more time the weekend after the next and will try to fix the shorts on board 1

lje commented 1 year ago

What's the power consumprtion of the board? The SC88VL offers "+5V" which is provided by an 77L50 (100mA max) as well as VCC provides by an 88R05 (1A). I guess it would be wise to attach to VCC/88R05.

vetal-esher commented 1 year ago

AKM by datasheet consumes 15mA. You can get the 5V feed anywhere from any IC, IMO it does not matter.