Microdrive Unit Design

Nagging hardware related question? Post here!
martyn_hill
Gold Card
Posts: 402
Joined: Sat Oct 25, 2014 9:53 am

Re: Microdrive Unit Design

Postby martyn_hill » Sat Nov 25, 2017 9:17 pm

Hi Tomas

After a bit more reading and also looking closely at some digital traces I took during a FORMAT, I agree with you - seems we are using Diferential ME.

format_success.sr - PulseView.png


EDIT: I should have added that the above trace represents a section of alternating 1/0 (FORMAT writes $AA $55 in to its 'special' extended sector format. Each DATA line is therefore either %10101010 or $01010101 as the two bytes are split alternately across the two DATA lines.) Furthermore, the two DATA lines will be slightly out of phase based on the time taken to write each consecutive byte to pc_tdata. The sequence of 2 or more 0x00s at the beginning of each header (sector or block) before then 1 0xFF apparently allows the 8302 to find the start of each independent DATA stream thus 'synchronisng the PLL and setting the read-registers to a byte boundary', as described in Dickens' mighty, but sometimes confusing reference...

We see the DATA lines remain HIGH when idle, which matches the ME standard too.

As for decoding, it doesn't seem too tricky with a microcontroller to hand, though a little more complicated than the simple XOR of CLK and signal needed for straight ME.
Last edited by martyn_hill on Mon Nov 27, 2017 2:36 pm, edited 4 times in total.


tcat
Gold Card
Posts: 455
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Microdrive Unit Design

Postby tcat » Sun Nov 26, 2017 9:09 am

Hi,

To decode/encode DME stream in TTL logic, some flip-flops and a delayed feedback is needed, interestingly this scheme is protected by U.S. patents.

Possibly because this scheme is still used in field devices, magnetic credit cards, RFID technology, etc.

I wonder how Sinclair did it in ZX8302, as on cartridge cases we see `Patent Pending', too. But has it pended in the end, is protected by some patent as well?

Tomas


User avatar
Bloodnok
ROM Dongle
Posts: 33
Joined: Mon Jul 28, 2014 9:46 am
Location: New Zealand
Contact:

Re: Microdrive Unit Design

Postby Bloodnok » Sun Dec 03, 2017 1:33 am

Hi,

I would have jumped in earlier but I've been snowed under building vDrives!

Gently prompted by Martyn (Hill) I've managed to put something together which
hopefully helps the discussion.

To better understand how data is encoded for the Microdrive here's a diagram:

Header Decode-edit-resize.jpg
Header decode

As already deduced, the encoding scheme is Differential Manchester (aka Biphase Mark, FM, etc.).
A transition within the clock period denotes a '1' and no transition denotes a '0'. The clock is
embedded in the data by ensuring there is a change of state at the end of every clock period.

Before data can be decoded the clock must be extracted. At the start of every
header, or data block, there is a sequence of 'zeroes', the sole purpose of which is to lock the
decoder's clock. This is followed by a sync byte of 8 'ones' (which can be decoded since the clock
is now known) to define the byte boundary. With the decoder now locked and synchronised, data
can be extracted from the encoded stream.

The original recorded data is interleaved (byte by byte) between DATA 1 and DATA 2. DATA 2 is delayed
by 4 bits so that each byte can be sequentially provided to the QL by the ZX8302 after decoding.
Also notice that the data is encoded with the least significant bit first (hence when reading the
oscilloscope data it needs to be reversed).

Note that DATA 1 and DATA 2 in the diagram above appear synchronous. This is because the output
was captured from a vDrive QL which doesn't suffer from problems associated with the mechanical
limitations of the Microdrive. It is easier to see the relationship between the two channels when
they are in sync.


Real data looks more like this (and this is a good example - it can get much worse):

Microdrive-clean.jpg
Microdrive data

Various problems such as azimuth misalignment (leading to phasing differences between channels) or
fluctuating signal levels (leading to mark/space ratio variations) provide a challenge for the decoder.
Due to these real world variations, decoding is required for each data channel separately. Given what
it has to work with, the ZX8302 does a superb job.

The 4 bit overlap provides a great deal of leeway for any mechanical variation. The embedded clock
also means that (apart from short term flutter) decoding can be done effectively over a wide speed
range with the real limitation being the frequency response of the tape/head combination. As an aside,
in the video editing industry, one reason why Biphase Mark was used for linear timecode was that this
data needed to be extracted over a wide range of tape speeds when searching for content (it also works
in reverse).

Going back to the earlier decode diagram, the example data (after the sync bytes) is from a header
and gives the hex sequence: 0xFF, 0x70, 0x67, 0x64, 0x66
The first byte (0xFF) indicates a header, the second byte (0x70) is the sector number, with the following
bytes being the first three letters of the cartridge name (0x67, 0x64, 0x66 => 'gdf' - it was one of my many
test cartridges hence the random characters).

That's some of what I've found. Happy to share more when I find the time.

Charles
Last edited by Bloodnok on Sun Dec 03, 2017 9:27 pm, edited 2 times in total.


martyn_hill
Gold Card
Posts: 402
Joined: Sat Oct 25, 2014 9:53 am

Re: Microdrive Unit Design

Postby martyn_hill » Sun Dec 03, 2017 3:45 pm

Thank you very much Charles - that clears-up the question of encoding!


tcat
Gold Card
Posts: 455
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Microdrive Unit Design

Postby tcat » Mon Dec 04, 2017 8:31 am

Hi Charles, Martyn,

The picture with encoding is perfect. Now I learnt about phase locking of the clock, the series of "0" zeros purpose. I was also surprised to see 4-bit overlap on DATA tracks, I only thought of byte interleave given some info in Service Manual.

There still remains a mystery, why Iss#5 drives performs better over Iss#6 ones. I was also thinking of different gains used, preset by resistors on ULA amplifiers, but they appear of identical values, at least as documented by the wiring schematics.

Tomas


martyn_hill
Gold Card
Posts: 402
Joined: Sat Oct 25, 2014 9:53 am

Re: Microdrive Unit Design

Postby martyn_hill » Mon Dec 04, 2017 10:49 am

Hi Tomas

I have recently been able to carry out quite a range of empirical tests on a diverse set of MDV units of different vintage, ranging from the unmarked models that we have decide to term 'Iss#5', through the explicitly marked Iss#6 and Iss#7.

To be honest, I have not yet found a strong correlation between performance/reliability between different issues/models - with one Iss#7 unit my 'top' performer thus far.

I suspect that, given these are all pre-used and the tapes I am using naturally old-stock, that the handling and usage of former owners has as much to play in their reliability today.

I'll formulate a more comprehensive assessment with photos and post here at a later date, but some things I've noted thus far include:

a) The 2G007 ULAs seem to 'age' before finally dying altogether
b) My top performers were almost always used in slot#2 (based on the 'HEAD BD #' marking - though of course they could have been used in either position.)
c) The presence or absence of the foil screen appears to affect reliability in either slot #1 or #2 (i.e. reliability improved with a foil-screen in both positions.) NB - in my QLs, I've switched-out the linear 5V regulators for various designs of switched-regulator - these may well generate more noise near slot #2.
d) Measurement of (DC) resistance and inductance across the tape-heads in all my units (working/marginal or completely failed) all appear to fall with reasonably similar ranges (15 ohm R/W, 99 ohm Erase - can't recall the uH figures right now.)
e) Of probably no impact, but worthy of note, are the 2 or 3 slightly different plastic base moldings (unmarked, '1' or '2') - the '1' and '2's are observable both by the explicit numbering, plus the presence of two parallel raised 'runners' approaching the tape-head position.
f) As has been discussed here before, one of the most significant factors in terms of reliability appears to be the strength of the side-spring and/or alignment of the Motor to ensure a firm pressure of the roller against the in-built tape capstan.
g) As might also be expected (and discussed elsewhere), adjusting the motor speed will cause a larger or smaller 'sectors found' after FORMAT, but on marginal units, a larger 'sectors-found' figure appears to correlate with poorer reliability.
h) Whilst I remain open-minded, my own testing of performance/reliability showed zero change following degaussing (using that simple tool described elsewhere.)
i) The quality/performance of the smoothing inductor/capacitor in the QL main-board that feed 9V to the MDVs also appears to have a significant impact on MDV reliability. In particular, replacing the inductor/capacitor on one QL allowed both MDV1 and 2 units to start working again, when previously they would start spinning and never stop (whereas I had originally thought bad MDV units...)

If I was to summarise, I'd say the most significant factors in MDV performance/reliability have shown themselves to be:
1. State of the 2G007 ULA
2. Side-spring pressure/motor position
3. (Naturally) Regular cleaning of head and roller with a suitable solution and applicator
4. (Obviously) Age/quality of the tapes used (that's another topic, but fair to say that replacing the felt-pads with a decent alternative is a must - and BEFORE running the tape for the first time!)

What this exploration has highlighted to me more than anything else is the sheer impressiveness of a cheaply built hardware design, still working within a wide ranges of tolerances after over 30 years. Love them or hate them, MDVs were and are a feat of engineering (albeit, commercially constrained), combined with a devilishly cunning software driver and hard-pushed 8302 ULA!

God bless engineers!


tcat
Gold Card
Posts: 455
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Microdrive Unit Design

Postby tcat » Mon Dec 04, 2017 11:26 am

Hi Martyn,

Thank you for a very nice summary, I could not have done it better.
a cheaply built hardware design, still working within a wide ranges of tolerances after over 30 years.

I like the above argument, MD technology is so simple and we can still read very old tapes, to be compared with data CD/DVDs just a few years old, on occasions cannot be recovered at all.

2G007 ULA aging, something I have not thought of yet. If ever needed to be reengineered, we only have documented amplifier reading cascade, a block diagram with amplifiers for writing is not documented to my knowledge.

Tomas


User avatar
tofro
QL Wafer Drive
Posts: 1378
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Microdrive Unit Design

Postby tofro » Mon Dec 04, 2017 12:09 pm

tcat wrote:2G007 ULA aging, something I have not thought of yet. If ever needed to be reengineered, we only have documented amplifier reading cascade, a block diagram with amplifiers for writing is not documented to my knowledge.

I would expect the stock of available MD ULAs to last way longer than the available cartridges (even if re-felted), as they are by far not that affected by wear and tear than the tape.

Tobias


martyn_hill
Gold Card
Posts: 402
Joined: Sat Oct 25, 2014 9:53 am

Re: Microdrive Unit Design

Postby martyn_hill » Mon Dec 04, 2017 12:23 pm

Hi Tobias

That is encouraging - when I recently ordered a couple of replacement ULAs from Rich M, I was pleasantly surprised to note that they were brand-new, with 85xx batch markings - I had been expected desoldered ICs from old MDVs - silly me!

Of course its not the most trivial desolder/resolder job (for me, anyways) - I have come to appreciate that any attempt to desolder anything except components on the extreme edges of the head-board first requires to decouple the head-board from the plastic frame. Don't ask how I achieved that - it was messy... Whether the head-alignment upon re-attaching to the plastic frame is doable for the average amateur like me remains to be seen.

Also, when replacing soldered ICs I typically opt to solder a DIP socket. However, to my eyes, there is insufficient clearance behind the base-board inside a QL to accommodate the extra height/depth that would incur.

Any advice from the experienced, on this point?


User avatar
Pr0f
Gold Card
Posts: 284
Joined: Thu Oct 12, 2017 9:54 am

Re: Microdrive Unit Design

Postby Pr0f » Mon Dec 04, 2017 1:11 pm

I would say the socket could introduce the possibility of some additional electrical noise, and possibly some noise due to the (all be it small) vibrations of the motor, no matter how good and tight the socket is.



Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 7 guests